@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff")}.ln{--ln-paper: oklch(14% .012 60);--ln-paper-2: oklch(18% .014 60);--ln-paper-3: oklch(22.5% .016 60);--ln-ink: oklch(94% .012 80);--ln-ink-2: oklch(78% .016 75);--ln-muted: oklch(62% .016 70);--ln-line: oklch(29% .02 65);--ln-line-strong: oklch(38% .025 65);--ln-accent: oklch(79% .135 72);--ln-accent-ink: oklch(19% .04 60);--ln-accent-soft: oklch(79% .135 72 / .14);--ln-glow: oklch(72% .15 62 / .3);--ln-glow-far: oklch(52% .15 35 / .16);--ln-scrim: oklch(14% .012 60 / .72);--ln-dialogue: oklch(88% .07 85);--ln-action: oklch(74% .03 250);--ln-display: "Instrument Serif", var(--serif);--ln-body: var(--sans);--ln-max: 1180px;--ln-gutter: clamp(16px, 4vw, 44px);--ln-r: 18px;--ln-r-sm: 10px;--ln-ease-out: cubic-bezier(.16, 1, .3, 1);--ln-ease-in-out: cubic-bezier(.65, 0, .35, 1);--dialogue: var(--ln-dialogue);--action: var(--ln-action);color-scheme:dark;min-height:100%;background:var(--ln-paper);color:var(--ln-ink);font-family:var(--ln-body);overflow-x:clip}.ln-wrap{width:100%;max-width:var(--ln-max);margin:0 auto;padding-left:var(--ln-gutter);padding-right:var(--ln-gutter)}.ln-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ln :focus-visible{outline:2px solid var(--ln-accent);outline-offset:3px}.ln-nav-wrap{position:fixed;top:14px;left:0;right:0;z-index:20;display:flex;justify-content:center;padding:0 12px;pointer-events:none}.ln-nav{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,720px);padding:7px 7px 7px 16px;border-radius:999px;border:1px solid var(--ln-line);background:var(--ln-scrim);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.ln-brand{display:inline-flex;align-items:center;gap:9px;color:var(--ln-ink);font-family:var(--ln-display);font-size:1.3rem;white-space:nowrap}.ln-brand:hover{text-decoration:none}.ln-nav-actions{display:flex;align-items:center;gap:16px}.ln-link{color:var(--ln-ink-2);font-weight:500;white-space:nowrap;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .14s var(--ln-ease-out),text-decoration-color .14s var(--ln-ease-out)}.ln-link:hover{color:var(--ln-ink);text-decoration-color:var(--ln-accent)}.ln-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:999px;font-weight:650;white-space:nowrap;transition:transform .12s var(--ln-ease-out),box-shadow .2s var(--ln-ease-out),filter .14s var(--ln-ease-out)}.ln-btn:hover{text-decoration:none}.ln-btn-primary{background:var(--ln-accent);color:var(--ln-accent-ink)}.ln-btn-primary:hover{filter:brightness(1.06);box-shadow:0 0 0 6px var(--ln-accent-soft),0 10px 40px var(--ln-glow)}.ln-btn-primary:active{transform:translateY(1px);box-shadow:none}.ln-btn-big{min-height:52px;padding:0 28px;font-size:1.05rem}.ln-hero{--lamp-x: 72%;--lamp-y: 28%;position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:clip;background:radial-gradient(60% 50% at 12% 110%,var(--ln-glow-far),transparent 70%),var(--ln-paper)}.ln-lamp{position:absolute;inset:0;z-index:-1;background:radial-gradient(38rem 30rem at var(--lamp-x) var(--lamp-y),var(--ln-glow),transparent 70%);transition:background-position .3s var(--ln-ease-out)}.ln-grain{position:absolute;inset:0;z-index:-1;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.ln-hero-inner{padding-top:120px;padding-bottom:clamp(28px,6vh,64px)}.ln-display{margin:0;font-family:var(--ln-display);font-style:normal;font-weight:400;font-size:clamp(3.4rem,11.5vw,11rem);line-height:.9;letter-spacing:-.025em;min-width:0;overflow-wrap:anywhere;text-wrap:balance;animation:ln-rise .9s var(--ln-ease-out) both}.ln-landmark{position:relative;color:var(--ln-accent);white-space:nowrap}.ln-landmark:after{content:"";position:absolute;left:.04em;right:.1em;bottom:.02em;height:.07em;border-radius:999px;background:var(--ln-accent);transform-origin:left center;animation:ln-draw .9s .5s var(--ln-ease-out) both}.ln-hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-top:clamp(28px,5vh,56px);padding-top:20px;border-top:1px solid var(--ln-line);animation:ln-fade .9s .3s var(--ln-ease-out) both}.ln-hero-foot p{margin:0;max-width:34rem;color:var(--ln-ink-2);font-size:1.08rem;line-height:1.6}.ln-cue{color:var(--ln-ink);font-weight:600;white-space:nowrap}.ln-cue span{display:inline-block;margin-left:6px;color:var(--ln-accent);transition:transform .2s var(--ln-ease-out)}.ln-cue:hover{text-decoration:none}.ln-cue:hover span{transform:translateY(3px)}@keyframes ln-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes ln-fade{0%{opacity:0}}@keyframes ln-draw{0%{transform:scaleX(0)}}.ln-stage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);align-items:start;padding-top:clamp(72px,12vw,140px);padding-bottom:clamp(56px,9vw,112px);scroll-margin-top:40px}.ln-h2{margin:0 0 18px;font-family:var(--ln-display);font-style:normal;font-weight:400;font-size:clamp(2.3rem,4.6vw,3.8rem);line-height:1;letter-spacing:-.015em;min-width:0;overflow-wrap:anywhere}.ln-stage-copy>p{margin:0 0 24px;color:var(--ln-ink-2);max-width:30rem;line-height:1.6}.ln-stage-copy{position:sticky;top:96px}.ln-xray{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 18px 0 14px;border-radius:999px;border:1px solid var(--ln-line-strong);background:var(--ln-paper-2);color:var(--ln-ink);font:inherit;font-weight:600;cursor:pointer;transition:border-color .14s var(--ln-ease-out),background-color .14s var(--ln-ease-out)}.ln-xray:hover{border-color:var(--ln-accent)}.ln-xray.on{background:var(--ln-accent-soft);border-color:var(--ln-accent)}.ln-xray-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--ln-accent);transition:background-color .14s var(--ln-ease-out),box-shadow .2s var(--ln-ease-out)}.ln-xray.on .ln-xray-dot{background:var(--ln-accent);box-shadow:0 0 12px var(--ln-glow)}.ln-notes{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;color:var(--ln-ink-2);font-size:.93rem;line-height:1.5;opacity:.35;transition:opacity .3s var(--ln-ease-out)}.ln-notes.on{opacity:1}.ln-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.ln-note strong{color:var(--ln-ink)}.ln-mark{display:inline-grid;place-items:center;width:1.45em;height:1.45em;border-radius:50%;background:var(--ln-accent);color:var(--ln-accent-ink);font-family:var(--ln-body);font-size:.72rem;font-weight:800;font-style:normal;line-height:1}sup.ln-mark{margin-left:3px;vertical-align:super;font-size:.62rem;animation:ln-fade .24s var(--ln-ease-out) both}.ln-scene{position:relative;margin:0;padding:clamp(20px,3.4vw,36px);border-radius:var(--ln-r);background:var(--ln-paper-2);border:1px solid var(--ln-line);box-shadow:0 30px 80px -30px var(--ln-glow);min-height:25rem}.ln-scene-head{margin-bottom:22px;color:var(--ln-muted);font-size:.8rem;letter-spacing:.04em}.ln-turn{font-size:1.08rem}.ln-turn+.ln-turn{margin-top:22px}.ln-turn-who{margin-bottom:4px;color:var(--ln-muted);font-family:var(--ln-body);font-size:.78rem;font-weight:650;letter-spacing:.03em}.ln-turn-you{padding:12px 16px;margin-left:clamp(0px,10%,64px);border-radius:var(--ln-r-sm);background:var(--ln-paper-3)}.ln-turn p{margin:0 0 10px}.ln-turn p:last-child{margin-bottom:0}.ln-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--ln-accent);animation:ln-blink 1s steps(1) infinite}@keyframes ln-blink{50%{opacity:0}}.ln-hl{text-decoration:none;transition:background-color .24s var(--ln-ease-out)}.ln-scene.xray .ln-hl{text-decoration-color:var(--ln-accent);text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-line:underline;background:var(--ln-accent-soft);border-radius:3px}.ln-scene.xray .ln-hl-2{text-decoration-style:wavy}.ln-scene.xray .ln-hl-3{text-decoration-style:dotted}.ln-section{padding-top:clamp(56px,9vw,112px);padding-bottom:clamp(56px,9vw,112px)}.ln-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:36px}.ln-tile{position:relative;padding:clamp(20px,2.6vw,30px);border-radius:var(--ln-r);background:var(--ln-paper-2);border:1px solid var(--ln-line);overflow:hidden;transition:border-color .2s var(--ln-ease-out),box-shadow .3s var(--ln-ease-out),transform .3s var(--ln-ease-out)}.ln-tile:hover{border-color:var(--ln-line-strong);box-shadow:0 24px 60px -30px var(--ln-glow);transform:translateY(-2px)}.ln-tile h3{margin:0 0 8px;font-family:var(--ln-display);font-weight:400;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.05}.ln-tile>p{margin:0;max-width:34rem;color:var(--ln-ink-2);line-height:1.6}.ln-tile-profile{grid-column:span 4}.ln-tile-anchor{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}.ln-tile-memory,.ln-tile-lore{grid-column:span 2}.ln-chips{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ln-chips li{padding:6px 12px;border-radius:999px;border:1px solid var(--ln-line-strong);color:var(--ln-ink-2);font-size:.86rem;white-space:nowrap;transition:border-color .16s var(--ln-ease-out),color .16s var(--ln-ease-out)}.ln-tile-profile:hover .ln-chips li:nth-child(3n+1){border-color:var(--ln-accent);color:var(--ln-ink)}.ln-prompt{margin-top:auto;padding-top:26px;display:grid;gap:6px;font-family:var(--mono);font-size:.76rem}.ln-prompt span{padding:7px 10px;border-radius:6px;background:var(--ln-paper-3);color:var(--ln-muted)}.ln-prompt .ln-prompt-anchor{background:var(--ln-accent-soft);color:var(--ln-ink);box-shadow:inset 2px 0 0 var(--ln-accent)}.ln-tile-anchor:hover .ln-prompt-anchor{box-shadow:inset 2px 0 0 var(--ln-accent),0 0 24px var(--ln-glow)}.ln-memories{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px;font-size:.88rem;color:var(--ln-ink-2)}.ln-memories li{padding:9px 12px;border-radius:var(--ln-r-sm);background:var(--ln-paper-3)}.ln-memories b{display:inline-block;min-width:6.5em;color:var(--ln-accent);font-size:.74rem;font-weight:700;letter-spacing:.03em}.ln-lore-demo{position:relative;margin:22px 0 0;padding:12px 14px;border-radius:var(--ln-r-sm);background:var(--ln-paper-3);font-family:var(--ln-display);font-size:1.25rem}.ln-lore-demo mark{background:transparent;color:var(--ln-ink);box-shadow:inset 0 -.35em 0 var(--ln-accent-soft);transition:box-shadow .2s var(--ln-ease-out),color .2s var(--ln-ease-out)}.ln-lore-card{display:block;margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--ln-line-strong);font-family:var(--ln-body);font-size:.84rem;color:var(--ln-ink-2);opacity:.45;transform:translateY(4px);transition:opacity .26s var(--ln-ease-out),transform .26s var(--ln-ease-out),border-color .26s var(--ln-ease-out)}.ln-lore-card b{display:block;color:var(--ln-ink)}.ln-tile-lore:hover mark{color:var(--ln-accent);box-shadow:inset 0 -.35em 0 var(--ln-glow)}.ln-tile-lore:hover .ln-lore-card{opacity:1;transform:none;border-color:var(--ln-accent)}.ln-tone{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px);align-items:start}.ln-tone-copy>p{margin:0 0 26px;color:var(--ln-ink-2)}.ln-dials{margin:0;display:grid;gap:18px}.ln-dials dt{color:var(--ln-muted);font-size:.82rem;margin-bottom:2px}.ln-dials dd{margin:0}.ln-demo{padding:clamp(20px,3vw,32px);border-radius:var(--ln-r);background:var(--ln-paper-2);border:1px solid var(--ln-line)}.ln-demo-q{margin:0 0 18px;color:var(--ln-ink-2);font-size:.95rem}.ln-demo-q strong{color:var(--ln-ink)}.ln-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:22px;border-radius:999px;background:var(--ln-paper);border:1px solid var(--ln-line)}.ln-seg-btn{min-height:38px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--ln-ink-2);font:inherit;font-size:.86rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .16s var(--ln-ease-out),color .16s var(--ln-ease-out)}.ln-seg-btn:hover{color:var(--ln-ink)}.ln-seg-btn[aria-checked=true]{background:var(--ln-accent);color:var(--ln-accent-ink)}.ln-demo-reply{min-height:8em;font-size:1.05rem;animation:ln-fade .26s var(--ln-ease-out)}.ln-demo-reply p{margin:0}.ln-facts{margin:36px 0 32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ln-facts div{padding:22px 20px;border-radius:var(--ln-r);background:var(--ln-paper-2);border:1px solid var(--ln-line)}.ln-facts dt{font-family:var(--ln-display);font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:var(--ln-accent)}.ln-facts dd{margin:8px 0 0;color:var(--ln-ink-2);font-size:.92rem}.ln-own-copy{margin:0;max-width:46rem;color:var(--ln-ink-2);font-size:1.06rem;line-height:1.7}.ln-close{position:relative;padding-top:clamp(80px,14vw,180px);padding-bottom:32px;background:radial-gradient(70% 70% at 50% 100%,var(--ln-glow),transparent 70%),var(--ln-paper);text-align:center}.ln-close-line{margin:0 auto 36px;max-width:14ch;font-family:var(--ln-display);font-size:clamp(3rem,8vw,7.5rem);line-height:.95;letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere;text-wrap:balance}.ln-close-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px}.ln-fine{margin:18px 0 0;color:var(--ln-muted);font-size:.88rem}.ln-colophon{margin:clamp(64px,10vw,120px) 0 0;color:var(--ln-muted);font-size:.82rem}@media(max-width:960px){.ln-stage,.ln-tone{grid-template-columns:minmax(0,1fr)}.ln-stage-copy{position:static}.ln-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.ln-tile-profile{grid-column:span 2}.ln-tile-anchor{grid-column:span 2;grid-row:auto}.ln-tile-memory,.ln-tile-lore{grid-column:span 1}.ln-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ln-nav{padding-left:12px;gap:10px}.ln-nav-actions .ln-link{display:none}.ln-tile-memory,.ln-tile-lore{grid-column:span 2}.ln-seg{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--ln-r-sm)}.ln-seg-btn{border-radius:6px}.ln-close-actions .ln-btn{width:100%}}@media(prefers-reduced-motion:reduce){.ln *,.ln *:before,.ln *:after{animation:none!important;transition:none!important}}:root{--bg: #121318;--bg-2: #17191f;--panel: #1c1f27;--panel-2: #232733;--border: #2c313d;--border-strong: #3a4050;--text: #ebe7df;--text-2: #b9b4aa;--muted: #8a8679;--accent: #e0a458;--accent-ink: #1a1307;--accent-soft: rgba(224, 164, 88, .14);--dialogue: #f1d9a8;--action: #a9b4c8;--danger: #e5675f;--danger-soft: rgba(229, 103, 95, .14);--ok: #6fbf8a;--warn: #e3b341;--user-bubble: #222838;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--radius: 10px;--radius-sm: 6px;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark;--chat-width: 780px;--prose-scale: 1}@media(prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=midnight]){--bg: #f6f3ee;--bg-2: #efebe4;--panel: #fffdf9;--panel-2: #f3efe8;--border: #e2dcd2;--border-strong: #cfc7ba;--text: #23211d;--text-2: #4b4740;--muted: #7a756b;--accent: #b86e1c;--accent-ink: #fffaf2;--accent-soft: rgba(184, 110, 28, .1);--dialogue: #7a4a12;--action: #56607a;--user-bubble: #ece6db;--shadow: 0 10px 30px rgba(60, 40, 10, .12);color-scheme:light}}:root[data-theme=light]{--bg: #f6f3ee;--bg-2: #efebe4;--panel: #fffdf9;--panel-2: #f3efe8;--border: #e2dcd2;--border-strong: #cfc7ba;--text: #23211d;--text-2: #4b4740;--muted: #7a756b;--accent: #b86e1c;--accent-ink: #fffaf2;--accent-soft: rgba(184, 110, 28, .1);--dialogue: #7a4a12;--action: #56607a;--user-bubble: #ece6db;--shadow: 0 10px 30px rgba(60, 40, 10, .12);color-scheme:light}:root[data-theme=midnight]{--bg: #000000;--bg-2: #07080c;--panel: #0d0f16;--panel-2: #141824;--border: #1d2233;--border-strong: #2b3248;--text: #dfe3ee;--text-2: #a7aec0;--muted: #747c92;--accent: #9fb2ff;--accent-ink: #0a0e1f;--accent-soft: rgba(159, 178, 255, .13);--dialogue: #e9dcc0;--action: #8e9ab8;--danger: #ef6f6f;--danger-soft: rgba(239, 111, 111, .14);--ok: #66c79a;--warn: #e6b955;--user-bubble: #111a2e;--shadow: 0 10px 30px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.25;font-weight:650}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .8em}code,pre{font-family:var(--mono);font-size:.85em}.shell{display:grid;grid-template-columns:232px 1fr;height:100%}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;gap:4px;min-height:0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;padding:4px 8px 16px;letter-spacing:.01em}.brand img{width:28px;height:28px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-weight:500}.nav-link:hover{background:var(--panel);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-section{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 10px 4px}.recent-chats{overflow-y:auto;min-height:0;flex:1}.recent-chats .nav-link{font-size:.9rem;font-weight:400}.recent-chats .nav-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.main{overflow-y:auto;min-width:0}.page{max-width:1100px;margin:0 auto;padding:28px 28px 60px}.page-narrow{max-width:820px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-header p{color:var(--muted);margin:0}.mobile-bar{display:none}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:40;transform:translate(-100%);transition:transform .2s ease}.shell.nav-open .sidebar{transform:none;box-shadow:var(--shadow)}.mobile-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-2);position:sticky;top:0;z-index:20}.page{padding:18px 16px 48px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);padding:7px 14px;border-radius:var(--radius-sm);font:inherit;font-weight:550;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--accent);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--panel-2);border-color:var(--border);color:var(--text)}.btn.sm{padding:4px 9px;font-size:.8rem}.btn.icon{padding:5px 7px}input[type=text],input[type=password],input[type=number],input[type=search],select,textarea{width:100%;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;font-size:.93rem}textarea{resize:vertical;min-height:72px;line-height:1.5}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.field>label,.label{font-weight:600;font-size:.86rem;color:var(--text-2)}.hint{font-size:.8rem;color:var(--muted);line-height:1.45}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:700px){.grid-2{grid-template-columns:1fr}}.check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:.9rem}.check input{margin-top:2px}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button{border:1px solid var(--border);background:var(--bg-2);color:var(--text-2);border-radius:999px;padding:5px 12px;font:inherit;font-size:.84rem;cursor:pointer}.segmented button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tag-input input{border:none;background:transparent;flex:1;min-width:120px;padding:3px 4px;box-shadow:none!important}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.8rem;color:var(--text-2)}.chip button{border:none;background:none;color:var(--muted);cursor:pointer;padding:0;font-size:.95rem;line-height:1}.chip.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card+.card{margin-top:14px}.grid-2>.card+.card{margin-top:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.char-card{display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .12s,transform .12s}.char-card:hover{border-color:var(--border-strong)}.char-card .tagline{color:var(--text-2);font-size:.88rem;min-height:2.6em}.char-card .meta{color:var(--muted);font-size:.78rem}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.25)}.empty{text-align:center;color:var(--muted);padding:40px 20px;border:1px dashed var(--border);border-radius:var(--radius)}.empty h3{color:var(--text)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border:none;background:none;color:var(--muted);padding:9px 14px;font:inherit;font-weight:550;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.badge{display:inline-block;font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:4px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--danger)}.badge.accent{color:var(--accent);border-color:transparent;background:var(--accent-soft)}.error-box{background:var(--danger-soft);border:1px solid var(--danger);color:var(--text);border-radius:var(--radius-sm);padding:9px 12px;font-size:.9rem;margin-bottom:14px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted)}.status-dot.ok{background:var(--ok)}.status-dot.loading{background:var(--warn)}.status-dot.sleeping{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ok)}.status-dot.unauthorized,.status-dot.down,.status-dot.error{background:var(--danger)}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{background:var(--bg-2);color:var(--muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:100;padding:16px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:min(560px,100%);max-height:90vh;overflow-y:auto;padding:22px;box-shadow:var(--shadow)}.modal.wide{width:min(900px,100%)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(800px 400px at 20% 0%,var(--accent-soft),transparent 70%),var(--bg)}.auth-card{width:min(400px,100%)}.auth-card .brand{justify-content:center;font-size:1.5rem;padding-bottom:6px}.auth-card .sub{text-align:center;color:var(--muted);margin-bottom:22px}.chat-layout{display:grid;grid-template-columns:1fr 360px;height:100%;min-height:0}.chat-layout.panel-closed{grid-template-columns:1fr 0}.chat-main{display:flex;flex-direction:column;min-height:0;min-width:0;height:100vh}.chat-head{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--bg-2)}.chat-head .title{font-weight:650}.chat-head .sub{font-size:.8rem;color:var(--muted)}.chat-scroll{flex:1;overflow-y:auto;padding:24px 0 12px}.messages{max-width:var(--chat-width);margin:0 auto;padding:0 22px;display:flex;flex-direction:column;gap:22px}.msg{display:flex;gap:12px}.msg .body{flex:1;min-width:0}.msg .who{font-weight:650;font-size:.86rem;display:flex;align-items:center;gap:8px;margin-bottom:4px}.msg .who .meta{font-weight:400;color:var(--muted);font-size:.75rem}.prose{font-family:var(--serif);font-size:calc(1.06rem * var(--prose-scale));line-height:1.68;color:var(--text);overflow-wrap:anywhere}.prose p{margin:0 0 .75em}.prose p:last-child{margin-bottom:0}.prose em.action{color:var(--action)}.prose .dialogue{color:var(--dialogue)}.msg.user .prose{background:var(--user-bubble);padding:10px 14px;border-radius:var(--radius)}.msg .actions{display:flex;gap:2px;margin-top:6px;opacity:0;transition:opacity .12s}.msg:hover .actions,.msg .actions.show{opacity:1}@media(hover:none){.msg .actions{opacity:1}}.cursor{display:inline-block;width:7px;height:1.05em;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2) infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.gen-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-style:italic;margin-bottom:6px}.notice{max-width:var(--chat-width);margin:0 auto;font-size:.82rem;color:var(--muted);text-align:center;padding:4px 22px}.support-card{max-width:var(--chat-width);margin:8px auto 12px;width:calc(100% - 44px);padding:16px 18px;border:1px solid var(--border-strong);border-left:3px solid var(--ok);border-radius:var(--radius);background:var(--panel);font-size:.92rem}.support-card.urgent{border-left-color:var(--warn)}.support-card h3{margin:0 0 6px;font-size:1rem}.support-card p{margin:0 0 8px;color:var(--text-2);line-height:1.5}.support-card p.support-contact{color:var(--text);font-weight:600}.support-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}.support-fine{font-size:.8rem;color:var(--muted)!important;margin:0!important}.composer{border-top:1px solid var(--border);padding:12px 18px 16px;background:var(--bg-2)}.composer-inner{max-width:var(--chat-width);margin:0 auto;display:flex;flex-direction:column;gap:8px}.composer textarea{min-height:52px;max-height:240px;resize:none;font-family:var(--serif);font-size:1rem}.composer .row{justify-content:space-between}.side-panel{border-left:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;min-height:0;height:100vh;overflow:hidden}.side-panel .tabs{margin:0;padding:0 8px;flex-shrink:0}.side-panel .tabs button{padding:11px 10px;font-size:.85rem}.side-body{overflow-y:auto;padding:16px;flex:1}.side-body h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:4px 0 10px}.side-body .section{margin-bottom:22px}@media(max-width:1100px){.chat-layout{grid-template-columns:1fr}.side-panel{position:fixed;right:0;top:0;bottom:0;width:min(380px,100%);z-index:50;box-shadow:var(--shadow)}.chat-layout.panel-closed .side-panel{display:none}}@media(max-width:860px){.chat-main,.side-panel{height:calc(100vh - 49px)}}.memory-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:8px;background:var(--panel);font-size:.87rem}.memory-item .head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.stars{color:var(--accent);letter-spacing:1px;font-size:.75rem}.budget-bar{display:flex;height:12px;border-radius:4px;overflow:hidden;background:var(--panel-2);margin:8px 0}.budget-bar span{display:block;height:100%}.legend{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;font-size:.8rem;align-items:center}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.prompt-view{white-space:pre-wrap;font-family:var(--mono);font-size:.78rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;max-height:420px;overflow:auto;margin-bottom:10px}.prompt-role{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.editor-layout{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}.editor-nav{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px}.editor-nav button{text-align:left;border:none;background:none;color:var(--text-2);padding:8px 12px;border-radius:var(--radius-sm);font:inherit;font-size:.9rem;cursor:pointer}.editor-nav button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.editor-nav button:hover:not(.on){background:var(--panel)}@media(max-width:860px){.editor-layout{grid-template-columns:1fr}.editor-nav{position:static;flex-direction:row;overflow-x:auto}.editor-nav button{white-space:nowrap}}.save-bar{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--border);padding:12px 0;display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatches button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatches button.on{border-color:var(--text)}.lore-entry{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin-bottom:10px}.lore-entry>summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;gap:10px}.lore-entry>summary::-webkit-details-marker{display:none}.lore-entry .entry-body{padding:14px;border-top:1px solid var(--border)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .v{font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.stat .k{color:var(--muted);font-size:.8rem}.chart{width:100%;height:180px;display:block}.chart .bar{fill:var(--accent)}.chart .bar:hover{fill:var(--dialogue)}.chart .axis{fill:var(--muted);font-size:10px}.chart .grid{stroke:var(--border);stroke-width:1}.transcript .msg{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:.82rem}.mt{margin-top:16px}.mb{margin-bottom:16px}.right{margin-left:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-pending h2{margin:8px 0;text-align:center;font-family:var(--serif);font-size:1.3rem}.auth-pending p{margin:0 0 20px;color:var(--text-2);text-align:center;line-height:1.55}.callout{padding:10px 14px;border:1px solid var(--border-strong);border-left:3px solid var(--warn);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:.92rem}:root[data-text-size=small]{--prose-scale: .93}:root[data-text-size=large]{--prose-scale: 1.14}:root[data-chat-width=wide]{--chat-width: 1040px}.avatar.img{background:var(--panel-2);object-fit:cover;text-shadow:none}.avatar-picker{display:flex;align-items:center;gap:16px}.avatar-picker .actions{display:flex;flex-wrap:wrap;gap:6px}.cropper{position:relative;width:min(320px,100%);aspect-ratio:1;margin:0 auto 16px;overflow:hidden;border-radius:var(--radius);background:var(--bg-2);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.cropper:active{cursor:grabbing}.cropper img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.cropper:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px #00000073;pointer-events:none}.drop-hint{outline:2px dashed var(--accent);outline-offset:4px;border-radius:var(--radius)}.account-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}.account-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px}.account-nav button{text-align:left;background:none;border:0;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text-2);font:inherit;cursor:pointer}.account-nav button:hover{background:var(--panel-2);color:var(--text)}.account-nav button.on{background:var(--accent-soft);color:var(--text);font-weight:600}.account-layout .card+.card{margin-top:16px}.session-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.session-row:first-of-type{border-top:0}.saved-flag{color:var(--ok);font-size:.85rem}@media(max-width:800px){.account-layout{grid-template-columns:minmax(0,1fr)}.account-nav{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none}.account-nav button{white-space:nowrap}}.tab-count{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:999px;background:var(--danger-soft);color:var(--danger);font-size:.72rem;font-weight:700;line-height:18px;text-align:center}.callout.danger{border-left-color:var(--danger)}.alert-list{display:grid;gap:8px}.alert-row{display:grid;gap:6px;width:100%;text-align:left;font:inherit;color:inherit;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);cursor:pointer}.alert-row:hover{border-color:var(--border-strong);background:var(--panel-2)}.alert-row.risk-high{border-left-color:var(--danger)}.alert-row.risk-medium{border-left-color:var(--warn)}.alert-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.alert-row-excerpt{color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.alert-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px 20px;margin:0 0 16px}.alert-facts dt{font-size:.78rem;color:var(--muted)}.alert-facts dd{margin:2px 0 0}.alert-excerpt{padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--border);margin-bottom:16px}.transcript.compact .msg{padding:8px 10px;border-radius:var(--radius-sm)}.transcript .msg.flagged{background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger)}.alert-history{margin:0 0 16px;padding-left:18px}.alert-decide{border-top:1px solid var(--border);padding-top:14px}.linklike{border:0;padding:0;background:none;font:inherit;color:var(--accent);cursor:pointer}.linklike:hover{text-decoration:underline}
