@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg0:#0a0a0f;--bg1:#10101a;--bg2:#171724;--bg3:#1e1e2d;--line:#a0a0dc14;--line-strong:#a0a0dc2e;--text:#e8e8f0;--mut:#9090ac;--faint:#5c5c72;--accent:#825aff;--accent-hi:#9b75ff;--accent-dim:#825aff24;--accent-glow:#825aff4d;--ok:#34d399;--ok-bg:#34d3991a;--warn:#fbbf24;--warn-bg:#fbbf241a;--bad:#f87171;--bad-bg:#f871711a;--r-lg:12px;--r-md:9px;--r-sm:6px;--f-ui:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--f-mono:"JetBrains Mono", monospace;--t:.15s cubic-bezier(.4,0,.2,1);--bg-primary:var(--bg0);--bg-secondary:var(--bg1);--bg-tertiary:var(--bg2);--bg-card:var(--bg2);--bg-card-hover:var(--bg3);--bg-input:var(--bg2);--border-primary:var(--line);--border-hover:var(--line-strong);--border-focus:#825aff99;--text-primary:var(--text);--text-secondary:var(--mut);--text-muted:var(--faint);--accent-hover:var(--accent-hi);--success:var(--ok);--success-bg:var(--ok-bg);--warning:var(--warn);--warning-bg:var(--warn-bg);--danger:var(--bad);--danger-bg:var(--bad-bg);--gradient-primary:linear-gradient(135deg, var(--accent) 0%, #5b8def 100%);--gradient-card:linear-gradient(135deg, var(--accent-dim) 0%, #5b8def0a 100%);--font-family:var(--f-ui);--font-mono:var(--f-mono);--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-lg);--radius-xl:16px;--transition-fast:var(--t);--transition-normal:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1)}[data-mood=chill]{--accent:#34d399;--accent-hi:#4ade80;--accent-dim:#34d39924;--accent-glow:#34d3994d}[data-mood=tryhard]{--accent:#f87171;--accent-hi:#fb923c;--accent-dim:#f8717124;--accent-glow:#f871714d}[data-mood=chaos]{--accent:#fb923c;--accent-hi:#fdba74;--accent-dim:#fbbf2424;--accent-glow:#fbbf244d}[data-mood=melancholisch]{--accent:#94a3b8;--accent-hi:#cbd5e1;--accent-dim:#94a3b824;--accent-glow:#94a3b84d}[data-mood=drunk]{--accent:#a855f7;--accent-hi:#c084fc;--accent-dim:#a855f724;--accent-glow:#a855f74d}[data-mood=latenight]{--accent:#6366f1;--accent-hi:#818cf8;--accent-dim:#6366f124;--accent-glow:#6366f14d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}.sidebar{background:var(--bg1);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.side-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.side-head .logo{background:linear-gradient(135deg, var(--accent), #5b8def);width:30px;height:30px;box-shadow:0 2px 10px var(--accent-glow);border-radius:8px;place-items:center;display:grid}.side-head .logo svg{color:#fff;width:16px;height:16px}.side-head .name{letter-spacing:-.01em;font-size:14.5px;font-weight:700}.side-head .ver{font-family:var(--f-mono);color:var(--faint);font-size:10px}.side-nav{flex:1;padding:10px 8px;overflow-y:auto}.ngroup{margin-bottom:14px}.ngroup>span{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:0 10px 5px;font-size:10px;font-weight:700;display:block}.nitem{border-radius:var(--r-sm);width:100%;color:var(--mut);transition:all var(--t);text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:7px 10px;font-size:13px;font-weight:500;display:flex;position:relative}.nitem svg{width:15px;height:15px}.nitem:hover{color:var(--text);background:#ffffff08}.nitem.on{color:var(--text);background:var(--accent-dim);font-weight:600}.nitem.on:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:-8px}.side-foot{border-top:1px solid var(--line);color:var(--mut);align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.side-foot .dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 6px var(--ok);border-radius:50%}.side-foot code{font-family:var(--f-mono);font-size:11px}.login-screen{background:var(--bg0);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{width:380px;padding:30px}.login-head{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-head .logo{background:linear-gradient(135deg, var(--accent), #5b8def);width:48px;height:48px;box-shadow:0 4px 16px var(--accent-glow);border-radius:12px;place-items:center;display:grid}.login-head .logo svg{color:#fff;width:26px;height:26px}.login-head h2{font-size:18px;font-weight:700}.login-head p{color:var(--mut);font-size:13px}.field-error{color:var(--bad);margin-top:6px;font-size:12px}@media (width<=900px){.app{grid-template-columns:56px 1fr}.side-head .name,.side-head .ver,.nitem span,.ngroup>span,.side-foot code{display:none}.side-head{justify-content:center;padding:14px 0}.nitem{justify-content:center;padding:9px 0}.ngroup>span{height:8px;padding:0}.main{padding:20px 16px 60px}}.page-header{margin-bottom:32px}.page-header h2{margin-bottom:4px;font-size:1.75rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:.95rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:24px}.card:hover{border-color:var(--border-hover);box-shadow:0 8px 32px #0000004d}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-header h3{font-size:1.1rem;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-input,.form-textarea,.form-select{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-family);transition:all var(--transition-fast);outline:none;padding:10px 14px;font-size:.9rem}.form-textarea{resize:vertical;min-height:120px;font-family:var(--font-mono);font-size:.85rem;line-height:1.5}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #f8717133}.btn-danger:hover{background:#f8717133}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-icon{border-radius:var(--radius-sm);width:36px;height:36px;padding:0}.toggle{cursor:pointer;width:48px;height:26px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--bg-tertiary);border:1px solid var(--border-primary);transition:all var(--transition-fast);border-radius:26px;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-secondary);width:20px;height:20px;transition:all var(--transition-fast);border-radius:50%;position:absolute;bottom:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-slider:before{background:#fff;transform:translate(22px)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.tags-input{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:text;min-height:42px;transition:all var(--transition-fast);flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex}.tags-input:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.tag{background:var(--accent-glow);color:var(--accent-hover);border:1px solid #825aff4d;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;display:inline-flex}.tag button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.tag button:hover{opacity:1}.tags-input input{min-width:120px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.slider-group{align-items:center;gap:12px;display:flex}.slider-group input[type=range]{appearance:none;background:var(--bg-tertiary);border-radius:3px;outline:none;flex:1;height:6px}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:18px;height:18px;box-shadow:0 2px 8px var(--accent-glow);border-radius:50%}.slider-value{text-align:center;min-width:48px;color:var(--accent);font-size:.9rem;font-weight:600;font-family:var(--font-mono)}.live-log{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);height:400px;font-family:var(--font-mono);padding:12px;font-size:.8rem;overflow-y:auto}.log-entry{border-bottom:1px solid #6464a00f;gap:12px;padding:4px 0;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.log-time{color:var(--text-muted);white-space:nowrap;flex-shrink:0}.log-type{text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:600}.log-type.command{color:var(--accent);background:#825aff26}.log-type.observer{color:var(--warning);background:#fbbf2426}.log-type.error{background:var(--danger-bg);color:var(--danger)}.log-type.system{color:var(--success);background:#34d39926}.log-message{color:var(--text-secondary);word-break:break-word}.connection-card{background:var(--gradient-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.connection-info{align-items:center;gap:12px;display:flex}.connection-icon{font-size:1.5rem}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state .empty-icon{opacity:.5;margin-bottom:16px;font-size:3rem}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:1.1rem;font-weight:600}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6464a04d}@media (width<=768px){.sidebar{width:60px}.sidebar-logo h1,.sidebar-logo .version,.nav-item span{display:none}.main-content{margin-left:60px;padding:16px}.card-grid{grid-template-columns:1fr}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes zoom-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.btn{border-radius:var(--r-sm);border:1px solid var(--line-strong);transition:all var(--t);white-space:nowrap;cursor:pointer;color:inherit;font-size:12.5px;font-weight:600;font-family:var(--f-ui);background:0 0;align-items:center;gap:7px;padding:7px 13px;display:inline-flex}.btn:hover{background:#ffffff0a;border-color:#a0a0dc4d}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.btn.primary:hover{background:var(--accent-hi)}.btn.saved{background:var(--ok-bg);color:var(--ok);border-color:#34d39959}.btn.danger-soft{color:var(--bad);border-color:#f8717140}.btn.danger-soft:hover{background:var(--bad-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.input-wrap{position:relative}.input-wrap svg{width:13px;height:13px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input{background:var(--bg1);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;transition:border-color var(--t);color:var(--text);font-size:13px;font-family:var(--f-ui);padding:7px 11px}.input-wrap .input{padding-left:30px}.input::placeholder{color:var(--faint)}.input:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.input.mono{font-family:var(--f-mono);font-size:12.5px}textarea.input{resize:vertical;min-height:90px;font-family:var(--f-mono);font-size:12.5px;line-height:1.55}.chip{border:1px solid var(--line);color:var(--mut);transition:all var(--t);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--line-strong);color:var(--text)}.chip.on{border-color:var(--accent);color:var(--accent-hi);background:var(--accent-dim)}.chip .count{font-family:var(--f-mono);color:var(--faint);font-size:10.5px}.chip.on .count{color:var(--accent-hi)}.tag{border:1px solid var(--line);color:var(--mut);white-space:nowrap;background:#ffffff0a;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:500}.tag.ai{color:var(--accent-hi);background:var(--accent-dim);border-color:#825aff4d}.toggle{cursor:pointer;flex-shrink:0;width:34px;height:19px;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle i{background:var(--bg3);border:1px solid var(--line-strong);transition:all var(--t);border-radius:999px;position:absolute;inset:0}.toggle i:before{content:"";background:var(--mut);width:13px;height:13px;transition:all var(--t);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+i{background:var(--accent);border-color:var(--accent)}.toggle input:checked+i:before{background:#fff;transform:translate(15px)}.toggle input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:27px;height:27px;color:var(--mut);transition:all var(--t);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.icon-btn svg{width:13px;height:13px}.icon-btn:hover{color:var(--text);background:#ffffff0f}.icon-btn.danger:hover{background:var(--bad-bg);color:var(--bad)}.confirm-del{background:var(--bad-bg);border:1px solid #f8717140;border-radius:6px;align-items:center;gap:2px;padding:1px;animation:.15s ease-out slideIn;display:flex}.confirm-del .label{color:var(--bad);padding:0 4px 0 8px;font-size:10.5px;font-weight:700}.confirm-del .icon-btn{width:23px;height:23px}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--bg2);border:1px solid var(--line-strong);border-radius:var(--r-md);align-items:center;gap:9px;padding:10px 14px;font-size:12.5px;animation:.22s cubic-bezier(.3,1.2,.4,1) toastIn;display:flex;box-shadow:0 8px 30px #00000080}.toast svg{width:14px;height:14px}.toast.ok svg{color:var(--ok)}.toast.err svg{color:var(--bad)}.toast .undo{color:var(--accent-hi);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-size:11.5px;font-weight:700}.toast .undo:hover{text-decoration:underline}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.drawer-veil{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:40;background:#05050a8c;transition:opacity .2s;position:fixed;inset:0}.drawer{background:var(--bg1);border-left:1px solid var(--line-strong);z-index:41;flex-direction:column;width:430px;transition:right .25s cubic-bezier(.3,.9,.3,1);display:flex;position:fixed;top:0;bottom:0;right:-440px;box-shadow:-20px 0 60px #00000080}.drawer.open{right:0}.drawer-veil.open{opacity:1;pointer-events:auto}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.drawer-head h2{font-size:15px;font-weight:700}.drawer-head h2 code{font-family:var(--f-mono);color:var(--accent-hi)}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:18px;display:flex;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.field label{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:5px;font-size:10.5px;font-weight:700;display:block}.field .hint{color:var(--faint);margin-top:4px;font-size:11px}.field .hint code{font-family:var(--f-mono);color:var(--accent-hi);font-size:10.5px}.ai-switch{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;padding:11px 13px;display:flex}.ai-switch .txt{flex:1}.ai-switch .txt b{font-size:12.5px;display:block}.ai-switch .txt span{color:var(--mut);font-size:11px}.slider-row{align-items:center;gap:11px;display:flex}.slider-row input[type=range]{-webkit-appearance:none;background:var(--bg3);border-radius:3px;outline:none;flex:1;height:5px}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:15px;height:15px}.slider-row .val{font-family:var(--f-mono);color:var(--accent-hi);text-align:right;min-width:38px;font-size:12px}.empty{border:1px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:46px 24px;display:flex}.empty svg{width:26px;height:26px;color:var(--faint);margin-bottom:6px}.empty h4{font-size:14px;font-weight:600}.empty p{color:var(--mut);max-width:36ch;font-size:12.5px}.empty .actions{gap:8px;margin-top:12px;display:flex}.seg{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:2px;display:flex}.seg button{letter-spacing:.05em;color:var(--faint);transition:all var(--t);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-size:10.5px;font-weight:700}.seg button:hover{color:var(--text)}.seg button.on{background:var(--accent);color:#fff}.skel{background:#ffffff0d;border-radius:7px;animation:1.4s ease-in-out infinite pulse}.skel-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr auto;gap:14px;padding:13px 14px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .input-wrap{flex:0 250px;min-width:190px}.toolbar .chips{gap:6px;display:flex}.result-count{font-family:var(--f-mono);color:var(--faint);margin-left:auto;font-size:11px}.list{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);overflow:hidden}.list>.row{border-bottom:1px solid var(--line);transition:background var(--t);grid-template-columns:150px 1fr auto 34px 64px;align-items:center;gap:14px;min-height:50px;padding:10px 14px;display:grid}.list>.row:last-child{border-bottom:none}.list>.row:hover,.list>.row:focus-within{background:#ffffff05}.row .trig{font-family:var(--f-mono);color:var(--accent-hi);font-size:13px;font-weight:600}.row .desc{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.row .tags{justify-content:flex-end;gap:5px;display:flex}.row .acts{opacity:.3;transition:opacity var(--t);justify-content:flex-end;gap:2px;display:flex}.row:hover .acts,.row:focus-within .acts{opacity:1}.row.disabled .trig,.row.disabled .desc{opacity:.45}.grid2{grid-template-columns:290px 1fr;align-items:start;gap:16px;display:grid}.stack{flex-direction:column;gap:14px;display:flex}.mood-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.mood-btn{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r-md);transition:all var(--t);flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.mood-btn svg{width:16px;height:16px;color:var(--mut)}.mood-btn span{color:var(--mut);font-size:10.5px;font-weight:600}.mood-btn:hover{border-color:var(--line-strong)}.mood-btn.on{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 12px var(--accent-glow)}.mood-btn.on svg,.mood-btn.on span{color:var(--accent-hi)}.feed{flex-direction:column;gap:7px;max-height:60vh;padding-right:4px;display:flex;overflow-y:auto}.fentry{background:var(--bg0);border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:var(--r-sm);padding:9px 12px;font-size:12.5px}.fentry.cmd{border-left-color:var(--ok)}.fentry.obs{border-left-color:var(--warn)}.fentry.raid{border-left-color:#e91e63}.fentry .meta{font-family:var(--f-mono);color:var(--faint);gap:9px;margin-bottom:3px;font-size:10.5px;display:flex}.fentry .meta b{color:var(--mut);font-weight:600}.fentry .factions{align-items:center;gap:6px;margin-top:7px;display:flex}.fentry .factions button{letter-spacing:.04em;border:1px solid var(--line-strong);color:var(--mut);transition:all var(--t);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.fentry .factions button:hover{border-color:var(--accent);color:var(--accent-hi)}.np .song{color:var(--accent-hi);font-size:15px;font-weight:700}.np .q{color:var(--faint);margin-top:2px;font-size:12px}@media (width<=760px){.grid2{grid-template-columns:1fr}}.crew-card{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r-md);min-width:130px;color:var(--mut);transition:all var(--t);flex:1;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.crew-card:hover{border-color:var(--line-strong)}.crew-card.on{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.crew-card .crew-name{font-size:13px;font-weight:600}.crew-card .crew-role{color:var(--faint);font-size:11px}.crew-card.on .crew-role{color:var(--accent-hi)}.egrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:11px;display:grid}.ecard{background:var(--bg1);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--t);flex-direction:column;align-items:center;gap:8px;padding:16px 12px 12px;display:flex;position:relative}.ecard:hover,.ecard:focus-within{border-color:var(--line-strong)}.ewell{width:64px;height:64px;transition:transform var(--t);background:#ffffff08;border-radius:13px;place-items:center;display:grid}.ecard:hover .ewell{transform:scale(1.08)}.ewell img{object-fit:contain;width:48px;height:48px}.ewell-fallback{width:48px;height:48px;font-family:var(--f-mono);color:var(--mut);border:1px dashed var(--line-strong);background:#ffffff08;border-radius:9px;place-items:center;font-size:13px;display:grid}.ph-btn{font-family:var(--f-mono);text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:all var(--t);border-radius:5px;padding:2px 8px;font-size:13px;font-weight:500;overflow:hidden}.ph-btn:hover{background:var(--accent-dim);color:var(--accent-hi)}.ph-btn.copied{color:var(--ok);background:var(--ok-bg)}.ename{font-family:var(--f-mono);color:var(--faint);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:-5px;font-size:11px;overflow:hidden}.ecard .acts{opacity:.3;transition:opacity var(--t);gap:1px;display:flex;position:absolute;top:7px;right:7px}.ecard:hover .acts,.ecard:focus-within .acts{opacity:1}.anim-dot{color:var(--accent-hi);filter:drop-shadow(0 0 4px var(--accent-glow));place-items:center;display:grid;position:absolute;top:9px;left:10px}.anim-dot svg{width:11px;height:11px}.erow{border-bottom:1px solid var(--line);min-height:46px;transition:background var(--t);grid-template-columns:44px 180px 1fr auto 72px;align-items:center;gap:12px;padding:6px 14px;display:grid}.erow:last-child{border-bottom:none}.erow:hover,.erow:focus-within{background:#ffffff05}.erow .ewell-sm{background:#ffffff08;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.erow .ename{margin:0}.erow .acts{opacity:.3;transition:opacity var(--t);justify-content:flex-end;gap:2px;display:flex}.erow:hover .acts,.erow:focus-within .acts{opacity:1}.ecard-edit{flex-direction:column;align-items:stretch;gap:8px;padding:14px;display:flex}.ecard-edit .acts-row{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.emote-search{position:relative}.emote-search-results{z-index:10;background:var(--bg2);border:1px solid var(--line-strong);border-radius:var(--r-md);width:100%;max-height:320px;margin-top:6px;position:absolute;overflow-y:auto;box-shadow:0 12px 40px #00000080}.emote-search-results .opt{text-align:left;width:100%;transition:background var(--t);align-items:center;gap:12px;padding:8px 12px;display:flex}.emote-search-results .opt:hover{background:#ffffff0a}.emote-search-results .opt img{object-fit:contain;width:32px;height:32px}.emote-search-results .opt .nm{font-family:var(--f-mono);font-size:13px}.emote-search-results .opt .sub{color:var(--mut);font-size:11px}.emote-search-results .none{color:var(--mut);padding:8px 12px;font-size:13px}.spin-sm{border:2px solid var(--accent);border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:1s linear infinite spin}.view-toggle{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:2px;display:flex}.view-toggle button{color:var(--faint);transition:all var(--t);border-radius:4px;place-items:center;padding:5px 8px;display:grid}.view-toggle button svg{width:15px;height:15px}.view-toggle button:hover{color:var(--text)}.view-toggle button.on{color:var(--text);background:#ffffff17}.add-panel{background:var(--bg1);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:14px;margin-bottom:18px;padding:18px;display:flex}.banner{border-radius:var(--r-md);align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.banner svg{flex-shrink:0;width:14px;height:14px}.banner.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #34d3994d}.banner.err{background:var(--bad-bg);color:var(--bad);border:1px solid #f8717140}.banner .close{color:var(--mut);margin-left:auto;font-size:16px;line-height:1}.banner .close:hover{color:var(--text)}.banner .muted{color:var(--mut)}.banner .warn{color:var(--warn)}.app{grid-template:"side transport"46px"side main"1fr/218px 1fr;height:100vh;display:grid}.transport{grid-area:transport}.sidebar{grid-area:side}.main{grid-area:main;padding:28px 32px 80px;overflow-y:auto}.transport{background:var(--bg1);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:0 18px;display:flex}.transport.collapsed{height:2px;padding:0;overflow:hidden}.pill{letter-spacing:.07em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.pill.live{color:var(--ok);background:var(--ok-bg);border:1px solid #34d3994d}.pill.live .dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.pill.off{color:var(--bad);background:var(--bad-bg);border:1px solid #f8717140}.uptime{font-family:var(--f-mono);color:var(--faint);font-size:11.5px}.tlabel{letter-spacing:.1em;color:var(--faint);text-transform:uppercase;font-size:9.5px;font-weight:700}.tgroup{align-items:center;gap:8px;display:flex}.mood-chip{border:1px solid var(--line-strong);color:var(--mut);transition:all var(--t);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.mood-chip:hover{border-color:var(--accent);color:var(--text)}.mood-chip .swatch{background:var(--accent);border-radius:50%;width:8px;height:8px}.vitals{gap:18px;margin-left:auto;display:flex}.vital{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.vital b{letter-spacing:.09em;color:var(--faint);font-size:9px;font-weight:700}.vital span{font-family:var(--f-mono);color:var(--text);font-size:11.5px}.vital span.ok{color:var(--ok)}.vital span.bad{color:var(--bad)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:21px;font-weight:700}.page-head p{color:var(--mut);max-width:52ch;margin-top:2px;font-size:13px}.page-head .actions{gap:8px;display:flex}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:26px 0 10px;font-size:11px;font-weight:700}.pattern-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.accordion{flex-direction:column;gap:12px;display:flex}.accordion-item{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast);overflow:hidden}.accordion-item:hover{border-color:var(--border-hover)}.accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 20px;font-family:inherit;display:flex}.accordion-header:hover{background:#ffffff05}.accordion-header-left{align-items:center;gap:16px;display:flex}.accordion-icon{border-radius:var(--radius-sm);background:#825aff1a;border:1px solid #825aff33;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.accordion-title h3{text-transform:capitalize;margin-bottom:2px;font-size:1.1rem;font-weight:600}.accordion-title p{color:var(--text-muted);font-size:.8rem}.accordion-header-right{align-items:center;gap:16px;display:flex}.accordion-chevron{color:var(--text-secondary);transition:transform var(--transition-fast);font-size:.9rem}.accordion-item.expanded .accordion-chevron{transform:rotate(180deg)}.accordion-item.expanded{border-color:var(--accent);background:#1e1e30d9;box-shadow:0 4px 20px #825aff1a}.accordion-content{padding:0 20px 20px;display:none}.accordion-item.expanded .accordion-content{animation:.3s fadeIn;display:block}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;display:grid}.smart-toggle{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 14px;display:inline-flex}.smart-toggle.active{border-color:var(--accent);background:#825aff26;box-shadow:inset 0 0 10px #825aff1a}.smart-toggle-text{color:var(--text-secondary);font-size:.85rem;font-weight:500}.smart-toggle.active .smart-toggle-text{color:#fff;text-shadow:0 0 8px #825aff66}:root{--jak-bg:#0a0a0b;--jak-ink:#14130f;--jak-paper:#efe9da;--jak-paper-2:#d8d0bd;--jak-red:#ff1f3d;--jak-acid:#e8ff3a;--jak-orange:#ff7a18;--jak-cyan:#19e6e6;--jak-magenta:#ff2e9a;--jak-gaffer:#15151a;--jak-silver:#b9b6ad;--jak-f-punch:"Anton", Impact, sans-serif;--jak-f-type:"Special Elite", "Courier Prime", monospace;--jak-f-marker:"Permanent Marker", cursive;--jak-f-vhs:"VT323", monospace;--jak-ease-snap:cubic-bezier(.16, 1.2, .3, 1);--jak-ease-out:cubic-bezier(.2, .8, .2, 1)}.jak-grain:after{content:"";opacity:.12;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");animation:.4s steps(3,end) infinite jak-grain;position:absolute;inset:-50%}@keyframes jak-grain{0%{transform:translate(0)}33%{transform:translate(-4%,2%)}66%{transform:translate(3%,-3%)}to{transform:translate(0)}}.jak-scanlines:before{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px),linear-gradient(#ffffff0a,#fff0 6%);animation:7s linear infinite jak-roll;position:absolute;inset:0}@keyframes jak-roll{0%{background-position:0 0,0 0}to{background-position:0 100vh,0 0}}.jak-halftone{background-image:radial-gradient(var(--jak-ink) 22%, transparent 23%);background-size:6px 6px}.jak-tape{background:var(--jak-gaffer);color:var(--jak-paper);font-family:var(--jak-f-marker);clip-path:polygon(2% 8%,14% 0,31% 7%,49% 1%,68% 8%,86% 2%,99% 9%,97% 88%,82% 99%,63% 92%,44% 99%,26% 91%,9% 99%,1% 90%);padding:.35em 1.1em;display:inline-block;position:relative;box-shadow:0 6px 18px #0009}.jak-tape--silver{background:var(--jak-silver);color:var(--jak-ink)}.jak-rgb{position:relative}.jak-rgb:before,.jak-rgb:after{content:attr(data-text);pointer-events:none;position:absolute;inset:0}.jak-rgb:before{color:var(--jak-magenta);mix-blend-mode:screen;transform:translate(-2px)}.jak-rgb:after{color:var(--jak-cyan);mix-blend-mode:screen;transform:translate(2px)}.jak-timecode{z-index:60;font-family:var(--jak-f-vhs);color:#fff;text-shadow:0 0 8px #ffffff80;letter-spacing:2px;font-size:30px;position:fixed;top:28px;right:36px}.jak-timecode .dot{color:var(--jak-red);animation:1s step-end infinite jak-blink}@keyframes jak-blink{50%{opacity:0}}@keyframes jak-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}.jak-shake{animation:.18s linear infinite jak-shake}.bp{width:300px;animation:bp-drop 1s var(--jak-ease-snap) forwards;position:absolute;top:-220px;left:50%;transform:translate(-50%)}.bp .lanyard{background:var(--jak-red);width:6px;height:120px;margin:0 auto}.bp .card{background:var(--jak-paper);color:var(--jak-ink);transform-origin:top;animation:bp-swing 2.2s var(--jak-ease-out) .9s;border-radius:8px;padding:18px 16px 22px;box-shadow:0 16px 40px #000000b3}.bp .hole{background:#0006;border-radius:6px;width:46px;height:12px;margin:0 auto 10px}.bp .label{font-family:var(--jak-f-vhs);letter-spacing:3px;color:var(--jak-red);font-size:18px}.bp .name{font-family:var(--jak-f-punch);margin:4px 0 2px;font-size:34px;line-height:1}.bp .stamp{font-family:var(--jak-f-punch);color:var(--jak-red);border:5px solid var(--jak-red);opacity:0;border-radius:6px;place-items:center;font-size:40px;animation:.25s ease-out 1.5s forwards bp-stamp;display:grid;position:absolute;inset:0;transform:rotate(-12deg)scale(3)}@keyframes bp-drop{to{top:120px}}@keyframes bp-swing{0%,to{transform:rotate(0)}25%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}}@keyframes bp-stamp{to{opacity:.92;transform:rotate(-12deg)scale(1)}}.pf .pick{background:var(--jak-acid);clip-path:polygon(50% 100%,0 0,100% 0);width:54px;height:60px;animation:pf-fly .55s var(--jak-ease-out) forwards;position:absolute;top:46%;left:-80px}.pf .scrap{transform-origin:top;background:var(--jak-paper);color:var(--jak-ink);font-family:var(--jak-f-marker);animation:pf-pin .4s var(--jak-ease-snap) .5s forwards;padding:14px 26px;font-size:30px;position:absolute;top:44%;left:50%;transform:translate(-50%)rotate(-3deg)scaleY(0);box-shadow:0 8px 22px #00000080}.pf .scrap:before{content:"";background:var(--jak-red);border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}@keyframes pf-fly{to{top:40%;left:50%;transform:translate(-50%)rotate(720deg)}}@keyframes pf-pin{to{transform:translate(-50%)rotate(-3deg)scaleY(1)}}.mc{position:absolute;bottom:90px;left:60px;right:60px}.mc .line{font-family:var(--jak-f-type);color:var(--jak-paper);white-space:nowrap;border-right:3px solid var(--jak-red);width:0;font-size:30px;animation:1.6s steps(28,end) forwards mc-type,.5s step-end infinite mc-caret;overflow:hidden}.mc .wave{background:repeating-linear-gradient(90deg, var(--jak-cyan) 0 2px, transparent 2px 7px);transform-origin:50%;height:60px;margin-top:10px;animation:.5s ease-in-out 1.4s mc-squeal;transform:scaleY(.1);-webkit-mask:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}@keyframes mc-type{to{width:100%}}@keyframes mc-caret{50%{border-color:#0000}}@keyframes mc-squeal{0%,to{transform:scaleY(.1)}50%{transform:scaleY(1)}}.doors{position:absolute;inset:0;overflow:hidden}.doors .leaf{background:var(--jak-gaffer);width:50%;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 80px #000}.doors .leaf.l{transform-origin:0;animation:door-l .7s var(--jak-ease-out) forwards;left:0}.doors .leaf.r{transform-origin:100%;animation:door-r .7s var(--jak-ease-out) forwards;right:0}.doors .crowd{background:radial-gradient(circle at 50% 120%, var(--jak-ink) 0 38%, transparent 39%) 0 0/40px 70px repeat-x bottom;opacity:0;animation:crowd-rush 1.2s var(--jak-ease-out) .5s forwards;position:absolute;inset:0;transform:translateY(40%)scale(.6)}.doors .marquee{text-align:center;animation:pop-in .4s var(--jak-ease-snap) 1s forwards;position:absolute;top:14%;left:50%;transform:translate(-50%)scale(0)}.doors .marquee .who{font-family:var(--jak-f-punch);color:var(--jak-acid);text-shadow:0 0 24px var(--jak-orange);font-size:90px}.doors .marquee .cnt{font-family:var(--jak-f-vhs);color:var(--jak-red);font-size:42px}@keyframes door-l{to{transform:perspective(900px)rotateY(85deg)}}@keyframes door-r{to{transform:perspective(900px)rotateY(-85deg)}}@keyframes crowd-rush{to{opacity:1;transform:translateY(0)scale(1.2)}}@keyframes pop-in{to{transform:rotate(var(--r,0)) scale(1)}}.wod{position:absolute;inset:0;overflow:hidden}.wod .half{background:var(--jak-ink);background-image:radial-gradient(var(--jak-gaffer) 30%,transparent 31%);background-size:30px 30px;width:52%;position:absolute;top:0;bottom:0}.wod .half.l{animation:wod-l 1.4s var(--jak-ease-snap) forwards;left:-52%}.wod .half.r{animation:wod-r 1.4s var(--jak-ease-snap) forwards;right:-52%}.wod .boom{opacity:0;place-items:center;animation:.3s ease-out 1.1s forwards wod-boom;display:grid;position:absolute;inset:0}.wod .boom span{font-family:var(--jak-f-punch);color:#fff;text-shadow:6px 6px 0 var(--jak-red), -6px -6px 0 var(--jak-cyan);font-size:120px;transform:rotate(-4deg)}@keyframes wod-l{0%{left:-52%}55%{left:-6%}70%{left:-4%}to{left:-2%}}@keyframes wod-r{0%{right:-52%}55%{right:-6%}70%{right:-4%}to{right:-2%}}@keyframes wod-boom{to{opacity:1;transform:scale(1.05)}}.van{width:420px;animation:van-in .8s var(--jak-ease-out) forwards;position:absolute;bottom:18%;right:-460px}.van .body{background:var(--jak-paper);border:6px solid var(--jak-ink);border-radius:14px 30px 8px 8px;height:160px;position:relative}.van .body:after{content:"JUNISPHERE TOUR '26";font-family:var(--jak-f-marker);color:var(--jak-red);place-items:center;font-size:26px;display:grid;position:absolute;inset:0}.van .wheel{background:var(--jak-gaffer);border:6px solid var(--jak-silver);border-radius:50%;width:48px;height:48px;animation:.3s linear infinite van-spin;position:absolute;bottom:-22px}.van .wheel.f{right:40px}.van .wheel.b{left:40px}.van .tag{font-family:var(--jak-f-punch);color:var(--jak-acid);opacity:0;animation:pop-in .4s var(--jak-ease-snap) .9s forwards;font-size:40px;position:absolute;top:-70px;left:0}@keyframes van-in{0%{right:-460px}80%{right:120px}to{right:140px}}@keyframes van-spin{to{transform:rotate(360deg)}}.patch{width:300px;height:300px;animation:pop-in .45s var(--jak-ease-snap) forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.patch .denim{background:#3a4a63 repeating-linear-gradient(45deg,#0002 0 2px,#0000 2px 5px);border-radius:18px;position:absolute;inset:-60px}.patch .badge{background:var(--jak-red);text-align:center;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0;box-shadow:0 10px 30px #0008}.patch .badge .t{font-family:var(--jak-f-vhs);letter-spacing:3px;color:#fff9;font-size:20px}.patch .badge .n{font-family:var(--jak-f-punch);color:#fff;font-size:46px;line-height:.95}.patch .stitch{border:3px dashed var(--jak-acid);stroke-dasharray:1;clip-path:inset(0 100% 0 0);border-radius:10px;animation:1.2s linear .5s forwards sew;position:absolute;inset:8px}@keyframes sew{to{clip-path:inset(0)}}.lam{background:var(--jak-paper);width:360px;color:var(--jak-ink);animation:pop-in .4s var(--jak-ease-snap) forwards;padding:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg);box-shadow:0 16px 44px #000a}.lam h3{font-family:var(--jak-f-punch);color:var(--jak-red);margin:0 0 8px;font-size:30px}.lam .dates{font-family:var(--jak-f-type);opacity:.45;font-size:16px;line-height:1.7}.lam .new{font-family:var(--jak-f-punch);color:var(--jak-red);border:5px solid var(--jak-red);opacity:0;padding:4px 14px;font-size:54px;animation:.25s ease-out .8s forwards bp-stamp;position:absolute;bottom:-10px;right:-10px;transform:rotate(-14deg)scale(2.6)}.stud{background:#1c1410 linear-gradient(#0003,#0000);border-radius:12px;justify-content:space-around;align-items:center;width:520px;height:90px;padding:0 30px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 30px #000,0 12px 30px #000a}.stud .s{background:radial-gradient(circle at 35% 30%, #fff, var(--jak-silver) 45%, #555 100%);width:30px;height:30px;animation:stud-in .25s var(--jak-ease-snap) forwards;border-radius:50%;transform:scale(0);box-shadow:0 2px 4px #000}.stud .label{text-align:center;font-family:var(--jak-f-punch);color:var(--jak-silver);font-size:30px;position:absolute;bottom:-46px;left:0;right:0}@keyframes stud-in{to{transform:scale(1)}}.drum .stick{transform-origin:50%;width:160px;height:14px;animation:stick-fly 1s var(--jak-ease-out) forwards;background:linear-gradient(90deg,#caa472,#e8d3ad);border-radius:7px;position:absolute;top:30%;left:-60px}.drum .land{text-align:center;animation:pop-in .4s var(--jak-ease-snap) .9s forwards;position:absolute;top:58%;left:50%;transform:translate(-50%)scale(0)}.drum .land .g{font-family:var(--jak-f-marker);color:var(--jak-acid);font-size:34px}.drum .land .arr{font-family:var(--jak-f-punch);color:var(--jak-red);margin:4px 0;font-size:26px}.drum .land .r{font-family:var(--jak-f-punch);color:#fff;font-size:40px}@keyframes stick-fly{to{top:55%;left:50%;transform:translate(-50%)rotate(1080deg)}}.pyro{position:absolute;inset:0;overflow:hidden}.pyro .blast{width:8px;height:8px;box-shadow:0 0 60px 30px var(--jak-orange), 0 0 120px 60px var(--jak-red);animation:.6s ease-out forwards pyro-blast;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pyro .count{font-family:var(--jak-f-punch);color:#fff;text-shadow:0 0 30px var(--jak-orange);animation:pop-in .4s var(--jak-ease-snap) .3s forwards;font-size:120px;position:absolute;top:18%;left:50%;transform:translate(-50%)scale(0)}.pyro .surf{white-space:nowrap;font-family:var(--jak-f-marker);color:var(--jak-acid);font-size:26px;animation:4s linear .4s forwards surf;position:absolute;bottom:22%}@keyframes pyro-blast{to{bottom:60%;box-shadow:0 0 200px 140px #0000,0 0 400px 240px #0000}}@keyframes surf{0%{left:-30%}to{left:110%}}.sellout{width:520px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.sellout .frame{border:3px solid var(--jak-paper);background:var(--jak-bg);height:40px;position:relative;overflow:hidden}.sellout .fill{background:radial-gradient(var(--jak-acid) 32%, transparent 33%) 0 0/14px 14px var(--jak-red);transition:right 1s var(--jak-ease-out);position:absolute;inset:0 100% 0 0}.sellout .cap{text-align:center;font-family:var(--jak-f-vhs);color:var(--jak-paper);margin-top:6px;font-size:22px}.sellout.full .neon{display:block}.sellout .neon{text-align:center;font-family:var(--jak-f-punch);color:var(--jak-red);text-shadow:0 0 12px var(--jak-red);font-size:44px;animation:.12s step-end infinite jak-blink;display:none;position:absolute;top:-54px;left:0;right:0}.coins{position:absolute;inset:0;overflow:hidden}.coins .c{background:radial-gradient(circle at 35% 30%, #fff6c0, var(--jak-acid) 50%, #b89a00 100%);width:34px;height:34px;animation:coin-fall var(--d) var(--jak-ease-out) forwards;border-radius:50%;position:absolute;top:-40px;box-shadow:0 2px 4px #0008}.coins .tally{font-family:var(--jak-f-punch);color:var(--jak-acid);text-shadow:0 0 14px #0008;font-size:54px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.coins .tally small{font-family:var(--jak-f-marker);color:#fff;font-size:24px;display:block}@keyframes coin-fall{0%{top:-40px;transform:rotate(0)}70%{top:calc(100% - 80px)}80%{top:calc(100% - 120px)}90%{top:calc(100% - 70px)}to{top:calc(100% - 60px);transform:rotate(540deg)}}.lights{position:absolute;inset:0;overflow:hidden}.lights .fl{opacity:0;width:6px;height:6px;animation:light-rise var(--d) ease-out forwards;background:#ffd27a;border-radius:50%;position:absolute;bottom:-30px;box-shadow:0 0 12px 4px #ffb33a}.lights .msg{text-align:center;font-family:var(--jak-f-marker);color:#fff;text-shadow:0 0 20px #ffb33a;opacity:0;animation:pop-in .5s var(--jak-ease-snap) .4s forwards;font-size:40px;position:absolute;top:40%;left:50%;transform:translate(-50%)}@keyframes light-rise{0%{opacity:0;bottom:-30px}15%{opacity:1}to{opacity:.9;bottom:90%}}.ransom{text-align:center;position:absolute;top:30%;left:50%;transform:translate(-50%)}.ransom .amt{justify-content:center;gap:4px;display:flex}.ransom .amt span{font-family:var(--jak-f-punch);transform:rotate(var(--r)) scale(0);animation:pop-in .3s var(--jak-ease-snap) forwards;padding:4px 10px;font-size:84px;line-height:1;display:inline-block}.ransom .donor{margin-top:20px;font-size:26px}.setlist{background:var(--jak-paper);width:440px;color:var(--jak-ink);padding:26px 30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(1deg);box-shadow:0 14px 40px #000a}.setlist:before{content:"";background:var(--jak-silver);opacity:.85;width:120px;height:28px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-3deg)}.setlist h4{font-family:var(--jak-f-punch);margin:0 0 10px;font-size:24px}.setlist .scrawl{font-family:var(--jak-f-marker);color:var(--jak-red);white-space:nowrap;width:0;font-size:30px;animation:2s steps(40,end) .3s forwards mc-type;overflow:hidden}.setlist .msg{font-family:var(--jak-f-marker);opacity:0;margin-top:8px;font-size:22px;animation:.4s 2.2s forwards fade}@keyframes fade{to{opacity:1}}.amp{background:#1d1a17;border:10px solid #2c2722;border-radius:14px;width:560px;padding:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 60px #000,0 18px 50px #000a}.amp .top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.amp .brand{font-family:var(--jak-f-punch);color:var(--jak-acid);letter-spacing:2px;font-size:26px}.amp .knob{background:radial-gradient(circle at 40% 35%,#555,#111);border-radius:50%;width:80px;height:80px;position:relative;box-shadow:0 4px 8px #000}.amp .knob:after{content:"";background:var(--jak-red);transform-origin:bottom;width:4px;height:30px;transform:translateX(-50%) rotate(var(--turn));position:absolute;top:6px;left:50%}.amp .scale{font-family:var(--jak-f-vhs);color:#fff8;text-align:right;font-size:20px}.amp .scale b{color:var(--jak-red);font-size:30px}.amp .cone{background:repeating-radial-gradient(circle,#0b0b0b 0 8px,#1a1a1a 8px 16px);border:8px solid #2c2722;border-radius:50%;width:220px;height:220px;margin:0 auto;animation:.25s ease-in-out infinite cone-pulse}.amp .lvl{text-align:center;font-family:var(--jak-f-punch);color:var(--jak-acid);margin-top:16px;font-size:30px}@keyframes cone-pulse{50%{transform:scale(1.05)}}.setbuild{gap:14px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.setbuild .stage{font-family:var(--jak-f-type);color:#fff5;border:2px dashed #fff3;border-radius:6px;padding:10px 16px;font-size:18px;transition:all .3s}.setbuild .stage.done{color:var(--jak-acid);border-color:var(--jak-acid);text-decoration:line-through}.setbuild .stage.now{color:#fff;background:var(--jak-red);border-color:var(--jak-red);box-shadow:0 0 20px var(--jak-red);transform:scale(1.15)rotate(-2deg)}.squeal{mix-blend-mode:screen;animation:.6s steps(8,end) forwards squeal-flash;position:absolute;inset:0}.squeal .bar{filter:blur(2px);background:#fff8;height:24px;animation:.6s linear forwards squeal-track;position:absolute;left:0;right:0}@keyframes squeal-flash{0%{background:#fff}20%{background:0 0}to{background:0 0}}@keyframes squeal-track{0%{top:-24px}to{top:100%}}.tape{background:var(--jak-gaffer);border:3px solid var(--jak-silver);width:380px;color:var(--jak-paper);border-radius:10px;padding:16px;position:absolute;bottom:40px;left:40px;box-shadow:0 12px 30px #000a}.tape .window{background:var(--jak-paper);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px;display:flex}.tape .reel{border:6px solid var(--jak-ink);border-radius:50%;width:54px;height:54px;animation:2s linear infinite van-spin;position:relative}.tape .reel:after{content:"";background:var(--jak-ink);border-radius:50%;position:absolute;inset:18px}.tape .lbl{font-family:var(--jak-f-marker);color:var(--jak-ink);text-align:center;white-space:nowrap;flex:1;margin:0 10px;font-size:18px;overflow:hidden}.tape .meta{font-family:var(--jak-f-vhs);color:var(--jak-cyan);font-size:18px}.soon{background:#06060733;place-items:center;display:grid;position:absolute;inset:0}.soon .big{font-family:var(--jak-f-vhs);color:#fff;text-shadow:0 0 30px var(--jak-cyan);font-size:160px}.soon .sub{font-family:var(--jak-f-punch);color:var(--jak-red);letter-spacing:4px;font-size:40px}.soon .safelight{background:radial-gradient(circle at 50% 50%, transparent 40%, var(--jak-red) 160%);mix-blend-mode:multiply;opacity:.3;animation:2s ease-in-out infinite cone-pulse;position:absolute;inset:0}.brb{animation:pop-in .35s var(--jak-ease-snap) forwards;font-size:70px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)scale(0)}.poster{background:var(--jak-acid);width:360px;color:var(--jak-ink);text-align:center;animation:pop-in .3s var(--jak-ease-snap) forwards;padding:28px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-3deg)scale(0);box-shadow:0 16px 44px #000a}.poster .head{font-family:var(--jak-f-punch);font-size:30px}.poster .num{font-family:var(--jak-f-punch);color:var(--jak-red);-webkit-text-stroke:2px var(--jak-ink);font-size:96px;line-height:.9}.poster .feat{font-family:var(--jak-f-type);margin-top:8px;font-size:16px}.poster:after{content:"";mix-blend-mode:multiply;opacity:.12;background:radial-gradient(var(--jak-ink) 22%,transparent 23%);background-size:5px 5px;position:absolute;inset:0}.stub{background:var(--jak-paper);color:var(--jak-ink);animation:pop-in .35s var(--jak-ease-snap) forwards;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)scale(0);box-shadow:0 12px 34px #000a}.stub .main{padding:18px 24px}.stub .main .t{font-family:var(--jak-f-punch);font-size:30px}.stub .main .s{font-family:var(--jak-f-type);opacity:.7;font-size:15px}.stub .tear{border-left:3px dashed var(--jak-ink);font-family:var(--jak-f-vhs);writing-mode:vertical-rl;padding:18px;font-size:20px;position:relative}.stub .punch{background:var(--jak-bg);border-radius:50%;width:26px;height:26px;animation:.2s ease-out .5s forwards bp-stamp;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.cockpit-container{height:100%;transition:all var(--transition-normal);flex-direction:column;gap:20px;padding:20px;display:flex;position:relative}.cockpit-top-bar{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--accent-dim);transition:border-color var(--transition-normal);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 4px 15px #0000001a}.status-section{align-items:center;gap:20px;display:flex}.status-pill{letter-spacing:1px;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700}.status-pill.live{color:#4caf50;background:#4caf501a;border:1px solid #4caf50;animation:2s infinite pulse}.status-pill.offline{color:#f44336;background:#f443361a;border:1px solid #f44336}.governor-control{align-items:center;gap:10px;display:flex}.governor-control .label{color:var(--text-muted);font-size:.65rem;font-weight:700}.segmented-control{background:var(--bg-main);border-radius:var(--radius-sm);padding:2px;display:flex}.segmented-control button{color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px 12px;font-size:.7rem;font-weight:600}.segmented-control button.active{background:var(--accent);color:#fff}.vitals-strip{gap:24px;display:flex}.vital-item{flex-direction:column;align-items:flex-end;display:flex}.vital-label{color:var(--text-muted);text-transform:uppercase;font-size:.6rem;font-weight:700}.vital-value{font-size:.9rem;font-weight:600;font-family:var(--font-mono);color:var(--accent);transition:color var(--transition-normal)}.vital-status.ok{color:#4caf50}.vital-status.error{color:#f44336}.cockpit-grid{flex:1;grid-template-columns:300px 1fr;gap:20px;min-height:0;display:grid}.cockpit-left{flex-direction:column;gap:20px;display:flex}.cockpit-card{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--accent-dim);transition:all var(--transition-normal);flex-direction:column;padding:16px;display:flex;box-shadow:0 4px 20px #0003}.cockpit-card:hover{border-color:var(--accent);box-shadow:0 4px 25px var(--accent-glow)}.cockpit-card h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-left:3px solid var(--accent);transition:border-color var(--transition-normal);margin-bottom:12px;padding-left:8px;font-size:.85rem}.song-info{flex-direction:column;gap:4px;display:flex}.current-song{color:var(--accent);transition:color var(--transition-normal);font-size:1rem;font-weight:700}.queue-count{color:var(--text-muted);font-size:.8rem}.cockpit-right{flex-direction:column;min-height:0;display:flex}.feed-card{flex:1;padding:0;overflow:hidden}.feed-card .card-header{border-bottom:1px solid var(--accent-dim);transition:border-color var(--transition-normal);background:#0003;padding:12px 16px}.feed-entries{font-family:var(--font-mono);flex-direction:column;flex:1;gap:8px;padding:10px;font-size:.85rem;display:flex;overflow-y:auto}.feed-entry{background:var(--bg-main);border-radius:var(--radius-sm);border-left:4px solid #555;padding:10px}.feed-entry.source-command{border-left-color:#4caf50}.feed-entry.source-observer{border-left-color:#ff9800}.feed-entry.source-raid{border-left-color:#e91e63}.feed-entry.source-sub{border-left-color:#9c27b0}.feed-entry.source-timer{border-left-color:#2196f3}.feed-entry.source-system{border-left-color:#607d8b}.entry-header{opacity:.7;gap:10px;margin-bottom:4px;font-size:.75rem;display:flex}.entry-time{color:var(--text-muted)}.entry-user{color:var(--text-primary);font-weight:700}.entry-actions{border-top:1px solid #ffffff0d;gap:8px;margin-top:10px;padding-top:8px;display:flex}.entry-actions button{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-size:.65rem;font-weight:700}.entry-actions button:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--text-primary)}.entry-actions button.teach{color:var(--accent);transition:color var(--transition-normal)}.teach-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.teach-modal-card{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-md);width:100%;max-width:500px;box-shadow:0 10px 40px #00000080, 0 0 20px var(--accent-glow);flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) modalEnter;display:flex}@keyframes modalEnter{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--accent-dim);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{border-left:3px solid var(--accent);color:var(--text-primary);margin:0;padding-left:10px;font-size:1rem}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s}.close-btn:hover{color:var(--text-primary)}.mode-selector{background:#0003;gap:10px;padding:10px 20px;display:flex}.mode-selector button{background:var(--bg-main);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px;font-size:.75rem;font-weight:600;transition:all .2s}.mode-selector button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.modal-body{max-height:400px;padding:20px;overflow-y:auto}.teach-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.form-group input,.form-group textarea{background:var(--bg-main);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);padding:10px;font-size:.85rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.help-text{color:var(--text-muted);margin-top:4px;font-size:.7rem}.modal-footer{border-top:1px solid var(--accent-dim);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;font-size:.8rem;font-weight:700;transition:all .2s}.btn-secondary{border:1px solid var(--border-primary);color:var(--text-secondary);background:0 0}.btn-secondary:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 15px var(--accent-glow)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}
