:root{--ink: #e8e4dc;--ink-secondary: rgba(232, 228, 220, .6);--ink-tertiary: rgba(232, 228, 220, .35);--surface: #1a1a1a;--surface-raised: #262626;--surface-overlay: rgba(38, 38, 38, .82);--hairline: rgba(232, 228, 220, .14);--accent: #d8a24a;--accent-ink: #141414;--danger: #e5604c;--tier-high: #4ac47e;--tier-medium: #d8a24a;--tier-none: rgba(232, 228, 220, .45);--radius-card: 1.125rem;--radius-control: .75rem;--radius-sheet: 1.75rem;--radius-nested: max(.75rem, calc(var(--radius-card) - var(--space-2)));--radius-pill: 999px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--size-large-title: 1.75rem;--size-title: 1.1875rem;--size-body: 1rem;--size-footnote: .8125rem;--leading-tight: 1.2;--leading-normal: 1.5;--weight-semibold: 600;--elev-1: 0 1px 2px rgba(0, 0, 0, .3);--elev-2: 0 8px 24px rgba(0, 0, 0, .45), 0 0 0 1px var(--hairline);--ease-spring: cubic-bezier(.32, .72, 0, 1);--dur-fast: .18s;--dur-slow: .32s;--shutter-size: 72px;--icon-size: 24px;--tap-min: 44px;--tab-bar-height: 56px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;background:var(--surface);color:var(--ink)}button,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:inherit}.app-shell{max-width:32rem;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.app-main{flex:1;display:flex;flex-direction:column;padding:var(--space-3) var(--space-3) calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + var(--space-3))}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:space-around;align-items:center;background:var(--surface-overlay);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-top:1px solid var(--hairline);z-index:20}.tab-btn{min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;color:var(--ink-tertiary);font-size:.6875rem;cursor:pointer}.tab-btn[aria-selected=true]{color:var(--accent)}.btn-icon{min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.btn-icon svg,.tab-btn svg{width:var(--icon-size);height:var(--icon-size)}.btn-pill{min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-raised);color:var(--ink);font-size:var(--size-body);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast) ease-out}.btn-pill--primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:var(--weight-semibold)}.btn-pill--danger{background:none;border-color:var(--danger);color:var(--danger)}:where(button,.btn-pill,.confirm-chip):active{transform:scale(.97)}:where(button,.btn-pill,.confirm-chip):disabled{opacity:.4;transform:none;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-control)}.input{min-height:var(--tap-min);padding:0 var(--space-3);font-size:1rem;color:var(--ink);background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-control);width:100%}.capture-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);min-height:55dvh}.capture-tagline{color:var(--ink-secondary);font-size:var(--size-title);text-align:center;margin:auto 0}.capture-controls{display:flex;align-items:center;gap:var(--space-4)}.shutter{width:var(--shutter-size);height:var(--shutter-size);border-radius:var(--radius-pill);border:4px solid var(--surface);outline:2px solid var(--accent);background:var(--accent);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.capture-warning{color:var(--accent);font-size:var(--size-footnote)}.thread{display:flex;flex-direction:column;gap:var(--space-3);flex:1}.thread-scroll{flex:1;display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto}.msg-user{align-self:flex-end;max-width:85%;background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-nested);padding:var(--space-1) var(--space-3);color:var(--ink)}.result-card{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);box-shadow:var(--elev-1);animation:card-rise var(--dur-slow) var(--ease-spring)}@keyframes card-rise{0%{opacity:0;transform:translateY(12px)}}.result-card-header{display:flex;align-items:center;gap:var(--space-2)}.result-card-name{font-size:var(--size-title);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0;flex:1}.result-card-near{color:var(--ink-secondary);font-size:var(--size-footnote);margin:var(--space-1) 0 0}.tier-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--tier-none);flex:none}.result-card[data-tier=high] .tier-dot{background:var(--tier-high)}.result-card[data-tier=medium] .tier-dot{background:var(--tier-medium)}.tier-label{font-size:var(--size-footnote);color:var(--ink-secondary)}.confirm-chip{min-height:var(--tap-min);margin-top:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--tier-medium);background:none;color:var(--tier-medium);font-size:var(--size-footnote);cursor:pointer}.result-narrative{line-height:var(--leading-normal);color:var(--ink);margin:0}.citation-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.citation-chip{min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:none;color:var(--ink-secondary);font-size:var(--size-footnote);cursor:pointer}.composer{position:sticky;bottom:0;display:flex;gap:var(--space-1);align-items:center;padding-top:var(--space-2);background:var(--surface)}.composer .input{flex:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:30;display:flex;align-items:flex-end}.sheet{width:100%;max-width:32rem;margin:0 auto;max-height:80dvh;overflow-y:auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-overlay);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:var(--elev-2);padding:0 var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.sheet-grabber{width:36px;height:5px;border-radius:var(--radius-pill);background:var(--ink-tertiary);margin:var(--space-1) auto}.sheet-title{font-size:var(--size-title);font-weight:var(--weight-semibold);margin:var(--space-2) 0}.sheet-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--hairline)}.sheet-row:last-child{border-bottom:none}.citation-entry{padding:var(--space-2) 0;border-bottom:1px solid var(--hairline)}.citation-entry blockquote{margin:var(--space-1) 0 0;color:var(--ink-secondary);font-size:var(--size-footnote);line-height:var(--leading-normal)}.citation-entry a{color:var(--accent);overflow-wrap:anywhere}.toggle{width:52px;height:32px;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-raised);position:relative;cursor:pointer;flex:none}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--ink-secondary);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast) ease-out}.toggle[aria-checked=true]{background:var(--accent);border-color:transparent}.toggle[aria-checked=true]:after{transform:translate(20px);background:var(--accent-ink)}.history-list{display:flex;flex-direction:column;gap:var(--space-2)}.history-row{min-height:64px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1);border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.history-thumb{width:48px;height:48px;border-radius:var(--radius-control);object-fit:cover;background:var(--surface);flex:none}.history-title{font-size:var(--size-body);font-weight:var(--weight-semibold);margin:0}.history-date{color:var(--ink-secondary);font-size:var(--size-footnote);margin:0}.gate-screen{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);max-width:32rem;margin:0 auto;min-height:100dvh}.gate-screen h1{font-size:var(--size-large-title);line-height:var(--leading-tight);margin:0}.gate-screen p{color:var(--ink-secondary);line-height:var(--leading-normal);margin:0}.auth-message{color:var(--accent);font-size:var(--size-footnote)}.btn-link{border:none;background:none;color:var(--ink-secondary);font-size:var(--size-footnote);min-height:var(--tap-min);cursor:pointer;text-decoration:underline}.legal-footer{margin-top:var(--space-3);display:flex;justify-content:center;gap:var(--space-2);color:var(--ink-tertiary);font-size:var(--size-footnote)}.legal-footer a{color:var(--ink-tertiary);text-decoration:none}.legal-footer a:hover{color:var(--ink-secondary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
