@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--fa-ink-1000: #141414;--fa-ink-800: #3a3c37;--fa-ink-700: #4a4c47;--fa-ink-600: #6d6f6a;--fa-ink-500: #75786f;--fa-ink-400: #8f918c;--fa-ink-100: #f2f3f1;--fa-ink-050: #faf9f5;--fa-ink-000: #ffffff;--fa-ink-950: #181818;--fa-ink-900: #1e1e1d;--fa-ink-850: #252624;--fa-ink-200: #d5d5d0;--font-sans: "Space Grotesk Variable", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", Meiryo, system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, "BIZ UDGothic", "Hiragino Sans", monospace;--t-2xs: .6875rem;--t-xs: .75rem;--t-sm: .8125rem;--t-md: .875rem;--t-base: .9375rem;--t-lg: 1.0625rem;--t-xl: 1.375rem;--t-2xl: 1.75rem;--lh-tight: 1.25;--lh-base: 1.55;--lh-loose: 1.7;--fw-regular: 400;--fw-medium: 500;--s-0: .125rem;--s-1: .25rem;--s-2: .375rem;--s-3: .5rem;--s-4: .75rem;--s-5: 1rem;--s-6: 1.25rem;--s-7: 1.5rem;--s-8: 1.75rem;--s-9: 2.75rem;--dur-fast: .12s;--dur-base: .16s;--ease: cubic-bezier(.2, 0, 0, 1);--maxw: 48.75rem;--modal-inset: 6vh;--modal-maxh: 86vh;--z-scrim: 40;--z-modal: 50;--ground: var(--fa-ink-050);--surface: var(--fa-ink-000);--sunken: var(--fa-ink-100);--line: var(--fa-ink-200);--line-strong: var(--fa-ink-400);--line-control: var(--fa-ink-500);--ink: var(--fa-ink-1000);--ink-muted: var(--fa-ink-600);--ink-faint: var(--fa-ink-400);--ink-disabled: #7b7b79;--action-disabled: var(--fa-ink-600);--ink-on-action: var(--fa-ink-050);--action: var(--fa-ink-1000);--action-hover: var(--fa-ink-800);--action-quiet: var(--fa-ink-100);--focus: var(--fa-ink-1000);--scrim: rgb(20 20 20 / .55);--st-attested-fg: #427156;--st-attested-tint: #eef2f0;--st-attested-line: #688d78;--st-pending-fg: #7a5514;--st-pending-tint: #f3f0ea;--st-pending-line: #977a48;--st-failed-fg: #7a1e16;--st-failed-tint: #f3ebea;--st-failed-line: #975049}@media(prefers-color-scheme:dark){:root{--ground: var(--fa-ink-1000);--surface: var(--fa-ink-900);--sunken: var(--fa-ink-950);--line: var(--fa-ink-800);--line-strong: var(--fa-ink-600);--line-control: var(--fa-ink-600);--ink: var(--fa-ink-100);--ink-muted: var(--fa-ink-400);--ink-faint: var(--fa-ink-500);--ink-disabled: #8e8f8e;--action-disabled: var(--fa-ink-400);--ink-on-action: var(--fa-ink-1000);--action: var(--fa-ink-100);--action-hover: var(--fa-ink-000);--action-quiet: var(--fa-ink-850);--focus: var(--fa-ink-100);--scrim: rgb(6 6 6 / .72);--st-attested-fg: #b4d6be;--st-attested-tint: #303430;--st-attested-line: #7b9081;--st-pending-fg: #d6a45c;--st-pending-tint: #342e25;--st-pending-line: #907144;--st-failed-fg: #d6837a;--st-failed-tint: #342a28;--st-failed-line: #97615a}}@media(prefers-contrast:more){:root{--line: var(--line-strong);--ink-muted: var(--ink);--st-attested-tint: var(--surface);--st-pending-tint: var(--surface);--st-failed-tint: var(--surface);--st-attested-line: var(--st-attested-fg);--st-pending-line: var(--st-pending-fg);--st-failed-line: var(--st-failed-fg)}}*{box-sizing:border-box}:where(*,*:before,*:after){border-radius:0}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}:lang(ja){line-height:var(--lh-loose);word-break:normal;line-break:strict;font-feature-settings:"palt" 1}:lang(ja) :is(h1,h2,.login-title,.modal-title,.chat-title){letter-spacing:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-loading{height:100%;display:grid;place-items:center}.login{height:100%;display:flex;flex-direction:column}.login-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.login-center{flex:1;display:grid;place-items:center;padding:24px 16px}.login-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);padding:28px 26px 26px;border:1px solid var(--line-strong)}.login-title{margin:0;text-align:center;font-size:var(--t-xl);letter-spacing:-.02em}.login-subtitle{font-family:var(--font-mono);margin:-6px 0 4px;text-align:center;color:var(--ink-muted);font-size:var(--t-sm)}.login-field{display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);color:var(--ink-muted)}.login-field input{font:inherit;font-size:var(--t-base);color:var(--ink);background:var(--sunken);border:1px solid var(--line);padding:10px 12px;outline:none;transition:border-color .15s}.login-field input:focus{border-color:var(--line-control)}.login-submit{margin-top:6px;background:var(--action);color:var(--ink-on-action);border:none;padding:11px 16px;font-size:var(--t-base);font-weight:var(--fw-medium);cursor:pointer;transition:background .15s,opacity .15s}.login-submit:hover:not(:disabled){background:var(--action-hover)}.login-submit:disabled{background:var(--action-disabled);color:var(--ink-on-action);cursor:default}.login-error{color:var(--st-failed-fg);background:var(--st-failed-tint);border:1px solid var(--st-failed-line);padding:9px 12px;font-size:var(--t-sm)}.app{display:flex;flex-direction:column;height:100%;max-width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.brand{display:flex;align-items:center;gap:8px}.brand-logo{display:block;height:26px;width:auto}svg[aria-hidden=true]{vertical-align:-.125em;flex:0 0 auto}.ghost-btn{background:transparent;border:1px solid var(--line);color:var(--ink);padding:7px 14px;font-size:var(--t-sm);cursor:pointer;transition:background .15s,border-color .15s}.ghost-btn:hover:not(:disabled){background:var(--sunken);border-color:var(--line-control)}.ghost-btn:disabled{color:var(--ink-disabled);cursor:default}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-divider{width:1px;height:20px;background:var(--line);margin:0 2px}.lang-switcher{display:inline-flex;padding:2px;gap:2px;background:var(--sunken);border:1px solid var(--line)}.lang-option{background:transparent;border:none;color:var(--ink-muted);font-size:var(--t-xs);padding:5px 11px;cursor:pointer;transition:background .15s,color .15s}.lang-option:hover{color:var(--ink)}.lang-option.active{background:var(--action);color:var(--ink-on-action)}.trust-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:7px 13px;font-size:var(--t-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background .15s,border-color .15s}.trust-btn:hover{background:var(--sunken);border-color:var(--line-control)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;z-index:50;animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}}.modal{width:100%;max-width:680px;max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border:1px solid var(--line-strong);overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-title{margin:0;font-size:var(--t-lg);letter-spacing:-.01em}.modal-sub{margin:3px 0 0;font-size:var(--t-sm);color:var(--ink-muted)}.modal-close{flex:0 0 auto;background:transparent;border:none;color:var(--ink-muted);font-size:var(--t-lg);cursor:pointer;padding:4px 8px}.modal-close:hover{background:var(--sunken);color:var(--ink)}.modal-body{padding:18px 20px 22px;overflow-y:auto}.verdict{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:18px;border:1px solid;border-left-width:3px}.verdict.ok{background:var(--st-attested-tint);border-color:var(--st-attested-line);border-left-color:var(--st-attested-fg)}.verdict.warn{background:var(--st-pending-tint);border-color:var(--st-pending-line);border-left-color:var(--st-pending-fg);border-left-style:dashed}.verdict.fail{background:var(--st-failed-tint);border-color:var(--st-failed-line);border-left-color:var(--st-failed-fg);border-left-width:6px}.verdict-icon{font-size:var(--t-xl);line-height:1;display:grid;place-items:center;flex:0 0 auto}.verdict.ok .verdict-icon{color:var(--st-attested-fg)}.verdict.warn .verdict-icon{color:var(--st-pending-fg)}.verdict.fail .verdict-icon{color:var(--st-failed-fg)}.verdict strong{display:block;font-size:var(--t-md);margin-bottom:3px}.verdict p{margin:0;font-size:var(--t-sm);color:var(--ink-muted);line-height:1.5}.diag-section{margin-bottom:20px}.diag-section-title{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0 0 10px;font-weight:var(--fw-medium)}.field{padding:8px 0;border-bottom:1px solid var(--line)}.field:last-child{border-bottom:none}.field-label{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-muted);margin-bottom:3px}.field-value{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--t-sm);word-break:break-word}.field-value-text{min-width:0;overflow-wrap:anywhere}.field-value.mono .field-value-text{font-family:var(--font-mono);font-size:var(--t-xs)}.field-hint{font-size:var(--t-xs);color:var(--ink-muted);line-height:1.5;margin:8px 0 0}.blob-actions{display:inline-flex;gap:6px;flex:0 0 auto}.copy-btn{min-height:1.5rem;flex:0 0 auto;background:var(--sunken);border:1px solid var(--line);color:var(--ink-muted);font-size:var(--t-2xs);padding:3px 9px;cursor:pointer;white-space:nowrap}.copy-btn:hover{color:var(--ink);border-color:var(--line-control)}.dim{color:var(--ink-muted);font-weight:var(--fw-regular)}.note-box{font-size:var(--t-xs);line-height:1.6;color:var(--ink-muted);background:var(--sunken);border:1px solid var(--line);padding:12px 14px;margin-top:6px}.note-box strong{color:var(--ink)}.stable-label{display:inline-grid;justify-items:center}.stable-label>*{grid-area:1 / 1;white-space:nowrap}.stable-row{display:inline-flex;align-items:center;gap:6px}.stable-label-sizer{visibility:hidden;pointer-events:none}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--action);cursor:pointer;text-decoration:underline}.residual-list{margin:6px 0 0;padding-left:18px}.residual-list li{margin-top:4px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.primary-btn{background:var(--action);color:var(--ink-on-action);border:none;padding:8px 16px;font-size:var(--t-sm);cursor:pointer}.primary-btn:hover{background:var(--action-hover)}.diag-loading{display:flex;align-items:center;gap:12px;padding:28px 4px;color:var(--ink-muted);font-size:var(--t-md)}.spinner{width:2.5rem;height:2px;background:var(--line);overflow:hidden}.spinner:after{content:"";display:block;width:33%;height:100%;background:var(--ink);animation:scan 1.1s var(--ease) infinite alternate}@keyframes scan{0%{transform:translate(0)}to{transform:translate(200%)}}.diag-error{color:var(--st-failed-fg);background:var(--st-failed-tint);border:1px solid var(--st-failed-line);padding:12px 14px;font-size:var(--t-sm);line-height:1.5}.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 16px}.chain-node{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:var(--fw-medium);padding:5px 11px;background:var(--st-attested-tint);border:1px solid var(--st-attested-line);white-space:nowrap}.chain-arrow{color:var(--ink-muted);font-size:var(--t-sm);display:grid;place-items:center}.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.check-list li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.check-list li:last-child{border-bottom:none}.check-icon{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;font-size:var(--t-xs);font-weight:var(--fw-medium);color:var(--ink-on-action)}.check-list li.ok .check-icon{background:var(--st-attested-fg);clip-path:polygon(0 0,100% 0,100% 74%,74% 100%,0 100%)}.check-list li.fail .check-icon{background:var(--st-failed-fg)}.check-body{display:flex;flex-direction:column;gap:2px;min-width:0}.check-label{font-size:var(--t-sm)}.check-detail{font-size:var(--t-2xs);color:var(--ink-muted);font-family:var(--font-mono);overflow-wrap:anywhere}.mono{font-family:var(--font-mono);font-size:var(--t-xs);overflow-wrap:anywhere}.messages{flex:1;overflow-y:auto;padding:24px 16px}.messages.hero{display:flex;align-items:center;justify-content:center}.hero-inner{width:100%;max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:44px;padding-bottom:6vh}.thread{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:18px}.row{display:flex;gap:12px;align-items:flex-start}.row-user{flex-direction:row-reverse}.bubble{max-width:76%;padding:11px 15px;background:var(--surface);border:1px solid var(--line);line-height:1.55;font-size:var(--t-base)}.row-user .bubble{background:var(--sunken);border-color:transparent}.bubble-text{white-space:pre-wrap;word-break:break-word}.caret{display:inline-block;width:7px;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--ink);animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}}.typing{display:inline-flex;gap:4px;align-items:center;height:1.05em}.typing i{width:.375rem;height:.375rem;background:var(--ink-muted);animation:pulse 1.2s steps(1,end) infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,66%{opacity:.25}33%{opacity:1}}.empty{max-width:var(--maxw);margin:0 auto;text-align:center;padding:0 16px}.chat-title{white-space:pre-line;color:var(--ink)}.empty h1{font-size:var(--t-2xl);margin:0 0 8px;letter-spacing:-.02em}.empty-sub{color:var(--ink-muted);margin:0;font-size:var(--t-md);white-space:pre-line}.footer{border-top:1px solid var(--line);background:var(--surface);padding:14px 16px 10px}.error-banner{max-width:var(--maxw);margin:0 auto 10px;color:var(--st-failed-fg);background:var(--st-failed-tint);border:1px solid var(--st-failed-line);padding:8px 12px;font-size:var(--t-sm)}.composer-notes{max-width:var(--maxw);margin:8px auto 0;text-align:center;color:var(--ink-muted);font-size:var(--t-xs);line-height:1.4}.composer-notes span+span:before{content:"·";margin:0 8px;opacity:.6}.copyright{font-family:var(--font-mono);flex:0 0 auto;text-align:center;color:var(--ink-muted);font-size:var(--t-2xs);padding:8px 16px 10px}.footer .copyright{margin-top:10px;padding:0}.composer{max-width:var(--maxw);margin:0 auto;display:flex;align-items:flex-end;gap:8px;background:var(--sunken);border:1px solid var(--line);padding:8px 8px 8px 14px}.composer:focus-within{border-color:var(--line-control)}.composer-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:var(--t-base);line-height:1.5;max-height:200px;padding:6px 0}.composer-input::placeholder{color:var(--ink-muted)}.composer-stop-btn{flex:0 0 auto;width:36px;height:36px;border:1px solid var(--line-control);background:var(--action-quiet);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s,transform .05s}.composer-stop-btn:hover{background:var(--sunken);border-color:var(--ink)}.composer-stop-btn:active{transform:scale(.94)}.stop-icon{width:12px;height:12px;background:currentColor}.send-btn{flex:0 0 auto;width:36px;height:36px;border:none;background:var(--action);color:var(--ink-on-action);font-size:var(--t-lg);cursor:pointer;transition:opacity .15s,transform .05s}.send-btn:hover:not(:disabled){background:var(--action-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:var(--action-disabled);color:var(--ink-on-action);cursor:default}.policy-text{max-height:20rem;overflow:auto;padding:.75rem;border:1px solid var(--line);font-size:var(--t-xs);line-height:1.45;white-space:pre;-webkit-user-select:text;user-select:text}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner:after{width:40%;animation:none}.typing i{animation:none;opacity:1}.typing i:nth-child(2){opacity:.6}.typing i:nth-child(3){opacity:.3}.caret{animation:none;opacity:1}}@media(forced-colors:active){.verdict{forced-color-adjust:none;background:Canvas;color:CanvasText;border-color:CanvasText}.verdict.warn{border-left-style:dashed}.verdict.fail{border-left-width:6px}.check-icon{border:1px solid CanvasText}}
