:root{--bone: #ECE7DA;--bone2: #E3DDCD;--bone3: #D9D2BE;--ink: #0C0A06;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--danger: #E8412A;--muted: #6F6957;--line: #CDC6B1;--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(236, 231, 218, .86);--ga-bg-elev: var(--bone3);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(111, 105, 87, .65);--ga-accent: var(--accent);--ga-accent-2: var(--accent2);--ga-accent-3: var(--accent3);--ga-border: var(--line);--ga-border-strong: rgba(12, 10, 6, .22);--ga-success: var(--accent2);--ga-warn: var(--accent3);--ga-error: var(--accent);--ga-radius: 14px;--ga-radius-sm: 8px;--ga-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 16px 40px -12px rgba(0, 0, 0, .22);--ga-shadow-soft: 0 1px 1px rgba(0, 0, 0, .04), 0 6px 18px -8px rgba(0, 0, 0, .14);--ga-blur: 24px;--ga-spring-fast: cubic-bezier(.33, 1, .68, 1);--ga-spring: cubic-bezier(.22, 1, .36, 1);--font-display: -apple-system, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--font-ui: -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, monospace;--font-serif: var(--font-display);--ga-font: var(--font-ui);--ga-font-mono: var(--font-mono)}[data-theme=dark]{--bone: #0C0A06;--bone2: #16130C;--bone3: #221D14;--ink: #ECE7DA;--accent: #E8412A;--accent2: #C4DC3C;--accent3: #FF7351;--danger: #E8412A;--muted: #8C8472;--line: rgba(236, 231, 218, .14);--ga-bg: var(--bone);--ga-bg-2: var(--bone2);--ga-bg-glass: rgba(12, 10, 6, .74);--ga-bg-elev: var(--bone3);--ga-text: var(--ink);--ga-text-dim: var(--muted);--ga-text-faint: rgba(236, 231, 218, .42);--ga-border: var(--line);--ga-border-strong: rgba(236, 231, 218, .24);--ga-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 16px 40px -12px rgba(0, 0, 0, .7);--ga-shadow-soft: 0 1px 1px rgba(0, 0, 0, .35), 0 6px 18px -8px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--ga-bg);color:var(--ga-text);font-size:13px;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}h1{font-size:26px;line-height:1.2}h2{font-size:19px;line-height:1.25}h3{font-size:15px;line-height:1.3}code,pre,.mono,.terminal,.terminal-text{font-family:var(--font-mono)}em,.serif{font-family:var(--font-display);font-style:italic}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bone)}[data-theme=dark] body:before{background:var(--bone)}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;outline:none;border:none}input,textarea,select{font-family:inherit;color:inherit;background:transparent}input:focus,textarea:focus,select:focus{outline:none}a{color:var(--ga-accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#007aff40;color:var(--ga-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:100vh;width:100vw;height:100vh;overflow:hidden}@media (max-width: 720px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:52px;height:calc(100dvh - 52px);z-index:100;transform:translate(-100%);transition:transform .4s var(--ga-spring);width:min(82vw,280px);pointer-events:none;grid-area:1 / 1}.sidebar[data-open=true]{transform:translate(0);pointer-events:auto;box-shadow:var(--ga-shadow)}.sidebar-backdrop{grid-area:1 / 1}.sidebar-backdrop[data-open=true]{display:block}.main{grid-area:1 / 1;min-height:0}}.sidebar{display:flex;flex-direction:column;padding:12px 10px 10px;background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--ga-blur)) saturate(180%);border-right:1px solid var(--ga-border);overflow-y:auto;gap:10px}.sidebar-backdrop{display:none;position:fixed;inset:52px 0 0;z-index:90;border:0;padding:0;background:#00000047;backdrop-filter:blur(2px)}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:8px 10px 12px}.sidebar-brand .logo{width:26px;height:26px;background:var(--accent);border-radius:7px;box-shadow:var(--ga-shadow-soft)}.sidebar-brand .name{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:13px}.sidebar-brand .ver{color:var(--ga-text-faint);font-size:10.5px;margin-left:auto}.profile-picker{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:transparent;cursor:pointer;transition:background .15s var(--ga-spring)}.profile-picker:hover{background:#0000000b}[data-theme=dark] .profile-picker:hover{background:#ffffff0f}.profile-picker .pp-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12.5px;color:#fff;font-family:var(--font-display);flex-shrink:0}.profile-picker .pp-info{flex:1;min-width:0}.profile-picker .pp-name{font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-picker .pp-meta{color:var(--ga-text-dim);font-size:11px;display:flex;align-items:center;gap:6px}.profile-picker .pp-dot{width:7px;height:7px;border-radius:50%;background:var(--ga-text-faint);flex-shrink:0}.profile-picker .pp-dot.running{background:var(--ga-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--ga-success) 22%,transparent)}.profile-picker .pp-dot.error{background:var(--ga-error)}.profile-picker .pp-dot.paused{background:var(--ga-warn)}.profile-picker .pp-chevron{color:var(--ga-text-faint);flex-shrink:0}.profile-popover{position:absolute;top:58px;left:10px;right:10px;background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--ga-blur)) saturate(180%);border:1px solid var(--ga-border);border-radius:12px;z-index:200;padding:6px;box-shadow:var(--ga-shadow);max-height:60vh;overflow-y:auto}.profile-popover-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s var(--ga-spring)}.profile-popover-item:hover{background:#0000000d}[data-theme=dark] .profile-popover-item:hover{background:#ffffff14}.profile-popover-item.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.nav-groups{display:flex;flex-direction:column;gap:16px}.nav-group-label{padding:0 10px 4px;font-size:11px;font-weight:600;color:var(--ga-text-faint);text-transform:uppercase;letter-spacing:.3px}.nav{display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ga-text);cursor:pointer;transition:background .15s var(--ga-spring),color .15s var(--ga-spring);font-weight:400;font-size:13px;user-select:none}.nav-item:hover{background:#0000000b}[data-theme=dark] .nav-item:hover{background:#ffffff0f}.nav-item.active{background:var(--accent);color:#fff;font-weight:500}.nav-item.active .icon{color:#fff}.nav-item .icon{width:16px;height:16px;color:var(--ga-text-dim);flex-shrink:0;display:inline-flex}.nav-item .badge{margin-left:auto;background:var(--accent);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;font-family:var(--font-ui);font-weight:600}.nav-item.active .badge{background:#ffffff47}.sidebar-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--ga-border);display:flex;flex-direction:column;gap:4px}.main{display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--ga-border);background:var(--ga-bg-glass);backdrop-filter:blur(var(--ga-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--ga-blur)) saturate(180%);z-index:5}.topbar .title{font-size:15px;font-weight:600;font-family:var(--font-display);letter-spacing:-.01em}.topbar .crumb{color:var(--ga-text-dim);font-size:12.5px}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:8px}.content{flex:1;overflow-y:auto;padding:22px;scrollbar-width:thin;scrollbar-color:var(--ga-border-strong) transparent}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-thumb{background:var(--ga-border-strong);border-radius:4px}.content::-webkit-scrollbar-track{background:transparent}.menu-button{display:none;background:transparent;color:var(--ga-text);width:34px;height:34px;border-radius:9px;align-items:center;justify-content:center;touch-action:manipulation;cursor:pointer}.menu-button:hover{background:#0000000f}[data-theme=dark] .menu-button:hover{background:#ffffff14}@media (max-width: 720px){.menu-button{display:inline-flex}.topbar{padding:9px 14px}}.card{background:var(--ga-bg-2);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px;box-shadow:var(--ga-shadow-soft);transition:box-shadow .2s,transform .15s var(--ga-spring)}.card.interactive:hover{box-shadow:var(--ga-shadow)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.card-header .h-title{font-size:14px;font-weight:600}.card-header .h-meta{color:var(--ga-text-dim);font-size:12px}.card-header .h-actions{margin-left:auto;display:flex;gap:8px}.card .desc{color:var(--ga-text-dim);font-size:12.5px}.section-title{display:flex;align-items:center;gap:10px;margin:24px 0 12px}.section-title h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ga-text-faint);margin:0}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 720px){.grid.cols-2,.grid.cols-3{grid-template-columns:minmax(0,1fr)}}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row>label{font-size:12px;color:var(--ga-text-dim);display:flex;align-items:center;gap:6px}.form-row .hint{color:var(--ga-text-faint);font-size:11px}.input,.textarea,.select{width:100%;padding:8px 11px;border-radius:8px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);color:var(--ink);font-family:var(--font-ui);transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.textarea{font-family:var(--ga-font-mono);resize:vertical;min-height:96px}.select{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ga-text-dim) 50%),linear-gradient(135deg,var(--ga-text-dim) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.range{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--ga-bg-elev);border-radius:2px;outline:none}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #00000040,0 0 0 1px var(--ga-border);transition:transform .15s}.range::-webkit-slider-thumb:hover{transform:scale(1.08)}.range::-moz-range-thumb{width:18px;height:18px;background:#fff;border-radius:50%;cursor:pointer;border:1px solid var(--ga-border);box-shadow:0 1px 4px #00000040}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.toggle input{display:none}.toggle .track{width:38px;height:22px;background:var(--ga-bg-elev);border-radius:11px;position:relative;transition:background .2s;border:1px solid var(--ga-border)}.toggle .knob{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:all .22s var(--ga-spring)}.toggle input:checked+.track{background:var(--accent2);border-color:transparent}.toggle input:checked+.track .knob{left:17px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 15px;border-radius:8px;background:var(--ga-bg-elev);color:var(--ink);border:1px solid var(--ga-border);font-weight:500;font-size:13px;font-family:var(--font-ui);transition:background .15s var(--ga-spring),border-color .15s,box-shadow .15s}.btn:hover{background:color-mix(in srgb,var(--ink) 6%,var(--ga-bg-elev))}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black);border-color:color-mix(in srgb,var(--accent) 88%,black)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:color-mix(in srgb,var(--accent) 88%,black)}.btn.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 88%,black)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:#0000000d}[data-theme=dark] .btn.ghost:hover{background:#ffffff14}.btn.tiny{padding:4px 10px;font-size:12px}.btn.success{background:var(--accent2);color:var(--ink);border-color:var(--accent2)}.btn.success:hover{background:color-mix(in srgb,var(--accent2) 88%,black)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:7px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);font-size:11.5px;color:var(--ga-text-dim)}.chip.success{color:var(--ink);background:var(--accent2);border-color:var(--accent2)}.chip.warn{color:var(--accent3);background:color-mix(in srgb,var(--accent3) 14%,transparent);border-color:transparent}.chip.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:transparent}.chip.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.logs-shell{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 112px);min-height:0}.logs-live{flex:1;display:flex;flex-direction:column;min-height:0}.logs-live>.logs-box{flex:1;height:auto;min-height:0}@media (max-width: 720px){.logs-shell{height:auto}.logs-live>.logs-box{min-height:50vh}}.logs-box{font-family:var(--ga-font-mono);font-size:12px;background:var(--ga-bg-elev);border-radius:var(--ga-radius);border:1px solid var(--ga-border);padding:14px 16px;height:60vh;overflow-y:auto;white-space:pre-wrap;line-height:1.55;scrollbar-width:thin;scrollbar-color:var(--ga-border-strong) transparent}.log-line{display:flex;gap:10px;padding:1px 0}.log-line .ts{color:var(--ga-text-faint);white-space:nowrap;min-width:64px}.log-line .tag{font-weight:500;min-width:64px}.log-line.info .tag{color:var(--ga-accent)}.log-line.warn .tag{color:var(--ga-warn)}.log-line.error .tag{color:var(--ga-error)}.log-line.in .tag{color:var(--ga-accent-3)}.log-line.out .tag{color:var(--ga-accent-2)}.log-line .msg{color:var(--ga-text);flex:1;word-break:break-word}.work-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start;max-width:1320px}.work-col{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width: 1080px){.work-split{grid-template-columns:minmax(0,1fr)}}.dlg-shell{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:16px;height:calc(100vh - 112px);min-height:0}.dlg-list,.dlg-main,.dlg-aside{display:flex;flex-direction:column;min-height:0;min-width:0}.dlg-list,.dlg-list *{max-width:100%}.dlg-aside{overflow-y:auto;gap:12px;padding-right:2px}@media (max-width: 1180px){.dlg-shell{grid-template-columns:280px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.dlg-shell>.dlg-list{grid-row:1 / span 2}.dlg-shell>.dlg-main{grid-row:1}.dlg-shell>.dlg-aside{grid-column:2;grid-row:2;max-height:34vh}}@media (max-width: 860px){.dlg-shell{grid-template-columns:minmax(0,1fr);height:auto}.dlg-shell>.dlg-list{grid-row:auto;max-height:40vh}.dlg-shell>.dlg-main{grid-row:auto;min-height:60vh}.dlg-shell>.dlg-aside{grid-column:1;grid-row:auto}}.dlg-aside-toggle{display:none}@media (max-width: 1180px){.dlg-aside-toggle{display:flex;align-items:center;gap:6px;padding:9px 14px;width:100%;background:var(--ga-bg-2);border:1px solid var(--ga-border);border-radius:var(--ga-radius);box-shadow:var(--ga-shadow-soft);font-size:13px;font-weight:500;color:var(--ga-text)}.dlg-aside[data-open=false]>.card{display:none}}.dlg-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"check avatar top" "check avatar preview";gap:2px 8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--ga-border);transition:background .12s var(--ga-spring)}.dlg-row:hover{background:#00000009}[data-theme=dark] .dlg-row:hover{background:#ffffff0d}.dlg-row.active{background:var(--accent)}.dlg-row.active .dlg-row-name,.dlg-row.active .dlg-row-preview{color:#fff}.dlg-row.active .dlg-row-preview{opacity:.82}.dlg-row.muted{opacity:.5}.dlg-row-check{grid-area:check;align-self:center;margin:0;flex-shrink:0}.dlg-row>[aria-hidden]{grid-area:avatar;align-self:center}.dlg-row-top{grid-area:top;display:flex;align-items:center;gap:6px;min-width:0}.dlg-row-name{font-size:13px;font-weight:500;color:var(--ga-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlg-row-badges{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.dlg-row-preview{grid-area:preview;font-size:12px;color:var(--ga-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlg-group{display:flex;flex-direction:column;gap:8px}.dlg-group-label{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--ga-text-faint)}.dlg-score{display:flex;flex-direction:column;gap:3px}.dlg-score-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.dlg-score-label{font-size:12px;color:var(--ga-text-dim)}.dlg-score-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.dlg-score.negative .dlg-score-label{color:var(--ga-warn)}.peer-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.peer-head-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-head-meta{font-size:11px;color:var(--ga-text-faint)}.peer-head-id{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tab-bar{display:flex;flex-shrink:0;gap:2px;padding:2px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:9px;width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab{padding:5px 13px;border-radius:7px;background:transparent;color:var(--ga-text-dim);font-size:12.5px;font-weight:500;white-space:nowrap;transition:color .18s var(--ga-spring),background .18s var(--ga-spring),box-shadow .18s var(--ga-spring)}.tab:hover{color:var(--ga-text)}.tab.active{background:var(--ga-bg-2);color:var(--ga-text);font-weight:600;box-shadow:0 1px 3px #00000024}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chat-context{display:flex;flex-direction:column;gap:28px;max-width:68ch}.ctx-block{display:flex;flex-direction:column;gap:10px}.ctx-head{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ga-text-dim);margin:0}.ctx-lead{margin:0;font-size:15px;line-height:1.5;color:var(--ga-text)}.ctx-lead strong{font-variant-numeric:tabular-nums}.ctx-note{margin:0;font-size:12.5px;line-height:1.5;color:var(--ga-text-dim)}.factor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.factor{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:4px 12px;align-items:baseline;padding:9px 12px;border-radius:8px;background:var(--ga-bg-elev)}.factor-title{font-size:12.5px;font-weight:600;color:var(--ga-text);position:relative;padding-left:14px}.factor-title:before{content:"";position:absolute;left:0;top:50%;translate:0 -50%;width:6px;height:6px;border-radius:50%;background:var(--ga-border-strong)}.factor-detail{font-size:12.5px;color:var(--ga-text-dim);line-height:1.45}.factor-active .factor-title:before{background:var(--accent2)}.factor-warn .factor-title:before{background:var(--ga-warn)}.factor-quiet .factor-title:before{background:var(--ga-border-strong)}.factor-neutral .factor-title:before{background:var(--ga-border)}.stage-track{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.stage-track-item{display:flex;align-items:baseline;gap:14px;padding:8px 0}.stage-track-item+.stage-track-item{border-top:1px solid var(--ga-border)}.stage-track-date{font-family:var(--font-mono);font-size:11px;color:var(--ga-text-faint);min-width:56px;font-variant-numeric:tabular-nums}.stage-track-move{font-size:12.5px;color:var(--ga-text-dim)}.stage-track-move strong{color:var(--ga-text);font-weight:600}.stage-track-arrow{margin:0 8px;color:var(--ga-text-faint)}.day-chips{display:flex;flex-wrap:wrap;gap:6px}.day-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--ga-border);background:var(--ga-bg-elev);color:var(--ga-text-dim);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;transition:border-color .18s var(--ga-spring),color .18s var(--ga-spring),background .18s var(--ga-spring)}.day-chip:hover{color:var(--ga-text);border-color:var(--ga-border-strong)}.day-chip.active{color:#fff;border-color:var(--accent);background:var(--accent)}.day-text{margin:4px 0 0;padding:14px 16px;border-radius:10px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);font-family:var(--font-ui);font-size:12.5px;line-height:1.6;color:var(--ga-text-dim);white-space:pre-wrap;max-height:320px;overflow-y:auto}.stat-cell{min-width:120px;padding:4px 24px 4px 0}.stat-cell+.stat-cell{border-left:1px solid var(--ga-border);padding-left:24px}@media (max-width: 640px){.stat-cell+.stat-cell{border-left:none;padding-left:0}}.stat-cell-label{font-size:11px;color:var(--ga-text-faint);margin-bottom:4px}.stat-cell-value{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.stage-cell{min-width:140px;padding:4px 20px 4px 0}.stage-cell+.stage-cell{border-left:1px solid var(--ga-border);padding-left:20px}.stage-cell-label{font-size:11px;font-weight:600}.stage-cell-value{font-family:var(--font-display);font-size:21px;font-weight:600;margin-top:2px;color:var(--ga-text);font-variant-numeric:tabular-nums}.stage-cell-pct{font-size:11px;color:var(--ga-text-faint)}.rel-peer{min-width:150px;max-width:190px}.rel-peer-name{display:block;font-size:12.5px;font-weight:600;color:var(--ga-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rel-peer-id,.rel-peer-id-only{display:block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ga-text-faint)}.rel-peer-id{font-size:11px}.rel-peer-id-only{font-size:12.5px;color:var(--ga-text-dim)}.rel-divider{height:1px;background:var(--ga-border);margin:18px 0}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 720px){.score-grid{grid-template-columns:repeat(2,1fr)}}.score-cell{background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:11px;padding:10px 12px}.score-cell .lbl{font-size:10.5px;color:var(--ga-text-dim);text-transform:uppercase;letter-spacing:.4px}.score-cell .val{font-size:20px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.score-cell .bar{height:4px;background:var(--ga-border);border-radius:2px;overflow:hidden;margin-top:8px}.score-cell .bar>.fill{height:100%;width:100%;transform-origin:left center;background:var(--accent2);transition:transform .4s var(--ga-spring)}.score-cell.negative .bar>.fill{background:var(--danger)}.setup-shell{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000052;backdrop-filter:blur(6px);padding:20px;z-index:500;overflow-y:auto}.setup-card{width:100%;max-width:720px;max-height:92vh;overflow-y:auto;background:var(--ga-bg-glass);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--ga-border);border-radius:18px;padding:32px;box-shadow:var(--ga-shadow);animation:setup-in .4s var(--ga-spring)}@keyframes setup-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bone)}.auth-card{width:100%;max-width:420px;background:var(--bone2);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--ga-shadow)}.setup-stepper{display:flex;gap:6px;margin-bottom:24px}.setup-step{flex:1;height:3px;background:var(--ga-border);border-radius:2px;transition:background .4s var(--ga-spring)}.setup-step.done{background:var(--accent2)}.setup-step.active{background:var(--accent)}.setup-title{font-family:var(--font-display);font-size:24px;font-weight:600;margin:0 0 8px;letter-spacing:-.01em}.setup-subtitle{color:var(--muted);margin-bottom:24px;font-family:var(--font-ui)}.setup-card-title{font-family:var(--font-display);font-size:13px;font-weight:600}.memory-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:70vh}@media (max-width: 720px){.memory-shell{grid-template-columns:minmax(0,1fr)}}.memory-list{display:flex;flex-direction:column;gap:4px}.memory-item{padding:9px 11px;border-radius:9px;cursor:pointer;transition:background .18s var(--ga-spring);display:flex;align-items:center;gap:8px}.memory-item:hover{background:#0000000b}[data-theme=dark] .memory-item:hover{background:#ffffff0f}.memory-item.active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.memory-item .name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.memory-item .size{color:var(--ga-text-faint);font-size:11px}.memory-group-head{display:flex;align-items:baseline;gap:8px;margin:18px 0 6px;padding:0 11px}.memory-group-name{font-family:var(--font-display);font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ga-text)}.memory-group-id{font-family:var(--font-mono);font-size:11px;color:var(--ga-text-faint);font-variant-numeric:tabular-nums}.editor{flex:1;min-height:60vh;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:16px 20px;font-family:var(--ga-font-mono);font-size:12.5px;color:var(--ga-text);resize:vertical}.chat-shell{display:flex;flex-direction:column;height:calc(100vh - 140px)}.chat-msgs{flex:1;overflow-y:auto;padding:8px 4px 16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:80%;padding:11px 15px;border-radius:17px;line-height:1.5;font-size:13px}.chat-msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}.chat-msg.assistant{align-self:flex-start;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-bottom-left-radius:5px}.chat-msg.tool{align-self:flex-start;background:color-mix(in srgb,var(--accent2) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent2) 30%,transparent);font-family:var(--ga-font-mono);font-size:12px;border-radius:12px}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;background:var(--ga-bg-glass);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--ga-border);border-radius:16px}.chat-input textarea{flex:1;min-height:38px;max-height:200px;background:transparent;border:0;resize:none;padding:8px;font-family:inherit;font-size:13px}.assistant-question{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:12px;padding:12px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.question-option-btn{background:var(--ga-bg-2);border:1px solid var(--ga-border);color:var(--ga-text);border-radius:9px;padding:8px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;min-width:100px}.question-option-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.question-option-btn:disabled{opacity:.5;cursor:not-allowed}.qo-label{font-weight:600;font-size:12.5px}.qo-desc{font-size:11px;color:var(--ga-text-dim);margin-top:2px}.question-bar{padding:10px 12px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:12px 12px 0 0;border-bottom:none}.question-bar-text{font-size:12px;font-weight:600;margin-bottom:6px}.question-bar-options{display:flex;flex-wrap:wrap;gap:4px}.question-bar-btn{background:var(--ga-bg-2);border:1px solid var(--ga-border);color:var(--ga-text);border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.question-bar-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.addon-card{display:flex;flex-direction:column;background:var(--ga-bg-2);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px;transition:transform .2s var(--ga-spring),box-shadow .2s;box-shadow:var(--ga-shadow-soft)}.addon-card:hover{box-shadow:var(--ga-shadow);transform:translateY(-2px)}.addon-card .head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.addon-card .icon-wrap{width:38px;height:38px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-family:var(--font-display);flex-shrink:0}.addon-card .meta{font-size:11.5px;color:var(--ga-text-dim)}.addon-card h3{margin:0;font-size:13.5px}.addon-card p{font-size:12.5px;color:var(--ga-text-dim);margin:6px 0 12px;flex:1}.addon-card .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.addon-settings{margin-top:12px;padding-top:12px;border-top:1px solid var(--ga-border)}.gaa-drop-zone{border:2px dashed var(--ga-border-strong);border-radius:14px;padding:24px;text-align:center;cursor:pointer;margin-bottom:14px;transition:border-color .2s,background .2s;background:var(--ga-bg-elev)}.gaa-drop-zone:hover,.gaa-drop-zone.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.gaa-drop-icon{color:var(--ga-text-faint);margin-bottom:6px;display:flex;justify-content:center}.gaa-drop-text{font-size:12.5px;color:var(--ga-text-dim)}.media-hint{margin-bottom:12px}.media-hint>summary{cursor:pointer;font-size:12.5px;color:var(--ga-text-dim);padding:4px 0;user-select:none}.media-hint>summary:hover{color:var(--ga-text)}.media-warn{margin-bottom:12px;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,var(--ga-warn) 12%,transparent);color:var(--ga-warn);font-size:12.5px;line-height:1.5}.media-drop{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-bottom:14px}.media-drop .gaa-drop-icon{margin-bottom:0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px;color:var(--ga-text-dim)}.empty .em-title{font-size:16px;color:var(--ga-text);font-weight:500}.empty .em-icon{color:var(--ga-text-faint);display:flex;justify-content:center}.spinner{width:18px;height:18px;border:2px solid var(--ga-border);border-top-color:var(--ga-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner-stack{position:fixed;bottom:16px;right:16px;z-index:500;display:flex;flex-direction:column;gap:8px;max-width:420px}.banner{background:var(--ga-bg-glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--ga-border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;animation:banner-in .3s var(--ga-spring);box-shadow:var(--ga-shadow);color:var(--ga-text)}.banner.success{border-color:color-mix(in srgb,var(--accent2) 40%,transparent)}.banner.error{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}@keyframes banner-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.cmd-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:600;animation:cmd-fade-in .2s ease-out}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-modal{background:var(--ga-bg-glass);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--ga-border);border-radius:14px;width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--ga-shadow);animation:cmd-scale-in .2s var(--ga-spring);overflow:hidden}@keyframes cmd-scale-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.cmd-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ga-border)}.cmd-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--ga-text)}.cmd-close{background:none;border:none;color:var(--ga-text-dim);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:background .15s}.cmd-close:hover{background:#0000000f}[data-theme=dark] .cmd-close:hover{background:#ffffff14}.cmd-body{padding:20px;overflow-y:auto;flex:1}.cmd-loading{display:flex;align-items:center;gap:12px;color:var(--ga-text-dim);font-size:13px;justify-content:center;padding:24px 0}.cmd-error{color:var(--ga-error);font-size:13px;padding:8px 0}.cmd-kv-list{display:flex;flex-direction:column;gap:6px}.cmd-kv-row{display:flex;gap:12px;font-size:12.5px;line-height:1.5;padding:6px 10px;border-radius:7px;background:var(--ga-bg-elev)}.cmd-kv-row:nth-child(odd){background:color-mix(in srgb,var(--ga-bg-elev) 60%,var(--ga-bg-2))}.cmd-key{font-weight:600;color:var(--ga-accent);min-width:110px;flex-shrink:0;font-family:var(--font-mono);font-size:11.5px}.cmd-val{color:var(--ga-text);word-break:break-word;font-family:var(--font-mono);font-size:11.5px}.cmd-plain{font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--ga-text)}.cmd-line{padding:3px 0}.cmd-empty{color:var(--ga-text-dim);font-size:12.5px;text-align:center;padding:24px 0}.md-preview{background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:18px 22px;overflow-y:auto;line-height:1.65;font-size:13px}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4{margin:14px 0 6px}.md-preview h1{font-size:21px;border-bottom:1px solid var(--ga-border);padding-bottom:6px}.md-preview h2{font-size:17px}.md-preview h3{font-size:15px}.md-preview h4{font-size:13px;color:var(--ga-text-dim)}.md-preview p{margin:6px 0}.md-preview ul,.md-preview ol{margin:6px 0;padding-left:22px}.md-preview blockquote{border-left:2px solid var(--ga-border-strong);padding:4px 14px;margin:8px 0;background:var(--ga-bg-elev);color:var(--ga-text-dim);border-radius:0 8px 8px 0}.md-preview code{font-family:var(--ga-font-mono);font-size:12px;background:var(--ga-bg-elev);padding:1px 6px;border-radius:4px}.md-preview pre{background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:10px;padding:12px 14px;overflow-x:auto}.md-preview pre code{background:transparent;padding:0}.md-preview a{color:var(--ga-accent)}.md-preview hr{border:0;height:1px;background:var(--ga-border);margin:16px 0}.md-preview img{max-width:100%;border-radius:8px}.md-preview table{border-collapse:collapse;margin:8px 0;width:100%}.md-preview th,.md-preview td{border:1px solid var(--ga-border);padding:6px 10px;text-align:left}.md-preview th{background:var(--ga-bg-elev)}.md-preview del{color:var(--ga-text-faint)}.apply-pill{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 18px;background:var(--ga-bg-glass);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--ga-border);border-radius:999px;box-shadow:var(--ga-shadow);animation:pill-in .3s var(--ga-spring)}@keyframes pill-in{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.apply-pill .text{font-size:12.5px;color:var(--ga-text-dim)}.apply-pill .text strong{color:var(--ga-text)}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.provider-card{position:relative;padding:14px;border:1px solid var(--ga-border);border-radius:12px;background:var(--ga-bg-elev);cursor:pointer;transition:border-color .15s,background .15s,transform .12s var(--ga-spring);display:flex;flex-direction:column;gap:4px}.provider-card:hover:not(.disabled){border-color:var(--accent);transform:translateY(-1px)}.provider-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.provider-card.disabled{opacity:.48;cursor:not-allowed}.provider-card .p-name{font-weight:600;font-family:var(--font-display);font-size:13px}.provider-card .p-hint{font-size:11.5px;color:var(--muted)}.provider-card .p-rec{position:absolute;top:10px;right:10px;font-size:10px;font-weight:600;background:var(--accent2);color:var(--ink);padding:2px 6px;border-radius:5px}.provider-card .p-tag{position:absolute;top:10px;right:10px;font-size:10px;background:var(--ga-bg-2);color:var(--muted);padding:2px 6px;border-radius:5px;border:1px solid var(--ga-border)}.tz-dropdown{position:relative}.tz-input{display:flex;align-items:center;gap:8px;padding:8px 11px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:8px;cursor:pointer}.tz-input:hover{border-color:var(--accent)}.tz-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:320px;overflow-y:auto;background:var(--ga-bg-glass);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--ga-border);border-radius:10px;z-index:100;box-shadow:var(--ga-shadow)}.tz-group-label{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;background:var(--ga-bg-elev);border-top:1px solid var(--ga-border)}.tz-list .tz-group-label:first-child{border-top:none}.tz-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.tz-item:hover,.tz-item.focused{background:#0000000d}[data-theme=dark] .tz-item:hover,[data-theme=dark] .tz-item.focused{background:#ffffff12}.tz-item.selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}.tz-item .tz-city{font-weight:500;font-size:12.5px}.tz-item .tz-gmt{font-family:var(--font-mono);color:var(--muted);font-size:11px}.tournament-shell{display:flex;flex-direction:column;gap:16px;padding:12px 0}.tournament-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.tournament-name-card{padding:28px 16px;border:1px solid var(--ga-border);border-radius:14px;background:var(--ga-bg-elev);font-family:var(--font-display);font-size:21px;font-weight:600;text-align:center;cursor:pointer;transition:border-color .15s,transform .12s var(--ga-spring),background .15s}.tournament-name-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:scale(1.02)}.tournament-skip{text-align:center;color:var(--muted);font-size:12.5px;cursor:pointer;padding:8px}.tournament-skip:hover{color:var(--ink)}.tournament-progress{display:flex;gap:4px}.tournament-progress .dot{flex:1;height:3px;background:var(--ga-border);border-radius:2px}.tournament-progress .dot.done{background:var(--accent2)}.tournament-progress .dot.active{background:var(--accent)}.age-slider-wrap{display:flex;flex-direction:column;gap:8px}.age-slider-value{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1}.age-slider-value .age-unit{font-size:13px;font-weight:400;color:var(--muted);font-family:var(--font-ui)}.age-slider-bounds{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.code-input{width:100%;text-align:center;font-family:var(--font-mono);font-size:21px;letter-spacing:.4em;padding:14px;background:var(--ga-bg-elev);border:1px solid var(--ga-border);border-radius:10px;color:var(--ink)}.code-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
