:root{--bg:#f7f7fa;--surface:#ffffff;--surface-alt:#f2f2f6;--text:#17171c;--text-mute:#6b7280;--border:#e7e7ed;--accent:#6c5ce7;--accent-2:#8b7bff;--accent-3:#b76cf0;--highlight:#16b8a6;--accent-soft:color-mix(in srgb,var(--accent) 12%,transparent);--accent-line:color-mix(in srgb,var(--accent) 34%,transparent);--accent-text:color-mix(in srgb,var(--accent) 88%,var(--text));--surface-hover:color-mix(in srgb,var(--surface) 92%,var(--text));--border-strong:color-mix(in srgb,var(--border) 55%,var(--text));--danger:#e5484d;--warn:#f5a524;--ok:#12a594;--arc:linear-gradient(100deg,var(--accent) 0%,var(--accent-2) 52%,var(--accent-3) 100%);--glass-blur:0px;--glass-opacity:1;--glass-saturate:1;--panel-bg:color-mix(in srgb,var(--surface) calc(var(--glass-opacity) * 100%),transparent);--bg-art:none;--bg-art-size:cover;--bg-scrim:0;--bg-blur:0px;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;--radius-scale:16px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--t-xs:11px;--t-sm:12px;--t-base:13px;--t-md:14px;--t-lg:16px;--t-xl:20px;--t-2xl:26px;--t-3xl:34px;--shadow-1:0 1px 2px rgba(16,18,32,0.05);--shadow-2:0 2px 8px rgba(16,18,32,0.07),0 1px 2px rgba(16,18,32,0.05);--shadow-3:0 12px 32px rgba(16,18,32,0.1),0 2px 8px rgba(16,18,32,0.06);--shadow-4:0 24px 64px rgba(16,18,32,0.16),0 4px 12px rgba(16,18,32,0.08);--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--mono:"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--ease:cubic-bezier(0.22,0.61,0.36,1);--dur:180ms;color-scheme:light}:root[data-mode=dark]{--shadow-1:0 1px 2px rgba(0,0,0,0.3);--shadow-2:0 2px 8px rgba(0,0,0,0.36);--shadow-3:0 12px 32px rgba(0,0,0,0.45);--shadow-4:0 24px 64px rgba(0,0,0,0.55);color-scheme:dark}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--t-md);line-height:1.55;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}body:before{background-image:var(--bg-art);background-size:var(--bg-art-size);background-position:50%;background-repeat:no-repeat;filter:blur(var(--bg-blur));transform:scale(1.04)}body:after,body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}body:after{background:var(--bg);opacity:var(--bg-scrim)}#app-root{position:relative;z-index:1;height:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 16%,transparent);border-radius:var(--r-full);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 28%,transparent);background-clip:padding-box;border:3px solid transparent}.t-title{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.025em;line-height:1.28}.t-head{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em;line-height:1.34}.t-sub{font-size:var(--t-lg);font-weight:650;letter-spacing:-.015em}.t-body{font-size:var(--t-md)}.t-small{font-size:var(--t-base)}.t-cap{font-size:var(--t-sm)}.t-cap,.t-mute{color:var(--text-mute)}.t-mono{font-family:var(--mono);font-size:var(--t-sm);letter-spacing:0}.t-grad{background:var(--arc);-webkit-background-clip:text;background-clip:text;color:transparent}.row{gap:var(--s2)}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between;gap:var(--s3)}.col{display:flex;flex-direction:column;gap:var(--s2)}.grow{flex:1 1;min-width:0}.wrap{flex-wrap:wrap}.scroll-y{overflow-y:auto;overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-scale);box-shadow:var(--shadow-2)}.card-pad{padding:var(--s5)}.card-hover{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-3);border-color:var(--accent-line)}.glass{backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:36px;padding:0 var(--s4);border-radius:var(--r);font-size:var(--t-base);font-weight:600;white-space:nowrap;border:1px solid transparent;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform 90ms var(--ease)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 86%,#000)}.btn-arc{background:var(--arc);color:#fff;box-shadow:var(--shadow-2)}.btn-arc:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-alt);border-color:var(--border-strong)}.btn-quiet{background:transparent;color:var(--text-mute)}.btn-quiet:hover:not(:disabled){background:var(--surface-alt);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-sm{height:28px;padding:0 var(--s3);font-size:var(--t-sm);border-radius:var(--r-sm)}.btn-lg{height:44px;padding:0 var(--s5);font-size:var(--t-md);border-radius:var(--r-lg)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-mute);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:hover{background:var(--surface-alt);color:var(--text)}.field{display:flex;flex-direction:column;gap:var(--s2)}.field-label{font-size:var(--t-base);font-weight:600}.field-hint{font-size:var(--t-sm);color:var(--text-mute)}.field-error{font-size:var(--t-sm);color:var(--danger)}.input,.select,.textarea{width:100%;padding:9px var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r);font-size:var(--t-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--text-mute) 72%,transparent)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:84px;line-height:1.6}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--s6);background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:5px 5px;background-repeat:no-repeat}.switch{position:relative;width:38px;height:22px;border-radius:var(--r-full);background:color-mix(in srgb,var(--text) 18%,transparent);transition:background var(--dur) var(--ease);flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease)}.switch[data-on=true]{background:var(--accent)}.switch[data-on=true]:after{transform:translateX(16px)}.badge{display:inline-flex;align-items:center;gap:var(--s1);height:22px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--surface-alt);color:var(--text-mute);font-size:var(--t-sm);font-weight:600;white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.badge-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:color-mix(in srgb,var(--warn) 80%,var(--text))}.badge-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.badge-mono{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.02em}.tabs{display:inline-flex;gap:var(--s1);padding:var(--s1);background:var(--surface-alt);border-radius:var(--r)}.tab{height:30px;padding:0 var(--s3);border-radius:var(--r-sm);font-size:var(--t-base);font-weight:600;color:var(--text-mute);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tab:hover{color:var(--text)}.tab[data-active=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.table{width:100%;border-collapse:collapse;font-size:var(--t-base)}.table th{text-align:left;padding:var(--s2) var(--s3);font-weight:600;font-size:var(--t-sm);color:var(--text-mute);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:var(--s3);vertical-align:top}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-alt)}.overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--s5);background:color-mix(in srgb,#0a0b12 52%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--dur) var(--ease)}.modal{width:100%;max-width:520px;max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-4);animation:rise .22s var(--ease);overflow:hidden}.modal-lg{max-width:780px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s5) var(--s5) var(--s4)}.modal-body{padding:0 var(--s5) var(--s5);overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:var(--s2);padding:var(--s4) var(--s5);border-top:1px solid var(--border);background:var(--surface-alt)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.985)}}.dock-launcher-label{align-self:center;padding-right:var(--s1);font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;color:var(--text-mute);white-space:nowrap}.skeleton{background:linear-gradient(90deg,var(--surface-alt) 25%,color-mix(in srgb,var(--surface-alt) 60%,var(--surface)) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-sm)}@keyframes shimmer{to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s7) var(--s5);text-align:center;color:var(--text-mute)}.empty-icon{font-size:30px;opacity:.55}.spinner{width:15px;height:15px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentcolor;border-radius:50%;animation:spin .64s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}.progress{height:6px;border-radius:var(--r-full);background:var(--surface-alt);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:var(--arc);transition:width .6s var(--ease)}.stars{display:inline-flex;gap:1px;color:var(--warn);font-size:var(--t-base);line-height:1}.stars-btn{color:inherit;font-size:inherit;line-height:1;padding:1px;border-radius:3px}.toast-host{position:fixed;bottom:var(--s5);left:50%;transform:translateX(-50%);z-index:400;display:flex;flex-direction:column;gap:var(--s2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r);background:var(--text);color:var(--bg);font-size:var(--t-base);font-weight:600;box-shadow:var(--shadow-3);animation:rise .2s var(--ease);pointer-events:auto}.toast[data-tone=danger]{background:var(--danger);color:#fff}.toast[data-tone=ok]{background:var(--ok);color:#fff}.md{font-size:var(--t-md);line-height:1.72;word-break:break-word}.md>*+*{margin-top:.85em}.md h1,.md h2,.md h3{font-weight:700;letter-spacing:-.02em;line-height:1.35;margin-top:1.5em}.md h1{font-size:var(--t-xl)}.md h2{font-size:var(--t-lg)}.md h3{font-size:var(--t-md)}.md ol,.md ul{padding-left:1.3em}.md li+li{margin-top:.3em}.md code{font-family:var(--mono);font-size:.9em;padding:.14em .4em;border-radius:5px}.md code,.md pre{background:var(--surface-alt)}.md pre{padding:var(--s4);border-radius:var(--r);overflow-x:auto}.md pre code{background:none;padding:0}.md blockquote{padding-left:var(--s4);border-left:3px solid var(--accent-line);color:var(--text-mute)}.md table{width:100%;border-collapse:collapse;font-size:var(--t-base)}.md td,.md th{padding:var(--s2) var(--s3);border:1px solid var(--border);text-align:left}.md th{background:var(--surface-alt);font-weight:600}.md a{text-decoration:underline;text-underline-offset:2px}.md hr{border:none;border-top:1px solid var(--border)}.md .katex-display{max-width:100%;margin:.75em 0;padding:.18em 0;overflow-x:auto;overflow-y:hidden}.md .katex-display>.katex{text-align:left}.auth-wrap{display:grid;place-items:center;height:100%;padding:var(--s5)}.auth-card{width:100%;max-width:396px;padding:var(--s6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-3)}.auth-brand{font-size:var(--t-3xl);font-weight:800;letter-spacing:-.045em;line-height:1}.auth-sub{margin-top:var(--s2);font-size:var(--t-base);color:var(--text-mute)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.desk{display:flex;flex-direction:column;height:100%;min-height:0}.desk-stage{position:relative;flex:1 1;min-height:0;padding:var(--s3)}.win{position:absolute;display:flex;flex-direction:column;min-width:0;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-scale);box-shadow:var(--shadow-2);overflow:hidden;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.win-active{border-color:var(--accent-line);box-shadow:var(--shadow-4)}.win-dragging{transition:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:left,top,width,height}.win-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);height:38px;padding:0 var(--s2) 0 var(--s3);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-alt) 70%,transparent);cursor:-webkit-grab;cursor:grab;flex:none}.win-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.win-title{display:flex;align-items:center;gap:var(--s2);min-width:0;font-size:var(--t-base);font-weight:650}.win-icon{font-size:var(--t-md);line-height:1}.win-ctl{display:flex;gap:2px;flex:none}.win-ctl button{width:26px;height:26px;border-radius:var(--r-sm);color:var(--text-mute);font-size:var(--t-sm);line-height:1;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.win-ctl button:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.win-ctl .win-close:hover{background:var(--danger);color:#fff}.win-body{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain}.win-grip{position:absolute;z-index:2}.win-grip-n{top:-3px}.win-grip-n,.win-grip-s{left:10px;right:10px;height:7px;cursor:ns-resize}.win-grip-s{bottom:-3px}.win-grip-e{right:-3px}.win-grip-e,.win-grip-w{top:10px;bottom:10px;width:7px;cursor:ew-resize}.win-grip-w{left:-3px}.win-grip-ne{right:-3px;cursor:nesw-resize}.win-grip-ne,.win-grip-nw{top:-3px;width:14px;height:14px}.win-grip-nw{left:-3px;cursor:nwse-resize}.win-grip-se{right:-3px;cursor:nwse-resize}.win-grip-se,.win-grip-sw{bottom:-3px;width:14px;height:14px}.win-grip-sw{left:-3px;cursor:nesw-resize}.snap-hint{position:absolute;z-index:1;border-radius:var(--radius-scale);background:var(--accent-soft);border:2px dashed var(--accent-line);pointer-events:none;animation:fade .12s var(--ease)}.dock{flex:none;flex-direction:column;padding:var(--s2) var(--s3);border-top:1px solid var(--border);background:var(--panel-bg)}.dock,.dock-scroll{display:flex;gap:var(--s2)}.dock-scroll{overflow-x:auto;overscroll-behavior-x:contain}.dock-scroll:empty{display:none}.dock-panel{flex:0 0 auto;max-width:460px;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.dock-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s3);font-weight:650;border-bottom:1px solid var(--border)}.dock-panel-head,.dock-panel-head button{font-size:var(--t-sm);color:var(--text-mute)}.dock-panel-head button{padding:2px 4px;border-radius:4px}.dock-panel-head button:hover{background:var(--surface-alt);color:var(--text)}.dock-panel-body{padding:var(--s3);max-height:168px;overflow-y:auto}.dock-tray{align-items:center}.dock-launcher,.dock-tray{display:flex;gap:var(--s2);flex-wrap:wrap}.dock-launcher{padding-left:var(--s2);margin-left:auto;border-left:1px solid var(--border)}.dock-chip{display:inline-flex;align-items:center;gap:var(--s2);max-width:190px;height:30px;padding:0 var(--s3);border-radius:var(--r-full);background:var(--surface-alt);border:1px solid transparent;font-size:var(--t-sm);font-weight:600;color:var(--text);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.dock-chip:hover{background:var(--accent-soft);border-color:var(--accent-line)}.dock-chip-ghost{background:transparent;border-color:var(--border);color:var(--text-mute)}.dock-chip-ghost:hover{color:var(--accent-text)}.drawer-scrim{position:absolute;inset:0;z-index:90;background:color-mix(in srgb,#0a0b12 30%,transparent);animation:fade var(--dur) var(--ease)}.drawer{left:50%;transform:translateX(-50%);z-index:91;width:min(880px,94%);max-height:74%;display:flex;flex-direction:column;background:var(--panel-bg);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r-xl) var(--r-xl);box-shadow:var(--shadow-4);animation:drop .42s cubic-bezier(.16,.9,.3,1)}.drawer,.drawer:before{position:absolute;top:0}.drawer:before{content:"";left:0;right:0;height:3px;background:var(--arc)}@keyframes drop{0%{transform:translate(-50%,calc(-100% - 8px))}}.drawer-head{padding:var(--s4) var(--s5) var(--s3);flex:none}.drawer-body{padding:0 var(--s5) var(--s4);min-height:0}.drawer-grab{position:relative;width:100%;height:22px;flex:none;border-radius:0 0 var(--r-xl) var(--r-xl)}.drawer-grab:after{content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);width:52px;height:5px;border-radius:var(--r-full);background:var(--border-strong);opacity:.55;transition:opacity var(--dur) var(--ease),width var(--dur) var(--ease)}.drawer-grab:hover:after{opacity:1;width:72px}.hud-layer{position:absolute;top:var(--s4);right:var(--s4);z-index:80;display:flex;flex-direction:column;gap:var(--s2);width:300px;max-height:calc(100% - var(--s6));overflow-y:auto;pointer-events:none}.hud-card{padding:var(--s3);border-radius:var(--r);background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--accent-line);box-shadow:var(--shadow-3);pointer-events:auto}.surface-full{position:absolute;inset:0;z-index:120;display:flex;flex-direction:column;background:var(--panel-bg);border-radius:var(--radius-scale);animation:fade var(--dur) var(--ease)}.surface-full-bar{padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);flex:none}.surface-full-body{flex:1 1;min-height:0;padding:var(--s5)}.console{flex-direction:column;height:100%}.console,.console-body{display:flex;min-height:0}.console-body{flex:1 1}.console-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:var(--s4);height:52px;padding:0 var(--s4);border-bottom:1px solid var(--border);background:var(--panel-bg);flex:none}.topbar-locked{justify-content:space-between}.brand{font-size:var(--t-lg);font-weight:800;letter-spacing:-.04em}.mode-switch{display:flex;gap:2px;padding:3px;background:var(--surface-alt);border-radius:var(--r)}.mode-switch button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:600;color:var(--text-mute);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.mode-switch button:hover{color:var(--text)}.mode-switch button[data-active=true]{background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow-1)}.armed-chip{display:inline-flex;align-items:center;gap:5px;max-width:190px;height:26px;padding:0 10px;border-radius:var(--r-full);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text);flex:none}.armed-chip,.tier-select{font-size:var(--t-sm);font-weight:600}.tier-select{padding:0 var(--s2);border:1px solid var(--border);background:var(--surface)}.nav-btn,.tier-select{height:30px;border-radius:var(--r-sm);color:var(--text-mute)}.nav-btn{padding:0 var(--s3);font-size:var(--t-sm);font-weight:600;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-btn:hover{background:var(--surface-alt);color:var(--text)}.nav-btn-on{background:var(--accent-soft);color:var(--accent-text)}.acct{position:relative}.acct-btn{width:30px;height:30px;border-radius:50%;background:var(--arc);color:#fff;font-size:var(--t-sm);font-weight:700}.acct-menu{position:absolute;top:38px;right:0;z-index:300;width:208px;padding:var(--s2);box-shadow:var(--shadow-3)}.acct-head{display:flex;flex-direction:column;gap:2px;padding:var(--s2) var(--s3) var(--s3);border-bottom:1px solid var(--border);margin-bottom:var(--s1)}.acct-item{display:block;width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-size:var(--t-base);font-weight:600;text-align:left;color:var(--text)}.acct-item:hover{background:var(--surface-alt);text-decoration:none}.rail{width:226px;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);border-right:1px solid var(--border);background:var(--panel-bg);flex:none;transition:width var(--dur) var(--ease)}.rail[data-collapsed=true]{width:60px}.rail-top{display:flex}.rail-new,.rail-top{align-items:center;gap:var(--s2)}.rail-new{display:inline-flex;justify-content:center;flex:1 1;height:34px;border-radius:var(--r);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text);font-size:var(--t-base);font-weight:650}.rail-new:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.rail-list{display:flex;flex-direction:column;gap:2px;flex:1 1;min-height:0}.rail-item{display:flex;align-items:center;border-radius:var(--r-sm)}.rail-item:hover{background:var(--surface-alt)}.rail-item[data-active=true]{background:var(--accent-soft)}.rail-item-main{flex:1 1;min-width:0;padding:8px 10px;text-align:left;font-size:var(--t-base);color:var(--text)}.rail-item[data-active=true] .rail-item-main{color:var(--accent-text);font-weight:600}.rail-item-del{padding:4px 8px;color:var(--text-mute);font-size:var(--t-sm);opacity:0;transition:opacity var(--dur) var(--ease)}.rail-item:hover .rail-item-del{opacity:1}.rail-item-del:hover{color:var(--danger)}.page{flex:1 1;min-height:0}.page-inner{max-width:1080px;margin:0 auto;padding:var(--s6) var(--s5) var(--s7)}.chat{flex-direction:column;height:100%}.chat,.chat-stream{display:flex;min-height:0}.chat-stream{flex:1 1;flex-direction:column;gap:var(--s5);padding:var(--s5)}.chat-loading{align-self:center;padding:var(--s5)}.msg{display:flex;flex-direction:column}.msg-user{align-items:flex-end}.msg-user-bubble{max-width:82%;padding:10px var(--s4);border-radius:var(--r-lg) var(--r-lg) var(--r-sm) var(--r-lg);color:#fff;font-size:var(--t-md);line-height:1.6;white-space:pre-wrap;word-break:break-word}.caret,.msg-user-bubble{background:var(--accent)}.caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.retrieval{display:flex;flex-direction:column;gap:6px;padding:var(--s3);border-radius:var(--r);background:var(--surface-alt)}.retrieval-chip{display:inline-flex;align-items:center;max-width:260px;height:24px;padding:0 10px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-panels{display:flex;flex-direction:column;gap:var(--s3)}.inline-panel{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface)}.inline-panel-head{padding:var(--s2) var(--s3);font-size:var(--t-sm);font-weight:650;color:var(--text-mute);border-bottom:1px solid var(--border);background:var(--surface-alt)}.composer{display:flex;align-items:flex-end;gap:var(--s2);padding:var(--s3);border-top:1px solid var(--border);background:var(--panel-bg);flex:none}.composer-input{flex:1 1;min-height:38px;max-height:180px;padding:9px var(--s3);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);font-size:var(--t-md);line-height:1.55;resize:none}.composer-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.panel-pad{padding:var(--s3) var(--s4) var(--s4)}.panel-text{font-size:var(--t-base);line-height:1.7}.panel-caution{padding:var(--s3);border-radius:var(--r-sm);background:color-mix(in srgb,var(--warn) 12%,transparent);border-left:3px solid var(--warn)}.panel-caution,.panel-sources{font-size:var(--t-base);line-height:1.6}.panel-sources{display:flex;flex-direction:column;gap:6px;padding-left:1.1em}.action-chip{display:flex;align-items:flex-start;gap:var(--s2);padding:9px var(--s3);border-radius:var(--r-sm);background:var(--surface-alt);border:1px solid transparent;font-size:var(--t-base);line-height:1.5;text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.action-chip:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-line)}.action-arrow{color:var(--accent);flex:none;font-weight:700}.check-row{display:flex;align-items:flex-start;gap:var(--s2);padding:6px 4px;border-radius:var(--r-sm);font-size:var(--t-base);line-height:1.5;cursor:pointer}.check-row:hover{background:var(--surface-alt)}.check-row input{margin-top:3px;accent-color:var(--accent);flex:none}.check-row[data-done=true] span{text-decoration:line-through;color:var(--text-mute)}.timeline{display:flex;flex-direction:column;gap:2px;list-style:none}.timeline li{display:flex;gap:var(--s3);padding:6px 0 6px 4px;position:relative}.timeline li:not(:last-child):before{content:"";position:absolute;left:8px;top:20px;bottom:-2px;width:1px;background:var(--border)}.timeline-dot{width:9px;height:9px;margin-top:6px;margin-left:4px;border-radius:50%;background:var(--border-strong);flex:none;z-index:1}.timeline li[data-state=done] .timeline-dot{background:var(--ok)}.timeline li[data-state=current] .timeline-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.entities{display:flex;flex-direction:column;gap:1px}.entity-row{display:flex;gap:var(--s3);padding:7px 2px;border-bottom:1px solid var(--border);font-size:var(--t-base)}.entity-row:last-child{border-bottom:none}.entity-row dt{width:38%;flex:none;color:var(--text-mute)}.entity-row dd{flex:1 1;min-width:0}.table-scroll{overflow-x:auto}.draft-body{max-height:320px;overflow-y:auto;border-radius:var(--r-sm)}.calc-out,.draft-body{padding:var(--s3);background:var(--surface-alt)}.calc-out{display:flex;flex-direction:column;gap:6px;border-radius:var(--r)}.calc-out-main{padding:6px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.chip-grid{display:flex;flex-wrap:wrap;gap:5px}.factor-chip{height:26px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--border);background:transparent;font-size:var(--t-sm);font-weight:600;color:var(--text-mute);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.factor-chip[data-on=true][data-tone=mit]{background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:var(--ok);color:var(--ok)}.factor-chip[data-on=true][data-tone=agg]{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger);color:var(--danger)}.feature{display:flex;gap:var(--s5);overflow:hidden}.feature-art{display:grid;place-items:center;width:190px;flex:none;font-size:56px;background:var(--arc)}.feature-body{padding:var(--s5) var(--s5) var(--s5) 0;min-width:0}.market-filters{display:flex;flex-direction:column;gap:var(--s3)}.filter-chip{height:30px;padding:0 var(--s3);border-radius:var(--r-full);border:1px solid var(--border);font-size:var(--t-sm);font-weight:600;color:var(--text-mute);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.filter-chip[data-on=true]{background:var(--accent);border-color:var(--accent);color:#fff}.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));grid-gap:var(--s4);gap:var(--s4)}.pack-card{display:flex;flex-direction:column;gap:var(--s3);cursor:pointer}.pack-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r);background:var(--surface-alt);font-size:21px}.pack-summary{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-chip{height:21px;padding:0 7px;display:inline-flex;align-items:center;border-radius:var(--r-sm);background:var(--surface-alt);font-size:var(--t-xs);color:var(--text-mute)}.panel-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--s2);gap:var(--s2)}.panel-preview-item{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-alt)}.panel-preview-icon{font-size:var(--t-lg)}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm)}.rating-summary{display:flex;gap:var(--s5);padding:var(--s4);border-radius:var(--r);background:var(--surface-alt)}.rating-score{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none;min-width:92px}.rating-bars{display:flex;flex-direction:column;gap:3px;flex:1 1;justify-content:center}.rating-bar-row{display:flex;align-items:center;gap:var(--s2)}.rating-bar{flex:1 1;height:6px;border-radius:var(--r-full);background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.rating-bar span{display:block;height:100%;background:var(--warn)}.review-form{padding:var(--s4);border:1px solid var(--border);border-radius:var(--r)}.review{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--border)}.review:last-child{border-bottom:none}.review-reply{display:flex;flex-direction:column;gap:3px;padding:var(--s2) var(--s3);border-left:3px solid var(--accent-line);background:var(--surface-alt);border-radius:0 var(--r-sm) var(--r-sm) 0}.helpful-btn{align-self:flex-start;height:26px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--border);font-size:var(--t-sm);font-weight:600;color:var(--text-mute)}.helpful-btn[data-on=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--s3);gap:var(--s3)}.mem-card{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--s3);gap:var(--s3)}.theme-card{display:flex;flex-direction:column;gap:var(--s2);padding:5px;border:2px solid var(--border);border-radius:var(--r);background:var(--surface);transition:border-color var(--dur) var(--ease)}.theme-card:hover{border-color:var(--accent-line)}.theme-card[data-active=true]{border-color:var(--accent)}.theme-preview{display:grid;place-items:center;height:86px;border-radius:var(--r-sm);overflow:hidden}.theme-preview-card{display:flex;flex-direction:column;gap:5px;width:74%;padding:9px;border:1px solid;box-shadow:0 3px 10px rgba(0,0,0,.14)}.theme-preview-bar{height:5px;border-radius:3px}.theme-preview-line{height:3px;border-radius:2px}.theme-preview-line.short{width:58%}.theme-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:0 4px 3px;font-size:var(--t-sm);font-weight:600}.theme-del{color:var(--text-mute);cursor:pointer;padding:0 3px}.theme-del:hover{color:var(--danger)}.dock-panel-body .empty,.inline-panel .empty,.win-body .empty{padding:var(--s4) var(--s3);gap:var(--s2)}.dock-panel-body .empty-icon,.inline-panel .empty-icon,.win-body .empty-icon{font-size:20px}.dock{max-height:34vh;overflow:hidden}.dock-panel-body{max-height:128px}.bo{display:flex;height:100%;min-height:0}.bo-side{width:224px;flex:none;gap:var(--s4);padding:var(--s4);border-right:1px solid var(--border);background:var(--panel-bg)}.bo-brand,.bo-side{display:flex;flex-direction:column}.bo-brand{gap:2px;font-size:var(--t-lg);font-weight:800;letter-spacing:-.03em;padding:var(--s2) var(--s2) var(--s3)}.bo-nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.bo-nav-item{padding:9px var(--s3);border-radius:var(--r-sm);font-size:var(--t-base);font-weight:600;color:var(--text-mute)}.bo-nav-item:hover{background:var(--surface-alt);color:var(--text);text-decoration:none}.bo-nav-item[data-active=true]{background:var(--accent-soft);color:var(--accent-text)}.bo-foot{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s3);border-top:1px solid var(--border)}.bo-main{flex:1 1;min-width:0}.bo-page{max-width:1120px;margin:0 auto;padding:var(--s6) var(--s5) var(--s7)}.bo-head{margin-bottom:var(--s5)}.bo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:var(--s4);gap:var(--s4);align-items:start}.pack-row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-scale);color:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.pack-row:hover{border-color:var(--accent-line);box-shadow:var(--shadow-2);transform:translateY(-1px);text-decoration:none}.pack-row-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:var(--r);background:var(--surface-alt);font-size:23px}.pack-row-go{color:var(--text-mute);flex:none}.job-card{display:flex;flex-direction:column;gap:var(--s2);color:inherit}.job-card:hover{text-decoration:none;border-color:var(--accent-line)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--s3);gap:var(--s3)}.stat-card{display:flex;flex-direction:column;gap:3px;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r);background:var(--panel-bg)}.stat-card[data-tone=ok]{border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.stat-card[data-tone=warn]{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.stat-card[data-tone=danger]{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s4);border-radius:var(--r);background:var(--accent-soft);border:1px solid var(--accent-line)}.dataset-preview{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.panel-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--s3);gap:var(--s3)}.gpu-grid{display:flex;gap:var(--s3);flex-wrap:wrap}.gpu-grid>label{min-width:140px}.route-chip{display:inline-flex;align-items:center;gap:var(--s2);padding:5px 10px;border-radius:var(--r-sm);background:var(--surface-alt);border:1px solid var(--border)}.route-order{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700}.range{width:100%;accent-color:var(--accent)}.usage-chart{display:flex;align-items:flex-end;gap:3px;height:168px;overflow-x:auto;padding-bottom:var(--s4)}.usage-bar-col{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:26px;flex:1 1;height:100%}.usage-bar-track{flex:1 1;width:100%;display:flex;align-items:flex-end}.usage-bar-fill{width:100%;border-radius:4px 4px 0 0;background:var(--arc);min-height:2px}.usage-bar-label{font-size:10px;color:var(--text-mute);white-space:nowrap}.voice{flex-direction:column;align-items:center;height:100%;padding:var(--s5);gap:var(--s4)}.voice,.voice-stage{display:flex;min-height:0;position:relative}.voice-stage{flex:1 1;width:100%;max-width:460px;align-items:stretch;justify-content:center}.orb-canvas{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.voice-orb-visual{--orb-scale:1;--orb-glow:40px;--orb-glow-wide:86px;--orb-core-opacity:.45;position:relative;width:clamp(150px,42%,210px);aspect-ratio:1;border-radius:46% 54% 51% 49%/51% 43% 57% 49%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.92) 0 3%,transparent 15%),radial-gradient(circle at 46% 42%,#b8f7ff 0,#40d8e8 21%,#7068ee 58%,#25194f 100%);box-shadow:inset -24px -30px 50px rgba(18,9,74,.46),inset 18px 12px 34px rgba(255,255,255,.18),0 0 var(--orb-glow) rgba(74,222,245,.48),0 0 var(--orb-glow-wide) rgba(119,96,238,.28);transform:scale(var(--orb-scale));animation:voice-orb-float 5.5s ease-in-out infinite;transition:transform .18s ease,box-shadow .18s ease}.voice-orb-visual:after,.voice-orb-visual:before{content:"";position:absolute;inset:5%;border-radius:inherit;border:1px solid rgba(222,251,255,.44);animation:voice-orb-turn 8s linear infinite}.voice-orb-visual:after{inset:14%;border-color:rgba(213,190,255,.38);animation-direction:reverse;animation-duration:5.5s}.voice-orb-core{position:absolute;inset:29%;border-radius:50%;background:rgba(236,254,255,.62);filter:blur(12px);opacity:var(--orb-core-opacity);animation:voice-orb-breathe 2.8s ease-in-out infinite}.voice-orb-ring{position:absolute;left:50%;top:50%;width:140%;height:42%;border:1px solid rgba(103,232,249,.46);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}.voice-orb-ring-b{width:126%;height:54%;border-color:rgba(167,139,250,.4);transform:translate(-50%,-50%) rotate(62deg)}.voice-orb-visual[data-thinking=true]{animation-duration:2.4s}.voice-orb-visual[data-active=true] .voice-orb-ring-a{animation:voice-ring-a 2.2s linear infinite}.voice-orb-visual[data-active=true] .voice-orb-ring-b{animation:voice-ring-b 2.8s linear infinite reverse}@keyframes voice-orb-float{0%,to{translate:0 -4px;rotate:-2deg}50%{translate:0 8px;rotate:3deg}}@keyframes voice-orb-turn{to{transform:rotate(1turn)}}@keyframes voice-orb-breathe{50%{transform:scale(1.24);opacity:.82}}@keyframes voice-ring-a{to{transform:translate(-50%,-50%) rotate(342deg)}}@keyframes voice-ring-b{to{transform:translate(-50%,-50%) rotate(422deg)}}@media (prefers-reduced-motion:reduce){.voice-orb-core,.voice-orb-ring,.voice-orb-visual,.voice-orb-visual:after,.voice-orb-visual:before{animation:none!important}}.voice-state{position:absolute;bottom:0;font-size:var(--t-sm);font-weight:600;letter-spacing:.08em;color:var(--text-mute);text-transform:uppercase}.voice-caption{width:100%;max-width:720px;min-height:92px;max-height:30vh;overflow-y:auto;text-align:center;padding:0 var(--s4)}.voice-answer{font-size:var(--t-lg);line-height:1.7;white-space:pre-wrap}.voice-interim{font-size:var(--t-lg);color:var(--accent-text);font-weight:600}.voice-hint{font-size:var(--t-base);color:var(--text-mute)}.voice-error{margin-top:var(--s2);font-size:var(--t-sm);color:var(--danger)}.voice-panels{display:flex;gap:var(--s3);width:100%;max-width:860px;flex-wrap:wrap;justify-content:center}.voice-panel{flex:1 1 260px;max-width:400px;max-height:190px;overflow-y:auto;padding:var(--s3);border-radius:var(--r);border:1px solid var(--accent-line);background:color-mix(in srgb,var(--surface) 72%,transparent)}.voice-controls{display:flex;align-items:center;gap:var(--s3);flex:none}.mic-btn{width:72px;height:72px;border-radius:50%;background:var(--arc);color:#fff;font-size:26px;box-shadow:var(--shadow-3);transition:transform var(--dur) var(--ease)}.mic-btn:hover{transform:scale(1.05)}.mic-btn:disabled{cursor:not-allowed;opacity:.48;transform:none}.mic-btn[data-on=true]{background:var(--danger);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 14px color-mix(in srgb,var(--danger) 18%,transparent)}}.voice-fallback{display:flex;gap:var(--s2);width:min(560px,90vw)}.kids{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0;gap:var(--s4);padding:var(--s5)}.kids-stage{flex:1 1;min-height:180px;width:100%;max-width:420px}.mascot-canvas{width:100%;height:100%}.kids-bubble{position:relative;width:min(680px,92%);max-height:28vh;overflow-y:auto;padding:var(--s5);border-radius:var(--r-xl);background:var(--surface);border:2px solid var(--accent-line);box-shadow:var(--shadow-3);font-size:calc(var(--t-lg) * 1.05);line-height:1.75;text-align:center}.kids-bubble:before{content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%) rotate(45deg);width:20px;height:20px;background:var(--surface);border-left:2px solid var(--accent-line);border-top:2px solid var(--accent-line)}.kids-thinking .dot{animation:bounce 1.2s infinite;display:inline-block}.kids-thinking .dot:nth-child(2){animation-delay:.15s}.kids-thinking .dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.kids-quick{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center}.kids-chip{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:92px;padding:var(--s3) var(--s4);border-radius:var(--r-xl);background:var(--surface);border:2px solid var(--border);font-size:var(--t-md);font-weight:700;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.kids-chip:hover:not(:disabled){transform:translateY(-3px);border-color:var(--accent)}.kids-chip:disabled{opacity:.5}.kids-chip-icon{font-size:26px}.kids-mic{display:flex;align-items:center;gap:var(--s3);height:64px;padding:0 var(--s6);border-radius:var(--r-full);background:var(--arc);color:#fff;font-size:var(--t-lg);font-weight:700;box-shadow:var(--shadow-3);transition:transform var(--dur) var(--ease)}.kids-mic:hover:not(:disabled){transform:scale(1.04)}.kids-mic[data-on=true]{background:var(--ok);animation:pulse 1.4s ease-in-out infinite}.kids-mic:disabled{opacity:.55}.kids-input{display:flex;gap:var(--s2);width:min(560px,92%)}.voice{background:radial-gradient(900px 700px at 50% 58%,rgba(34,211,238,.14),transparent 62%),radial-gradient(700px 520px at 14% 8%,rgba(129,140,248,.12),transparent 60%),linear-gradient(180deg,#05080f,#0a1018);color:#dff3ff}.voice .voice-answer,.voice .voice-hint,.voice .voice-state{color:#cfe6f5}.voice .voice-hint,.voice .voice-state{color:#7fa3bd}.voice .voice-interim{color:#5eead4}.voice .voice-panel{background:rgba(10,20,32,.66);border-color:rgba(34,211,238,.34);color:#dff3ff;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}.voice .voice-panel .t-cap,.voice .voice-panel .t-mute{color:#7fa3bd}.voice .voice-fallback .input{background:rgba(10,20,32,.7);border-color:rgba(34,211,238,.3);color:#dff3ff}.mascot-canvas canvas,.orb-canvas canvas{display:block;width:100%!important;height:100%!important}.thinking{display:inline-flex;align-items:center;gap:5px;padding:6px 0}.thinking .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.4;animation:think 1.2s ease-in-out infinite}.thinking .dot:nth-child(2){animation-delay:.16s}.thinking .dot:nth-child(3){animation-delay:.32s}.thinking .t-cap{margin-left:4px}@keyframes think{30%{opacity:1;transform:translateY(-3px)}}.drawer[data-closing=true]{animation:drop-out .24s cubic-bezier(.4,0,.9,.4) forwards}@keyframes drop-out{to{transform:translate(-50%,calc(-100% - 8px))}}.drawer-scrim[data-closing=true],.overlay[data-closing=true]{animation:fade-out .24s var(--ease) forwards}@keyframes fade-out{to{opacity:0}}.modal[data-closing=true]{animation:sink .24s var(--ease) forwards}@keyframes sink{to{opacity:0;transform:translateY(10px) scale(.985)}}.acct-item svg,.armed-chip svg,.badge svg,.btn svg,.dock-chip svg,.icon-btn svg,.mode-switch button svg,.nav-btn svg,.win-ctl svg{flex:none}.acct-item,.nav-btn{display:inline-flex;align-items:center;gap:6px}.acct-item{display:flex}.win-ctl button[data-on=true]{color:var(--accent);background:var(--accent-soft)}.win-pinned{border-color:var(--accent-line)}.win-pinned .win-bar{background:color-mix(in srgb,var(--accent) 8%,var(--surface-alt))}.empty-icon{display:inline-flex;color:var(--text-mute);opacity:.7}.feature-art,.pack-icon,.pack-row-icon,.panel-preview-icon{color:var(--accent-text)}.feature-art{color:#fff}.attached{display:flex;flex-direction:column;gap:var(--s3);padding-left:var(--s3);border-left:2px solid var(--border);margin-top:calc(var(--s2) * -1)}.attached-block[data-kind=caution]{order:2}.attached-head{display:flex;align-items:center;gap:6px;font-size:var(--t-sm);font-weight:650;color:var(--text-mute);margin-bottom:2px}.attached-spin{width:11px;height:11px;margin-left:2px}.attached-block .panel-pad{padding:0}.attached-loading{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) 0}.trace .card-pad{gap:var(--s3)}.chip-ghost{border:1px solid var(--border);background:transparent;color:var(--text-mute);border-radius:var(--r-full);padding:5px 12px;font-size:var(--t-sm);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.chip-ghost:hover{border-color:var(--border-strong);color:var(--text)}.chip-ghost[data-on=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text);font-weight:600}.trace-dot{display:inline-block;width:7px;height:7px;border-radius:var(--r-full);margin-right:5px;vertical-align:baseline}.trace-dot-term{background:var(--text-mute)}.trace-dot-pack{background:var(--accent-3)}.trace-dot-knowledge{background:var(--ok)}.trace-dot-entity{background:var(--highlight)}.trace-dot-step{background:var(--warn)}.trace-dot-point{background:var(--accent-2)}.trace-dot-output{background:var(--accent)}.trace-err{color:var(--danger)}.trace-warn{color:var(--warn);padding:var(--s2) var(--s3);border-radius:var(--r);border:1px solid color-mix(in srgb,var(--warn) 34%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.trace-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--s4);gap:var(--s4);align-items:stretch;min-height:520px}@media (max-width:1080px){.trace-body{grid-template-columns:minmax(0,1fr)}}.trace-body[data-full=true]{position:fixed;inset:0;z-index:90;margin:0;padding:var(--s3);background:var(--bg);grid-template-columns:minmax(0,1fr) 340px}.trace-body[data-full=true] .trace-stage{min-height:0;height:100%}.trace-body[data-full=true] .trace-detail{max-height:none;height:100%}.trace-full-btn{position:absolute;top:var(--s3);right:var(--s3);z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-mute);cursor:pointer}.trace-full-btn:hover{color:var(--text);border-color:var(--border-strong)}.trace-stage-tag{align-self:center;color:var(--text-mute)}.trace-stage-tag[data-run=true]:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:var(--r-full);background:var(--accent);animation:trace-pulse 1.1s ease-in-out infinite}@keyframes trace-pulse{0%,to{opacity:.25}50%{opacity:1}}.trace-pending{color:var(--text-mute);opacity:.7;margin-left:auto}.trace-intent{display:flex;flex-direction:column;gap:2px;padding:var(--s3);border-radius:var(--r);background:var(--accent-soft);border:1px solid var(--accent-line)}.trace-intent p{margin:0}.trace-stage{position:relative;overflow:hidden;min-height:520px;display:flex;flex-direction:column;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:28px 28px;background-position:-1px -1px}.theme-dark .trace-stage,:root[data-theme=dark] .trace-stage{background-blend-mode:overlay}.trace-canvas{flex:1 1;width:100%;min-height:460px;display:block;cursor:-webkit-grab;cursor:grab}.trace-legend{display:flex;gap:var(--s4);flex-wrap:wrap;padding:var(--s2) var(--s4);border-top:1px solid var(--border);background:var(--surface)}.trace-detail{gap:var(--s3);max-height:640px;overflow:auto}.trace-detail,.trace-meta{display:flex;flex-direction:column}.trace-meta{gap:4px;margin:0}.trace-meta>div{display:flex;gap:var(--s2)}.trace-meta dt{min-width:76px;color:var(--text-mute)}.trace-meta dd,.trace-pre{margin:0;color:var(--text);word-break:break-word}.trace-pre{white-space:pre-wrap;font-size:var(--t-sm);line-height:1.6;background:var(--surface-alt);border-radius:var(--r);padding:var(--s3);max-height:340px;overflow:auto}.trace-timing{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:auto;padding-top:var(--s2);border-top:1px solid var(--border);color:var(--text-mute)}.math-workspace{--math-ink:#1d2433;--math-blue:#3159d9;--math-ok:#159a84;--math-wrong:#d95757;display:flex;flex-direction:column;height:100%;min-height:0;background:#f2f4f8;color:var(--math-ink)}.math-center,.math-start{display:flex;align-items:center;justify-content:center;min-height:100%}.math-center{gap:10px;color:var(--text-mute)}.math-start{flex-direction:column;gap:20px;max-width:560px;margin:0 auto;padding:42px 28px;text-align:center}.math-start h2{font-size:24px;letter-spacing:-.035em}.math-start p{margin-top:6px;color:var(--text-mute);line-height:1.7}.math-start-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:#3159d9;box-shadow:0 12px 28px rgba(49,89,217,.24)}.math-start-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%;text-align:left}.math-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 18px;border-bottom:1px solid #dfe3eb;background:#fff;flex:none}.math-head>div:first-child{display:flex;align-items:baseline;gap:8px}.math-context{color:#687084;font-size:12px}.math-progress{display:flex;gap:6px}.math-progress button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8dde7;border-radius:50%;background:#fff;color:#667085;font-size:12px;font-weight:700}.math-progress button[data-current=true]{border:2px solid var(--math-blue);color:var(--math-blue)}.math-progress button[data-grade=correct]{background:var(--math-ok);border-color:var(--math-ok);color:#fff}.math-progress button[data-grade=wrong]{background:#fff0f0;border-color:var(--math-wrong);color:var(--math-wrong)}.math-scroll{flex:1 1;min-height:0;padding:20px}.math-answer,.math-feedback,.math-problem{max-width:920px;margin:0 auto}.math-problem{padding:4px 2px 18px}.math-problem>span{display:inline-block;margin-bottom:8px;color:var(--math-blue);font-size:12px;font-weight:700}.math-problem h3{max-width:760px;font-size:clamp(18px,2.1vw,22px);line-height:1.55;letter-spacing:-.025em}.math-ask,.math-hint-button{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--math-blue);font-size:13px;font-weight:650}.math-hint{margin-top:10px;color:#586174;font-size:13px}.math-paper{max-width:920px;margin:0 auto 16px;overflow:hidden;border:1px solid #d8dde7;border-radius:10px;background:#fff;box-shadow:0 8px 26px rgba(32,42,62,.07)}.math-tools{display:flex;gap:2px;padding:6px;border-bottom:1px solid #e3e6ec;background:#fafbfc;overflow-x:auto}.math-tools button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:7px;color:#5c6578;font-size:12px;white-space:nowrap}.math-tools button:hover,.math-tools button[data-active=true]{background:#e9eefc;color:var(--math-blue)}.math-canvas-wrap{position:relative;height:360px;background:#fff}.math-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.math-answer{display:flex;align-items:flex-end;gap:12px;padding:16px;border:1px solid #dfe3eb;border-radius:10px;background:#fff}.math-answer-fields{display:grid;grid-template-columns:minmax(140px,.38fr) minmax(220px,1fr);grid-gap:10px;gap:10px;flex:1 1}.math-feedback{margin-top:16px;padding:18px;border:1px solid color-mix(in srgb,var(--math-wrong) 25%,#dfe3eb);border-left:4px solid var(--math-wrong);border-radius:10px;background:#fff}.math-feedback[data-correct=true]{border-color:color-mix(in srgb,var(--math-ok) 30%,#dfe3eb);border-left-color:var(--math-ok)}.math-feedback-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.math-feedback-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff0f0;color:var(--math-wrong);font-weight:800}.math-feedback[data-correct=true] .math-feedback-title>span{background:#e7f7f3;color:var(--math-ok)}.math-feedback-title div{display:flex;flex-direction:column}.math-feedback-title small{color:#7a8293;font-size:11px}.math-feedback>p{margin:7px 0;line-height:1.65}.math-solution{margin:14px 0;padding:12px 14px;border-radius:8px;background:#f5f7fa}.math-solution ol{margin:7px 0 0 20px;line-height:1.7}.math-next{color:#495268;font-weight:600}.math-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #dfe3eb;background:#fff;flex:none}.math-finish{color:var(--math-blue);font-size:12px;font-weight:700}.math-error{max-width:920px;margin:12px auto 0;padding:10px 12px;border-radius:8px;background:#fff0f0;color:#a73d3d!important;font-size:13px}.runtime-hero{display:flex;align-items:center;gap:12px}.runtime-hero>div:nth-child(2){flex:1 1}.runtime-hero-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.runtime-flow{display:flex;align-items:stretch;gap:8px;overflow-x:auto}.runtime-flow-segment{display:flex;align-items:center;gap:8px;min-width:0}.runtime-step{display:flex;flex-direction:column;gap:3px;min-width:156px;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-alt)}.runtime-step>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.runtime-step small{color:var(--text-mute);font-size:var(--t-xs)}.runtime-arrow{color:var(--text-mute);flex:none}.runtime-list{gap:8px}.runtime-list,.runtime-list>div{display:flex;flex-direction:column}.runtime-list>div{gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm)}.runtime-list>div>div{display:flex;justify-content:space-between;gap:8px}.runtime-list span{color:var(--text-mute);font-size:var(--t-sm)}.runtime-list code{color:var(--accent-text);font-size:var(--t-xs)}.runtime-blueprints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.mobile-workspace{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.mobile-tabs{display:flex;gap:2px;padding:6px 8px 0;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--panel-bg);flex:none}.mobile-tabs button{display:inline-flex;align-items:center;gap:7px;min-width:max-content;max-width:230px;height:40px;padding:0 14px;border-radius:9px 9px 0 0;color:var(--text-mute);font-size:13px;font-weight:650}.mobile-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tabs button[data-active=true]{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 -2px var(--accent)}.mobile-tab-body{flex:1 1;min-height:0;overflow:hidden;background:var(--surface)}.mobile-tab-body>*{height:100%}.mobile-only{display:none}@media (max-width:1180px),(pointer:coarse){.mobile-only{display:inline-grid}.rail{display:none}.topbar{gap:10px;padding:0 10px}.mode-switch button span{display:none}.mode-switch button{width:30px;justify-content:center;padding:0}.armed-chip{max-width:150px}.nav-btn{padding:0 8px}.chat-stream{padding:18px clamp(14px,4vw,34px)}.composer{padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.math-canvas-wrap{height:min(48vh,430px);min-height:300px}}@media (max-width:700px){.topbar{height:48px}.topbar>.row.grow{display:none}.topbar .nav-btn{width:30px;padding:0;justify-content:center;font-size:0}.topbar .nav-btn svg{width:16px;height:16px}.brand{font-size:15px}.mobile-tabs{padding-left:4px;padding-right:4px}.mobile-tabs button{max-width:180px;height:38px;padding:0 11px}.msg-user-bubble{max-width:92%}.math-head{align-items:flex-start;padding:10px 12px}.math-head>div:first-child{flex-direction:column;gap:0}.math-scroll{padding:14px 10px}.math-paper{border-radius:7px}.math-tools button{min-width:42px;min-height:42px;justify-content:center;font-size:0}.math-canvas-wrap{height:46vh;min-height:280px}.math-answer{flex-direction:column;align-items:stretch;padding:12px}.math-answer-fields{grid-template-columns:1fr}.math-start{justify-content:flex-start;padding:30px 18px}.math-start-form{grid-template-columns:1fr}.math-footer .btn{min-height:40px}.math-finish{max-width:140px}.runtime-blueprints{grid-template-columns:1fr}}.upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s6) var(--s4);border:1.5px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-alt);color:var(--text-mute);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.upload-drop:hover,.upload-drop[data-drag=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.asset-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);background:var(--surface-alt);color:var(--text-mute)}.asset-children{margin-left:var(--s3);padding-left:var(--s3);border-left:2px solid var(--border)}