@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-VariableFont_wght.ttf) format("truetype-variations"),url(/fonts/SpaceGrotesk-VariableFont_wght.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-VariableFont_opsz_wght.ttf) format("truetype-variations"),url(/fonts/Inter-VariableFont_opsz_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Italic-VariableFont_opsz_wght.ttf) format("truetype-variations"),url(/fonts/Inter-Italic-VariableFont_opsz_wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-VariableFont_wght.ttf) format("truetype-variations"),url(/fonts/GeistMono-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root,body{--font-display: "Space Grotesk", "Inter", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "SF Mono", "Fira Code", ui-monospace, monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--ease-out: cubic-bezier(.2, .8, .2, 1);--duration-base: .2s;--transition: color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out)}:root[data-theme=dark],:root[data-theme=dark] body{--primary: #fef08a;--primary-container: #fef08a;--on-primary-container: #1a1814;--primary-fixed: #f2e580;--background: #0e0c07;--surface: #0e0c07;--surface-container-lowest: #1f1c14;--surface-container-low: #1a1812;--surface-container: #221e16;--surface-container-high: #2c2820;--surface-container-highest: #36322a;--on-surface-strong: #faf5e8;--on-surface: #ebe6d6;--on-surface-variant: #b5af9a;--on-surface-muted: #807a66;--on-surface-dim: #5a5546;--outline-variant: rgba(245, 240, 229, .18);--ghost-border: rgba(245, 240, 229, .1);--success: #8fd9a3;--warning: #f3c97a;--danger: #f3a5a0;--topbar-bg: rgba(14, 12, 7, .72);--input-bg: rgba(20, 17, 11, .7);--selection-bg: rgba(254, 240, 138, .35);--hover-tint: rgba(245, 240, 229, .06);--hover-tint-faint: rgba(245, 240, 229, .04);--hover-tint-soft: rgba(245, 240, 229, .02);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 14px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .35);--shadow-focus: 0 0 0 3px rgba(254, 240, 138, .45);color-scheme:dark}:root[data-theme=light],:root[data-theme=light] body{--primary: #f5d061;--primary-container: #f5d061;--on-primary-container: #1a1814;--primary-fixed: #eac24a;--background: #faf5e8;--surface: #faf5e8;--surface-container-lowest: #ffffff;--surface-container-low: #f3ecd6;--surface-container: #ece4c5;--surface-container-high: #e2d8b1;--surface-container-highest: #d6cb9d;--on-surface-strong: #14110a;--on-surface: #2c2820;--on-surface-variant: #5a5546;--on-surface-muted: #807a66;--on-surface-dim: #b5af9a;--outline-variant: rgba(20, 17, 11, .18);--ghost-border: rgba(20, 17, 11, .12);--success: #2f8a4d;--warning: #b07a1d;--danger: #b03a35;--topbar-bg: rgba(250, 245, 232, .78);--input-bg: rgba(255, 255, 255, .7);--selection-bg: rgba(245, 208, 97, .45);--hover-tint: rgba(20, 17, 11, .06);--hover-tint-faint: rgba(20, 17, 11, .04);--hover-tint-soft: rgba(20, 17, 11, .02);--shadow-sm: 0 1px 2px rgba(20, 17, 11, .08);--shadow-md: 0 4px 14px rgba(20, 17, 11, .1);--shadow-lg: 0 12px 32px rgba(20, 17, 11, .14), 0 2px 6px rgba(20, 17, 11, .08);--shadow-focus: 0 0 0 3px rgba(245, 208, 97, .55);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--background);color:var(--on-surface);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[hidden]{display:none!important}::selection{background:var(--selection-bg);color:var(--on-surface-strong)}a{color:var(--on-surface-strong);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-container)}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--on-surface-strong);letter-spacing:-.015em;margin:0}p{margin:0}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-mono);letter-spacing:.04em}.pill{display:inline-flex;align-items:center;height:28px;font:500 11px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-muted);border:1px solid var(--ghost-border);border-radius:var(--radius-pill);padding:0 12px;white-space:nowrap;background:var(--hover-tint-soft)}.pill.pill-on{color:var(--on-primary-container);background:var(--primary-container);border-color:transparent}.icon-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--on-surface-variant);border:1px solid transparent;padding:7px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:var(--transition)}.icon-btn:hover{background:var(--hover-tint);color:var(--on-surface-strong);border-color:var(--ghost-border)}.icon-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.nav-icon{display:block;flex-shrink:0}.icon-btn svg{stroke-width:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-pill);font:600 13px / 1 var(--font-body);cursor:pointer;border:1px solid transparent;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--primary-container);color:var(--on-primary-container)}.btn-primary:hover:not(:disabled){background:var(--primary-fixed)}.btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--on-surface);border-color:var(--outline-variant)}.btn-ghost:hover:not(:disabled){background:var(--hover-tint-faint);color:var(--on-surface-strong)}.btn-danger{background:transparent;color:var(--danger);border-color:#f3a5a04d}.btn-danger:hover:not(:disabled){background:#f3a5a014}.btn-sm{height:30px;padding:0 12px;font-size:12px}.card{background:var(--surface-container-low);border:1px solid var(--ghost-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card-pad{padding:var(--space-6)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--ghost-border)}.card-title{font:600 14px / 1.3 var(--font-display);color:var(--on-surface-strong);letter-spacing:-.01em}.card-sub{font:400 12px / 1.4 var(--font-mono);color:var(--on-surface-muted);letter-spacing:.04em}.input,.textarea,.select{width:100%;background:var(--input-bg);border:1px solid var(--ghost-border);border-radius:var(--radius-md);padding:10px 14px;color:var(--on-surface-strong);font:400 14px / 1.4 var(--font-body);transition:var(--transition);outline:none}.input::placeholder,.textarea::placeholder{color:var(--on-surface-muted)}.input:focus,.textarea:focus,.select:focus{border-color:#fef08a73;box-shadow:0 0 0 4px #fef08a1a}.textarea{resize:vertical;min-height:96px;font-family:var(--font-body)}.field-row{display:grid;gap:var(--space-2)}.label{font:500 11px / 1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-muted)}.muted{color:var(--on-surface-muted)}.variant{color:var(--on-surface-variant)}.strong{color:var(--on-surface-strong)}.divider{height:1px;background:var(--ghost-border);border:0;margin:0}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row-tight{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.form-actions{justify-content:flex-end}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media(max-width:960px){.grid-2,.grid-3{grid-template-columns:1fr}}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface-container-lowest);border:1px solid var(--ghost-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;min-width:160px;z-index:60}.lang-opt{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;padding:8px 10px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--on-surface);cursor:pointer;text-align:left;text-decoration:none}.lang-opt:hover{background:var(--hover-tint)}.lang-opt[aria-current=true]{color:var(--on-surface-strong)}.lang-opt[aria-current=true] .check{opacity:1}.lang-opt .check{margin-left:auto;opacity:0;color:var(--primary-container)}.lang-switcher{position:relative}.toast-stack{position:fixed;bottom:var(--space-6);right:var(--space-6);display:grid;gap:var(--space-2);z-index:200;max-width:min(380px,calc(100vw - 32px))}.toast{background:var(--surface-container-highest);border:1px solid var(--ghost-border);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-lg);font:400 13px / 1.4 var(--font-body);color:var(--on-surface-strong);display:flex;gap:10px;align-items:flex-start;animation:toast-in .22s var(--ease-out)}.toast .dot-mark{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.toast.ok .dot-mark{background:var(--success);box-shadow:0 0 10px #8fd9a38c}.toast.err .dot-mark{background:var(--danger);box-shadow:0 0 10px #f3a5a08c}.toast.info .dot-mark{background:var(--primary-container);box-shadow:0 0 10px #fef08a8c}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.shell{position:relative;z-index:1;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:18px var(--space-7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--topbar-bg);border-bottom:1px solid var(--ghost-border)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--on-surface-strong);text-decoration:none}.brand .faroo-logo{width:30px;height:30px}.brand-name{font:600 22px / 1 var(--font-display);letter-spacing:-.015em}.brand-sub{font:500 11px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-muted);padding-left:10px;margin-left:6px;border-left:1px solid var(--ghost-border)}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.playground{max-width:1200px;width:100%;margin:0 auto;padding:var(--space-6)}.tablist{display:flex;gap:4px;padding:4px;background:var(--surface-container-lowest);border:1px solid var(--ghost-border);border-radius:var(--radius-pill);width:fit-content;margin:0 auto var(--space-6)}.tab{background:transparent;border:0;padding:8px 16px;border-radius:var(--radius-pill);font:600 12px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-muted);cursor:pointer;transition:var(--transition)}.tab:hover{color:var(--on-surface)}.tab[aria-selected=true]{background:var(--primary-container);color:var(--on-primary-container)}.panel{display:none}.panel.active{display:block;animation:fade-up .32s var(--ease-out)}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-5);align-items:stretch}@media(max-width:960px){.chat{grid-template-columns:1fr}}.chat-main{display:flex;flex-direction:column;min-height:560px;height:70vh}.chat-side{display:grid;gap:var(--space-4);align-content:start}.chat-log{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);background:radial-gradient(ellipse 80% 40% at 50% -10%,rgba(254,240,138,.04),transparent 60%),var(--surface-container-low);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bubble{max-width:86%;width:fit-content;padding:12px 16px;border-radius:var(--radius-lg);font:400 14px / 1.55 var(--font-body);word-wrap:break-word;overflow-wrap:anywhere;flex-shrink:0}.bubble.user{white-space:pre-wrap}.bubble .md>:first-child{margin-top:0}.bubble .md>:last-child{margin-bottom:0}.bubble .md p{margin:0 0 8px}.bubble .md p:last-child{margin-bottom:0}.bubble .md h1,.bubble .md h2,.bubble .md h3,.bubble .md h4{font-family:var(--font-display);letter-spacing:-.01em;margin:14px 0 6px;line-height:1.25}.bubble .md h1{font-size:18px}.bubble .md h2{font-size:16px}.bubble .md h3,.bubble .md h4{font-size:14px}.bubble .md ul,.bubble .md ol{margin:6px 0 8px;padding-left:22px}.bubble .md li{margin:2px 0}.bubble .md li>p{margin:0}.bubble .md a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.bubble .md strong{font-weight:700}.bubble .md em{font-style:italic}.bubble .md code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--hover-tint)}.bubble.user .md code{background:#1a181426}.bubble .md pre{margin:8px 0;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-container-lowest);border:1px solid var(--ghost-border);overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.55}.bubble.user .md pre{background:#1a18142e;border-color:#1a181440}.bubble .md pre code{padding:0;background:transparent;font-size:inherit}.bubble .md blockquote{margin:6px 0;padding:4px 12px;border-left:3px solid var(--primary-container);color:var(--on-surface-variant)}.bubble .md hr{border:0;border-top:1px solid var(--ghost-border);margin:12px 0}.bubble .md table{border-collapse:collapse;margin:8px 0;font-size:13px}.bubble .md th,.bubble .md td{padding:6px 10px;border:1px solid var(--ghost-border);text-align:left}.bubble .md th{background:var(--hover-tint-faint);font-weight:600}.bubble.user{align-self:flex-end;background:var(--primary-container);color:var(--on-primary-container);border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--surface-container-high);color:var(--on-surface);border-bottom-left-radius:4px;border:1px solid var(--ghost-border)}.bubble.assistant.streaming:after{content:"▌";margin-left:2px;color:var(--primary-container);animation:blink 1s steps(1) infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.bubble .role{display:block;font:500 10px / 1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:inherit;opacity:.6;margin-bottom:6px}.bubble.assistant .role{color:var(--on-surface-muted);opacity:1}.chat-empty{flex:1;display:grid;place-items:center;text-align:center;color:var(--on-surface-muted);font:400 13px / 1.55 var(--font-body);padding:var(--space-9) var(--space-5)}.chat-empty .hint{display:grid;gap:6px;max-width:380px}.chat-empty .hint .row{justify-content:center}.chat-input-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-container);border:1px solid var(--ghost-border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.stream-field{display:inline-flex;align-items:center;gap:8px;padding:0 6px;cursor:pointer;user-select:none}.stream-text{font:500 11px / 1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-muted);transition:var(--transition)}.stream-field:hover .stream-text{color:var(--on-surface-strong)}.stream-toggle{position:relative;display:inline-block;width:34px;height:20px;padding:0;border-radius:9999px;border:1px solid var(--ghost-border);background:var(--surface-container-highest);cursor:pointer;transition:var(--transition);flex-shrink:0}.stream-toggle:after{content:"";position:absolute;top:50%;left:2px;width:14px;height:14px;border-radius:50%;background:var(--on-surface-muted);transform:translateY(-50%);transition:left var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out)}.stream-toggle[data-on=true]{background:var(--primary-container);border-color:transparent}.stream-toggle[data-on=true]:after{left:16px;background:var(--on-primary-container)}.stream-toggle:hover{border-color:#fef08a73}.stream-toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.chat-input{background:transparent;border:0;padding:10px 4px;color:var(--on-surface-strong);font:400 14px / 1.45 var(--font-body);resize:none;min-height:40px;max-height:160px}.chat-input:focus{outline:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--ghost-border);background:var(--hover-tint-soft);color:var(--on-surface-variant);font:500 11px / 1 var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:var(--transition)}.chip:hover{border-color:#fef08a73;color:var(--on-surface-strong)}.chip[data-on=true]{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.source-list{display:grid;gap:6px;max-height:280px;overflow-y:auto;padding:var(--space-4)}.source-item{border:1px solid var(--ghost-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-container);display:grid;gap:4px}.source-item .src-title{font:600 12px / 1.3 var(--font-body);color:var(--on-surface-strong);letter-spacing:-.005em}.source-item .src-meta{font:500 10px / 1 var(--font-mono);letter-spacing:.06em;color:var(--on-surface-muted);text-transform:uppercase;display:flex;gap:8px}.source-item .src-snip{font:400 12px / 1.5 var(--font-body);color:var(--on-surface-variant);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty-block{text-align:center;font:400 12px / 1.55 var(--font-body);color:var(--on-surface-muted);padding:var(--space-5)}.knowledge{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-5)}@media(max-width:960px){.knowledge{grid-template-columns:1fr}}.drop{border:1px dashed var(--outline-variant);background:var(--surface-container);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;cursor:pointer;transition:var(--transition)}.drop:hover,.drop.over{border-color:#fef08a8c;background:#fef08a0a}.drop .drop-title{font:600 13px / 1.3 var(--font-body);color:var(--on-surface-strong);margin-bottom:4px}.drop .drop-sub{font:400 12px / 1.5 var(--font-body);color:var(--on-surface-muted)}.doc-list{display:grid;gap:6px;max-height:420px;overflow-y:auto;padding:var(--space-3) var(--space-3)}.doc{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;padding:10px 12px;background:var(--surface-container);border:1px solid var(--ghost-border);border-radius:var(--radius-md)}.doc .doc-title{font:600 13px / 1.3 var(--font-body);color:var(--on-surface-strong);letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.doc .doc-meta{font:500 11px / 1.2 var(--font-mono);color:var(--on-surface-muted);letter-spacing:.04em}.search-results{display:grid;gap:8px;margin-top:var(--space-4)}.search-hit{border:1px solid var(--ghost-border);background:var(--surface-container);border-radius:var(--radius-md);padding:12px 14px;display:grid;gap:4px}.search-hit .hit-title{font:600 13px / 1.3 var(--font-body);color:var(--on-surface-strong)}.search-hit .hit-score{font:500 11px / 1 var(--font-mono);letter-spacing:.06em;color:var(--primary-container)}.search-hit .hit-body{font:400 13px / 1.55 var(--font-body);color:var(--on-surface-variant);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.learning-list{display:grid;gap:8px;max-height:540px;overflow-y:auto;padding:var(--space-3) var(--space-3)}.learning{background:var(--surface-container);border:1px solid var(--ghost-border);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:8px}.learning .learning-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.learning .learning-problem{font:600 14px / 1.4 var(--font-body);color:var(--on-surface-strong)}.learning .learning-solution{font:400 13px / 1.55 var(--font-body);color:var(--on-surface-variant)}.learning .learning-meta{display:flex;flex-wrap:wrap;gap:6px;font:500 10px / 1 var(--font-mono);letter-spacing:.06em;color:var(--on-surface-muted);text-transform:uppercase}.learning .learning-actions{display:flex;gap:6px;flex-wrap:wrap}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.status-tile{background:var(--surface-container);border:1px solid var(--ghost-border);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:6px}.status-tile .status-label{font:500 11px / 1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-muted)}.status-tile .status-value{font:600 18px / 1.2 var(--font-display);color:var(--on-surface-strong);display:inline-flex;align-items:center;gap:8px}.status-tile .status-dot{width:10px;height:10px;border-radius:50%;background:var(--on-surface-muted)}.status-tile.ok .status-dot{background:var(--success);box-shadow:0 0 12px #8fd9a38c}.status-tile.warn .status-dot{background:var(--warning)}.status-tile.err .status-dot{background:var(--danger);box-shadow:0 0 12px #f3a5a08c}.kv{display:grid;grid-template-columns:140px 1fr;gap:var(--space-3);font:400 13px / 1.5 var(--font-body)}.kv dt{color:var(--on-surface-muted);font:500 11px / 1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.kv dd{color:var(--on-surface);margin:0;word-break:break-all}.settings{position:fixed;inset:0;z-index:100;display:none;align-items:flex-start;justify-content:flex-end}.settings[data-open=true]{display:flex}.settings-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.settings-panel{position:relative;width:min(420px,100%);height:100dvh;background:var(--surface-container-low);border-left:1px solid var(--ghost-border);padding:var(--space-7);overflow-y:auto;display:grid;align-content:start;gap:var(--space-5);animation:slide-in .22s var(--ease-out)}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.settings h2{font:600 18px / 1 var(--font-display);letter-spacing:-.015em}@media(max-width:720px){.topbar{padding:var(--space-4) var(--space-5)}.playground{padding:var(--space-4) var(--space-5) var(--space-8)}.tablist{margin-bottom:var(--space-4)}.brand-sub,.nav-actions .label-hide{display:none}}.faroo-logo{display:inline-block;position:relative;width:var(--logo-size, 30px);height:var(--logo-size, 30px);line-height:0;flex-shrink:0}.faroo-logo-img{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity var(--duration-base) var(--ease-out)}:root[data-theme=dark] .faroo-logo-light,:root[data-theme=light] .faroo-logo-dark{opacity:0}:root[data-theme=dark] .faroo-logo-dark,:root[data-theme=light] .faroo-logo-light{opacity:1}.theme-toggle[data-astro-cid-x3pjskd3]{position:relative;width:34px;height:34px;padding:0;justify-content:center;overflow:hidden}.theme-icon[data-astro-cid-x3pjskd3]{position:absolute;transition:transform .28s var(--ease-out),opacity .2s var(--ease-out)}:root[data-theme=dark] .theme-icon-sun[data-astro-cid-x3pjskd3]{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=dark] .theme-icon-moon[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(-90deg) scale(.5)}:root[data-theme=light] .theme-icon-sun[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(90deg) scale(.5)}:root[data-theme=light] .theme-icon-moon[data-astro-cid-x3pjskd3]{opacity:1;transform:rotate(0) scale(1)}@media(prefers-reduced-motion:reduce){.theme-icon[data-astro-cid-x3pjskd3]{transition:none}}
