:root{--bg:#f7f6f2;--surface:#fff;--surface-2:#efede6;--text:#1d2024;--muted:#666b72;--border:#dcd9cf;--accent:#2f5d50;--accent-text:#fff;--accent-soft:#e2ece7;--warn:#8a4b0f;--warn-soft:#fbeedb;--info-soft:#e6edf3;--user-bubble:#e4ece8;--shadow:0 8px 28px #1414142e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16181b;--surface:#1e2125;--surface-2:#272b30;--text:#e8e6e1;--muted:#9ba0a7;--border:#353a40;--accent:#7fb5a2;--accent-text:#10201a;--accent-soft:#223730;--warn:#f0b979;--warn-soft:#3a2c1a;--info-soft:#222c36;--user-bubble:#243a33;--shadow:0 8px 28px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#16181b;--surface:#1e2125;--surface-2:#272b30;--text:#e8e6e1;--muted:#9ba0a7;--border:#353a40;--accent:#7fb5a2;--accent-text:#10201a;--accent-soft:#223730;--warn:#f0b979;--warn-soft:#3a2c1a;--info-soft:#222c36;--user-bubble:#243a33;--shadow:0 8px 28px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:.25rem .1rem}.boot{height:100%;color:var(--muted);place-items:center;display:grid}.btn{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:0 1rem;display:inline-flex}.btn--small{min-height:36px;padding:0 .75rem;font-size:.9rem}.btn--ghost{color:var(--muted);background:0 0;border-color:#0000}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn--block{width:100%}.icon-btn{width:44px;height:44px;color:var(--text);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn--solid{background:var(--accent);color:var(--accent-text)}.icon-btn--solid:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.login{place-items:center;min-height:100%;padding:1rem;display:grid}.login__card{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:.9rem;width:min(380px,100%);padding:1.6rem;display:grid}.login__card h1{margin:0;font-size:1.6rem}.login__card p{margin:0}.login__card label{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.login__card input{border:1px solid var(--border);background:var(--bg);border-radius:10px;min-height:46px;padding:0 .8rem;font-size:16px}.banner{border-radius:10px;justify-items:start;gap:.4rem;margin:0;padding:.7rem .9rem;font-size:.95rem;display:grid}.banner--warn{background:var(--warn-soft);color:var(--warn)}.banner--info{background:var(--info-soft)}.app{height:100%;display:flex;position:relative;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.topbar{padding:.35rem .5rem;padding-top:calc(.35rem + env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:.25rem;display:flex}.topbar__title{letter-spacing:.01em;flex:1;margin:0;font-size:1.1rem;font-weight:650}.topbar__actions{display:flex}.settings{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:.75rem 1.5rem;padding:.6rem 1rem;display:flex}.settings fieldset{border:0;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;display:flex}.settings legend{float:left;color:var(--muted);padding:0 .6rem 0 0;font-size:.85rem}.seg{border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;min-height:36px;padding:0 .8rem;font-size:.9rem;display:inline-flex}.seg input{opacity:0;pointer-events:none;position:absolute}.seg--on{background:var(--accent-soft);border-color:var(--accent)}.seg:has(input:focus-visible){outline:2px solid var(--accent)}.nav{z-index:20;background:var(--surface);border-right:1px solid var(--border);width:min(92vw,400px);box-shadow:var(--shadow);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0}.scrim{z-index:10;background:#0006;position:absolute;inset:0}.nav__head{border-bottom:1px solid var(--border);align-items:center;gap:.25rem;padding:.35rem .5rem;display:flex}.tabs,.viewer__tabs{flex:1;gap:.25rem;display:flex;overflow-x:auto}.tab{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none;padding:0 .8rem;font-size:.92rem}.tab--on{background:var(--accent-soft);color:var(--text);font-weight:600}.nav__body{flex:1;padding:.75rem;overflow-y:auto}@media (width>=960px){.nav{box-shadow:none;flex:none;width:380px;position:static}.scrim,.nav__close{display:none}}.list-block{align-content:start;gap:.6rem;display:grid}.rows{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.row{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.row--on{border-color:var(--accent);background:var(--accent-soft)}.row__main{text-align:left;background:0 0;border:0;flex:1;gap:.1rem;min-width:0;min-height:48px;padding:.65rem .8rem;display:grid}.row__title{overflow-wrap:anywhere;font-weight:560}.row__sub{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.row__snippet{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.crumbs{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.85rem}.searchbar{gap:.4rem;display:flex}.searchbar input{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:1;min-width:0;min-height:44px;padding:0 .8rem;font-size:16px}.unit h3{margin:.2rem 0 0;font-size:1.15rem}.unit__tags,.unit__actions,.unit__nav{flex-wrap:wrap;gap:.4rem;display:flex}.unit__nav{justify-content:space-between}.fold{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:0 .8rem}.fold summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.fold[open]{padding-bottom:.6rem}.tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:.4rem;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1.5rem;display:inline-block}.unit__tags .tag{margin-left:0}.tag--note{background:var(--info-soft)}.tag--warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat__scroll{flex:1;padding:1rem;overflow-y:auto}.chat__col{gap:1.1rem;width:min(760px,100%);margin:0 auto;display:grid}.empty{gap:.6rem;padding-top:8vh;display:grid}.empty h2{margin:0;font-size:1.4rem}.empty p{margin:0}.empty__examples{gap:.5rem;margin-top:.6rem;display:grid}.suggest{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;min-height:48px;padding:.6rem .9rem}.suggest:hover{border-color:var(--accent)}.msg--user{justify-content:flex-end;display:flex}.bubble{background:var(--user-bubble);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;max-width:88%;padding:.6rem .9rem}.msg--assistant{gap:.6rem;min-width:0;display:grid}.typing{margin:0;font-size:.92rem}.steps{color:var(--muted);gap:.2rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.step{align-items:center;gap:.5rem;display:flex}.step__dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.step--done .step__dot{opacity:.45;animation:none}.step--err .step__dot{background:var(--warn);animation:none}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.step__dot{animation:none}}.notices{gap:.35rem;display:grid}.notice{background:var(--info-soft);border-radius:10px;margin:0;padding:.5rem .75rem;font-size:.9rem}.notice--warn{background:var(--warn-soft);color:var(--warn)}.md{overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol{margin:.55em 0}.md h1,.md h2,.md h3,.md h4{margin:1.1em 0 .4em;line-height:1.3}.md h1{font-size:1.3rem}.md h2{font-size:1.15rem}.md h3,.md h4{font-size:1.02rem}.md code{background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.9em}.md pre{background:var(--surface-2);border-radius:10px;padding:.7rem;overflow-x:auto}.md pre code{background:0 0;padding:0}.md blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.6em 0;padding-left:.9rem}.md a{color:var(--accent)}.table-wrap{margin:.6em 0;overflow-x:auto}.md table{border-collapse:collapse;min-width:100%;font-size:.92rem}.md th,.md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.35rem .6rem}.md th{background:var(--surface-2)}.chip{vertical-align:baseline;border:1px solid var(--accent);background:var(--accent-soft);max-width:100%;min-height:28px;color:var(--text);border-radius:999px;align-items:center;gap:.35rem;margin:0 .1rem;padding:0 .6rem;font-size:.82rem;line-height:1.2;display:inline-flex}.chip:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.chip__label{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.chip__badge{background:var(--surface);color:var(--muted);border-radius:999px;flex:none;padding:0 .35rem;font-size:.7rem}.chip--pending{color:var(--muted);border-style:dashed;border-color:var(--border);background:0 0}.chip--note{border-style:dashed}.chip--warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.chip--warn:hover:not(:disabled){background:var(--warn);color:var(--bg)}.chip--static{cursor:default}.composer{width:min(760px,100%);padding:.5rem .75rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom));align-items:flex-end;gap:.5rem;margin:0 auto;display:flex}.composer textarea{border:1px solid var(--border);background:var(--surface);resize:none;border-radius:14px;flex:1;min-width:0;min-height:44px;max-height:160px;padding:.65rem .9rem;font-size:16px}.viewer{z-index:100;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.viewer__bar{padding:.4rem .5rem .4rem 1rem;padding-top:calc(.4rem + env(safe-area-inset-top));border-bottom:1px solid var(--border);align-items:center;gap:.5rem;display:flex}.viewer__titles{flex:1;min-width:0}.viewer__title{font-weight:650}.viewer__crumb{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.viewer__tabs{border-bottom:1px solid var(--border);flex:none;padding:.35rem .75rem}.viewer__stage{touch-action:none;background:var(--surface-2);cursor:grab;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.viewer__stage:active{cursor:grabbing}.viewer__stage img{transform-origin:0 0;background:#fff;max-width:none;position:absolute;top:0;left:0;box-shadow:0 2px 14px #00000040}.viewer__msg{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.viewer__msg--err{color:var(--warn)}.viewer__foot{padding:.3rem .5rem;padding-bottom:calc(.3rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;display:flex}.viewer__pager,.viewer__zoom{align-items:center;display:flex}.viewer__label{text-align:center;min-width:8rem;font-size:.88rem}.sol{border:1px solid var(--border);color:var(--muted);border-radius:999px;justify-self:start;margin-top:.15rem;padding:0 .5rem;font-size:.75rem;line-height:1.4rem;display:inline-block}.sol--ok{background:var(--accent-soft);color:var(--text);border-color:#0000}.sol--part{background:var(--info-soft);color:var(--text);border-color:#0000}.sol--none{background:var(--warn-soft);color:var(--warn);border-color:#0000}.unit__tags .sol{margin-top:0}.list-block>.btn--ghost{justify-self:start}
