:root{--bg-deep: #0a0c24;--bg-indigo: #12102e;--bg-login: #060a14;--text-1: #e2e8f0;--text-2: #94a3b8;--text-3: #475569;--accent-frontier: #4f8ff7;--accent-frontier-hover: #3a7ae0;--accent-bridge: #fbbf24;--accent-good: #34d399;--accent-bad: #f87171;--glass-1: rgba(18, 16, 46, .3);--glass-2: rgba(18, 16, 46, .45);--glass-3: rgba(18, 16, 46, .55);--glass-4: rgba(18, 16, 46, .75);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 30px;--glass-blur-ambient: 12px;--glass-saturate: 1.3;--glass-shadow: 0 4px 24px rgba(0, 0, 0, .15);--glass-hi: inset 0 1px 0 rgba(255, 255, 255, .04);--house-tint: #c4a8ff;--dot-1: 6px;--dot-2: 8px;--dot-3: 10px;--dot-ring: 1.5px solid rgba(255, 255, 255, .22);--glow-alpha: .55;--glow-mul: 4;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-quart: cubic-bezier(.165, .84, .44, 1);--pad-panel: 16px 20px;--pad-card: 14px 18px;--font-display: "Lora", Georgia, "Times New Roman", serif;--font-mono: "Fira Code", ui-monospace, Menlo, Consolas, monospace;--l-bg: #f5f5f5;--l-text-1: #1a1a1a;--l-text-2: rgba(0, 0, 0, .55);--l-text-3: rgba(0, 0, 0, .32);--l-frontier: #3a7ae0;--l-bridge: #b5850f;--l-good: #1f9d6b;--l-bad: #d4534f;--l-glass-1: rgba(255, 255, 255, .1);--l-glass-2: rgba(255, 255, 255, .16);--l-glass-3: rgba(255, 255, 255, .22);--l-glass-4: rgba(255, 255, 255, .4);--l-glass-hover: rgba(255, 255, 255, .32);--l-glass-border: rgba(255, 255, 255, .55);--l-glass-blur: 20px;--d-mathematics: #8ba8ff;--d-computer_science: #88d4f7;--d-physics: #c4a8ff;--d-economics: #ffe8a0;--d-biology: #90e8c8;--d-philosophy: #d8a8ff;--d-psychology: #ffcc99;--d-history: #ffa8a8;--d-engineering: #b8c8d8;--d-arts: #ffb8d8;--d-interdisciplinary: #c8e8ff;--d-fallback: #67e8f9;--bg-primary: #1e1750;--bg-secondary: #16133a;--bg-glass: var(--glass-2);--bg-glass-border: var(--glass-border);--bg-panel: var(--glass-2);--border-subtle: var(--glass-border);--text-primary: var(--text-1);--text-secondary: var(--text-2);--text-tertiary: var(--text-3);--text-muted: var(--text-3);--bridge-strong: var(--accent-bridge);--bridge-fading: #92711a;--bridge-particle: #fef3c7;--health-good: var(--accent-good);--health-warn: var(--accent-bridge);--health-bad: var(--accent-bad);--frontier-glow: var(--accent-frontier)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-display);font-size:14px;line-height:1.5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a3570;border-radius:2px}.graph-viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse 130% 110% at 50% 48%,#1a1650,#12103a 30%,#0d0e2e 55%,#0a0c24)}@keyframes frontierPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes conceptAppear{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes bridgeFlash{0%{r:0;opacity:.6}to{r:80;opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.node-frontier{transform-box:fill-box;transform-origin:50% 50%;animation:frontierPulse 3s ease-in-out infinite}.concept-detail-panel{animation:slideInRight .3s cubic-bezier(.16,1,.3,1) both}.skeleton{background:linear-gradient(90deg,#1e1750 25%,#2a2060,#1e1750 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px;display:inline-block}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(30px) saturate(1.3);-webkit-backdrop-filter:blur(30px) saturate(1.3);border:1px solid var(--bg-glass-border);border-radius:12px;box-shadow:var(--glass-shadow),var(--glass-hi),inset 0 0 0 1px color-mix(in oklab,var(--house-tint) 8%,transparent)}.dot{width:var(--dot-2);height:var(--dot-2);border-radius:50%;background:currentColor;flex-shrink:0;display:inline-block}.dot--sm{width:var(--dot-1);height:var(--dot-1)}.dot--lg{width:var(--dot-3);height:var(--dot-3)}.dot--alive{box-shadow:0 0 6px color-mix(in srgb,currentColor var(--glow-alpha),transparent)}.dot--empty{background:transparent;border:var(--dot-ring)}code,pre,kbd,samp{font-family:var(--font-mono)}input:focus{outline:none}input::placeholder{color:var(--text-tertiary)}textarea::placeholder{color:var(--text-tertiary)}textarea:focus{outline:none;border-color:#fbbf244d!important}.modal-overlay{animation:fadeIn .18s ease}#graph-tooltip{position:fixed;pointer-events:none;z-index:500;padding:4px 10px;font-size:12px;color:var(--text-primary);white-space:nowrap;display:none}#graph-tooltip.visible{display:block;animation:fadeIn .15s ease}.nav-pill{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:30;backdrop-filter:blur(30px) saturate(1.3);-webkit-backdrop-filter:blur(30px) saturate(1.3);border-radius:24px;padding:8px 24px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s,background .2s,border-color .2s;font-family:var(--font-display)}.nav-pill--dashboard{background:#ffffff14;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 20px #0000001f,inset 0 1px #ffffff1a;color:#fff9;font-size:14px;font-weight:400;letter-spacing:-.02em}.nav-pill--dashboard:hover{color:#ffffffe6;background:#ffffff24;border-color:#ffffff40}.nav-pill--explore{background:#dcdcdc33;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 20px #00000014,inset 0 1px #ffffff4d;color:#0006;font-size:14px;font-weight:400;letter-spacing:-.02em}.nav-pill--explore:hover{color:#000000b3;background:#dcdcdc59}.feedback-pill{position:fixed;right:24px;bottom:76px;z-index:60;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:24px;background:var(--bg-indigo);color:var(--text-1);font-family:var(--font-display);font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--glass-shadow);transition:background .2s,border-color .2s,transform .15s}.feedback-pill:hover{background:#1a1650;border-color:var(--accent-frontier);transform:translateY(-1px)}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#000000a6}.feedback-modal{width:92vw;max-width:460px;max-height:85vh;overflow-y:auto;padding:20px;border-radius:12px;display:flex;flex-direction:column}.feedback-form{display:flex;flex-direction:column;gap:14px}.feedback-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-modal__title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-1)}.feedback-modal__subtitle{margin-top:2px;font-size:12px;color:var(--text-2)}.feedback-close{flex-shrink:0;background:none;border:none;color:var(--text-2);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.feedback-close:hover{color:var(--text-1)}.feedback-sev{display:flex;gap:6px;border:none}.feedback-sev__opt{flex:1;text-align:center;padding:7px 8px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-1);color:var(--text-2);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.feedback-sev__opt:hover{color:var(--text-1)}.feedback-sev__opt--active{background:var(--accent-frontier);border-color:var(--accent-frontier);color:#fff}.feedback-sev__opt input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.feedback-textarea{width:100%;resize:none;padding:10px 12px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-1);color:var(--text-1);font-family:var(--font-display);font-size:14px;line-height:1.5}.feedback-pointer{display:flex;flex-direction:column;gap:8px}.feedback-chips{display:flex;flex-wrap:wrap;gap:6px}.feedback-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-2);font-family:var(--font-mono);font-size:11px;color:var(--text-1)}.feedback-chip__idx,.feedback-chip__tag{color:var(--text-2)}.feedback-chip__text{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-chip__remove{background:none;border:none;color:var(--text-2);cursor:pointer;font-size:14px;line-height:1;padding:0}.feedback-chip__remove:hover{color:var(--text-1)}.feedback-pointer-cta{width:100%;padding:10px 12px;border:1px dashed var(--glass-border);border-radius:8px;background:var(--glass-1);color:var(--text-1);font-family:var(--font-display);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.feedback-pointer-cta:hover:not(:disabled){border-color:var(--accent-frontier);background:var(--glass-2)}.feedback-pointer-cta:disabled{opacity:.5;cursor:not-allowed}.feedback-disclosure{font-size:11px;color:var(--text-2)}.feedback-disclosure__path{font-family:var(--font-mono)}.feedback-disclosure__pathname{color:var(--text-1)}.feedback-disclosure summary{margin-top:4px;cursor:pointer}.feedback-disclosure summary:hover{color:var(--text-1)}.feedback-disclosure__body{margin-top:4px;padding-left:12px;display:flex;flex-direction:column;gap:4px}.feedback-disclosure__line{display:flex;gap:6px}.feedback-disclosure__label{flex-shrink:0;color:var(--text-2)}.feedback-disclosure__json{max-height:128px;overflow:auto;margin-top:4px;padding:8px;border-radius:6px;background:var(--glass-2);font-family:var(--font-mono);font-size:10px;color:var(--text-1)}.feedback-error{font-size:12px;color:var(--accent-bad)}.feedback-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.feedback-kbd-hint{margin-right:auto;font-family:var(--font-display);font-size:11px;color:var(--text-3)}.feedback-kbd-hint kbd{font-family:inherit;font-size:11px;color:var(--text-2);background:var(--glass-1);border:1px solid var(--glass-border);border-radius:4px;padding:1px 5px}.feedback-btn{padding:7px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-1);color:var(--text-1);font-family:var(--font-display);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.feedback-btn:hover:not(:disabled){background:var(--glass-2)}.feedback-btn--primary{background:var(--accent-frontier);border-color:var(--accent-frontier);color:#fff}.feedback-btn--primary:hover:not(:disabled){background:var(--accent-frontier-hover)}.feedback-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-success{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.feedback-pointer-hl{position:fixed;top:0;left:0;z-index:80;pointer-events:none;border:2px solid var(--accent-frontier);border-radius:3px;background:#4f8ff71f;transition:transform .07s,width .07s,height .07s}.feedback-pointer-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:81;pointer-events:none;padding:7px 14px;border-radius:24px;background:var(--bg-indigo);border:1px solid var(--glass-border);color:var(--text-1);font-size:12px;font-weight:500;box-shadow:var(--glass-shadow)}.explore-page{position:relative;width:100%;height:100%;overflow:hidden;background:#f5f5f5;font-family:var(--font-display)}.explore-canvas-container{position:absolute;top:0;left:0;width:100%;height:100%}.explore-canvas-container canvas{display:block}.explore-lines-canvas{position:absolute;top:0;left:0;pointer-events:none;z-index:2}.explore-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:#b4b4b44d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:10px 20px;z-index:10;min-width:420px;transition:opacity .5s ease,transform .5s ease}.explore-prompt.hidden{opacity:0;transform:translate(-50%,-50%) translateY(10px);pointer-events:none}.prompt-prefix{font-size:14px;color:#00000080;white-space:nowrap}.explore-prompt input{flex:1;background:none;border:none;outline:none;font-size:14px;font-weight:600;color:#1a1a1a;font-family:var(--font-display)}.explore-prompt input::placeholder{color:#00000059;font-weight:400}.prompt-submit{width:32px;height:32px;border-radius:50%;background:#0000001a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:#00000080;transition:background .2s}.prompt-submit:hover{background:#0003}.concept-card{position:absolute;display:flex;gap:8px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:8px;max-width:220px;cursor:pointer;transition:transform .2s ease,opacity .6s ease;z-index:5}.concept-card:hover{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 4px 20px #00000014}.card-thumbnail{width:60px;height:55px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#0000000a;display:flex;align-items:center;justify-content:center;font-size:20px;color:#00000026}.card-thumbnail img{width:100%;height:100%;object-fit:cover}.card-content{display:flex;flex-direction:column;gap:2px;min-width:0}.card-title{font-size:12px;font-weight:500;color:#1a1a1a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-domain{font-size:9px;color:#1a1a1a80;text-transform:uppercase;letter-spacing:.5px}.card-strength{height:2px;background:#0000000f;border-radius:1px;margin-top:4px}.card-strength-fill{height:100%;background:#1a1a1a;border-radius:1px;transition:width .3s ease}.dialogue-overlay{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:520px;max-height:400px;background:#ffffffeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:16px;border:1px solid rgba(0,0,0,.06);padding:20px;z-index:20;display:flex;flex-direction:column;gap:12px;animation:explore-fade-up .4s ease}.dialogue-progress{display:flex;justify-content:center;gap:8px}.progress-dot{width:8px;height:8px;border-radius:50%;background:#0000001a;transition:all .3s}.progress-dot.active{background:#0006}.progress-dot.current{background:#1a1a1a;transform:scale(1.3)}.dialogue-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:280px}.dialogue-messages::-webkit-scrollbar{width:3px}.dialogue-messages::-webkit-scrollbar-track{background:transparent}.dialogue-messages::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.dialogue-message{font-size:13px;line-height:1.5;padding:8px 12px;border-radius:12px;max-width:85%;word-wrap:break-word}.dialogue-message.tutor{background:#0000000a;color:#1a1a1a;align-self:flex-start}.dialogue-message.user{background:#1a1a1a;color:#fff;align-self:flex-end}.dialogue-input{display:flex;gap:8px}.dialogue-input input{flex:1;border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:8px 16px;font-size:13px;outline:none;background:#fff;font-family:var(--font-display);color:#1a1a1a}.dialogue-input input::placeholder{color:#0000004d}.dialogue-input button{width:36px;height:36px;border-radius:50%;background:#1a1a1a;color:#fff;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s}.dialogue-input button:hover{background:#333}.dialogue-input button:disabled{opacity:.4;cursor:default}.destination-card{position:absolute;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:14px;border:1px solid rgba(0,0,0,.06);padding:16px;width:260px;cursor:pointer;z-index:15;transition:transform .3s ease,box-shadow .3s ease;transform:translate(-50%,-50%);animation:explore-fade-up .5s ease}.destination-card:hover{transform:translate(-50%,-50%) translateY(-4px);box-shadow:0 8px 30px #00000014}.destination-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:6px}.destination-hook{font-size:12px;color:#0000008c;line-height:1.5;margin-bottom:10px}.destination-meta{display:flex;align-items:center;justify-content:space-between}.destination-path-length{font-size:10px;color:#00000059;text-transform:uppercase;letter-spacing:.5px}.destination-begin{font-size:11px;font-weight:600;color:#1a1a1a;background:#0000000f;border:none;border-radius:12px;padding:4px 12px;cursor:pointer;transition:background .2s}.destination-begin:hover{background:#0000001f}.explore-back-btn{position:absolute;top:24px;left:24px;z-index:30;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:background .2s;font-family:var(--font-display)}.explore-back-btn:hover{background:#ffffffe6}.explore-stats{position:absolute;top:24px;right:24px;z-index:30;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:8px 14px;font-size:12px;color:#00000080;font-family:var(--font-display);line-height:1.6}.explore-stats strong{color:#1a1a1a;font-weight:600}.explore-tooltip{position:absolute;pointer-events:none;z-index:25;padding:4px 10px;font-size:11px;color:#1a1a1a;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;border:1px solid rgba(0,0,0,.06);white-space:nowrap;opacity:0;transition:opacity .15s ease;font-family:var(--font-display)}.explore-tooltip.visible{opacity:1}.explore-tooltip{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;max-width:280px}.tooltip-thumb{width:36px;height:36px;border-radius:5px;object-fit:cover;flex-shrink:0}.tooltip-body{display:flex;flex-direction:column;gap:1px;min-width:0}.tooltip-title{font-size:11px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-domain{font-size:9px;color:#0006;text-transform:uppercase;letter-spacing:.4px}.linger-card{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:8;display:flex;flex-direction:column;align-items:center;gap:4px}.linger-photo{width:80px;height:80px;border-radius:8px;object-fit:cover;box-shadow:0 2px 12px #00000026}.linger-pill{font-size:10px;font-weight:600;color:#fff;background:#00000073;padding:2px 8px;border-radius:10px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display)}.linger-card.linger-known .linger-photo{width:100px;height:100px;border-radius:10px;box-shadow:0 3px 18px #00000038}.linger-card.linger-known .linger-pill{font-size:11px;background:#503c2899;max-width:140px}.linger-strength{height:3px;background:#ffffff40;border-radius:2px;width:60px}.linger-strength-fill{height:100%;background:#fffc;border-radius:2px}@keyframes explore-fade-up{0%{opacity:0;transform:translate(-50%,-50%) translateY(12px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}@keyframes explore-fade-in{0%{opacity:0}to{opacity:1}}.journey-complete{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;text-align:center;background:#ffffffeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:16px;border:1px solid rgba(0,0,0,.06);padding:32px 40px;animation:explore-fade-in .5s ease}.journey-complete h2{font-size:20px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.journey-complete p{font-size:13px;color:#00000080;margin-bottom:20px;line-height:1.5}.journey-complete button{font-size:13px;font-weight:600;color:#1a1a1a;background:#0000000f;border:none;border-radius:10px;padding:8px 20px;cursor:pointer;transition:background .2s;font-family:var(--font-display)}.journey-complete button:hover{background:#0000001f}.explore-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:12px}.explore-spinner{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.08);border-top-color:#1a1a1a;animation:explore-spin .8s linear infinite}.explore-loading-text{font-size:12px;color:#00000059}@keyframes explore-spin{to{transform:rotate(360deg)}}.explore-error{position:absolute;top:calc(50% + 44px);left:50%;transform:translate(-50%);z-index:31;padding:8px 16px;border-radius:12px;background:#ffffffeb;border:1px solid rgba(190,40,40,.4);color:#b00020;font-family:var(--font-display);font-size:13px;white-space:nowrap;box-shadow:0 6px 20px #141e3c1a}.concept-card,.destination-card,.dialogue-overlay,.journey-complete,.explore-prompt{background:var(--l-glass-2);-webkit-backdrop-filter:blur(var(--l-glass-blur)) saturate(.88) brightness(1.02);backdrop-filter:blur(var(--l-glass-blur)) saturate(.88) brightness(1.02);border:1px solid var(--l-glass-border);box-shadow:0 10px 32px #141e3c12,inset 0 1px #ffffffd9,inset 0 -1px #0000000a}.concept-card,.destination-card,.explore-prompt{border-radius:16px}.dialogue-overlay,.journey-complete{border-radius:18px}.dialogue-overlay{background:var(--l-glass-3)}.journey-complete{background:var(--l-glass-4)}.concept-card:hover,.destination-card:hover,.dialogue-overlay:hover{background:var(--l-glass-hover);box-shadow:0 18px 44px #141e3c1f,inset 0 1px #fff,inset 0 -1px #0000000d}.prompt-submit{background:var(--l-frontier);color:#fff}.prompt-submit:hover{background:color-mix(in oklab,var(--l-frontier) 88%,black)}.dialogue-message.user,.dialogue-input button{background:var(--l-frontier)}.dialogue-input button:hover{background:color-mix(in oklab,var(--l-frontier) 88%,black)}.admin-dashboard{display:flex;height:100vh;background:#0a0e28;color:#e2e8f0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px}.admin-sidebar{width:200px;min-width:200px;background:#12102e80;border-right:1px solid rgba(255,255,255,.1);padding:16px 0;overflow-y:auto;display:flex;flex-direction:column}.admin-sidebar-title{padding:8px 16px 16px;font-size:14px;font-weight:600;color:#e2e8f0;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.admin-sidebar button{width:100%;text-align:left;padding:7px 16px;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px;font-family:inherit;transition:all .15s}.admin-sidebar button:hover{background:#ffffff0d;color:#e2e8f0}.admin-sidebar button.active{background:#4f8ff71a;color:#4f8ff7;border-right:2px solid #4f8ff7}.admin-sidebar-back{margin-top:auto;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-back button{color:#475569;font-size:11px}.admin-content{flex:1;padding:24px;overflow-y:auto;min-width:0}.admin-content h2{font-size:18px;font-weight:500;margin:0 0 20px;color:#f1f5f9}.admin-content h3{font-size:14px;font-weight:500;margin:16px 0 10px;color:#cbd5e1}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.admin-stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.admin-stat-card.warning{border-color:#fbbf244d}.admin-stat-card.danger{border-color:#ef44444d}.admin-stat-number{font-size:24px;font-weight:300;font-family:Inter,sans-serif}.admin-stat-label{font-size:11px;color:#475569;margin-top:4px;text-transform:uppercase;letter-spacing:.3px}.admin-table-wrap{overflow-x:auto;margin-bottom:16px}.admin-table{width:100%;border-collapse:collapse;font-size:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.admin-table th{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);color:#475569;font-weight:500;text-transform:uppercase;font-size:10px;letter-spacing:.5px;white-space:nowrap}.admin-table td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.03);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table tr:hover{background:#ffffff05}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover{background:#4f8ff70f}.admin-table tr.expanded{background:#4f8ff70a}.admin-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 12px;color:#e2e8f0;cursor:pointer;font-size:12px;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.admin-btn:hover{background:#ffffff1f}.admin-btn:disabled{opacity:.4;cursor:not-allowed}.admin-btn--danger{border-color:#ef44444d;color:#f87171}.admin-btn--danger:hover{background:#ef44441a}.admin-btn--primary{background:#4f8ff726;border-color:#4f8ff74d;color:#4f8ff7}.admin-btn--primary:hover{background:#4f8ff740}.admin-btn--small{padding:3px 8px;font-size:11px}.admin-input{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 10px;color:#e2e8f0;font-size:12px;font-family:inherit;outline:none;transition:border-color .15s}.admin-input:focus{border-color:#4f8ff780}.admin-select{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 10px;color:#e2e8f0;font-size:12px;font-family:inherit;outline:none;cursor:pointer}.admin-select option{background:#0a0e28}.admin-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.admin-json{background:#0000004d;border-radius:6px;padding:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto;color:#94a3b8}.admin-chat{display:flex;flex-direction:column;gap:8px;max-height:500px;overflow-y:auto;padding:12px;background:#0003;border-radius:8px}.admin-chat-msg{padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.5;max-width:85%;white-space:pre-wrap}.admin-chat-msg.tutor{background:#4f8ff71a;border:1px solid rgba(79,143,247,.15);align-self:flex-start}.admin-chat-msg.user{background:#ffffff1a;border:1px solid rgba(255,255,255,.08);align-self:flex-end}.admin-chat-role{font-size:10px;color:#475569;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.admin-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.3px}.admin-badge--green{background:#22c55e26;color:#4ade80}.admin-badge--yellow{background:#fbbf2426;color:#fbbf24}.admin-badge--red{background:#ef444426;color:#f87171}.admin-badge--blue{background:#4f8ff726;color:#4f8ff7}.admin-badge--gray{background:#ffffff14;color:#94a3b8}.admin-pagination{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:#475569}.admin-loading,.admin-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#475569;font-size:13px}.admin-detail-panel{background:#00000026;border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:16px;margin:8px 0 16px}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.admin-detail-field{font-size:12px}.admin-detail-label{color:#475569;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.admin-backfill-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.admin-backfill-item:last-child{border-bottom:none}.admin-backfill-info{flex:1}.admin-backfill-name{font-weight:500;margin-bottom:2px}.admin-backfill-endpoint{font-size:11px;color:#475569;font-family:JetBrains Mono,monospace}.admin-backfill-result{font-size:11px;color:#94a3b8;margin-top:4px}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.1);border-top-color:#4f8ff7;animation:admin-spin .7s linear infinite;display:inline-block}.quality-deep{color:#4ade80}.quality-moderate{color:#fbbf24}.quality-decorative{color:#fb923c}.admin-refresh-bar{display:flex;align-items:center;gap:12px;padding:6px 10px;margin-bottom:14px;background:#12102e8c;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:11px;color:#94a3b8}.admin-refresh-stamp strong{color:#cbd5e1;font-weight:500}.admin-refresh-auto{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-refresh-auto input{margin:0}.admin-explainer{position:relative;display:inline-block;margin-left:4px}.admin-explainer-icon{background:none;border:1px solid rgba(255,255,255,.15);color:#94a3b8;width:14px;height:14px;border-radius:50%;font-size:10px;line-height:1;padding:0;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.admin-explainer-icon:hover{color:#4f8ff7;border-color:#4f8ff7;background:#4f8ff714}.admin-explainer-popover{position:absolute;z-index:100;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:340px;background:#151334;border:1px solid rgba(79,143,247,.35);border-radius:6px;padding:10px 12px;box-shadow:0 8px 24px #00000080;font-size:11px;line-height:1.5;color:#cbd5e1;text-align:left;font-weight:400}.admin-explainer-popover--top{top:auto;bottom:calc(100% + 6px)}.admin-explainer-title{font-weight:600;color:#e2e8f0;margin-bottom:6px;font-size:12px}.admin-explainer-formula{background:#00000059;border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:8px;margin:6px 0;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;color:#a5d6ff;white-space:pre-wrap;overflow-x:auto}.admin-explainer-body{margin:4px 0}.admin-explainer-source{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06);font-size:10px;color:#64748b}.admin-explainer-source code{color:#94a3b8;font-family:JetBrains Mono,Menlo,Consolas,monospace}.admin-metric-card{background:#12102e99;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:14px 16px;min-width:140px;transition:all .15s;position:relative}.admin-metric-card.warning{border-color:#fbbf2459;background:#fbbf240d}.admin-metric-card.danger{border-color:#f8717166;background:#f871710f}.admin-metric-card--clickable{cursor:pointer}.admin-metric-card--clickable:hover{border-color:#4f8ff773;background:#4f8ff70f;transform:translateY(-1px)}.admin-metric-number{font-size:22px;font-weight:600;color:#e2e8f0;font-family:JetBrains Mono,Menlo,Consolas,monospace;line-height:1.1}.admin-metric-card.warning .admin-metric-number{color:#fbbf24}.admin-metric-card.danger .admin-metric-number{color:#f87171}.admin-metric-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;display:flex;align-items:center}.admin-metric-hint{font-size:10px;color:#64748b;margin-top:4px}.admin-sortable-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:4px 0}.admin-sortable-count{font-size:11px;color:#64748b;margin-right:auto}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-table th.sortable:hover{color:#e2e8f0}.admin-th-label{display:inline-flex;align-items:center;gap:4px}.admin-sort-arrow{color:#4f8ff7;font-size:9px}.admin-filter-row th{padding:2px 4px 4px!important;background:#0003}.admin-filter-input{width:100%;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:3px;padding:3px 5px;font-size:10px;color:#cbd5e1;font-family:inherit}.admin-filter-input:focus{outline:none;border-color:#4f8ff773}.admin-table--compact td,.admin-table--compact th{padding:4px 8px}.admin-empty-row{text-align:center;padding:20px!important;color:#64748b;font-style:italic}.admin-expanded-row td{background:#0003}.admin-strength-bar{display:inline-flex;align-items:center;gap:6px}.admin-strength-bar-track{width:60px;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.admin-strength-bar-fill{height:100%;border-radius:3px;transition:width .3s}.admin-strength-bar-val{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;color:#94a3b8;min-width:28px}.admin-priority-row{display:grid;grid-template-columns:30px 1fr 200px 60px 120px;gap:10px;align-items:center;padding:6px 8px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04)}.admin-priority-row:hover{background:#4f8ff70d}.admin-priority-rank{color:#64748b;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;text-align:right}.admin-priority-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e2e8f0}.admin-priority-bar-track{width:100%;height:10px;background:#ffffff0d;border-radius:5px;overflow:hidden;position:relative}.admin-priority-bar-fill{height:100%;border-radius:5px}.admin-priority-value{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;text-align:right}.admin-drift-item{padding:10px 12px;margin-bottom:6px;background:#fbbf240f;border:1px solid rgba(251,191,36,.3);border-radius:6px;font-size:12px}.admin-drift-item--error{background:#f871710f;border-color:#f8717159}.admin-drift-item-title{font-weight:600;color:#fbbf24;margin-bottom:4px}.admin-drift-item--error .admin-drift-item-title{color:#f87171}.admin-drift-item code{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;color:#cbd5e1}.admin-drift-ok{padding:10px 12px;background:#4ade800f;border:1px solid rgba(74,222,128,.3);border-radius:6px;font-size:12px;color:#4ade80}.quality-none{color:#f87171}
