:root{--bg: #f7f7f8;--fg: #1f2330;--muted: #6b7280;--accent: #4f46e5;--accent-fg: #ffffff;--bubble-ai: #ffffff;--bubble-user: #4f46e5;--border: #e5e7eb;--danger: #dc2626;--radius: 12px;font-family:system-ui,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{background:var(--bg);color:var(--fg);line-height:1.7}.page{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{font-size:1.6rem;line-height:1.4}button{font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.6rem;background:var(--accent);color:var(--accent-fg);transition:opacity .15s ease}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}input[type=text],input[type=email],input[type=number],textarea{font:inherit;width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--fg)}textarea{resize:vertical;min-height:6rem}.field{margin:1.2rem 0}.field label{display:block;font-weight:600;margin-bottom:.4rem}.error{color:var(--danger);font-size:.9rem;margin-top:.6rem}.muted{color:var(--muted);font-size:.92rem}.actions{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}
