:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101c2a;--panel:#192b3d;--line:#7896aa;--text:#f3f7fb;--muted:#b7cad8;--accent:#8ad8d0;--accent-text:#09222c;--message-bg:#17293a;--history-bg:#132334;--input-bg:#0c1722;--input-line:#7d9aad;--particle:#78bed3;--thinking:#d5aa69}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}button,input,textarea{font:inherit}button{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-text);cursor:pointer;border-radius:12px;padding:.65rem 1rem;font-weight:700}button:disabled{opacity:.55;cursor:wait}button.secondary{color:var(--text);border-color:var(--line);background:0 0}button.text-button{color:var(--text);background:0 0;border:0;text-decoration:underline}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #ffe29b}input,textarea{border:1px solid var(--input-line);background:var(--input-bg);width:100%;color:var(--text);border-radius:10px;padding:.8rem;font-size:1rem}label{margin:.8rem 0 .35rem;font-weight:600;display:block}p{line-height:1.65}.eyebrow{color:var(--accent);margin:0 0 .25rem;font-size:.82rem}.error{color:#ffc5c5;min-height:1.5em;margin:.5rem 0}.center-screen{place-items:center;min-height:100dvh;padding:1.2rem;display:grid}.auth-card,.disclosure-card{border:1px solid var(--line);background:var(--panel);border-radius:24px;width:min(100%,34rem);padding:clamp(1.2rem,4vw,2.5rem)}.auth-card h1,.disclosure-card h1{margin:.25rem 0 1rem;font-size:clamp(1.6rem,4vw,2.4rem)}.auth-card form button{width:100%;margin-top:1.5rem}.disclosure-card{width:min(100%,43rem)}.disclosure-card p{margin:.85rem 0}.disclosure-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.conversation{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;position:relative}.conversation.history-open{grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.topbar{border-bottom:1px solid var(--line);background:var(--bg);grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem clamp(1rem,3vw,2.5rem);display:flex}.topbar h1{margin:0;font-size:1.35rem}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.voice-toggle,.speech-stop{white-space:nowrap;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.voice-toggle{padding:.35rem .65rem}.voice-toggle[aria-pressed=true]{border-color:var(--accent)}.short-particle{display:none}.stage{--particle-wrap-height:clamp(13rem, 85vh, 78rem);flex-direction:column;grid-column:1;align-items:center;min-width:0;min-height:0;padding:1rem clamp(1rem,3vw,3rem);display:flex;overflow-y:auto}.particle-wrap{width:min(100%,80rem);height:var(--particle-wrap-height);flex:none;align-content:center;justify-items:center;display:grid}.main-particle{flex:0 1 var(--particle-wrap-height);width:min(100%,80rem);min-height:7rem;container-type:size}.main-particle .particle-wrap{height:min(var(--particle-wrap-height), 100cqh);margin:0 auto}.particle{--diameter:min(94vw, 80vh, 75rem);width:min(var(--diameter), 100%);aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--particle) 33%, transparent) 0%, color-mix(in srgb, var(--particle) 13%, transparent) 31%, transparent 58%);border-radius:50%;position:relative}.main-particle .particle{width:min(var(--diameter), 100%, calc(100cqh - 2.75rem))}.particle-thinking .particle{background:radial-gradient(circle, color-mix(in srgb, var(--thinking) 27%, transparent) 0%, color-mix(in srgb, var(--thinking) 13%, transparent) 31%, transparent 58%)}.particle canvas{display:block}.particle-static{position:absolute;inset:0}.particle-static:after{content:"";border:1px solid color-mix(in srgb, var(--particle) 40%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:19%}.particle-thinking .particle-static:after{border-color:color-mix(in srgb, var(--thinking) 67%, transparent)}.particle-responding .particle-static:after{border-color:color-mix(in srgb, var(--particle) 73%, transparent);border-width:2px}.preview-main,.preview-main .particle-wrap{width:100%;height:auto}.preview-main .particle{--diameter:min(calc(min(94vw, 80vh, 75rem) * var(--preview-scale)), 94vw, 80vh)}.preview-count{align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.preview-compact .particle{--diameter:3.1rem}.particle-label{color:var(--text);margin:.5rem 0;font-weight:700}.recent{width:min(100%,46rem);max-height:calc(100dvh - var(--particle-wrap-height) - 9rem);flex-shrink:0;min-height:10rem;padding:0 .5rem 1rem;overflow:auto}.empty{color:var(--muted);text-align:center}.pending-notice{border:1px solid var(--line);background:var(--panel);border-radius:12px;width:min(100%,46rem);margin:.2rem auto;padding:.75rem 1rem}.pending-notice p{margin:0}.dont-remember{min-width:0}.dont-remember-choices{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.message{background:var(--message-bg);overflow-wrap:anywhere;white-space:pre-wrap;width:fit-content;max-width:88%;margin:.75rem 0;padding:.6rem 1.2rem;position:relative}.message.user{border-left:6px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--message-bg));border-radius:0 12px 12px 0;min-height:3.2rem;margin-right:auto;padding-right:3.4rem}.message.assistant{border-right:6px solid var(--thinking);background:color-mix(in srgb, var(--thinking) 10%, var(--message-bg));border-radius:12px 0 0 12px;margin-left:auto}.message p{margin:.1rem 0;line-height:1.5}.message .speech-failure{color:#ffc5c5;font-size:.88rem}.message .interrupted-note{color:var(--muted);font-size:.88rem}.speaker{color:var(--accent);font-size:.8rem;font-weight:700}.message.assistant .speaker{color:var(--thinking)}.forget-link{width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.2rem;right:.2rem}.forget-link:hover,.forget-link:focus-visible{color:var(--text);background:color-mix(in srgb, var(--text) 12%, transparent)}.forget-link:after{content:attr(data-tooltip);z-index:2;border:1px solid var(--line);background:var(--panel);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:.25rem .6rem;font-size:.82rem;font-weight:400;position:absolute;top:100%;right:0}.forget-link:hover:after,.forget-link:focus-visible:after{opacity:1}.forget-backdrop{z-index:7;background:#0008;position:fixed;inset:0}.forget-confirm{z-index:8;left:50%;bottom:calc(var(--composer-height) + 1rem);width:min(100% - 2rem,32rem);max-height:calc(100dvh - var(--composer-height) - 2rem);border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:1.1rem;position:fixed;overflow:auto;transform:translate(-50%);box-shadow:0 12px 24px #0008}.forget-confirm h2{margin:.1rem 0 .5rem;font-size:1.2rem}.forget-clue{border-left:3px solid var(--accent);overflow-wrap:anywhere;padding-left:.7rem}.forget-actions{flex-wrap:wrap;gap:.6rem;display:flex}.history{border-left:1px solid var(--line);background:var(--history-bg);scrollbar-gutter:stable;grid-area:2/2/4;min-height:0;padding:1rem;overflow:auto}.history-title{justify-content:space-between;align-items:center;display:flex}.history h2{font-size:1.15rem}.mobile-close{display:none}.new-message{z-index:5;position:fixed;bottom:1rem;right:1rem}.composer{border-top:1px solid var(--line);padding:.7rem clamp(1rem, 3vw, 3rem) calc(.7rem + env(safe-area-inset-bottom));background:var(--bg);grid-column:1}.composer>label{margin:0 0 .35rem}.composer-row{align-items:stretch;gap:.65rem;display:flex}.composer-row textarea{resize:vertical;min-height:3rem;max-height:12rem}.composer-row button{flex:none;align-self:end}.composer .error{min-height:0;margin:0}.composer .error:not(:empty){margin-top:.4rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:899px){.conversation,.conversation.history-open{flex-direction:column;height:auto;min-height:100dvh;display:flex}.topbar{padding:.65rem 1rem}.stage{--particle-wrap-height:clamp(11rem, 84vh, 54rem);flex:1;overflow:visible}.particle{--diameter:min(94vw, 78vh, 51rem)}.recent{min-height:0;max-height:none;overflow:visible}.history{z-index:3;left:0;right:0;top:max(33dvh, var(--header-height));bottom:var(--composer-height);border:1px solid var(--line);border-radius:18px 18px 0 0;min-height:0;position:fixed;box-shadow:0 -1rem 3rem #0008}.new-message{left:50%;right:auto;bottom:calc(var(--composer-height) + 1rem);white-space:nowrap;transform:translate(-50%)}.mobile-close{display:block}.composer{z-index:4;position:sticky;bottom:0}.conversation.history-open .composer{box-shadow:0 -4px 20px #0005}}@media (max-width:899px) and (max-height:720px){.topbar{z-index:5;grid-template-columns:auto minmax(0,1fr);gap:.3rem 1rem;display:grid;position:sticky;top:0}.top-actions{gap:.25rem;min-width:0}.top-actions button{padding:.4rem .6rem}.short-particle{grid-column:1/-1;display:block}.short-particle .particle-wrap{justify-content:center;align-items:center;gap:1rem;width:100%;height:3.8rem;display:flex}.short-particle .particle{--diameter:3.1rem;width:var(--diameter)}.main-particle{display:none}.stage{padding-top:.2rem}.history{top:var(--header-height)}}@media (max-width:400px){.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions button{padding:.5rem;font-size:.85rem}.composer-row{flex-direction:column}.composer-row button{align-self:stretch}.dont-remember-choices{flex-direction:column}.dont-remember-choices button{width:100%}}@media (prefers-reduced-motion:reduce){.new-message{scroll-behavior:auto}}.appearance{position:relative}.appearance-panel{z-index:9;border:1px solid var(--line);background:var(--panel);border-radius:14px;width:min(16rem,100vw - 2rem);padding:.6rem .8rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 24px #0008}.appearance-panel fieldset{border:0;margin:0;padding:0}.appearance-panel legend{margin-bottom:.3rem;font-weight:700}.appearance-option{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;margin:0;font-weight:400;display:flex}.appearance-option input{width:auto;accent-color:var(--accent);margin:0}.appearance-swatch{border:1px solid var(--line);border-radius:8px;align-items:center;gap:.25rem;padding:.3rem .4rem;display:inline-flex}.appearance-swatch span{border-radius:50%;width:.8rem;height:.8rem}.appearance-note{color:var(--muted);margin:.3rem 0 0;font-size:.85rem}.history.claim-forget{flex-direction:column;padding:0;display:flex;overflow:hidden}.claim-forget-head{padding:1rem 1rem 0}.claim-forget-head h2{margin:.2rem 0 .6rem}.claim-forget-body{flex:1;min-height:0;padding:0 1rem;overflow:auto}.claim-forget-search>label{margin-bottom:.35rem}.claim-forget-search-row{gap:.5rem;display:flex}.claim-forget-search-row button{flex:none}.claim-forget-note{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.claim-forget-candidates{border:0;margin:1rem 0 0;padding:0}.claim-forget-candidates legend{margin-bottom:.3rem;font-weight:700}.claim-forget-option{border:1px solid var(--line);cursor:pointer;background:var(--message-bg);border-radius:12px;align-items:flex-start;gap:.7rem;min-height:44px;margin:0 0 .5rem;padding:.6rem .75rem;font-weight:400;display:flex}.claim-forget-option:has(input:checked){border-color:var(--accent)}.claim-forget-option:has(input:disabled){cursor:not-allowed;opacity:.7}.claim-forget-option input{width:auto;accent-color:var(--accent);margin:.25rem 0 0}.claim-forget-title{overflow-wrap:anywhere;display:block}.claim-forget-detail{color:var(--muted);font-size:.85rem;display:block}.claim-forget-state strong{margin-bottom:.3rem;display:block}.claim-forget-kept ul{margin:0;padding:0;list-style:none}.claim-forget-kept li{border-left:3px solid var(--accent);margin-bottom:.8rem;padding-left:.7rem}.claim-forget-actions{border-top:1px solid var(--line);padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}@media (max-width:899px){.history.claim-forget{top:max(20dvh, var(--header-height));z-index:5;bottom:0}}.claim-forget-whole{border:0;margin:0;padding:0}
