:root{--cream:#f8f3ea;--paper:#fffdf8;--ink:#3a3234;--muted:#74696b;--wine:#7a2638;--gold:#c9a86a;--line:#06c755;--border:#eadfd2;--serif:"Shippori Mincho B1","Yu Mincho",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}body{min-height:100svh;margin:0;background:linear-gradient(180deg,#f4eadb,var(--cream) 36%);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-text-size-adjust:100%}.app-shell{width:min(100% - 28px,560px);min-height:calc(100svh - 62px);margin:0 auto;padding:18px 0 34px}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:11px}.app-header a{color:var(--wine);font-family:var(--serif);font-size:16px;font-weight:700;text-decoration:none}.app-header span{color:var(--muted)}.progress{margin-bottom:18px}.progress-meta{display:flex;justify-content:space-between;margin-bottom:6px;color:var(--muted);font-size:11px}.progress-track{height:5px;overflow:hidden;border-radius:99px;background:#e7daca}.progress-track span{display:block;width:14.28%;height:100%;border-radius:inherit;background:var(--wine);transition:width .2s ease}.panel{padding:26px 22px;border:1px solid rgba(201,168,106,.42);border-radius:22px;background:rgba(255,253,248,.96);box-shadow:0 14px 34px rgba(58,50,52,.08)}.start{text-align:center}.start-badge{display:inline-block;margin-bottom:14px;padding:5px 12px;border-radius:99px;background:#ead0d5;color:var(--wine);font-size:11px;font-weight:800}.panel h1,.panel h2{margin:0 0 12px;font-family:var(--serif);line-height:1.5}.panel h1{font-size:26px}.panel h2{font-size:22px}.panel p{margin:0;color:var(--muted);font-size:13px}.start-points{display:grid;gap:8px;margin:22px 0;padding:0;text-align:left;list-style:none}.start-points li{padding:10px 12px;border-radius:12px;background:#fff;color:#5e5355;font-size:12px}.start-points li:before{margin-right:8px;color:var(--wine);content:"✓";font-weight:800}.start-button,.line-button{display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--line);box-shadow:0 7px 18px rgba(6,199,85,.24);color:#fff;font-size:16px;font-weight:800;text-decoration:none;cursor:pointer}.question-number{margin-bottom:8px;color:var(--wine);font-size:11px;font-weight:800;letter-spacing:.12em}.question-help{margin-bottom:20px!important}.text-input{width:100%;min-height:54px;padding:13px 14px;border:1px solid #d8cbc0;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:16px;outline:none}.text-input:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(122,38,56,.1)}.options{display:grid;gap:10px;margin-top:20px}.option{display:flex;min-height:52px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:#fff;cursor:pointer}.option input{position:absolute;opacity:0;pointer-events:none}.option span{display:flex;width:100%;align-items:center;gap:10px;font-size:14px;font-weight:700}.option span:before{display:block;width:20px;height:20px;flex:0 0 auto;border:2px solid #d2c2b4;border-radius:50%;content:""}.option:has(input:checked){border-color:var(--wine);background:#fff6f7}.option:has(input:checked) span:before{border:6px solid var(--wine)}.error{min-height:22px;margin-top:10px!important;color:#b4233f!important;font-size:11px!important}.actions{display:grid;grid-template-columns:92px 1fr;gap:10px;margin-top:14px}.actions button{min-height:52px;border-radius:999px;font-size:14px;font-weight:800;cursor:pointer}.back-button{border:1px solid #d6c9be;background:transparent;color:var(--muted)}.next-button{border:0;background:var(--wine);color:#fff}.review-list{display:grid;gap:9px;margin:20px 0}.review-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px;border-radius:12px;background:#fff}.review-item small,.review-item strong{display:block}.review-item small{color:var(--muted);font-size:10px}.review-item strong{font-size:13px}.review-item button{align-self:center;border:0;background:transparent;color:var(--wine);font-size:11px;font-weight:800;text-decoration:underline;cursor:pointer}.review-note{margin:14px 0!important;font-size:11px!important}.restart{display:block;margin:16px auto 0;border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;cursor:pointer}.privacy-note{width:min(100% - 40px,520px);margin:0 auto 22px;color:var(--muted);font-size:10px;line-height:1.65;text-align:center}@media(min-width:600px){.app-shell{padding-top:32px}.panel{padding:34px}.panel h1{font-size:30px}.panel h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.progress-track span{transition:none}}
