*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #00f0ff;--primary-hover: #00d4e0;--primary-glow: rgba(0, 240, 255, .3);--secondary-color: #ff00ff;--secondary-glow: rgba(255, 0, 255, .3);--accent-color: #7b2dff;--accent-glow: rgba(123, 45, 255, .3);--background: #0a0a0f;--background-secondary: #0d0d15;--surface: rgba(15, 15, 25, .8);--surface-light: rgba(25, 25, 40, .6);--surface-glass: rgba(20, 20, 35, .7);--text-primary: #ffffff;--text-secondary: #8892b0;--text-muted: #5a6380;--border-color: rgba(0, 240, 255, .15);--border-glow: rgba(0, 240, 255, .3);--success: #00ff88;--success-glow: rgba(0, 255, 136, .3);--warning: #ffaa00;--warning-glow: rgba(255, 170, 0, .3);--error: #ff3366;--error-glow: rgba(255, 51, 102, .3);--gradient-primary: linear-gradient(135deg, #00f0ff 0%, #7b2dff 50%, #ff00ff 100%);--gradient-card: linear-gradient(145deg, rgba(20, 20, 35, .9) 0%, rgba(10, 10, 20, .9) 100%);--gradient-glow: linear-gradient(135deg, var(--primary-glow), var(--accent-glow), var(--secondary-glow));--shadow-glow: 0 0 30px rgba(0, 240, 255, .15);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(0,240,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(123,45,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(255,0,255,.05) 0%,transparent 50%);pointer-events:none;z-index:-1}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.app:before{content:"";position:fixed;top:0;left:0;right:0;height:1px;background:var(--gradient-primary);z-index:1000}.header{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 4px 30px #0000004d}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.5}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:700;color:var(--text-primary);text-decoration:none;position:relative}.logo svg{width:32px;height:32px;color:var(--primary-color);filter:drop-shadow(0 0 10px var(--primary-glow));animation:iconPulse 3s ease-in-out infinite}.brand-logo-mark{display:block;width:34px;height:34px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 0 12px rgba(51,230,255,.4))}.login-logo .brand-logo-mark{width:52px;height:52px}@keyframes iconPulse{0%,to{filter:drop-shadow(0 0 10px var(--primary-glow))}50%{filter:drop-shadow(0 0 20px var(--primary-color))}}.logo span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;gap:.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.6rem 1.2rem;border-radius:8px;transition:all .3s ease;position:relative;font-weight:500;border:1px solid transparent}.nav-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:1px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.nav-link:hover{color:var(--text-primary);background:#00f0ff1a}.nav-link:hover:before{opacity:1}.nav-link.active{color:var(--primary-color);background:#00f0ff26;box-shadow:0 0 20px #00f0ff33}.nav-link.active:before{opacity:1}.nav-user{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;color:var(--text-secondary);font-size:.875rem;padding:.5rem 1rem;background:var(--surface-light);border-radius:8px;border:1px solid var(--border-color)}.user-info svg{color:var(--primary-color)}.main{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.card{background:var(--gradient-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:all .3s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.5}.card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow),var(--shadow-card)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.card-title:before{content:"";width:4px;height:1.25rem;background:var(--gradient-primary);border-radius:2px}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #00f0ff4d}.btn-primary:hover{box-shadow:0 6px 25px #00f0ff80;transform:translateY(-2px)}.btn-secondary{background:var(--surface-light);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#00f0ff1a;border-color:var(--primary-color);box-shadow:0 0 15px #00f0ff33}.btn-success{background:linear-gradient(135deg,var(--success),#00cc6a);color:#fff;box-shadow:0 4px 15px var(--success-glow)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:.9rem}.form-input,.form-textarea,.form-select{width:100%;padding:.85rem 1rem;background:var(--surface-light);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 20px #00f0ff26;background:#00f0ff0d}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{min-height:120px;resize:vertical}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:12px;text-align:center;border:1px solid var(--border-color);position:relative;overflow:hidden;transition:all .3s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.stat-value{font-size:2.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.progress-bar{width:100%;height:8px;background:var(--surface-light);border-radius:4px;overflow:hidden;margin-top:.5rem;border:1px solid var(--border-color)}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:4px;transition:width .5s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.novel-list{display:flex;flex-direction:column;gap:1rem}.novel-item{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem 1.5rem;border-radius:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .3s ease;border:1px solid var(--border-color);position:relative;overflow:hidden}.novel-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gradient-primary);opacity:0;transition:opacity .3s ease}.novel-item:hover{background:#00f0ff0d;border-color:var(--border-glow);transform:translate(8px);box-shadow:var(--shadow-glow)}.novel-item:hover:before{opacity:1}.novel-info h3{font-size:1.125rem;margin-bottom:.25rem;color:var(--text-primary)}.novel-info p{color:var(--text-secondary);font-size:.875rem}.character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.character-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem;border-radius:12px;border-left:3px solid var(--primary-color);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.character-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--primary-color),transparent)}.character-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.character-card.protagonist{border-left-color:var(--success)}.character-card.protagonist:before{background:linear-gradient(90deg,var(--success),transparent)}.character-card.antagonist{border-left-color:var(--error)}.character-card.antagonist:before{background:linear-gradient(90deg,var(--error),transparent)}.character-name{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.character-role{display:inline-block;padding:.25rem .75rem;background:#00f0ff1a;border:1px solid var(--border-color);border-radius:20px;font-size:.75rem;margin-bottom:.75rem;color:var(--primary-color)}.character-detail{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.chapter-list{display:flex;flex-direction:column;gap:.5rem}.chapter-item{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1.25rem;border-radius:10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .3s ease;border:1px solid var(--border-color)}.chapter-item:hover{background:#00f0ff0d;border-color:var(--border-glow);transform:translate(4px)}.chapter-number{color:var(--primary-color);font-weight:600;margin-right:1rem;font-family:Courier New,monospace}.chapter-status{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.chapter-status.completed{background:#00ff8826;color:var(--success);border:1px solid rgba(0,255,136,.3)}.chapter-status.outlined{background:#ffaa0026;color:var(--warning);border:1px solid rgba(255,170,0,.3)}.chapter-status.pending{background:#64647826;color:var(--text-secondary);border:1px solid var(--border-color)}.content-display{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:12px;line-height:1.9;white-space:pre-wrap;border:1px solid var(--border-color);font-size:1.05rem;color:var(--text-primary)}.generated-image-result{display:flex;flex-direction:column;gap:1rem}.generated-image-preview{width:100%;max-height:560px;object-fit:contain;background:#040c14c7;border:1px solid var(--border-color);border-radius:8px}.generated-image-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--text-secondary);font-size:.82rem}.generated-image-meta span,.generated-image-prompt summary{border:1px solid var(--border-color);border-radius:6px;background:var(--surface-light);padding:.35rem .55rem}.generated-image-prompt{color:var(--text-secondary)}.generated-image-prompt summary{width:fit-content;cursor:pointer;color:var(--text-primary)}.generated-image-prompt div{margin-top:.75rem;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;line-height:1.8;white-space:pre-wrap}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.tab{padding:.75rem 1.5rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;border-radius:8px 8px 0 0;transition:all .3s ease;position:relative}.tab:after{content:"";position:absolute;bottom:-.5rem;left:0;right:0;height:2px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .3s ease}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-color);background:#00f0ff1a}.tab.active:after{transform:scaleX(1)}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary)}.spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-right:.75rem;box-shadow:0 0 15px var(--primary-glow)}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);box-shadow:0 20px 60px #00000080,var(--shadow-glow);animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.5rem;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:all .2s;border-radius:8px}.modal-close:hover{color:var(--error);background:#ff33661a}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.badge-primary{background:#00f0ff26;color:var(--primary-color);border:1px solid rgba(0,240,255,.3)}.badge-success{background:#00ff8826;color:var(--success);border:1px solid rgba(0,255,136,.3)}.badge-warning{background:#ffaa0026;color:var(--warning);border:1px solid rgba(255,170,0,.3)}.memory-list{display:flex;flex-direction:column;gap:.75rem}.memory-item{background:var(--surface-light);padding:1rem;border-radius:8px;border-left:3px solid var(--primary-color);transition:all .3s ease}.memory-item:hover{background:#00f0ff0d}.memory-type{font-size:.75rem;color:var(--primary-color);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.memory-content{color:var(--text-primary)}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5;color:var(--primary-color)}.step-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}.step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;background:var(--surface-light);color:var(--text-secondary);border:1px solid var(--border-color);transition:all .3s ease}.step.active{background:#00f0ff26;color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 20px #00f0ff33}.step.completed{background:#00ff8826;color:var(--success);border-color:var(--success)}.step-line{width:40px;height:2px;background:var(--border-color)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.login-shape{position:absolute;border-radius:50%;filter:blur(80px);animation:float 20s infinite ease-in-out}.login-shape-1{width:500px;height:500px;background:var(--primary-glow);top:-250px;left:-150px;animation-delay:0s}.login-shape-2{width:400px;height:400px;background:var(--secondary-glow);bottom:-200px;right:-150px;animation-delay:5s}.login-shape-3{width:300px;height:300px;background:var(--accent-glow);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,-50px) scale(1.1)}50%{transform:translateY(50px) scale(1)}75%{transform:translate(-50px,-25px) scale(.9)}}.login-card{background:var(--gradient-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:20px;padding:3rem;width:100%;max-width:440px;position:relative;z-index:1;box-shadow:0 25px 80px #00000080,var(--shadow-glow);animation:slideUp .5s ease-out}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);border-radius:20px 20px 0 0}.login-card.shake{animation:slideUp .5s ease-out,shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--gradient-primary);border-radius:20px;margin-bottom:1.5rem;color:#fff;animation:pulse 2s infinite;box-shadow:0 10px 40px #00f0ff4d}@keyframes pulse{0%,to{box-shadow:0 10px 40px #00f0ff4d}50%{box-shadow:0 10px 60px #00f0ff80}}.login-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{color:var(--text-secondary);font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;animation:fadeIn .3s ease-in}.login-message.success{background:#00ff881a;border:1px solid var(--success);color:var(--success)}.login-message.error{background:#ff33661a;border:1px solid var(--error);color:var(--error)}.input-wrapper,.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--primary-color)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.form-input.error{border-color:var(--error);animation:inputError .3s ease-in-out}@keyframes inputError{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.field-error{display:flex;align-items:center;gap:.5rem;color:var(--error);font-size:.875rem;margin-top:.5rem;animation:fadeIn .3s ease-in}.form-options{display:flex;align-items:center;justify-content:space-between;margin-top:-.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;position:relative;transition:all .2s}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-glow)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:disabled+.checkbox-custom{opacity:.5;cursor:not-allowed}.forgot-password{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.875rem;transition:all .2s}.forgot-password:hover{color:var(--primary-hover);text-shadow:0 0 10px var(--primary-glow)}.forgot-password:disabled{opacity:.5;cursor:not-allowed}.login-button{width:100%;margin-top:.5rem;padding:1rem;font-size:1.05rem;font-weight:600;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-button:hover:before{width:300px;height:300px}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem}.login-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-secondary);font-size:.875rem}@media (max-width: 480px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}.login-logo{width:60px;height:60px}.login-logo svg{width:32px;height:32px}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.points-display{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#00f0ff1a;border:1px solid rgba(0,240,255,.3);border-radius:20px;color:var(--primary-color);text-decoration:none;transition:all .3s ease}.points-display:hover{background:#00f0ff33;box-shadow:0 0 20px #00f0ff4d;transform:scale(1.02)}.points-value{font-size:1.1rem;font-weight:700}.points-label{font-size:.75rem;color:var(--text-secondary)}.points-page{max-width:900px;margin:0 auto}.points-header{margin-bottom:2rem}.points-header h1{display:flex;align-items:center;font-size:1.75rem;font-weight:700}.points-overview{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:2rem}.points-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.points-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.points-card.main{background:var(--gradient-primary);border:none}.points-card-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:12px}.points-card.main .points-card-icon{background:#fff3;color:#fff}.points-card-icon.earned{background:#00ff8826;color:var(--success)}.points-card-icon.spent{background:#ff336626;color:var(--error)}.points-card-content{flex:1}.points-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.points-card.main .points-card-label{color:#fffc}.points-card-value{font-size:2rem;font-weight:700}.points-card.main .points-card-value{color:#fff}.points-config{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.points-config h3{font-size:1rem;margin-bottom:1rem;color:var(--text-secondary)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-light);border-radius:8px;border:1px solid var(--border-color)}.config-label{color:var(--text-secondary);font-size:.875rem}.config-value{font-weight:600;font-size:.9rem}.config-value.earn{color:var(--success)}.config-value.spend{color:var(--error)}.points-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.95rem;transition:all .3s ease}.tab-btn:hover{background:#00f0ff1a;color:var(--text-primary);border-color:var(--border-glow)}.tab-btn.active{background:#00f0ff26;border-color:var(--primary-color);color:var(--primary-color)}.points-content{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.recharge-section{display:flex;flex-direction:column;gap:1.5rem}.recharge-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:1rem}.recharge-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.recharge-header h3,.recharge-orders h3,.recharge-pay-panel h3{display:flex;align-items:center;gap:.5rem;margin:0}.payment-status,.recharge-badge,.order-status{border-radius:6px;border:1px solid var(--border-color);padding:.25rem .5rem;font-size:.78rem}.payment-status.ready,.order-status.paid{color:var(--success);background:#5dffb11f;border-color:#5dffb159}.payment-status.blocked,.order-status.pending{color:var(--warning);background:#ffd1661f;border-color:#ffd16659}.recharge-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.recharge-package{min-height:156px;text-align:left;border:1px solid var(--border-color);border-radius:8px;background:linear-gradient(180deg,#0f1c2beb,#080f19e6);color:var(--text-primary);padding:1rem;cursor:pointer;transition:all .2s ease}.recharge-package:hover:not(:disabled){border-color:#33e6ff7a;box-shadow:var(--shadow-glow);transform:translateY(-2px)}.recharge-package:disabled{cursor:not-allowed;opacity:.55}.recharge-badge{color:var(--primary-color);background:#33e6ff1a}.recharge-name,.recharge-points,.recharge-bonus,.recharge-price{display:block}.recharge-name{margin-top:.8rem;color:var(--text-secondary)}.recharge-points{margin-top:.2rem;font-size:1.65rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recharge-bonus{color:var(--success);font-size:.85rem}.recharge-price{margin-top:.75rem;font-weight:700;color:#f7fdff}.recharge-pay-panel{border:1px solid var(--border-color);border-radius:8px;background:#08101a94;padding:1rem}.qr-panel{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:1rem}.qr-box{width:270px;min-height:270px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(88,215,255,.22);border-radius:8px;background:#f7fdff;padding:.5rem}.qr-box img{width:100%;height:auto;display:block}.order-summary{width:100%;display:flex;flex-direction:column;gap:.5rem}.order-summary div{display:flex;justify-content:space-between;gap:1rem;color:var(--text-secondary);font-size:.88rem}.order-summary strong{color:var(--text-primary);overflow-wrap:anywhere}.recharge-orders{display:flex;flex-direction:column;gap:1rem}.message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;animation:fadeIn .3s ease-in}.message.success{background:#00ff881a;border:1px solid var(--success);color:var(--success)}.message.error{background:#ff33661a;border:1px solid var(--error);color:var(--error)}.message-close{margin-left:auto;background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;opacity:.7}.message-close:hover{opacity:1}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-light);border-radius:8px;transition:all .3s ease;border:1px solid transparent}.history-item:hover{background:#00f0ff0d;border-color:var(--border-color)}.history-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.history-icon .earn{color:var(--success)}.history-icon .spend{color:var(--error)}.history-content{flex:1}.history-reason{font-weight:500;margin-bottom:.25rem}.history-time{font-size:.8rem;color:var(--text-secondary)}.history-amount{font-size:1.25rem;font-weight:700}.history-amount.earn{color:var(--success)}.history-amount.spend{color:var(--error)}.invite-section{display:flex;flex-direction:column;gap:2rem}.invite-use h3,.invite-create h3{font-size:1rem;margin-bottom:1rem}.invite-input-group{display:flex;gap:.75rem}.invite-input-group input{flex:1;padding:.75rem 1rem;background:var(--surface-light);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;text-transform:uppercase;letter-spacing:.1em}.invite-input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 15px #00f0ff26}.invite-hint{margin-top:.75rem;font-size:.85rem;color:var(--text-secondary)}.invite-create-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.invite-codes-list{display:flex;flex-direction:column;gap:.75rem}.invite-code-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface-light);border-radius:8px;border:1px solid var(--border-color)}.code-info{display:flex;align-items:center;gap:1rem}.code-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.code-status.active{background:#00ff8826;color:var(--success)}.code-status.exhausted{background:#64647826;color:var(--text-secondary)}.code-value{font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;letter-spacing:.1em;color:var(--primary-color)}.code-uses{font-size:.85rem;color:var(--text-secondary)}.btn-sm{padding:.5rem .75rem;font-size:.85rem}@media (max-width: 768px){.points-overview{grid-template-columns:1fr}.points-card.main{order:-1}.config-grid{grid-template-columns:1fr}.points-tabs{flex-wrap:wrap}.tab-btn{flex:1;justify-content:center}.invite-input-group{flex-direction:column}.invite-code-item{flex-direction:column;align-items:flex-start;gap:.75rem}.code-info{flex-wrap:wrap}}.admin-points-page{max-width:1200px;margin:0 auto}.admin-header{margin-bottom:2rem}.admin-header h1{display:flex;align-items:center;font-size:1.75rem;font-weight:700}.admin-subtitle{margin-top:.65rem;color:var(--text-secondary);max-width:760px;line-height:1.7}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.admin-stats .stat-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem}.admin-stats .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.admin-stats .stat-icon.users{background:#00f0ff26;color:var(--primary-color)}.admin-stats .stat-icon.points{background:#ffaa0026;color:var(--warning)}.admin-stats .stat-icon.earned{background:#00ff8826;color:var(--success)}.admin-stats .stat-icon.spent{background:#ff336626;color:var(--error)}.admin-stats .stat-content{flex:1}.admin-stats .stat-value{font-size:1.5rem;font-weight:700}.admin-stats .stat-label{font-size:.85rem;color:var(--text-secondary)}.admin-content{display:flex;flex-direction:column;gap:2rem}.admin-section{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.admin-section h2{font-size:1.125rem;margin-bottom:1rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface-light);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 15px #00f0ff26}.search-box input{border:none;background:none;color:var(--text-primary);font-size:.9rem;outline:none}.users-table table,.history-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td,.history-table th,.history-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.users-table th,.history-table th{color:var(--text-secondary);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.users-table tr:hover,.history-table tr:hover{background:#00f0ff08}.role-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.role-badge.admin{background:#00f0ff26;color:var(--primary-color)}.role-badge.user{background:#64647826;color:var(--text-secondary)}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.type-badge.earn{background:#00ff8826;color:var(--success)}.type-badge.spend{background:#ff336626;color:var(--error)}.points-cell{font-weight:600}.earned-cell{color:var(--success);font-weight:500}.spent-cell{color:var(--error);font-weight:500}.user-info-display{background:var(--surface-light);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--border-color)}.user-info-display p{margin-bottom:.5rem}.user-info-display p:last-child{margin-bottom:0}.modal-body{padding:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.admin-link{display:flex;align-items:center;padding:.5rem 1rem;background:#7b2dff26;border:1px solid rgba(123,45,255,.3);border-radius:8px;color:var(--accent-color);text-decoration:none;font-size:.875rem;transition:all .3s ease}.admin-link:hover{background:#7b2dff40;box-shadow:0 0 15px #7b2dff4d}.model-config-page{max-width:1200px;margin:0 auto}.model-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.model-status-card{min-height:96px}.model-value{word-break:break-all;font-size:1.1rem}.model-global-grid,.model-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.model-provider-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem}.provider-list,.provider-editor{min-height:100%}.provider-tabs{display:flex;flex-direction:column;gap:.5rem}.provider-tab{width:100%;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-secondary);border-radius:8px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;font:inherit}.provider-tab:hover,.provider-tab.active{border-color:var(--primary-color);color:var(--text-primary);background:#00f0ff1a}.provider-enabled{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.model-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}@media (max-width: 768px){.admin-stats{grid-template-columns:repeat(2,1fr)}.model-status-grid,.model-global-grid,.model-form-grid,.model-provider-layout{grid-template-columns:1fr}.users-table,.history-table{overflow-x:auto}.users-table table,.history-table table{min-width:600px}}@media (max-width: 768px){.header{padding:1rem;flex-wrap:wrap;gap:1rem}.nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.nav-link{padding:.5rem .75rem;font-size:.875rem}.main{padding:1rem}}:root{--primary-color: #33e6ff;--primary-hover: #75f0ff;--primary-glow: rgba(51, 230, 255, .24);--secondary-color: #8bffb8;--secondary-glow: rgba(139, 255, 184, .16);--accent-color: #f5c84c;--accent-glow: rgba(245, 200, 76, .18);--background: #06080d;--background-secondary: #0a0f17;--surface: rgba(10, 18, 28, .86);--surface-light: rgba(18, 30, 45, .72);--surface-glass: rgba(8, 16, 26, .88);--text-primary: #f4fbff;--text-secondary: #a7b7c8;--text-muted: #647386;--border-color: rgba(88, 215, 255, .18);--border-glow: rgba(88, 215, 255, .44);--success: #5dffb1;--success-glow: rgba(93, 255, 177, .22);--warning: #ffd166;--warning-glow: rgba(255, 209, 102, .2);--error: #ff5f7e;--error-glow: rgba(255, 95, 126, .2);--gradient-primary: linear-gradient(135deg, #33e6ff 0%, #5dffb1 54%, #f5c84c 100%);--gradient-card: linear-gradient(180deg, rgba(13, 24, 38, .94) 0%, rgba(8, 14, 24, .92) 100%);--gradient-glow: linear-gradient(135deg, var(--primary-glow), var(--secondary-glow), var(--accent-glow));--shadow-glow: 0 0 0 1px rgba(51, 230, 255, .16), 0 18px 48px rgba(0, 0, 0, .36);--shadow-card: 0 18px 52px rgba(0, 0, 0, .36)}body{background:linear-gradient(180deg,#05070c,#07111a 44%,#05070c);letter-spacing:0}body:before{background:linear-gradient(rgba(51,230,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(51,230,255,.038) 1px,transparent 1px),linear-gradient(135deg,rgba(93,255,177,.05),transparent 34%,rgba(245,200,76,.035) 70%,transparent);background-size:32px 32px,32px 32px,100% 100%;opacity:.72;z-index:-2}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),linear-gradient(90deg,rgba(51,230,255,.08),transparent 18%,transparent 82%,rgba(93,255,177,.055));mix-blend-mode:screen;opacity:.16;z-index:-1}.app:before{height:2px;background:linear-gradient(90deg,transparent,#33e6ff 18%,#5dffb1 50%,#f5c84c 82%,transparent);box-shadow:0 0 24px #33e6ff6b}.header{background:#050c15e6;border-bottom:1px solid rgba(88,215,255,.2);box-shadow:0 10px 36px #00000070}.header:after,.card:before,.stat-card:before,.login-card:before{background:linear-gradient(90deg,transparent,var(--primary-color),var(--success),transparent);opacity:.85}.logo span,.stat-value,.modal-title{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo svg{animation:none;filter:drop-shadow(0 0 12px rgba(51,230,255,.5))}.nav{gap:.35rem}.nav-link,.admin-link,.points-display,.user-info,.provider-tab,.tab,.step,.badge,.chapter-status,.character-role,.role-badge,.type-badge{border-radius:6px}.nav-link{padding:.55rem .95rem;color:#b7c9dc;background:transparent;border:1px solid transparent}.nav-link:before{border-radius:6px;background:linear-gradient(135deg,#33e6ffe6,#5dffb1c7)}.nav-link:hover,.nav-link.active,.admin-link:hover,.admin-link.active{color:var(--text-primary);background:#33e6ff18;border-color:#33e6ff57;box-shadow:inset 0 0 18px #33e6ff0f,0 0 18px #33e6ff1f}.points-display,.user-info,.search-box,.user-info-display{background:#0a1622b8;border-color:#58d7ff38}.main{padding-top:2.25rem}.card,.stat-card,.novel-item,.character-card,.chapter-item,.content-display,.modal,.login-card,.admin-section,.admin-stats .stat-card,.points-card,.config-card,.provider-tab{background:linear-gradient(180deg,#0f1c2beb,#080f19e6);border:1px solid rgba(88,215,255,.18);border-radius:8px;box-shadow:var(--shadow-card)}.card,.admin-section,.login-card,.modal,.content-display{position:relative}.card:after,.admin-section:after,.login-card:after,.modal:after,.content-display:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(51,230,255,.16),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 22%);opacity:.55}.card:hover,.stat-card:hover,.novel-item:hover,.character-card:hover,.chapter-item:hover,.provider-tab:hover{border-color:#33e6ff7a;box-shadow:var(--shadow-glow)}.card-header,.modal-header{border-bottom-color:#58d7ff33}.card-title:before{width:3px;border-radius:2px;box-shadow:0 0 14px #33e6ff8c}.btn{border-radius:6px;font-weight:600;letter-spacing:0}.btn-primary{background:linear-gradient(135deg,#0aa5c0,#12ba85 58%,#d6a93a);border:1px solid rgba(117,240,255,.42);color:#f7fdff;box-shadow:0 10px 28px #12ba852e,0 0 0 1px #33e6ff1f}.btn-primary:hover{box-shadow:0 16px 36px #33e6ff38,0 0 22px #5dffb12e;transform:translateY(-1px)}.btn-secondary{background:#0d1a28c7;border:1px solid rgba(88,215,255,.22);color:#dbefff}.btn-secondary:hover{background:#33e6ff1a;border-color:#33e6ff80}.btn-success{background:linear-gradient(135deg,#13b981,#5dffb1);border:1px solid rgba(93,255,177,.4)}.form-label{color:#bdd0e1;font-size:.86rem}.form-input,.form-textarea,.form-select,.search-box input{background:#040c14bf;border-color:#58d7ff38;border-radius:6px;color:var(--text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus,.search-box:focus-within{background:#081420eb;border-color:#33e6ffad;box-shadow:0 0 0 3px #33e6ff14,0 0 24px #33e6ff1f}.stat-card{text-align:left}.stat-card:before{height:2px}.stat-value{font-size:2.15rem}.stat-label{color:#9fb2c6;text-transform:uppercase;font-size:.78rem}.progress-bar{height:9px;background:#02080edb;border-color:#58d7ff33}.progress-fill{background:linear-gradient(90deg,#33e6ff,#5dffb1,#ffd166)}.novel-item,.chapter-item{border-left:2px solid rgba(51,230,255,.24)}.novel-item:hover,.chapter-item:hover{transform:translate(4px)}.novel-item:before{width:2px}.character-card{border-left-width:2px}.chapter-number,.memory-type{color:var(--primary-color);font-family:Consolas,Courier New,monospace}.tabs{background:#07101bad;border:1px solid rgba(88,215,255,.18);border-radius:8px;padding:.35rem;overflow-x:auto}.tab{border-radius:6px;white-space:nowrap}.tab:after{bottom:0}.tab.active{background:#33e6ff1f;box-shadow:inset 0 0 18px #33e6ff14}.badge-primary{background:#33e6ff1f;border-color:#33e6ff61}.badge-success,.chapter-status.completed,.type-badge.earn{background:#5dffb11f;border-color:#5dffb159}.badge-warning,.chapter-status.outlined{background:#ffd1661f;border-color:#ffd16659}.chapter-status.pending,.role-badge.user{background:#97a6b81a;border-color:#97a6b838}.modal-overlay{background:#02080ed1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.empty-state{background:#08101a94;border:1px dashed rgba(88,215,255,.22);border-radius:8px}.login-container{background:linear-gradient(rgba(51,230,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(51,230,255,.035) 1px,transparent 1px),linear-gradient(180deg,#050910f5,#061018f5);background-size:36px 36px,36px 36px,100% 100%}.login-shape{display:none}.login-card{border-radius:8px;box-shadow:0 28px 72px #0000007a,0 0 0 1px #33e6ff24}.login-logo{border-radius:8px;background:#33e6ff1a;border:1px solid rgba(51,230,255,.24)}.users-table table,.history-table table{background:#050c1459;border:1px solid rgba(88,215,255,.14);border-radius:8px;overflow:hidden}.users-table th,.history-table th{color:#c7d7e7;background:#33e6ff0f;letter-spacing:0}.users-table td,.history-table td{border-bottom-color:#58d7ff1f}.model-provider-layout,.model-status-grid,.admin-stats,.stats{gap:1rem}.provider-tab.active{color:#f4fbff}.model-status-card .stat-content{min-width:0}.model-status-card .stat-value{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-status-card .model-value{font-size:1.55rem;line-height:1.25;word-break:normal}@media (max-width: 1024px){.header{align-items:flex-start;flex-wrap:wrap;gap:.85rem}.nav,.nav-user{flex-wrap:wrap}.model-status-card .model-value{font-size:1.2rem}.recharge-layout{grid-template-columns:1fr}.qr-box{width:min(270px,100%);min-height:auto}}.main:has(.portal-page){max-width:none;padding:0}.portal-page{min-height:100vh;width:100%;color:var(--text-primary);background:linear-gradient(rgba(51,230,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(51,230,255,.035) 1px,transparent 1px),radial-gradient(ellipse at 82% 18%,rgba(139,255,184,.12),transparent 34%),linear-gradient(145deg,#050913,#07131f 44%,#05080d);background-size:42px 42px,42px 42px,100% 100%,100% 100%;overflow:hidden}.portal-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 12%,rgba(51,230,255,.08) 12.1% 12.35%,transparent 12.45% 100%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%);opacity:.65;z-index:0}.portal-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1rem,5vw,4.5rem);background:#040a12d1;border-bottom:1px solid rgba(88,215,255,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.portal-brand,.portal-actions{display:flex;align-items:center}.portal-brand{gap:.75rem;color:#f5fbff;text-decoration:none;font-size:1.2rem;font-weight:800;min-width:0}.portal-brand svg{flex:0 0 auto;color:var(--primary-color);filter:drop-shadow(0 0 12px rgba(51,230,255,.55))}.portal-brand .brand-logo-mark{width:38px;height:38px;filter:drop-shadow(0 0 14px rgba(51,230,255,.55))}.portal-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-actions{justify-content:flex-end;gap:.75rem}.portal-nav-link,.portal-register-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.6rem 1rem;border-radius:6px;font-weight:700;text-decoration:none;transition:all .2s ease;white-space:nowrap;cursor:pointer;font:inherit}.portal-nav-link{color:#d8edf8;border:1px solid rgba(88,215,255,.22);background:#0a16229e}.portal-register-link{color:#061017;border:1px solid rgba(139,255,184,.62);background:linear-gradient(135deg,#33e6ff,#5dffb1 70%,#ffd166);box-shadow:0 14px 32px #33e6ff2e}.portal-nav-link:hover,.portal-register-link:hover{transform:translateY(-1px)}.portal-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr);align-items:center;gap:clamp(2rem,5vw,5rem);min-height:min(760px,calc(100vh - 72px));padding:clamp(3rem,7vw,6.5rem) clamp(1rem,5vw,4.5rem) 3rem}.portal-copy{max-width:780px}.portal-kicker{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;padding:.55rem .8rem;border:1px solid rgba(245,200,76,.36);border-radius:6px;color:#ffe2a1;background:#f5c84c14;font-weight:700}.portal-kicker svg{color:#ffd166}.portal-copy h1{max-width:900px;margin:0;font-size:clamp(2.45rem,5.4vw,5.5rem);line-height:1.05;letter-spacing:0;color:#f7fcff}.portal-lead{max-width:720px;margin-top:1.35rem;color:#b7c9dc;font-size:clamp(1rem,1.55vw,1.18rem);line-height:1.9}.portal-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.portal-cta{min-height:48px;padding:.85rem 1.25rem}.portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:690px;margin-top:2.2rem}.portal-stats div{border-left:2px solid rgba(51,230,255,.48);padding:.25rem 0 .25rem .9rem;background:linear-gradient(90deg,rgba(51,230,255,.08),transparent)}.portal-stats strong,.portal-stats span{display:block}.portal-stats strong{color:#fff;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.1}.portal-stats span{margin-top:.35rem;color:#93a9bf;font-size:.9rem}.portal-showcase{position:relative;min-height:530px;padding:1.25rem;border:1px solid rgba(88,215,255,.24);border-radius:8px;background:linear-gradient(180deg,#0d1c2ae6,#050c14e6),linear-gradient(135deg,rgba(51,230,255,.12),transparent);box-shadow:0 28px 78px #0000006b,inset 0 0 38px #33e6ff0d}.portal-showcase:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(88,215,255,.1);pointer-events:none}.portal-showcase-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(88,215,255,.18)}.portal-showcase-header span,.portal-showcase-header strong{display:block}.portal-showcase-header span{color:#8aa4ba;font-size:.82rem}.portal-showcase-header strong{color:#f5fbff;font-size:1.2rem}.portal-showcase-header svg{color:#ffd166;filter:drop-shadow(0 0 14px rgba(245,200,76,.35))}.portal-topic-list{position:relative;z-index:1;display:grid;gap:.75rem;margin-top:1.1rem}.portal-topic{display:grid;grid-template-columns:44px minmax(80px,120px) minmax(110px,1fr);align-items:center;gap:.75rem;min-height:54px;padding:.75rem;border:1px solid rgba(88,215,255,.16);border-radius:6px;background:#040c148f}.portal-topic span{color:#33e6ff;font-family:Consolas,Courier New,monospace;font-weight:700}.portal-topic strong{color:#f4fbff;font-size:.98rem}.portal-topic-bar{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.portal-topic-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#33e6ff,#5dffb1,#ffd166);box-shadow:0 0 18px #33e6ff33}.portal-manuscript{position:relative;z-index:1;margin-top:1.1rem;min-height:172px;padding:1.15rem;border:1px solid rgba(245,200,76,.18);border-radius:6px;background:linear-gradient(90deg,rgba(245,200,76,.1),transparent),#070f18bd}.portal-manuscript-line{height:12px;max-width:84%;margin-bottom:.9rem;border-radius:999px;background:linear-gradient(90deg,#ffffff3d,#ffffff0f)}.portal-manuscript-line.wide{max-width:100%}.portal-manuscript-line.short{max-width:58%}.portal-node{position:absolute;right:1.15rem;bottom:1.15rem;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1px solid rgba(139,255,184,.4);border-radius:6px;color:#dffff0;background:#0f362ab8;box-shadow:0 0 24px #5dffb129}.portal-content-band{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.52fr);gap:clamp(1.2rem,3vw,2rem);padding:1rem clamp(1rem,5vw,4.5rem) clamp(3rem,6vw,5rem)}.portal-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.portal-feature,.portal-workflow-step,.portal-login-panel{border:1px solid rgba(88,215,255,.18);border-radius:8px;background:linear-gradient(180deg,#0c1927d6,#060d16e0);box-shadow:0 18px 46px #00000047}.portal-feature{padding:1.15rem}.portal-feature svg{color:#5dffb1}.portal-feature h2,.portal-workflow-step h2{margin:.7rem 0 .45rem;color:#f7fcff;font-size:1.08rem;line-height:1.35}.portal-feature p,.portal-workflow-step p{color:#9eb3c8;font-size:.92rem;line-height:1.75}.portal-workflow{display:grid;gap:.85rem}.portal-workflow-step{display:grid;grid-template-columns:42px 1fr;align-items:start;gap:.9rem;padding:1rem}.portal-workflow-step>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;color:#071017;background:linear-gradient(135deg,#33e6ff,#5dffb1);font-weight:900}.portal-workflow-step h2{margin-top:0}.portal-login-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#02080ebd;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:portalModalFade .18s ease-out}.portal-login-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(51,230,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(51,230,255,.04) 1px,transparent 1px);background-size:38px 38px;opacity:.45}.portal-login-panel{width:min(100%,460px);max-height:min(92vh,720px);padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:auto;animation:portalPanelIn .45s ease-out}.portal-modal-close{position:absolute;top:.85rem;right:.85rem;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;border:1px solid rgba(88,215,255,.5);color:#fff;background:#04101ceb;box-shadow:0 0 18px #33e6ff38;cursor:pointer;transition:all .2s ease}.portal-modal-close:hover{color:#fff;border-color:#33e6ff94;background:#33e6ff1f}.portal-modal-close:disabled{cursor:not-allowed;opacity:.55}.portal-login-panel:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#33e6ff,#5dffb1,transparent)}.portal-login-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,rgba(51,230,255,.12),transparent 38%);opacity:.55}.portal-login-panel>*{position:relative;z-index:1}.portal-login-panel.shake{animation:portalPanelIn .45s ease-out,shake .5s ease-in-out}.portal-login-header{margin-bottom:1.65rem}@keyframes portalPanelIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes portalModalFade{0%{opacity:0}to{opacity:1}}@media (max-width: 1100px){.portal-hero,.portal-content-band{grid-template-columns:1fr}.portal-hero,.portal-showcase{min-height:auto}}@media (max-width: 760px){.portal-nav{align-items:flex-start;padding:.85rem 1rem}.portal-brand{font-size:1rem}.portal-brand .brand-logo-mark{width:34px;height:34px}.portal-actions{gap:.5rem}.portal-nav-link,.portal-register-link{min-height:36px;padding:.5rem .75rem}.portal-hero{padding:2.4rem 1rem 2rem}.portal-copy h1{font-size:clamp(2.1rem,12vw,3.3rem)}.portal-stats,.portal-feature-grid{grid-template-columns:1fr}.portal-topic{grid-template-columns:36px 92px 1fr;gap:.55rem;padding:.65rem}.portal-topic strong{font-size:.9rem}}@media (max-width: 480px){.portal-nav{gap:.7rem}.portal-brand span{max-width:8em}.portal-actions{flex:0 0 auto}.portal-cta-row{align-items:stretch}.portal-cta,.portal-cta-row .btn{width:100%;justify-content:center}.portal-topic{grid-template-columns:1fr}.portal-topic-bar{width:100%}.portal-workflow-step{grid-template-columns:1fr}.portal-login-panel{padding:1.35rem}}.portal-page{background:linear-gradient(rgba(51,230,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(51,230,255,.035) 1px,transparent 1px),linear-gradient(135deg,rgba(245,200,76,.11),transparent 28%),linear-gradient(155deg,#03070f,#071929 46%,#050b12);background-size:44px 44px,44px 44px,100% 100%,100% 100%}.portal-page:before{background:repeating-linear-gradient(116deg,transparent 0 28px,rgba(51,230,255,.055) 29px 30px,transparent 31px 72px),linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%);opacity:.68}.portal-nav{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(160px,1fr);padding:.9rem 4.5rem;background:#030911d6}.portal-main-links{display:flex;align-items:center;justify-content:center;gap:.35rem}.portal-main-links a{color:#a9bdcf;text-decoration:none;padding:.48rem .85rem;border:1px solid transparent;border-radius:6px;font-size:.92rem;transition:all .2s ease}.portal-main-links a:hover{color:#f6fcff;border-color:#58d7ff47;background:#33e6ff14}.portal-hero{grid-template-columns:minmax(0,.95fr) minmax(430px,.9fr);min-height:calc(100vh - 70px);padding:5rem 4.5rem 3rem;gap:4.4rem}.portal-copy{max-width:820px}.portal-kicker{border-color:#8bffb85c;color:#d8fff0;background:#5dffb114}.portal-copy h1{max-width:820px;font-size:4.9rem;line-height:1.02;letter-spacing:0}.portal-copy h1 span{background:linear-gradient(90deg,#f8fcff,#dff9ff 38%,#8bffb8 72%,#ffd166);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portal-lead{max-width:690px;font-size:1.12rem;line-height:1.85}.portal-cta-row{gap:.75rem}.portal-cta{min-height:50px;padding:.9rem 1.25rem}.portal-stats{grid-template-columns:repeat(3,minmax(120px,1fr));max-width:640px}.portal-stats div{min-height:86px;padding:1rem;border:1px solid rgba(88,215,255,.18);border-left:2px solid rgba(93,255,177,.62);border-radius:8px;background:linear-gradient(135deg,#0b1927e6,#040c15a8)}.portal-stage{position:relative;z-index:1;min-height:610px;padding:1rem;border:1px solid rgba(88,215,255,.24);border-radius:8px;overflow:hidden;background:linear-gradient(90deg,rgba(51,230,255,.1),transparent 40%),linear-gradient(180deg,#0d1f2fe6,#040b13f0);box-shadow:0 28px 80px #0000007a,inset 0 0 42px #33e6ff0f}.portal-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,transparent 0 58%,rgba(245,200,76,.12) 58.5%,transparent 59%),repeating-linear-gradient(0deg,transparent 0 18px,rgba(255,255,255,.035) 19px 20px)}.portal-stage-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .85rem 1rem;border-bottom:1px solid rgba(88,215,255,.18)}.portal-stage-header span,.portal-stage-header strong{display:block}.portal-stage-header span{color:#8da8be;font-size:.82rem}.portal-stage-header strong{color:#f7fcff;font-size:1.2rem}.portal-stage-header em{font-style:normal;color:#061017;border-radius:999px;padding:.42rem .72rem;background:linear-gradient(135deg,#ffd166,#5dffb1);font-weight:800}.portal-stage-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,.82fr) minmax(220px,1fr);gap:1rem;padding-top:1rem}.portal-cover-stack{position:relative;min-height:384px}.portal-cover{position:absolute;display:flex;flex-direction:column;justify-content:flex-end;border-radius:8px;border:1px solid rgba(88,215,255,.24);overflow:hidden;box-shadow:0 20px 56px #00000061}.portal-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgba(51,230,255,.18),transparent 44%),repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.05) 17px 18px)}.portal-cover>*{position:relative;z-index:1}.portal-cover.primary{top:0;right:1.4rem;bottom:1.2rem;left:0;min-height:340px;padding:1.15rem;background:linear-gradient(180deg,transparent 0 28%,rgba(3,8,14,.72) 68%),linear-gradient(145deg,#103654,#121827 56%,#4f2d68)}.portal-cover.secondary{right:0;bottom:0;width:42%;min-width:132px;height:166px;padding:.85rem;background:linear-gradient(180deg,transparent,rgba(3,8,14,.82)),linear-gradient(135deg,#263a58,#0d1b2c 58%,#725536)}.portal-cover span{color:#ffd166;font-size:.82rem;font-weight:800}.portal-cover strong{margin-top:.35rem;color:#fff;font-size:1.35rem;line-height:1.2}.portal-cover.primary strong{font-size:1.8rem}.portal-cover p{margin-top:.7rem;color:#c4d5e3;line-height:1.7}.portal-live-panel{min-height:384px;padding:1rem;border-radius:8px;border:1px solid rgba(88,215,255,.18);background:#050d16bd}.portal-live-title{display:flex;align-items:center;gap:.55rem;color:#f4fbff;font-weight:800}.portal-live-title svg{color:#ffd166}.portal-tension-meter{height:12px;margin:.9rem 0 1rem;overflow:hidden;border-radius:999px;background:#ffffff14}.portal-tension-meter i{display:block;width:86%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#33e6ff,#5dffb1,#ffd166)}.portal-beat-list{display:grid;gap:.65rem}.portal-beat{display:grid;grid-template-columns:38px 1fr;gap:.7rem;align-items:start;padding:.75rem;border:1px solid rgba(88,215,255,.12);border-radius:6px;background:#07111cb8}.portal-beat span{color:#33e6ff;font-family:Consolas,Courier New,monospace;font-weight:800}.portal-beat p{color:#c3d6e5;line-height:1.55}.portal-draft-strip{position:relative;z-index:1;margin-top:1rem;padding:1rem;border-left:2px solid #ffd166;border-radius:8px;background:linear-gradient(90deg,#f5c84c1f,#050d16b8)}.portal-draft-strip span{color:#ffd166;font-family:Consolas,Courier New,monospace;font-weight:800}.portal-draft-strip p{margin-top:.45rem;color:#e5f4ff;line-height:1.8}.portal-genre-runway,.portal-engine-band,.portal-workflow-band{position:relative;z-index:1;padding:4.25rem 4.5rem}.portal-section-heading{max-width:760px;margin-bottom:1.4rem}.portal-section-heading.compact{max-width:640px}.portal-section-heading span,.portal-engine-copy>span{display:inline-flex;margin-bottom:.75rem;color:#5dffb1;font-size:.86rem;font-weight:900}.portal-section-heading h2,.portal-engine-copy h2{margin:0;color:#f7fcff;font-size:2.35rem;line-height:1.18;letter-spacing:0}.portal-genre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.portal-genre-card{min-height:210px;padding:1.05rem;border:1px solid rgba(88,215,255,.18);border-radius:8px;background:linear-gradient(180deg,#0c1927e0,#050d16eb);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.portal-genre-card:hover{transform:translateY(-4px);border-color:#5dffb16b;box-shadow:0 18px 46px #00000057,0 0 22px #5dffb11a}.portal-genre-rank{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.portal-genre-rank span{color:#33e6ff;font-family:Consolas,Courier New,monospace;font-size:1.2rem;font-weight:900}.portal-genre-rank em{font-style:normal;color:#061017;border-radius:999px;padding:.28rem .55rem;background:#ffd166;font-size:.78rem;font-weight:900}.portal-genre-card h3{margin:1rem 0 .55rem;color:#fff;font-size:1.25rem}.portal-genre-card p{min-height:56px;color:#aebfd0;line-height:1.65}.portal-engine-band{display:grid;grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);align-items:start;gap:1.3rem;background:linear-gradient(90deg,rgba(51,230,255,.08),transparent 28%),#03091157;border-top:1px solid rgba(88,215,255,.16);border-bottom:1px solid rgba(88,215,255,.16)}.portal-engine-copy p{margin-top:1rem;color:#aebfd0;line-height:1.85}.portal-engine-band .portal-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-feature{min-height:210px;padding:1.15rem}.portal-feature h3,.portal-workflow-step h3{margin:.7rem 0 .45rem;color:#f7fcff;font-size:1.08rem;line-height:1.35}.portal-workflow-band .portal-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-workflow-step{min-height:150px}@media (max-width: 1220px){.portal-nav{grid-template-columns:minmax(220px,1fr) minmax(160px,auto);padding:.9rem 2rem}.portal-main-links{display:none}.portal-hero{grid-template-columns:1fr;min-height:auto;padding:4rem 2rem 3rem}.portal-copy h1{max-width:900px;font-size:4rem}.portal-stage{min-height:auto}.portal-genre-runway,.portal-engine-band,.portal-workflow-band{padding:3.5rem 2rem}.portal-engine-band{grid-template-columns:1fr}}@media (max-width: 900px){.portal-stage-grid,.portal-engine-band .portal-feature-grid,.portal-workflow-band .portal-workflow{grid-template-columns:1fr}.portal-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-cover-stack,.portal-live-panel{min-height:340px}.portal-copy h1{font-size:3.35rem}.portal-section-heading h2,.portal-engine-copy h2{font-size:2rem}}@media (max-width: 640px){.portal-nav{display:flex;align-items:center;padding:.82rem 1rem}.portal-brand span{max-width:9.5em}.portal-hero{padding:2.75rem 1rem 2rem}.portal-copy h1{font-size:2.52rem}.portal-lead{font-size:1rem}.portal-stats,.portal-genre-grid{grid-template-columns:1fr}.portal-stage{padding:.75rem}.portal-stage-header{align-items:flex-start;flex-direction:column}.portal-cover-stack{min-height:310px}.portal-cover.primary{top:0;right:0;bottom:1rem;left:0}.portal-cover.secondary{width:48%}.portal-genre-runway,.portal-engine-band,.portal-workflow-band{padding:3rem 1rem}}.portal-login-modal{align-items:center;padding:1.25rem}.portal-login-panel{width:min(100%,480px);min-height:min(650px,calc(100vh - 2.5rem));max-height:calc(100vh - 2.5rem);padding:2.05rem 2.1rem 1.35rem;overflow:visible}.portal-login-panel .login-logo{width:64px;height:64px;margin-bottom:1.05rem}.portal-login-panel .login-logo .brand-logo-mark{width:46px;height:46px}.portal-login-header{margin-bottom:1.2rem}.portal-login-panel .login-title{font-size:1.78rem;margin-bottom:.32rem}.portal-login-panel .login-subtitle{font-size:.88rem}.portal-login-panel .login-form{gap:1rem}.portal-login-panel .form-label{margin-bottom:.45rem}.portal-login-panel .form-input{min-height:42px;padding-top:.72rem;padding-bottom:.72rem}.portal-login-panel .form-options{margin-top:-.2rem}.portal-login-panel .login-button{min-height:48px;padding:.82rem 1rem;margin-top:.15rem}.portal-login-panel .login-footer{margin-top:1.35rem;padding-top:1rem}.portal-login-panel .field-error{margin-top:.35rem}.portal-register-form{gap:.78rem}.login-footer-link{padding:0;border:0;color:var(--primary-color);background:transparent;cursor:pointer;font:inherit;font-weight:800}.login-footer-link:hover{color:#5dffb1;text-decoration:underline}.login-footer-link:disabled{cursor:not-allowed;opacity:.55}.queue-status{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1200;display:flex;align-items:center;gap:.8rem;width:min(360px,calc(100vw - 2rem));padding:.9rem 1rem;border:1px solid rgba(34,211,238,.35);border-radius:8px;background:#030c18eb;box-shadow:0 18px 45px #00e5ff29,inset 0 1px #ffffff14;color:#e6fbff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.queue-status-indicator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#22d3ee3d,#8b5cf638);color:#67e8f9;box-shadow:0 0 24px #22d3ee33}.queue-status strong{display:block;margin-bottom:.2rem;font-size:.92rem;font-weight:800}.queue-status span{display:block;overflow:hidden;max-width:270px;color:#9bb4c9;font-size:.78rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.queue-status-running .queue-status-indicator,.queue-status-queued .queue-status-indicator{animation:queuePulse 1.45s ease-in-out infinite}.queue-status-completed{border-color:#34d39961}.queue-status-completed .queue-status-indicator{color:#6ee7b7}.queue-status-failed{border-color:#f871716b}.queue-status-failed .queue-status-indicator{color:#fca5a5}@keyframes queuePulse{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.06);opacity:1}}@media (max-width: 640px){.queue-status{right:.75rem;bottom:.75rem;width:calc(100vw - 1.5rem)}.queue-status span{max-width:calc(100vw - 6rem)}}@media (max-height: 720px){.portal-login-modal{align-items:flex-start;padding-top:.75rem;padding-bottom:.75rem}.portal-login-panel{min-height:min(610px,calc(100vh - 1.5rem));max-height:calc(100vh - 1.5rem);padding:1.35rem 1.75rem 1rem}.portal-login-panel .login-logo{width:54px;height:54px;margin-bottom:.7rem}.portal-login-panel .login-logo .brand-logo-mark{width:39px;height:39px}.portal-login-header{margin-bottom:.85rem}.portal-login-panel .login-title{font-size:1.52rem}.portal-login-panel .login-form{gap:.75rem}.portal-login-panel .form-input{min-height:38px;padding-top:.58rem;padding-bottom:.58rem}.portal-login-panel .login-button{min-height:42px;padding:.68rem .9rem}.portal-login-panel .login-footer{margin-top:.9rem;padding-top:.78rem}}@media (max-width: 480px){.portal-login-modal{padding:.75rem}.portal-login-panel{min-height:auto;max-height:calc(100vh - 1.5rem);padding:1.25rem 1.1rem 1rem}}
