:root{--bg:#f7f7f8;--surface:#fff;--text:#1c1f24;--muted:#8b9098;--border:#e3e5e8;--me:#5c677a;--me-text:#fff;--them:#ebedf0;--them-text:#1c1f24;--focus:#5c677a66;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280f;--radius:20px;--col:720px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#131417;--surface:#1c1e22;--text:#e8e9ec;--muted:#868b93;--border:#2c2f35;--me:#6b7890;--me-text:#fff;--them:#26292e;--them-text:#e8e9ec;--focus:#8c98ac80;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}button{font:inherit}.app{height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.app.is-empty{justify-content:center;padding-bottom:12vh}.head{width:100%;max-width:var(--col);padding:calc(10px + env(safe-area-inset-top)) 16px 10px;flex:none;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:8px;font-weight:650;display:inline-flex}.logo{flex:none;display:block}.hero .logo{margin:0 auto 14px}.ghost{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px;transition:color .15s,border-color .15s}.ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.ghost:disabled{opacity:.5;cursor:default}.hero{text-align:center;padding:0 16px 24px;animation:.4s both fade-in}.hero h1{letter-spacing:-.01em;margin:0 0 8px;font-size:clamp(28px,6vw,40px);font-weight:700}.hero p{color:var(--muted);margin:0;font-size:15px}.log{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.log-inner{max-width:var(--col);flex-direction:column;gap:6px;margin:0 auto;padding:12px 16px 20px;display:flex}.msg{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(78%,520px);padding:9px 14px;font-size:15.5px;line-height:1.55;animation:.18s ease-out both pop-in}.msg.user{background:var(--me);color:var(--me-text);border-bottom-right-radius:6px;align-self:flex-end}.msg.assistant{background:var(--them);color:var(--them-text);border-bottom-left-radius:6px;align-self:flex-start}.msg.user+.msg.assistant,.msg.assistant+.msg.user{margin-top:8px}.typing{align-items:center;gap:4px;padding:13px 14px;display:inline-flex}.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite both blink}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.composer{width:100%;max-width:var(--col);padding:8px 16px calc(12px + env(safe-area-inset-bottom));flex:none;margin:0 auto}.is-empty .composer{animation:.4s 50ms both fade-in}.field{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:26px;align-items:flex-end;gap:8px;padding:6px 6px 6px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.field:focus-within{border-color:var(--focus)}.field textarea{min-width:0;max-height:160px;font:inherit;color:var(--text);resize:none;background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:16px;line-height:1.5}.field textarea::placeholder{color:var(--muted)}.send{width:36px;height:36px;color:var(--me-text);background:var(--me);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:opacity .15s,transform .1s;display:grid}.send:active:not(:disabled){transform:scale(.94)}.send:disabled{opacity:.3;cursor:default}.send:focus-visible,.ghost:focus-visible{outline:2px solid var(--me);outline-offset:2px}.note{text-align:center;color:var(--muted);margin:8px 0 0;font-size:11.5px;line-height:1.5}.link{font-size:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link:hover{color:var(--text)}.about{width:min(560px,100vw - 32px);max-height:min(80dvh,720px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:0;box-shadow:0 20px 60px #00000040}.about[open]{animation:.2s both fade-in}.about::backdrop{background:#0006}.about-body{padding:22px 22px 18px;font-size:14px;line-height:1.7}.about h2{outline:none;margin:0 0 10px;font-size:18px}.about h3{margin:18px 0 6px;font-size:14.5px}.about p,.about ul{margin:0}.about ul{padding-left:1.2em}.about li+li{margin-top:4px}.about a{color:var(--me)}.about-date{color:var(--muted);font-size:12px;margin-top:16px!important}.about form{justify-content:flex-end;margin-top:14px;display:flex}.about-close{color:var(--me-text);background:var(--me);cursor:pointer;border:0;border-radius:999px;padding:8px 18px;font-size:14px}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
