:root{--bg: #f5f1ea;--ink: #3d3a34;--muted: #8c8578;--accent: #8a7458;--accent-hover: #6f5c43;--accent-soft: #ece4d7;--border: #e3ddd0;--card: #ffffff;--good: #5a7d57;--danger: #b4503f;--gold: #e0a83b;--radius: 14px;--shadow: 0 1px 3px rgba(61, 58, 52, .06), 0 8px 28px rgba(61, 58, 52, .06);--nav-h: 76px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.app{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}.app-header{position:sticky;top:0;z-index:30;background:#f5f1eaeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:calc(env(safe-area-inset-top) + 12px) 18px 12px}.app-header__row{display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;letter-spacing:.22em;font-size:17px}.brand small{display:block;letter-spacing:.16em;font-size:9px;color:var(--muted);font-weight:600}.badge-pill{font-size:11px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);padding:4px 11px;border-radius:999px;font-weight:700}.progress{display:flex;gap:5px;margin-top:12px}.progress span{flex:1;height:5px;border-radius:999px;background:var(--border);transition:background .2s}.progress span.is-done,.progress span.is-active{background:var(--accent)}.progress-label{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.04em;margin-top:9px}.content{flex:1;padding:20px 18px calc(var(--nav-h) + 24px)}.store-banner{display:flex;align-items:center;gap:10px;justify-content:center;background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:18px;font-size:14px;font-weight:700;color:var(--accent-hover)}.store-banner small{color:var(--muted);font-weight:600}.llm-toggle{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:5px;margin-bottom:16px}.llm-toggle__label{font-size:12px;color:var(--muted);font-weight:700;padding:0 6px 0 8px}.llm-toggle__btn{flex:1;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:700;padding:9px 10px;border-radius:999px}.llm-toggle__btn.is-active{background:var(--accent);color:#fff}.llm-toggle__btn:disabled{opacity:.6}.question{font-size:21px;font-weight:700;line-height:1.45;margin:6px 0 4px}.hint{font-size:13px;color:var(--muted);margin:0 0 18px}.options{display:grid;grid-template-columns:1fr;gap:11px}@media(min-width:600px){.options{grid-template-columns:1fr 1fr}}.option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--border);border-radius:13px;padding:16px;min-height:58px;font-size:16px;color:var(--ink);transition:border-color .12s,background .12s,transform .05s}.option:active{transform:scale(.99)}.option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.option__check{flex:0 0 24px;width:24px;height:24px;border-radius:7px;border:1.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px}.option.is-selected .option__check{background:var(--accent);border-color:var(--accent)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:520px;margin:0 auto;display:flex;gap:12px;align-items:center;padding:12px 18px calc(env(safe-area-inset-bottom) + 12px);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.btn{border-radius:12px;padding:15px 20px;font-size:16px;font-weight:700;border:1.5px solid var(--accent);background:var(--accent);color:#fff;transition:background .12s,opacity .12s;line-height:1}.btn:active{background:var(--accent-hover)}.btn:disabled{opacity:.4}.btn--ghost{background:transparent;color:var(--accent)}.btn--block{width:100%}.btn--grow{flex:1}.btn--back{flex:0 0 auto;padding-left:18px;padding-right:18px}.result-stars{color:var(--gold);font-size:26px;letter-spacing:4px;text-align:center;margin:4px 0 14px}.review-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;font-size:16px;line-height:1.95;white-space:pre-wrap;box-shadow:var(--shadow);position:relative}.review-card.is-loading{color:var(--muted)}.review-meta{text-align:right;font-size:11px;color:var(--muted);margin-top:10px}.result-actions{margin-top:18px;display:flex;flex-direction:column;gap:11px}.result-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;background:#f0f4ef;border:1px solid #d8e3d6;color:#3f5b3c;padding:11px 13px;border-radius:11px}.demo-flag{font-size:11px;color:var(--muted);text-align:center;margin-top:12px}.spin{display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.picker{padding:28px 18px}.picker h2{margin:8px 0 4px;font-size:20px}.picker p{color:var(--muted);font-size:14px;margin:0 0 18px}.store-list{display:flex;flex-direction:column;gap:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#28262173;z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal{background:#fff;width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:24px 22px calc(env(safe-area-inset-bottom) + 22px);animation:slideup .22s ease-out}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:560px){.modal-overlay{align-items:center}.modal{border-radius:18px;margin:0 18px}}.modal h3{margin:0 0 6px;font-size:19px}.modal p.sub{color:var(--muted);font-size:14px;margin:0 0 18px}.guide-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px}.guide-step__num{flex:0 0 26px;width:26px;height:26px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.guide-step p{margin:0;font-size:14px}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px);transform:translate(-50%);background:var(--danger);color:#fff;padding:11px 18px;border-radius:11px;font-size:14px;box-shadow:var(--shadow);z-index:200;max-width:90%;text-align:center}
