*{box-sizing:border-box;margin:0;padding:0}:root{--accent:#00f3ff;--accent-2:#00c3ff;--accent-3:#e0ffff;--accent-soft:#00f3ff1f;--accent-text:#7ff9ff;--tint-rgb:255, 150, 162;--pink:#ff96a2;--pink-2:#ffb3ba;--pink-soft:rgba(var(--tint-rgb), .1);--modal-bg:#1e1222f5;--ok:#2ecc71;--ok-soft:#2ecc711f;--warn:#f39c12;--warn-soft:#f39c121f;--danger:#e74c3c;--danger-soft:#e74c3c1f;--gold:#f1c40f;--bg-base:#1a0f1e;--glass-bg:#28142366;--glass-border:#00f3ff26;--glass-blur:blur(16px);--shadow-light:#ffffff0d;--shadow-dark:#00000080;--overlay-bg:#0000008c;--text-primary:#f5e6e8;--text-secondary:#f5e6e89e;--font:"Outfit", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--z-drawer:100;--z-modal:1000;--z-toast:1100;--scrollbar-thumb:#00f3ff33;--scrollbar-thumb-hover:#00f3ff66}html{height:100%}body{font-family:var(--font);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;transition:background-color .8s,color .8s;position:relative;overflow-x:hidden}.text-accent{color:var(--accent-text)}.text-sub{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}#petals{z-index:0;pointer-events:none;position:fixed;inset:0}html.no-petals #petals{display:none}.particle{pointer-events:none;position:absolute}.particle--far{filter:blur(1.5px);opacity:.3}.petal{background:linear-gradient(135deg, var(--pink), var(--pink-2));opacity:.6;border-radius:15px 0}.leaf{background:linear-gradient(135deg, var(--pink), var(--pink-2));opacity:.72;border-radius:0 100%}.flake{background:radial-gradient(circle, #fff 0%, var(--pink) 65%, transparent 100%);opacity:.9;border-radius:50%}.spark{background:var(--pink);opacity:.8;box-shadow:0 0 8px var(--pink), 0 0 18px var(--pink-2);border-radius:50%}@keyframes fall{0%{opacity:0;transform:translateY(-10px)rotate(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translate(100px,100vh)rotate(360deg)}}@keyframes leaffall{0%{opacity:0;transform:translateY(-10px)rotate(0)}10%{opacity:.72}35%{transform:translate(60px,35vh)rotate(140deg)}70%{transform:translate(-30px,70vh)rotate(260deg)}90%{opacity:.72}to{opacity:0;transform:translate(40px,100vh)rotate(400deg)}}@keyframes snowfall{0%{opacity:0;transform:translateY(-10px)}10%{opacity:.9}50%{transform:translate(26px,50vh)}90%{opacity:.9}to{opacity:0;transform:translate(-12px,100vh)}}@keyframes sparkrise{0%{opacity:0;transform:translateY(100vh)scale(.6)}15%{opacity:.9}50%{opacity:.55;transform:translate(24px,50vh)scale(1)}85%{opacity:.9}to{opacity:0;transform:translate(-16px,-10px)scale(.6)}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--r-xl);transition:background .8s,border-color .8s,box-shadow .8s;box-shadow:0 8px 32px #0000004d}.neu-out{background:rgba(var(--tint-rgb), .04);border:1px solid rgba(var(--tint-rgb), .1);border-radius:var(--r-lg);transition:background .2s,border-color .2s,transform .2s}.neu-out:hover{background:rgba(var(--tint-rgb), .08);border-color:rgba(var(--tint-rgb), .2)}.neu-in{background:rgba(var(--tint-rgb), .12);border:1px solid rgba(var(--tint-rgb), .15);border-radius:var(--r-lg);transition:background .8s,border-color .8s}button.neu-out:active,a.neu-out:active{transform:scale(.98)}.layout{min-height:100vh;padding:var(--sp-5);gap:var(--sp-5);z-index:1;display:flex;position:relative}.main{gap:var(--sp-5);flex-direction:column;flex:1;min-width:0;display:flex}.sidebar{width:260px;padding:var(--sp-6) var(--sp-5);flex-direction:column;flex-shrink:0;height:fit-content;display:flex}.logo{justify-content:center;align-items:center;margin-bottom:48px;display:flex}.logo-text{background:linear-gradient(90deg, var(--accent), var(--accent-3));-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(var(--tint-rgb), .4);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;text-decoration:none}.logo-text:hover{filter:brightness(1.2)}.nav-menu{gap:var(--sp-4);flex-direction:column;flex:1;display:flex}.nav-item{align-items:center;gap:var(--sp-3);padding:14px var(--sp-4);border-radius:var(--r-lg);color:var(--text-secondary);font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--text-primary)}.nav-item.active{color:var(--accent-text)}.nav-icon{align-items:center;display:flex}.nav-overlay{background:var(--overlay-bg);z-index:calc(var(--z-drawer) - 1);border:none;padding:0;display:none;position:fixed;inset:0}.header{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.header h1{margin-bottom:4px;font-size:1.8rem;font-weight:700}.header-right{gap:var(--sp-3);align-items:center;display:flex}.user-profile{align-items:center;gap:var(--sp-3);padding:10px 20px;font-weight:600;display:flex}.btn.hamburger{display:none}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid rgba(var(--tint-rgb), .1);border-radius:var(--r-md);background:rgba(var(--tint-rgb), .04);color:var(--text-primary);font-family:var(--font);cursor:pointer;padding:12px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,opacity .2s;display:inline-flex}.btn:hover{background:rgba(var(--tint-rgb), .1);border-color:rgba(var(--tint-rgb), .25)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{color:var(--accent-text);border-color:var(--accent-soft);background:var(--accent-soft)}.btn--primary:hover{box-shadow:0 0 16px var(--accent-soft);border-color:var(--accent)}.btn--danger{color:var(--danger);background:var(--danger-soft);border-color:#e74c3c4d}.btn--danger:hover{border-color:var(--danger);background:#e74c3c38}.btn--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn--ghost:hover{color:var(--text-primary);background:rgba(var(--tint-rgb), .08)}.btn--icon{border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0}.btn--lg{padding:14px 24px;font-size:1rem}.field{gap:var(--sp-2);flex-direction:column;display:flex}.field__label{color:var(--text-secondary);font-size:.9rem}.field__input{border-radius:var(--r-md);background:rgba(var(--tint-rgb), .1);width:100%;color:var(--text-primary);font-family:var(--font);border:1px solid #0000;padding:13px 18px;font-size:1rem}.field__input::placeholder{color:var(--text-secondary)}.field__input:focus-visible{outline:2px solid var(--accent);outline-offset:0}.field__input--mono{font-family:var(--font-mono);font-size:.9rem}.error-note{color:var(--danger);background:var(--danger-soft);border-radius:var(--r-sm);text-align:center;padding:10px 14px;font-size:.9rem}.warn-note{color:var(--warn);background:var(--warn-soft);border-radius:var(--r-sm);word-break:break-word;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;display:flex}.warn-note--click{cursor:pointer;border:1px solid #0000;transition:background .2s,border-color .2s}.warn-note--click:hover{background:#f39c1233;border-color:#f39c1259}.badge{border-radius:var(--r-md);border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.badge--ok{color:var(--ok);background:var(--ok-soft);border-color:#2ecc714d}.badge--warn{color:var(--warn);background:var(--warn-soft);border-color:#f39c124d}.badge--danger{color:var(--danger);background:var(--danger-soft);border-color:#e74c3c4d}.badge--muted{color:var(--text-secondary);background:rgba(var(--tint-rgb), .06);border-color:rgba(var(--tint-rgb), .15)}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot--online{background:var(--ok);box-shadow:0 0 8px var(--ok);animation:2.5s ease-in-out infinite pulse-dot}.status-dot--offline{background:var(--danger)}.status-dot--reconnecting{background:var(--warn);animation:1.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.progress{background:rgba(var(--tint-rgb), .1);border-radius:var(--r-sm);height:6px;box-shadow:inset 2px 2px 4px var(--shadow-dark), inset -2px -2px 4px var(--shadow-light);overflow:hidden}.progress__fill{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--accent-3), var(--accent));height:100%;transition:width .8s}.progress--health .progress__fill{background:var(--danger)}.progress--food .progress__fill{background:#e67e22}.modal-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);justify-content:center;align-items:center;padding:20px;animation:.15s overlay-in;display:flex;position:fixed;inset:0}.modal{flex-direction:column;width:100%;max-height:90vh;animation:.18s modal-in;display:flex;overflow:hidden}.modal--sm{max-width:420px}.modal--md{max-width:560px}.modal--lg{max-width:1000px;height:85vh}.modal__header{padding:20px var(--sp-5);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.modal__title{color:var(--text-primary);align-items:center;gap:var(--sp-3);flex:1;min-width:0;margin:0;font-size:1.35rem;display:flex}.modal__body{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex;overflow-y:auto}.modal__footer{gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-5);display:flex}.modal__footer .btn{flex:1}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.toast-region{z-index:var(--z-toast);gap:var(--sp-3);pointer-events:none;flex-direction:column;max-width:min(360px,100vw - 40px);display:flex;position:fixed;top:20px;right:20px}.toast{align-items:flex-start;gap:var(--sp-3);border-left:3px solid var(--accent);pointer-events:auto;word-break:break-word;padding:14px 16px;font-size:.95rem;animation:.25s cubic-bezier(.21,1.02,.73,1) toast-in;display:flex}.toast--ok{border-left-color:var(--ok)}.toast--ok .toast__icon{color:var(--ok)}.toast--danger{border-left-color:var(--danger)}.toast--danger .toast__icon{color:var(--danger)}.toast--warn{border-left-color:var(--warn)}.toast--warn .toast__icon{color:var(--warn)}.toast--info{border-left-color:var(--accent)}.toast--info .toast__icon{color:var(--accent-text)}.toast__icon{flex-shrink:0;margin-top:1px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;border-radius:var(--r-lg);align-items:center;gap:var(--sp-3);flex-direction:column;padding:60px 24px;display:flex}.empty-state__icon{color:var(--text-secondary);opacity:.7}.empty-state p{color:var(--text-secondary);font-size:1.05rem}.scrollbox{overflow-y:auto}.scrollbox::-webkit-scrollbar{width:6px}.scrollbox::-webkit-scrollbar-track{background:0 0}.scrollbox::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.scrollbox::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.kpi-grid{gap:var(--sp-5);grid-template-columns:repeat(4,1fr);display:grid}.kpi-grid--2{grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--sp-5);flex-direction:column;transition:transform .3s,border-color .3s,background .8s,box-shadow .8s;display:flex}.stat-card:hover{border-color:rgba(var(--tint-rgb), .4);transform:translateY(-4px)}.stat-header{color:var(--text-secondary);margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.stat-icon{color:var(--accent-text);display:flex}.stat-value{margin-bottom:var(--sp-4);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.stat-value--nobar{margin-bottom:0}.stat-sub{color:var(--text-secondary);margin-top:var(--sp-2);font-size:.85rem}.main-content-grid{gap:var(--sp-5);grid-template-columns:2fr 1fr;align-items:start;display:grid}.two-col{gap:var(--sp-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.panel{padding:var(--sp-5)}.panel-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.panel-header h2{align-items:center;gap:var(--sp-2);font-size:1.2rem;font-weight:600;display:flex}.page-greeting h1{margin-bottom:4px;font-size:1.8rem;font-weight:700}.chart-wrap{position:relative}.chart-wrap canvas{width:100%;display:block}.chart-tooltip{pointer-events:none;background:var(--bg-base);border:1px solid var(--glass-border);border-radius:var(--r-sm);white-space:nowrap;z-index:2;padding:8px 12px;font-size:.85rem;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 4px 16px #0000004d}.chart-tooltip__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.chart-tooltip__time{color:var(--text-secondary);font-size:.8rem}.toggle-row{border-radius:var(--r-md);gap:var(--sp-2);padding:6px;display:flex}.toggle-btn{color:var(--text-secondary);cursor:pointer;font-weight:600;font-family:var(--font);background:0 0;border:none;border-radius:10px;padding:8px 16px}.toggle-btn.active{color:var(--accent-text);background:var(--accent-soft)}.chip-btn{border-radius:var(--r-md);border:1px solid rgba(var(--tint-rgb), .22);background:rgba(var(--tint-rgb), .06);color:var(--text-primary);font-family:var(--font);cursor:pointer;padding:5px 12px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.chip-btn:hover{background:rgba(var(--tint-rgb), .14)}.chip-btn--active{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft)}.chip-btn--lg{align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;display:inline-flex}.mode-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.switch{flex-shrink:0;width:56px;height:28px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.slider{pointer-events:none;border-radius:28px;transition:all .4s;position:absolute;inset:0}.knob{border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:4px;left:4px}.switch input:checked+.slider .knob{background-color:var(--accent);transform:translate(28px)}.switch input:checked+.slider{box-shadow:inset 4px 4px 8px #00000080, inset -4px -4px 8px rgba(var(--tint-rgb), .2)}.switch input:focus-visible+.slider{outline:2px solid var(--accent);outline-offset:2px}.card-grid{gap:var(--sp-5);max-height:calc(100vh - 320px);padding-right:var(--sp-3);display:grid;overflow-y:auto}.card-grid--nodes{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card-grid--players{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.node-card{border-radius:var(--r-lg);gap:var(--sp-4);cursor:pointer;text-align:left;font-family:var(--font);color:var(--text-primary);flex-direction:column;width:100%;padding:20px;display:flex;position:relative}.node-card__head{align-items:center;gap:var(--sp-4);display:flex}.node-card__name{font-size:1.15rem;font-weight:700}.node-card__name--online{color:var(--accent-text)}.node-card__meta{color:var(--text-secondary);flex-direction:column;gap:2px;min-width:0;font-size:.85rem;display:flex}.node-card__desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:400;overflow:hidden}.node-card__stats{padding:var(--sp-3);border-radius:var(--r-md);gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.node-card__stat-label{color:var(--text-secondary);font-size:.8rem}.node-card__stat-value{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:1.05rem;font-weight:600;display:flex}.node-card__warning{color:var(--warn);background:var(--warn-soft);border-radius:var(--r-sm);border:1px solid #f39c124d;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:flex}.node-card__warning span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar-wrap{flex-shrink:0;position:relative}.avatar-ring{background:#ffffff0f;border-radius:15px;padding:3px;transition:background .4s}.avatar-ring--online{background:conic-gradient(from 140deg, var(--accent), var(--pink), var(--accent));animation:3s ease-in-out infinite ring-pulse}@keyframes ring-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.35)}}.avatar-dot{border:3px solid var(--bg-base);border-radius:50%;width:16px;height:16px;position:absolute;bottom:-3px;right:-3px}.avatar-dot--online{background:var(--ok);box-shadow:0 0 10px var(--ok)}.avatar-dot--reconnecting{background:var(--warn);box-shadow:0 0 10px var(--warn);animation:1.2s ease-in-out infinite pulse-dot}.avatar-dot--offline{background:var(--danger)}.player-card{border-radius:var(--r-lg);align-items:center;gap:var(--sp-4);flex-direction:column;padding:24px 20px;display:flex;position:relative}.player-card__name{color:var(--text-primary);word-break:break-all;text-align:center;font-size:1.15rem;font-weight:600}.avatar-frame{background:linear-gradient(135deg, var(--accent), var(--accent-3));border-radius:var(--r-md);padding:4px;line-height:0}.card-remove{background:var(--danger-soft);width:32px;height:32px;color:var(--danger);cursor:pointer;opacity:0;z-index:1;border:1px solid #e74c3c4d;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,background .2s,transform .2s;display:flex;position:absolute;top:12px;right:12px}.node-card:hover .card-remove,.player-card:hover .card-remove,.card-remove:focus-visible{opacity:1}.card-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.console{font-family:var(--font-mono);border-radius:var(--r-md);color:#ece2ee;--scrollbar-thumb:#ffffff2e;--scrollbar-thumb-hover:#ffffff52;background:#150e1a;border:1px solid #ffffff12;flex:1;min-height:120px;padding:18px 20px;font-size:.86rem;line-height:1.65;overflow-y:auto;box-shadow:inset 0 2px 14px #00000080}html.light .console{border-color:rgba(var(--tint-rgb), .35);box-shadow:0 2px 10px rgba(var(--tint-rgb), .18), inset 0 2px 14px #00000073;background:#191122}.console__line{word-break:break-all;margin-bottom:5px}.console__line--error{color:#ff6b5e}.console__line--warn{color:#f5b342}.console__line--cmd{color:#7ff9ff}.console__line--sys{color:#ece2ee8c;font-style:italic}.console__time{color:#ece2ee66;margin-right:8px;font-size:.78rem}.dropzone{padding:var(--sp-5);border-radius:var(--r-lg);justify-content:center;align-items:center;gap:var(--sp-3);cursor:pointer;background:rgba(var(--tint-rgb), .06);border:1px dashed var(--text-secondary);text-align:center;flex-direction:column;width:100%;transition:border-color .3s,background .3s,box-shadow .3s;display:flex}.dropzone--active,.dropzone--filled{border:1px solid var(--accent);background:var(--accent-soft)}.dropzone--active{box-shadow:0 0 20px var(--accent-soft)}.dropzone__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone__icon{padding:var(--sp-3);color:var(--text-secondary);background:#ffffff0d;border-radius:50%;transition:background .3s,color .3s;display:flex}.dropzone--active .dropzone__icon,.dropzone--filled .dropzone__icon{background:var(--accent);color:var(--bg-base)}.dropzone__name{color:var(--accent-text);word-break:break-all;font-size:1.05rem;font-weight:600}.dropzone__hint{color:var(--text-secondary);font-size:.85rem}.summary-list{gap:var(--sp-3);flex-direction:column;display:flex}.summary-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);color:var(--text-primary);text-decoration:none;display:flex}.summary-row__name{align-items:center;gap:var(--sp-2);min-width:0;font-weight:600;display:flex}.summary-row__nametext{flex-direction:column;min-width:0;display:flex}.summary-row__nametext>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-row__warnmsg{color:var(--warn);align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.summary-row__warnmsg svg{flex-shrink:0}.summary-row__stats{text-align:right;flex-shrink:0;margin-left:auto}.summary-row__balance{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:5px;font-weight:600;display:flex}.summary-row__earn{color:var(--ok);font-variant-numeric:tabular-nums;font-size:.8rem}.summary-row.summary-row--warn,.summary-row.summary-row--warn:hover,html.light .summary-row.summary-row--warn{background:var(--warn-soft);border-color:#f39c1273}.summary-row.summary-row--warn:hover{border-color:var(--warn)}.summary-warn-icon{color:var(--warn);flex-shrink:0}.warn-dismiss{width:22px;height:22px;color:var(--warn);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background .2s;display:inline-flex}.warn-dismiss:hover{background:#f39c1240}.warnlog-list{gap:var(--sp-2);max-height:320px;padding-right:var(--sp-2);flex-direction:column;display:flex}.warnlog-row{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:rgba(var(--tint-rgb), .04);display:flex}.warnlog-row__icon{color:var(--warn);flex-shrink:0;margin-top:3px}.warnlog-row__body{min-width:0}.warnlog-row__msg{word-break:break-word;font-size:.85rem}.warnlog-row__meta{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.login-wrap{min-height:100vh;padding:var(--sp-5);justify-content:center;align-items:center;display:flex}.login-card{flex-direction:column;gap:20px;width:100%;max-width:400px;padding:40px;display:flex}.center-page{justify-content:center;align-items:center;gap:var(--sp-4);text-align:center;min-height:60vh;padding:var(--sp-6);flex-direction:column;display:flex}.center-page h1{font-size:2.4rem}.center-page p{color:var(--text-secondary)}.settings-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);display:flex}.theme-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.theme-card{padding:var(--sp-3);border-radius:var(--r-md);cursor:pointer;gap:var(--sp-3);font-family:var(--font);color:var(--text-primary);text-align:left;flex-direction:column;display:flex}.theme-card--active{border-color:var(--accent);box-shadow:0 0 16px var(--accent-soft)}.theme-card__label{align-items:center;gap:var(--sp-2);font-size:.95rem;font-weight:600;display:flex}.theme-card__check{color:var(--accent-text);margin-left:auto}.theme-preview{border-radius:var(--r-sm);border:1px solid #80808040;height:76px;position:relative;overflow:hidden}.theme-preview__side{width:26%;position:absolute;top:0;bottom:0;left:0}.theme-preview__bar{border-radius:4px;height:7px;position:absolute;left:32%}html.light{--bg-base:#fff5f7;--modal-bg:#fffafbf0;--accent:#ff96a2;--accent-2:#ffb3ba;--accent-3:#ffd1d6;--accent-soft:rgba(var(--tint-rgb), .15);--accent-text:#c74459;--ok:#1e9e55;--ok-soft:#1e9e551f;--warn:#b3720a;--warn-soft:#b3720a1f;--danger:#cf3a2b;--danger-soft:#cf3a2b1a;--gold:#b8860b;--text-primary:#1a0f1e;--text-secondary:#1a0f1eb3;--glass-bg:linear-gradient(135deg, #ffffff80 0%, #ffffff1a 100%);--glass-border:rgba(var(--tint-rgb), .3);--glass-blur:blur(8px);--overlay-bg:#1a0f1e73;--shadow-light:#fffc;--shadow-dark:rgba(var(--tint-rgb), .15);--scrollbar-thumb:rgba(var(--tint-rgb), .4);--scrollbar-thumb-hover:rgba(var(--tint-rgb), .6)}html.light .glass-panel{box-shadow:inset 1px 1px 2px #ffffffe6, 0 8px 32px 0 rgba(var(--tint-rgb), .15)}html.light .neu-out,html.light .btn{border:1px solid rgba(var(--tint-rgb), .3);box-shadow:inset 1px 1px 2px #fffc, 0 4px 12px rgba(var(--tint-rgb), .05);background:linear-gradient(135deg,#fff9 0%,#fff3 100%)}html.light .neu-out:hover,html.light .btn:hover{background:linear-gradient(135deg,#fffc 0%,#fff6 100%)}html.light .btn--primary{color:var(--accent-text);border-color:rgba(var(--tint-rgb), .5);background:linear-gradient(135deg, rgba(var(--tint-rgb), .28) 0%, rgba(var(--tint-rgb), .14) 100%)}html.light .btn--primary:hover{background:linear-gradient(135deg, rgba(var(--tint-rgb), .4) 0%, rgba(var(--tint-rgb), .22) 100%);border-color:var(--accent);box-shadow:0 0 16px rgba(var(--tint-rgb), .35)}html.light .btn--danger{color:var(--danger);background:linear-gradient(135deg,#cf3a2b29 0%,#cf3a2b14 100%);border-color:#cf3a2b59}html.light .btn--danger:hover{border-color:var(--danger);background:linear-gradient(135deg,#cf3a2b47 0%,#cf3a2b29 100%);box-shadow:0 0 14px #cf3a2b40}html.light .btn--ghost{box-shadow:none;background:0 0;border-color:#0000}html.light .neu-in{border:1px solid rgba(var(--tint-rgb), .2);background:#00000005;box-shadow:inset 2px 2px 5px #0000000d,inset -2px -2px 5px #fffc}html.light .switch input:checked+.slider .knob{background:var(--accent)}html.light .switch input:checked+.slider{box-shadow:inset 2px 2px 5px #0000001a,inset -2px -2px 5px #fffc}html.light .switch .slider{background:#0000000d}html.light .field__input{background:rgba(var(--tint-rgb), .12)}html.light .modal{background:var(--modal-bg);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 48px #3c283c38}html.light .console__input,html.light .field__input--mono{background:#1911220f}html.light .chart-tooltip{box-shadow:0 4px 16px rgba(var(--tint-rgb), .25)}html.light .dropzone--active .dropzone__icon,html.light .dropzone--filled .dropzone__icon{color:#fff}html[data-style=sakura]{--tint-rgb:255, 150, 162}html[data-style=autumn]{--tint-rgb:226, 112, 58;--r-lg:18px;--r-xl:24px}html[data-style=autumn]:not(.light){--bg-base:#1b120c;--accent:#ffab4a;--accent-2:#ff8a3d;--accent-3:#ffd9a0;--accent-soft:#ffab4a24;--accent-text:#ffc078;--pink:#e2703a;--pink-2:#f2b25a;--glass-bg:#341f1473;--glass-border:#ffab4a2e;--text-primary:#f7e9da;--text-secondary:#f7e9da9e;--scrollbar-thumb:#ffab4a40;--scrollbar-thumb-hover:#ffab4a73}html[data-style=autumn].light{--bg-base:#fdf3e6;--modal-bg:#fffaf2f2;--accent:#d2691e;--accent-2:#e08a45;--accent-3:#ffd9a0;--accent-soft:#d2691e24;--accent-text:#9c4a10;--pink:#c85f2c;--pink-2:#e8a05a;--text-primary:#2b1b0e;--text-secondary:#2b1b0eb3;--glass-bg:linear-gradient(135deg, #fffdf899 0%, #fff8ee40 100%);--overlay-bg:#2b1b0e6b}html[data-style=winter]{--tint-rgb:120, 190, 225;--r-xl:18px}html[data-style=winter]:not(.light){--bg-base:#0b1520;--accent:#7cc7e8;--accent-2:#4aa8d8;--accent-3:#d6f0ff;--accent-soft:#7cc7e824;--accent-text:#a9e0f5;--pink:#cfe9f7;--pink-2:#fff;--glass-bg:#14263680;--glass-border:#7cc7e833;--glass-blur:blur(20px);--text-primary:#e8f4fb;--text-secondary:#e8f4fb9e;--scrollbar-thumb:#7cc7e840;--scrollbar-thumb-hover:#7cc7e873}html[data-style=winter].light{--bg-base:#eef6fb;--modal-bg:#f8fdfff2;--accent:#4aa8d8;--accent-2:#7cc7e8;--accent-3:#d6f0ff;--accent-soft:#4aa8d829;--accent-text:#14688f;--pink:#bfe4f5;--pink-2:#fff;--text-primary:#0f2733;--text-secondary:#0f2733ad;--glass-bg:linear-gradient(135deg, #ffffff9e 0%, #ffffff47 100%);--glass-blur:blur(14px);--overlay-bg:#0f273366}html[data-style=neon]{--tint-rgb:255, 47, 208;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:10px}html[data-style=neon]:not(.light){--bg-base:#07060f;--accent:#ff2fd0;--accent-2:#00e5ff;--accent-3:#b06bff;--accent-soft:#ff2fd029;--accent-text:#ff74e2;--pink:#00e5ff;--pink-2:#ff2fd0;--glass-bg:#130a238c;--glass-border:#ff2fd047;--text-primary:#f3ebff;--text-secondary:#f3ebff99;--scrollbar-thumb:#ff2fd04d;--scrollbar-thumb-hover:#ff2fd080}html[data-style=neon]:not(.light) .glass-panel{box-shadow:0 8px 32px #0000008c,0 0 26px #ff2fd017}html[data-style=neon]:not(.light) .status-dot--online{box-shadow:0 0 10px var(--ok), 0 0 18px var(--ok)}html[data-style=neon].light{--bg-base:#fbf6ff;--modal-bg:#fdfafff2;--accent:#d4009f;--accent-2:#0090a8;--accent-3:#8a3fd8;--accent-soft:#d4009f1f;--accent-text:#a3007a;--pink:#00a3bd;--pink-2:#d4009f;--text-primary:#170a24;--text-secondary:#170a24ad;--glass-bg:linear-gradient(135deg, #ffffffb3 0%, #ffffff4d 100%);--overlay-bg:#170a2466}html[data-style=neon] .logo-text{text-shadow:0 0 22px #ff2fd080}html[data-style=neon] .btn--primary:hover{box-shadow:0 0 18px rgba(var(--tint-rgb), .45)}@media (max-width:1024px){.kpi-grid,.kpi-grid--2{grid-template-columns:repeat(2,1fr)}.main-content-grid,.two-col{grid-template-columns:1fr}}@media (max-width:768px){.layout{padding:var(--sp-3)}.kpi-grid,.kpi-grid--2{grid-template-columns:1fr}.btn.hamburger{display:inline-flex}.sidebar{border-radius:0 var(--r-xl) var(--r-xl) 0;visibility:hidden;height:100%;z-index:var(--z-drawer);transition:transform .3s,visibility .3s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-110%)}.sidebar--open{visibility:visible;transform:translate(0)}.nav-overlay--visible{display:block}.card-grid{max-height:none;padding-right:0}.modal--lg{height:auto;max-height:92vh}.header h1{font-size:1.4rem}.user-profile{display:none}}@media (hover:none){.card-remove{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}#petals{display:none}}
