:root{--bg:#f0f4f8;--surface:#fff;--text:#222;--muted:#5e6b74;--line:#dde4ea;--brand:#014865;--brand-hover:#005274;--accent:#3483a3;--soft:#f0f4f8;--on-brand:#fff;--error-bg:#fbf1ef;--error-line:#e8c9c1;--error-text:#8a3a2c;--font-sans-stack:var(--font-sans), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;--font-serif-stack:var(--font-serif), "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif}@media (prefers-color-scheme:dark){:root{--bg:#0e1c24;--surface:#14262f;--text:#e4eaee;--muted:#9aabb6;--line:#23404d;--brand:#8cc3d9;--brand-hover:#a6d3e4;--accent:#6fb0ca;--soft:#1a313c;--on-brand:#0e1c24;--error-bg:#33221f;--error-line:#5a3a33;--error-text:#f0b8ad}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans-stack);letter-spacing:.04em;-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.9}a{color:var(--brand);text-underline-offset:3px;word-break:break-all}a:hover{color:var(--accent)}.page{flex-direction:column;gap:32px;max-width:760px;min-height:100dvh;margin:0 auto;padding:56px 24px 48px;display:flex}.header{text-align:center}.eyebrow{font-family:var(--font-serif-stack);letter-spacing:.16em;color:var(--accent);margin:0 0 4px;font-size:.9rem;font-style:italic}.header h1{font-family:var(--font-serif-stack);letter-spacing:.12em;color:var(--brand);margin:0;font-size:1.75rem;font-weight:600}.header h1:after{content:"";background:var(--brand);width:40px;height:1px;margin:18px auto 14px;display:block}.header-sub{color:var(--muted);letter-spacing:.12em;margin:0;font-size:.85rem}.card{background:var(--surface);border-top:3px solid var(--brand);flex-direction:column;flex:1;display:flex;box-shadow:0 1px 2px #0148650f,0 8px 24px #0148650f}.log{flex-direction:column;flex:1;gap:20px;min-height:360px;padding:36px 32px;display:flex}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:86%;padding:16px 20px}.bubble.assistant{background:var(--soft);border-left:2px solid var(--accent);align-self:flex-start}.bubble.greeting{border-left:none;align-self:center}.bubble.user{background:var(--brand);color:var(--on-brand);align-self:flex-end}.bubble.error{background:var(--error-bg);border-left:2px solid var(--error-line);color:var(--error-text);align-self:flex-start}.bubble.error a{color:inherit}.pending{align-items:center;gap:8px;padding:20px 22px;display:flex}.dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite blink}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.dot{opacity:.6;animation:none}}.faq{flex-direction:column;gap:12px;margin-top:12px;display:flex}.faq-label{font-family:var(--font-serif-stack);letter-spacing:.12em;color:var(--brand);margin:0 0 4px;font-size:.95rem}.faq-button{text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;align-items:baseline;gap:14px;padding:16px 20px;transition:border-color .2s,background .2s;display:flex}.faq-button:hover:not(:disabled){border-color:var(--brand);background:var(--soft)}.faq-mark{font-family:var(--font-serif-stack);color:var(--accent);flex:none;font-size:1.1rem;font-weight:600}.faq-inline{scrollbar-width:none;gap:10px;padding:0 32px 20px;display:flex;overflow-x:auto}.chip{font:inherit;color:var(--brand);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex:none;padding:6px 16px;font-size:.85rem;transition:border-color .2s}.chip:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.45;cursor:default}.composer{border-top:1px solid var(--line);background:var(--surface);padding:24px 32px 28px}.composer textarea{resize:none;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:14px 16px;font-size:16px;line-height:1.7;transition:border-color .2s}.composer textarea::placeholder{color:var(--muted)}.composer textarea:focus{border-color:var(--brand);outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.counter{color:var(--muted);font-size:.8rem}.counter.over{color:var(--error-text)}.send{font:inherit;letter-spacing:.2em;color:var(--on-brand);background:var(--brand);cursor:pointer;border:none;padding:10px 36px;font-weight:500;transition:background .2s}.send:hover:not(:disabled){background:var(--brand-hover)}.notice{margin:0;padding:36px 32px}.footer{color:var(--muted);font-size:.8rem;line-height:1.9}.footer p{margin:0}.notes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notes li{padding-left:1.2em;position:relative}.notes li:before{content:"・";color:var(--accent);position:absolute;left:0}.copyright{text-align:center;letter-spacing:.1em;margin-top:20px!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:480px){.page{gap:24px;padding:40px 16px 88px}.header h1{font-size:1.5rem}.log{gap:16px;padding:28px 20px}.bubble{max-width:92%;padding:14px 16px}.faq-button{padding:14px 16px}.faq-inline{padding:0 20px 16px}.composer{padding:20px 20px 24px}}
