.app-shell{--d-mul:1;--d-row:calc(40px * var(--d-mul));--d-pad:calc(16px * var(--d-mul));--d-gap:calc(12px * var(--d-mul));--font-sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;--font-display:"Geist",-apple-system,system-ui,sans-serif;--bg-0:oklch(16% 0.005 250);--bg-1:oklch(19% 0.006 250);--bg-2:oklch(22% 0.008 250);--bg-3:oklch(26% 0.01 250);--bg-hover:oklch(28% 0.012 250);--line-1:oklch(28% 0.01 250);--line-2:oklch(34% 0.014 250);--line-3:oklch(42% 0.02 250);--text-1:oklch(96% 0.005 80);--text-2:oklch(78% 0.008 80);--text-3:oklch(60% 0.01 80);--text-4:oklch(46% 0.012 80);--gf-amber:oklch(82% 0.14 78);--gf-amber-dim:oklch(70% 0.12 78);--gf-amber-soft:oklch(82% 0.14 78/0.12);--gf-amber-line:oklch(82% 0.14 78/0.32);--gf-electric:oklch(78% 0.13 220);--gf-electric-soft:oklch(78% 0.13 220/0.14);--good:oklch(74% 0.14 150);--good-soft:oklch(74% 0.14 150/0.14);--warn:oklch(80% 0.14 75);--warn-soft:oklch(80% 0.14 75/0.14);--bad:oklch(68% 0.18 28);--bad-soft:oklch(68% 0.18 28/0.14);--info:oklch(76% 0.1 240);--info-soft:oklch(76% 0.1 240/0.14);--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--sh-1:0 1px 2px rgba(0,0,0,0.4);--sh-2:0 4px 12px rgba(0,0,0,0.35);--sh-3:0 12px 32px rgba(0,0,0,0.45);--sh-glow:0 0 0 1px var(--gf-amber-line),0 8px 24px oklch(82% 0.14 78/0.16)}.app-shell[data-theme=light]{--bg-0:oklch(98% 0.003 80);--bg-1:oklch(100% 0 0);--bg-2:oklch(96.5% 0.004 80);--bg-3:oklch(94% 0.005 80);--bg-hover:oklch(96% 0.005 80);--line-1:oklch(90% 0.006 80);--line-2:oklch(82% 0.008 80);--line-3:oklch(72% 0.01 80);--text-1:oklch(20% 0.01 250);--text-2:oklch(38% 0.012 250);--text-3:oklch(52% 0.014 250);--text-4:oklch(64% 0.014 250);--gf-amber:oklch(62% 0.16 65);--gf-amber-dim:oklch(54% 0.14 65);--gf-amber-soft:oklch(62% 0.16 65/0.1);--gf-amber-line:oklch(62% 0.16 65/0.3);--gf-electric:oklch(55% 0.18 240);--gf-electric-soft:oklch(55% 0.18 240/0.1);--good:oklch(48% 0.16 150);--good-soft:oklch(48% 0.16 150/0.1);--warn:oklch(58% 0.16 65);--warn-soft:oklch(58% 0.16 65/0.1);--bad:oklch(54% 0.2 28);--bad-soft:oklch(54% 0.2 28/0.1);--sh-1:0 1px 2px rgba(20,20,30,0.06);--sh-2:0 4px 14px rgba(20,20,30,0.08);--sh-3:0 12px 32px rgba(20,20,30,0.12)}.app-shell[data-density=compact]{--d-mul:0.78}.app-shell[data-density=comfy]{--d-mul:1}.app-shell[data-density=spacious]{--d-mul:1.22}.app-shell *{box-sizing:border-box}.app-shell,html{margin:0;padding:0}.app-shell{font-family:var(--font-sans);color:var(--text-1);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}.app-shell button{background:none;border:none;cursor:pointer;padding:0}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font:inherit;color:inherit}.app-shell a{color:inherit;text-decoration:none}.app-shell ::selection{background:var(--gf-amber-soft);color:var(--text-1)}.app-shell .mono,.app-shell .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.app-shell .micro{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500}.app-shell .surface{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-lg)}.app-shell .surface-2{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-md)}.app-shell .hr{height:1px;background:var(--line-1);border:0;margin:0}.app-shell .divider-v{width:1px;background:var(--line-1);align-self:stretch}.app-shell .btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-sm);font-weight:500;font-size:13px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text-1);transition:background .12s,border-color .12s,transform .12s;white-space:nowrap}.app-shell .btn:hover{background:var(--bg-hover);border-color:var(--line-3)}.app-shell .btn:active{transform:translateY(1px)}.app-shell .btn-primary{color:oklch(18% .02 80);font-weight:600}.app-shell .btn-primary,.app-shell .btn-primary:hover{background:var(--gf-amber);border-color:var(--gf-amber)}.app-shell .btn-primary:hover{filter:brightness(1.05)}.app-shell .btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.app-shell .btn-ghost:hover{background:var(--bg-2);color:var(--text-1)}.app-shell .btn-sm{padding:5px 10px;font-size:12px;border-radius:var(--r-xs)}.app-shell .btn-lg{padding:12px 22px;font-size:14px}.app-shell .chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text-2);white-space:nowrap}.app-shell .chip-amber{background:var(--gf-amber-soft);color:var(--gf-amber);border-color:var(--gf-amber-line)}.app-shell .chip-good{background:var(--good-soft);color:var(--good);border-color:oklch(74% .14 150/.32)}.app-shell .chip-warn{background:var(--warn-soft);color:var(--warn);border-color:oklch(80% .14 75/.32)}.app-shell .chip-bad{background:var(--bad-soft);color:var(--bad);border-color:oklch(68% .18 28/.32)}.app-shell .chip-info{background:var(--info-soft);color:var(--info);border-color:oklch(76% .1 240/.32)}.app-shell .chip-electric{background:var(--gf-electric-soft);color:var(--gf-electric);border-color:oklch(78% .13 220/.32)}.app-shell .dot{width:7px;height:7px;border-radius:999px;display:inline-block;flex-shrink:0}.app-shell .dot-good{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.app-shell .dot-warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.app-shell .dot-bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.app-shell .dot-info{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}.app-shell .input{width:100%;padding:9px 12px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--text-1);font-size:13px;outline:none;transition:border-color .12s,background .12s}.app-shell .input:focus{border-color:var(--gf-amber);background:var(--bg-1)}.app-shell .input::placeholder{color:var(--text-4)}.app-shell .input-lg{padding:14px 18px;font-size:15px;border-radius:var(--r-md)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--line-3)}.app-shell .row{display:flex;align-items:center}.app-shell .col{display:flex;flex-direction:column}.app-shell .gap-2{gap:8px}.app-shell .gap-3{gap:12px}.app-shell .gap-4{gap:16px}.app-shell .gap-6{gap:24px}.app-shell .grow{flex:1 1}.app-shell .muted{color:var(--text-3)}.app-shell .faded,.app-shell .prov{color:var(--text-4)}.app-shell .prov{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;padding:2px 6px;border-radius:var(--r-xs);background:transparent;border:1px solid transparent;cursor:help}.app-shell .prov:hover{background:var(--bg-2);border-color:var(--line-1);color:var(--text-3)}.app-shell .prov-dot{width:5px;height:5px;border-radius:999px;background:var(--good)}.app-shell{display:grid;grid-template-columns:240px 1fr;height:100vh;background:var(--bg-0)}.app-shell[data-no-nav=true]{grid-template-columns:1fr}.app-shell .app-main{overflow:auto}.app-shell .section-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 28px 14px;border-bottom:1px solid var(--line-1)}.app-shell .section-h h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.app-shell .section-h .sub{color:var(--text-3);font-size:13px;margin-top:4px}@keyframes pulse{0%,to{opacity:.55}50%{opacity:.9}}.app-shell .skel{background:var(--bg-2);border-radius:var(--r-xs);animation:pulse 1.4s ease-in-out infinite}.app-shell .hover-row{transition:background .12s}.app-shell .hover-row:hover{background:var(--bg-2)}.app-shell :focus-visible{outline:2px solid var(--gf-amber);outline-offset:2px;border-radius:var(--r-xs)}.app-shell .h-display{font-size:56px;font-weight:600;line-height:1.04;letter-spacing:-.03em}.app-shell .h-1{font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.app-shell .h-2{font-size:22px;font-weight:600;letter-spacing:-.01em}.app-shell .h-3{font-size:16px;font-weight:600}.app-shell .gf-mark{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;letter-spacing:-.005em}.app-shell .gf-mark-glyph{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--gf-amber) 0,var(--gf-amber-dim) 100%);position:relative;flex-shrink:0}.app-shell .gf-mark-glyph:after{content:"";position:absolute;inset:4px;border:1.5px solid oklch(18% .02 80/.7);border-radius:3px;background:linear-gradient(180deg,transparent calc(50% - .75px),oklch(18% .02 80/.7) calc(50% - .75px),oklch(18% .02 80/.7) calc(50% + .75px),transparent calc(50% + .75px)),linear-gradient(90deg,transparent calc(50% - .75px),oklch(18% .02 80/.7) calc(50% - .75px),oklch(18% .02 80/.7) calc(50% + .75px),transparent calc(50% + .75px))}.app-shell .gf-sidebar{display:flex;flex-direction:column;background:var(--bg-1);border-right:1px solid var(--line-1);padding:14px 12px 12px;gap:12px;min-width:0}.app-shell .gf-sidebar-head{padding:4px 6px 0}.app-shell .gf-search-mini{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-sm);font-size:12.5px;color:var(--text-3);cursor:pointer;transition:border-color .12s,background .12s}.app-shell .gf-search-mini:hover{border-color:var(--gf-amber-line);background:var(--bg-hover)}.app-shell .kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;border-radius:3px;border:1px solid var(--line-2);background:var(--bg-1);color:var(--text-3)}.app-shell .gf-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;min-height:0;overflow-y:auto}.app-shell .gf-nav-item{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:var(--r-sm);font-size:13px;color:var(--text-2);text-align:left;transition:background .12s,color .12s}.app-shell .gf-nav-item:hover{background:var(--bg-2);color:var(--text-1)}.app-shell .gf-nav-item.is-active{background:var(--gf-amber-soft);color:var(--gf-amber)}.app-shell .gf-nav-item.is-active svg{color:var(--gf-amber)}.app-shell .gf-nav-count{font-family:var(--font-mono);font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--bg-3);color:var(--text-3);border:1px solid var(--line-1)}.app-shell .gf-nav-item.is-active .gf-nav-count{background:oklch(82% .14 78/.2);color:var(--gf-amber);border-color:var(--gf-amber-line)}.app-shell .gf-nav-divider{height:1px;background:var(--line-1);margin:8px 4px}.app-shell .gf-sidebar-foot{padding-top:8px;border-top:1px solid var(--line-1)}.app-shell .gf-me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line-1)}.app-shell .gf-me-avatar{width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,var(--gf-amber) 0,var(--gf-amber-dim) 100%);display:grid;place-items:center;color:oklch(18% .02 80);font-family:var(--font-mono);font-size:11px;font-weight:600}.app-shell .gf-topbar{gap:16px;padding:16px 28px 14px;border-bottom:1px solid var(--line-1);background:var(--bg-0);top:0;z-index:10;-webkit-backdrop-filter:saturate(150%) blur(8px);backdrop-filter:saturate(150%) blur(8px)}.app-shell .gf-aibar,.app-shell .gf-topbar{display:flex;align-items:center;position:-webkit-sticky;position:sticky}.app-shell .gf-aibar{bottom:16px;margin:16px 24px;gap:10px;padding:11px 16px;background:oklch(22% .008 250/.85);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);border:1px solid var(--line-2);border-radius:var(--r-md);font-size:13px;cursor:pointer;box-shadow:var(--sh-2);z-index:5;transition:border-color .12s}.app-shell .gf-aibar:hover{border-color:var(--gf-amber-line)}.app-shell .gf-page{padding:20px 28px 28px}.app-shell .gf-page-wide{padding:0}.app-shell .gf-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.app-shell .gf-table thead th{background:var(--bg-1);padding:8px 12px;text-align:left;font-weight:500;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line-1);white-space:nowrap}.app-shell .gf-table tbody td{padding:10px 12px;border-bottom:1px solid var(--line-1);vertical-align:middle}.app-shell .gf-table tbody tr{transition:background .12s;cursor:pointer}.app-shell .gf-table tbody tr:hover{background:var(--bg-2)}.app-shell .gf-table .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-shell .gf-grid{display:grid;grid-gap:16px;gap:16px}.app-shell .gf-grid-2{grid-template-columns:1fr 1fr}.app-shell .gf-grid-3{grid-template-columns:1fr 1fr 1fr}.app-shell .gf-grid-4{grid-template-columns:1fr 1fr 1fr 1fr}.app-shell .gf-card{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-lg);overflow:hidden}.app-shell .gf-card-head{padding:14px 18px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-shell .gf-card-head h3{margin:0;font-size:14px;font-weight:600}.app-shell .gf-card-body{padding:6px 18px 18px}.app-shell .gf-card-foot{padding:12px 18px;border-top:1px solid var(--line-1);background:var(--bg-2)}.app-shell .gf-stat{padding:16px 18px;display:flex;flex-direction:column;gap:6px}.app-shell .gf-stat .label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.app-shell .gf-stat .value{font-family:var(--font-mono);font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--text-1)}.app-shell .gf-stat .meta{font-size:12px;color:var(--text-3)}.app-shell .gf-stat .meta .pos{color:var(--good)}.app-shell .gf-stat .meta .neg{color:var(--bad)}.app-shell .thinking-dots{display:inline-flex;gap:3px}.app-shell .thinking-dots span{width:4px;height:4px;border-radius:999px;background:var(--gf-amber);animation:thinking 1.2s ease-in-out infinite both}.app-shell .thinking-dots span:nth-child(2){animation-delay:.15s}.app-shell .thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes thinking{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.app-shell .bar{height:6px;background:var(--bg-3);border-radius:999px;overflow:hidden;position:relative}.app-shell .bar>i{display:block;height:100%;border-radius:999px;background:var(--gf-amber)}.app-shell .bar-electric>i{background:var(--gf-electric)}.app-shell .bar-good>i{background:var(--good)}.app-shell .bar-warn>i{background:var(--warn)}.app-shell .ai-summary cite{font-style:normal;font-family:var(--font-mono);font-size:10px;padding:1px 5px;border-radius:3px;background:color-mix(in oklch,var(--gf-amber) 12%,transparent);color:var(--gf-amber);vertical-align:middle;margin:0 1px}.app-shell[data-theme=black]{--bg-0:oklch(3% 0 0);--bg-1:oklch(7% 0 0);--bg-2:oklch(11% 0 0);--bg-3:oklch(15% 0 0);--bg-hover:oklch(17% 0 0);--line-1:oklch(15% 0 0);--line-2:oklch(22% 0 0);--line-3:oklch(30% 0 0)}.app-shell .gf-nav-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-4);padding:16px 14px 6px}.app-shell .gf-statusbar{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 16px;font-size:11px;font-family:var(--font-mono);color:var(--text-3);background:var(--bg-1);border-top:1px solid var(--line-1)}.gf-toast{position:fixed;bottom:48px;left:50%;transform:translateX(-50%);padding:6px 16px;font-family:var(--font-mono);font-size:12px;color:var(--text-1);background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;z-index:9999;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.gf-mobile-tabs{display:none}@media (max-width:768px){.app-shell{grid-template-columns:1fr}.app-shell .gf-sidebar{display:none}.gf-mobile-tabs{position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--bg-1);border-top:1px solid var(--line-1);display:flex;z-index:100}.gf-mobile-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;color:var(--text-3);text-decoration:none}.gf-mobile-tab.is-active{color:var(--gf-amber)}.app-shell .app-main{padding-bottom:64px}.app-shell .gf-topbar h1{font-size:16px}.app-shell .gf-grid-4{grid-template-columns:1fr 1fr}.app-shell .gf-statusbar{display:none}}.app-shell .gf-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}