.splash-cursor-container{position:fixed;top:0;left:0;z-index:1;pointer-events:none;width:100vw;height:100vh}#fluid{width:100%;height:100%;display:block}.support-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.support-modal-content{background-color:var(--background-color);border-radius:12px;width:90%;max-width:450px;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;position:relative;animation:slideInModal .3s cubic-bezier(.25,1,.5,1) forwards;text-align:center}.support-modal-content.glow-border:before{background:radial-gradient(circle at 50% 50%,#f1fa8c,#50fa7b,#f1fa8c)}.support-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.support-modal-header h3{margin:0 auto;font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:#f1fa8c;text-shadow:0 0 10px rgba(241,250,140,.6)}.close-support-modal-button{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-color-secondary);font-size:2.5rem;line-height:1;padding:0;cursor:pointer;transition:color .2s,transform .2s}.close-support-modal-button:hover{color:var(--text-color);transform:rotate(90deg)}.support-modal-body{padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-color-secondary);line-height:1.7}.qr-code-container{padding:1rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003}.qr-code-image{display:block;width:100%;max-width:250px;height:auto;border-radius:4px}.support-or-text{font-size:.9rem;font-style:italic;margin:0;position:relative;width:100%}.support-or-text:before,.support-or-text:after{content:"";position:absolute;top:50%;width:40%;height:1px;background-color:var(--border-color)}.support-or-text:before{left:0}.support-or-text:after{right:0}.account-info{background-color:var(--panel-background-color);padding:1rem 1.5rem;border-radius:8px;border:1px solid var(--border-color);width:100%}.account-info p{margin:0;font-size:1.1rem;color:var(--text-color)}.account-info strong{font-family:var(--font-family-mono);color:var(--primary-color);font-size:1.2rem;letter-spacing:1px}.support-thank-you{font-size:1.2rem;font-weight:600;color:var(--success-color);margin:0}@keyframes futuristic-glow{0%,to{text-shadow:0 0 10px rgba(var(--secondary-color-rgb),.7),0 0 20px rgba(var(--primary-color-rgb),.5)}50%{text-shadow:0 0 20px rgba(var(--secondary-color-rgb),.9),0 0 35px rgba(var(--primary-color-rgb),.7)}}@keyframes futuristic-glow-mobile{0%,to{text-shadow:0 0 10px rgba(184,134,11,.7),0 0 20px rgba(255,215,0,.5)}50%{text-shadow:0 0 20px rgba(184,134,11,.9),0 0 35px rgba(255,215,0,.7)}}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-menu-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2rem;position:relative;overflow:hidden;background-color:#1a1a1d}.app-version{position:absolute;bottom:1rem;right:1.5rem;font-size:.8rem;color:var(--text-color-secondary);opacity:.5;font-family:var(--font-family-mono);z-index:3}.video-crossfade-container,.video-background-pc{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.main-menu-video-bg{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.video-crossfade-container .main-menu-video-bg{filter:brightness(.8);transition:opacity 1.5s ease-in-out}.video-background-pc .main-menu-video-bg{filter:brightness(.9);transition:opacity 1s ease-in-out}.main-menu-video-bg.active{opacity:1}.video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.main-menu-content{max-width:900px;width:100%;position:relative;z-index:2;animation:fadeInContent 1.5s ease-in-out;text-align:center}.main-menu-title{font-size:4rem;font-weight:700;font-family:var(--font-family-work-sans);color:#fff;margin:0 0 1.5rem;background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:futuristic-glow 4s ease-in-out infinite}.main-menu-subtitle{font-size:1.4rem;margin-bottom:4rem;line-height:1.7;font-family:var(--font-family-nunito);background:linear-gradient(45deg,#c1a4ff,#a1c4fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(0,0,0,.8)}.main-menu-actions.portal-layout{display:grid;grid-template-areas:"side-left center side-right" ". bottom .";grid-template-columns:1fr auto 1fr;gap:1.5rem 2rem;max-width:900px;margin:0 auto;width:100%}.portal-button-center{grid-area:center}.portal-button-side-left{grid-area:side-left;justify-self:end}.portal-button-bottom{grid-area:bottom;justify-self:center}.portal-button-side-right{grid-area:side-right;justify-self:start}.main-menu-button{font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;z-index:1;width:auto;padding:1rem 2.5rem;background-color:#0f192880;box-shadow:0 0 15px rgba(var(--secondary-color-rgb),.15),inset 0 0 10px rgba(var(--primary-color-rgb),.1);background-image:linear-gradient(45deg,#c1a4ff,#a1c4fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.main-menu-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none}.main-menu-button:hover:not(:disabled){transform:translateY(-4px) scale(1.03);-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:white;color:#fff;background:#142337b3;box-shadow:0 0 25px rgba(var(--secondary-color-rgb),.5),inset 0 0 15px rgba(var(--primary-color-rgb),.2);background-image:none}.main-menu-button.glow-border:before{background:radial-gradient(circle at 50% 50%,var(--secondary-color),var(--primary-color),var(--secondary-color))}.portal-button-center{min-width:280px;padding:1.25rem 3rem;font-size:1.4rem}.portal-button-side-left,.portal-button-side-right{min-width:200px;opacity:.9}.portal-button-bottom{min-width:200px;font-size:1rem;padding:.8rem 2rem;background-color:#0f19284d;opacity:.8}.main-menu-button.support-button{background-image:linear-gradient(45deg,#c1a4ff,#a1c4fd)}.main-menu-button.support-button:hover:not(:disabled){background:#142337b3;box-shadow:0 0 25px rgba(var(--secondary-color-rgb),.5),inset 0 0 15px rgba(var(--primary-color-rgb),.2);background-image:none}.main-menu-button.support-button.glow-border:before{background:radial-gradient(circle at 50% 50%,var(--secondary-color),var(--primary-color),var(--secondary-color))}@media(max-width:768px){.main-menu-title{background:linear-gradient(45deg,khaki,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:futuristic-glow-mobile 4s ease-in-out infinite}.main-menu-subtitle{background:linear-gradient(45deg,khaki,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.main-menu-actions.portal-layout{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%;max-width:320px;grid-template-areas:none;grid-template-columns:none}.portal-button-center,.portal-button-side-left,.portal-button-bottom,.portal-button-side-right{grid-area:unset;justify-self:unset}.main-menu-button{width:100%;padding:1rem 2.5rem;font-size:1.1rem;background-color:transparent;box-shadow:0 0 15px #b8860b40,inset 0 0 10px #ffd70033;background-image:linear-gradient(45deg,khaki,gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;min-width:unset;opacity:1}.main-menu-button:hover:not(:disabled){box-shadow:0 0 25px #b8860b80,inset 0 0 15px #ffd7004d;background-image:none;background-color:#281e0fb3;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:white;color:#fff}.main-menu-button.glow-border:before{background:radial-gradient(circle at 50% 50%,#b8860b,gold,#b8860b)}.main-menu-button.support-button{background-image:linear-gradient(45deg,#f1fa8c,#ffb86c)}.main-menu-button.support-button:hover:not(:disabled){background:#28230fb3;box-shadow:0 0 25px #f1fa8c80,inset 0 0 15px #ffb86c33}.main-menu-button.support-button.glow-border:before{background:radial-gradient(circle at 50% 50%,#f1fa8c,#ffb86c,#f1fa8c)}}@media(max-width:600px){.main-menu-title{font-size:3rem}.main-menu-subtitle{font-size:1.2rem}}.api-key-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out}.api-key-modal-content{background-color:var(--background-color);padding:2.5rem;border-radius:12px;width:90%;max-width:480px;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 10px 40px #00000080,0 0 25px rgba(var(--primary-color-rgb),.1);position:relative;animation:slideInModal .3s cubic-bezier(.25,1,.5,1);text-align:center}.api-key-modal-content h3{margin:0 0 .5rem;font-family:var(--font-family-playfair-display);font-size:2rem;font-weight:700;background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 15px rgba(var(--primary-color-rgb),.5)}.api-key-modal-content p{margin:0 0 .5rem;color:var(--text-color);line-height:1.6;font-size:1.1rem}.api-key-modal-content .modal-sub-text{font-size:.95rem;color:#d1c8b3;margin-bottom:1.5rem}.api-key-modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.api-key-modal-actions .modal-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.api-key-modal-actions .cancel-btn{background-color:transparent;border:1px solid var(--border-color);color:#d1c8b3}.api-key-modal-actions .cancel-btn:hover:not(:disabled){background-color:#ffffff0d;color:#fff}.api-key-modal-actions .confirm-btn{background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));color:#fff;box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.2)}.api-key-modal-actions .confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3)}.api-key-modal-actions .modal-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(min-width:1024px){.api-key-modal-overlay{background-color:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.api-key-modal-content{background-color:rgba(var(--background-color-rgb),.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media(max-width:600px){.api-key-modal-content{padding:2rem 1.5rem}.api-key-modal-content h3{font-size:1.6rem}.api-key-modal-content p{font-size:1rem}.api-key-modal-actions .modal-btn{padding:.7rem 1rem;min-width:120px;font-size:.9rem}.api-key-modal-actions{flex-direction:column;width:100%}}.api-key-manager{display:flex;flex-direction:column;gap:1.25rem}.api-key-manager-intro{margin:-1.25rem 0 0;color:var(--text-color-secondary);font-size:.95rem}.api-key-guide-list{list-style:none;padding:0;margin:0;counter-reset:guide-counter;display:flex;flex-direction:column;gap:1rem}.api-key-guide-list li{display:flex;align-items:flex-start;gap:1rem;line-height:1.6;color:var(--text-color-secondary)}.api-key-guide-list li:before{counter-increment:guide-counter;content:counter(guide-counter);background:#8a4fff;color:#fff;font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;margin-top:2px}.api-key-guide-list strong{color:var(--text-color);font-weight:600}.api-key-guide-list a,.api-key-manager-intro a{background:linear-gradient(45deg,#a076ff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;font-weight:500;text-decoration:none}.api-key-guide-list a:hover,.api-key-manager-intro a:hover{text-decoration:underline}.api-key-button-mockup{background-color:#3a3a42;padding:.2em .6em;border-radius:4px;font-family:var(--font-family-mono);color:var(--text-color);border:1px solid var(--border-color);white-space:nowrap}.api-key-note{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:8px;background-color:#8a4fff14;border:1px solid rgba(138,79,255,.5);color:var(--text-color-secondary);font-size:.9rem;line-height:1.6}.api-key-note svg{flex-shrink:0;width:20px;height:20px;margin-top:3px;color:#8a4fff}.api-key-note strong{background:linear-gradient(45deg,#8a4fff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.api-key-input-section{display:flex;flex-direction:column;gap:.75rem}.api-key-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.save-keys-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;background-color:#8a4fff;color:#fff;transition:background-color .2s,transform .2s,opacity .2s}.save-keys-button:hover:not(:disabled){background-color:#a076ff;transform:translateY(-1px)}.save-keys-button:disabled{opacity:.7;cursor:not-allowed;background-color:#5d3f9e}#api-keys-input+label{font-weight:600;color:var(--text-color)}#api-keys-input{min-height:100px;font-family:var(--font-family-mono)!important;font-size:.95rem!important;line-height:1.6!important;background-color:#25252a;border:1px solid rgba(138,79,255,.4)}#api-keys-input:focus{outline:none;border-color:#8a4fff;box-shadow:0 0 0 3px #8a4fff33}.api-key-description{font-size:.85rem;color:var(--text-color-secondary);margin:0;line-height:1.5}.api-key-status-section{margin-top:1rem;padding:1.5rem;border-top:1px solid rgba(138,79,255,.2);background-color:#212125;border-radius:8px;border:1px solid rgba(138,79,255,.2)}.status-title{font-family:var(--font-family-playfair-display);font-size:1.5rem;background:linear-gradient(45deg,#8a4fff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;margin:0 0 1rem}.status-info{margin:.5rem 0;color:var(--text-color-secondary);font-size:.95rem}.status-info strong{color:var(--text-color);font-weight:600}.key-status-dots{display:flex;gap:.75rem;padding:1rem 0;margin-bottom:1rem}.key-dot{width:12px;height:12px;border-radius:50%;background-color:#505058;transition:background-color .3s,transform .3s,box-shadow .3s}.key-dot.active{background-color:#8a4fff;transform:scale(1.2);box-shadow:0 0 8px 1px #8a4fff}.api-key-auto-manage-note{padding:1rem;border-radius:8px;border:1px solid #8A4FFF;border-left-width:4px;font-size:.9rem;line-height:1.6;background:linear-gradient(90deg,#8a4fff1a,#8a4fff0d)}.api-key-auto-manage-note p{margin:0;color:var(--text-color-secondary)}.api-key-auto-manage-note strong{background:linear-gradient(45deg,#8a4fff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;font-weight:600}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out}.settings-modal-content{background-color:var(--background-color);border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080,0 0 25px rgba(var(--primary-color-rgb),.1);position:relative;animation:slideInModal .3s cubic-bezier(.25,1,.5,1) forwards}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(var(--secondary-color-rgb),.2);flex-shrink:0}.settings-modal-header h3{margin:0;font-family:var(--font-family-playfair-display);font-size:2rem;font-weight:700;background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 15px rgba(var(--primary-color-rgb),.5)}.close-modal-button{background:transparent;border:none;color:var(--text-color-secondary);font-size:2.5rem;line-height:1;padding:0;cursor:pointer;transition:color .2s,transform .2s}.close-modal-button:hover{background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;transform:rotate(90deg)}.settings-modal-body{padding:2rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;scrollbar-width:none;-ms-overflow-style:none}.settings-modal-footer{padding:1rem 2rem;border-top:1px solid rgba(var(--secondary-color-rgb),.2);text-align:right;color:var(--text-color-secondary);font-size:.85rem;font-family:var(--font-family-mono);flex-shrink:0}.modal-divider{border-bottom:1px solid rgba(var(--secondary-color-rgb),.2);margin:.5rem 0}.settings-modal-body h4{margin:0;font-size:1.3rem;font-weight:600;font-family:var(--font-family-playfair-display);padding-bottom:.75rem;border-bottom:1px solid rgba(var(--secondary-color-rgb),.2);background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.setting-description{font-size:.9rem;color:var(--text-color-secondary);margin:-1.5rem 0 0;line-height:1.6}.setting-description.mini{font-size:.8rem;margin-top:.5rem}.model-settings-grid{display:flex;flex-direction:column;gap:1.5rem}.model-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border-radius:6px;border:1px solid var(--border-color);background-color:#25252a;color:var(--text-color);font-size:.95rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a0a0b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;cursor:pointer;transition:border-color .2s,background-color .2s}.model-select:hover{border-color:var(--primary-color);background-color:#2a2a30}.model-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.25)}.model-select option{background-color:#25252a;color:var(--text-color)}.settings-modal-body::-webkit-scrollbar{display:none}@media(min-width:1024px){.settings-modal-overlay{background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-modal-content{background-color:rgba(var(--background-color-rgb),.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.setting-toggle-item-modal{background-color:#2c2c34;padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.setting-toggle-label-modal{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:500;color:var(--text-color);font-size:.95rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#444;transition:.4s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--success-color)}input:focus+.slider{box-shadow:0 0 1px var(--success-color)}input:checked+.slider:before{transform:translate(22px)}@keyframes glow{0%,to{text-shadow:0 0 10px rgba(79,172,254,.6),0 0 20px rgba(138,79,255,.4)}50%{text-shadow:0 0 20px rgba(79,172,254,.8),0 0 35px rgba(138,79,255,.6)}}.welcome-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out}.welcome-modal-content{background-color:var(--background-color);padding:2.5rem;border-radius:12px;width:90%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 10px 40px #00000080,0 0 25px #4facfe1a;position:relative;animation:slideInModal .3s cubic-bezier(.25,1,.5,1) forwards;text-align:center}.close-welcome-modal-button{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-color-secondary);font-size:2.5rem;line-height:1;padding:0;cursor:pointer;transition:color .2s,transform .2s}.close-welcome-modal-button:hover{background:linear-gradient(45deg,#8a4fff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;transform:rotate(90deg)}.welcome-modal-title{margin:0 0 .5rem;font-family:var(--font-family-playfair-display);font-size:2.2rem;font-weight:700;background:linear-gradient(45deg,#8a4fff,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:glow 4s ease-in-out infinite}.welcome-modal-subtitle,.welcome-modal-invite-text{margin:0;color:var(--text-color-secondary);line-height:1.6;font-size:1.1rem;max-width:40ch}.highlight-red{color:var(--error-color);font-weight:600}.author-image-container{position:relative;width:100%;margin:.5rem 0;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #0000004d;background-color:var(--panel-background-color);min-height:200px;display:flex;align-items:center;justify-content:center}.image-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.welcome-modal-author-image{display:block;max-width:100%;max-height:350px;width:auto;height:auto;border-radius:8px;opacity:0;transition:opacity .4s ease-in-out}.welcome-modal-author-image.loaded{opacity:1}.welcome-modal-discord-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.75rem;margin-top:1rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;background-color:#5865f2;color:#fff;box-shadow:0 4px 15px #5865f24d}.welcome-modal-discord-button:hover{transform:translateY(-2px);background-color:#6a75f5;box-shadow:0 6px 20px #5865f266}@media(min-width:1024px){.welcome-modal-overlay{background-color:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.welcome-modal-content{background-color:rgba(var(--background-color-rgb, 26, 26, 29),.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media(max-width:600px){.welcome-modal-content{padding:1.5rem;gap:.75rem;width:95%}.welcome-modal-title{font-size:1.8rem}.welcome-modal-subtitle,.welcome-modal-invite-text{font-size:1rem}.welcome-modal-discord-button{padding:.6rem 1.25rem;font-size:1rem}.close-welcome-modal-button{top:.5rem;right:.5rem;font-size:2rem}}.update-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeInOverlay .3s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.update-modal-content{background-color:var(--background-color);padding:0;border-radius:12px;width:90%;max-width:550px;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080,0 0 25px #50fa7b1a;position:relative;animation:slideInModal .3s cubic-bezier(.25,1,.5,1) forwards;max-height:90vh}.update-modal-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(80,250,123,.2);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.update-modal-header h3{margin:0;font-family:var(--font-heading);font-size:1.8rem;font-weight:700;background:linear-gradient(45deg,#50fa7b,#69b3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 15px rgba(80,250,123,.5)}.close-update-modal-button{background:transparent;border:none;color:var(--text-color-secondary);font-size:2.5rem;line-height:1;padding:0;cursor:pointer;transition:color .2s,transform .2s}.close-update-modal-button:hover{color:var(--text-color);transform:rotate(90deg)}.update-modal-body{padding:2rem;color:var(--text-color-secondary);line-height:1.7;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5rem}.update-modal-body>p{font-size:1.1rem;color:var(--text-color);margin:0}.update-highlight{background-color:#e0c0681a;border:1px solid rgba(224,192,104,.3);border-radius:6px;padding:1rem 1.5rem;color:#e0c068;font-size:.95rem;width:100%}.update-highlight p{margin:0}.update-modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(80,250,123,.2);display:flex;justify-content:flex-end;flex-shrink:0}.update-ok-button{padding:.75rem 1.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;background-color:var(--success-color);color:#1a1a1d;box-shadow:0 4px 15px #50fa7b33;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.update-ok-button:hover{transform:translateY(-2px);background-color:#6beba4;box-shadow:0 6px 20px #50fa7b4d}@media(max-width:600px){.update-modal-header h3{font-size:1.4rem}.update-modal-header{padding:1rem 1.5rem}.update-modal-body{padding:1.5rem}.update-modal-footer{padding:1rem 1.5rem}}.spinner{border:3px solid rgba(255,255,255,.2);border-radius:50%;border-top-color:var(--primary-color);width:16px;height:16px;animation:spin 1s linear infinite}.generate-button .spinner{border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.writing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;color:var(--text-color-secondary);font-style:italic;margin:auto}.writing-indicator .spinner{width:32px;height:32px;border-width:4px}.app-root{height:100%;display:flex;flex-direction:column}.story-view-wrapper{flex:1;display:flex;min-height:0}.loading-fallback-container{align-items:center;justify-content:center}:root{--background-color: #0f0f13;--background-color-rgb: 15, 15, 19;--panel-background-color: rgba(28, 28, 35, .65);--glass-bg: rgba(20, 20, 25, .4);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--text-color: #F8F8F8;--text-color-secondary: #a0a0b0;--primary-color: #4facfe;--primary-color-rgb: 79, 172, 254;--secondary-color: #8A4FFF;--secondary-color-rgb: 138, 79, 255;--primary-hover-color: #69b3ff;--border-color: rgba(255, 255, 255, .1);--error-color: #FF6B6B;--error-color-rgb: 255, 107, 107;--success-color: #50fa7b;--font-family-sans: "Inter", sans-serif;--font-family-serif: "Lora", serif;--font-family-mono: "Roboto Mono", monospace;--font-family-nunito: "Nunito", sans-serif;--font-family-work-sans: "Work Sans", sans-serif;--font-family-playfair-display: "Playfair Display", serif;--font-family-merriweather: "Merriweather", serif;--font-family-source-code-pro: "Source Code Pro", monospace;--font-family-lobster: "Lobster", cursive;--font-family-pacifico: "Pacifico", cursive;--font-body: var(--font-family-sans);--font-heading: var(--font-family-serif)}html{font-size:16px;color-scheme:dark;height:100%}body{margin:0;font-family:var(--font-body);background-color:var(--background-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;overflow-x:hidden;height:100%}#root{display:flex;flex-direction:column;height:var(--app-height, 100dvh)}*{box-sizing:border-box}button,a,[role=button],input{-webkit-tap-highlight-color:transparent}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;color:var(--text-color-secondary);font-size:.9rem}.input-group input[type=text],.input-group textarea{width:100%;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-color);font-size:1rem;font-family:var(--font-body);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel{background:var(--panel-background-color)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)}.input-group input[type=text]:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.25)}.input-group input[type=text]:disabled,.input-group textarea:disabled{background-color:#333338;color:#888;cursor:not-allowed;border-color:var(--border-color)}.input-group textarea{resize:vertical;line-height:1.6}.form-layout{display:flex;flex-direction:column;gap:1.5rem}.input-warning{font-size:.85rem;color:#e0c068;margin:.25rem 0 0;line-height:1.5}.radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.radio-group label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;flex:1;transition:background-color .2s,border-color .2s;background-color:#25252a}.radio-group input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-color);margin:0;font:inherit;color:currentColor;width:1.15em;height:1.15em;border:.15em solid currentColor;border-radius:50%;transform:translateY(-.075em);display:grid;place-content:center;transition:.1s ease-in-out;flex-shrink:0}.radio-group input[type=radio]:before{content:"";width:.65em;height:.65em;border-radius:50%;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--secondary-color)}.radio-group input[type=radio]:checked{border-color:var(--secondary-color)}.radio-group input[type=radio]:checked:before{transform:scale(1)}.radio-group label:has(input:checked){border-color:var(--secondary-color);background-color:rgba(var(--secondary-color-rgb),.1)}.radio-group label:has(input:disabled){cursor:not-allowed;opacity:.6}.radio-group.vertical{flex-direction:column;gap:.75rem;margin-top:.25rem}.radio-group.vertical label{flex:initial}.radio-group.vertical label span{color:var(--text-color);font-size:.95rem}.file-input-wrapper{position:relative;display:flex;align-items:center;border-radius:8px}.file-input-label{flex-grow:1;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--border-color);background-color:#25252a;color:var(--text-color);font-size:1rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .3s ease,box-shadow .3s ease;min-width:0}.file-input-label:hover{border-color:var(--secondary-color)}.file-input-label.placeholder{color:var(--text-color-secondary)}.file-input-wrapper input[type=file]{display:none}@keyframes glow-background-position{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.glow-border{position:relative;z-index:0}.glow-border:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:radial-gradient(circle at 50% 50%,var(--secondary-color),var(--primary-color),var(--secondary-color));background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:glow-background-position 8s linear infinite;will-change:background-position}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
