:root{--bg:#f4f7fa;--surface:#fff;--border:#1a3a5c1f;--text:#1a3a5c;--text-muted:#4a6480;--accent:#2bbcd4;--accent-hover:#25a0b4;--accent-soft:#e6f7fa;--danger:#a3372b;--danger-soft:#f6e4e1;--success:#3f6b3f;--success-soft:#e6efe2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.topbar .brand{letter-spacing:.01em;font-weight:600}.topbar .brand span{color:var(--accent)}.topbar button.link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.topbar button.link:hover{color:var(--text)}.page{flex:1;justify-content:center;padding:32px 16px 64px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;padding:28px;box-shadow:0 1px 2px #00000008}.card.wide{max-width:640px}h1,h2,h3{margin-top:0}.field{margin-bottom:16px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;display:block}.field input,.field textarea{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:.95rem}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}button.primary{background:var(--accent);color:var(--text);cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:.95rem}button.primary:hover{background:var(--accent-hover)}button.primary:disabled,button.secondary:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:10px 18px;font-size:.95rem}button.secondary:hover{border-color:var(--accent)}.error-banner{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.info-banner{background:var(--accent-soft);color:var(--text);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.success-banner{background:var(--success-soft);color:var(--success);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.muted{color:var(--text-muted);font-size:.88rem}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.chat-log{flex-direction:column;gap:12px;max-height:55vh;margin-bottom:20px;padding-right:4px;display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:12px 14px;font-size:.95rem;line-height:1.5}.chat-bubble.system{background:var(--bg);border:1px solid var(--border);align-self:flex-start}.chat-bubble.user{background:var(--accent);color:var(--text);align-self:flex-end}.chat-input-row{gap:8px;display:flex}.chat-input-row textarea{resize:none;flex:1;min-height:44px}.terms-text{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:40vh;margin:8px 0 16px;padding:14px 16px;font-family:inherit;font-size:.9rem;line-height:1.6;overflow-y:auto}.status-pill{background:var(--accent-soft);color:var(--text);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.center-loading{color:var(--text-muted);justify-content:center;align-items:center;padding:60px 0;display:flex}ul.plain{margin:8px 0;padding-left:20px}ul.plain li{margin-bottom:6px}
