:root{--accent:#0e9481;--accent-dark:#0c7d6d;--accent-contrast:#fff;--bg:#f4f7f6;--bg-elevated:#fff;--bg-sunken:#e9f0ee;--text:#13251f;--text-secondary:#4b615d;--border:#dce6e3;--shadow:0 1px 3px #10282214, 0 6px 16px #1028220f;--shadow-lg:0 4px 10px #1028221a, 0 16px 32px #1028221a;--banner-bg:#0e948122;--banner-text:#0e7a67;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px}@media (prefers-color-scheme:dark){:root{--accent:#35b9a5;--accent-dark:#7fdcc9;--accent-contrast:#08211c;--bg:#10161c;--bg-elevated:#161f26;--bg-sunken:#1b2530;--text:#eaf3f1;--text-secondary:#9fb4b0;--border:#253039;--shadow:0 1px 3px #00000059, 0 8px 20px #0000004d;--shadow-lg:0 4px 10px #0006, 0 20px 40px #00000059;--banner-bg:#35b9a533;--banner-text:#7fdcc9}}:root[data-theme=light]{--accent:#0e9481;--accent-dark:#0c7d6d;--accent-contrast:#fff;--bg:#f4f7f6;--bg-elevated:#fff;--bg-sunken:#e9f0ee;--text:#13251f;--text-secondary:#4b615d;--border:#dce6e3;--shadow:0 1px 3px #10282214, 0 6px 16px #1028220f;--shadow-lg:0 4px 10px #1028221a, 0 16px 32px #1028221a}:root[data-theme=dark]{--accent:#35b9a5;--accent-dark:#7fdcc9;--accent-contrast:#08211c;--bg:#10161c;--bg-elevated:#161f26;--bg-sunken:#1b2530;--text:#eaf3f1;--text-secondary:#9fb4b0;--border:#253039;--shadow:0 1px 3px #00000059, 0 8px 20px #0000004d;--shadow-lg:0 4px 10px #0006, 0 20px 40px #00000059}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,Meiryo,sans-serif;line-height:1.7}a{color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.appShell{max-width:480px;min-height:100vh;margin:0 auto;padding:28px 20px 56px}@media (min-width:768px){.appShell{max-width:560px;padding:48px 24px 72px}}.screen{animation:.28s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.eyebrow{color:var(--accent);letter-spacing:.06em;margin:0 0 10px;font-size:12px;font-weight:700}h1{letter-spacing:-.01em;margin:0 0 14px;font-size:26px;font-weight:800;line-height:1.4}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:21px;font-weight:800}p{color:var(--text);margin:0 0 14px}.muted{color:var(--text-secondary);font-size:14px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:18px;padding:22px 20px}.badge{background:var(--bg-sunken);color:var(--accent);border-radius:var(--radius-pill);margin-bottom:18px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.btn{border-radius:var(--radius-md);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border:none;width:100%;min-height:52px;padding:16px 18px;font-family:inherit;font-size:16px;font-weight:700;transition:transform 80ms,opacity .12s;display:block}.btnPrimary{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-lg);margin-top:10px}.btnPrimary:active{opacity:.88;transform:scale(.99)}.btnSecondary{background:var(--bg-sunken);color:var(--text);border:1px solid var(--border);margin-top:10px}.btnSecondary:active{opacity:.85}.btnGhost{color:var(--text-secondary);background:0 0;width:auto;min-height:40px;padding:8px 4px;font-size:14px;font-weight:600}.progressWrap{margin-bottom:22px}.progressLabel{color:var(--text-secondary);justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.progressTrack{background:var(--bg-sunken);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progressFill{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width .25s}.qText{letter-spacing:-.01em;margin:6px 0 26px;font-size:20px;font-weight:700;line-height:1.65}.answerBtn{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:56px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:12px;padding:14px 18px;font-family:inherit;font-size:15px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:block}.answerBtn:hover{border-color:var(--accent)}.answerBtn:active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.backRow{margin-bottom:16px}.typeName{color:var(--accent);letter-spacing:-.01em;margin:6px 0 20px;font-size:30px;font-weight:900;line-height:1.3}.sectionLabel{color:var(--text-secondary);letter-spacing:.04em;border-left:3px solid var(--accent);margin-bottom:8px;padding-left:8px;font-size:12px;font-weight:700}.shareBox{background:var(--bg-sunken);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;margin-bottom:12px;padding:16px 18px;font-size:14px;line-height:1.75}.carteField{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:84px;color:var(--text);resize:vertical;margin-bottom:20px;padding:12px 14px;font-family:inherit;font-size:15px}.carteField:focus-visible{border-color:var(--accent)}.carteField::placeholder{color:var(--text-secondary);opacity:.85}.fieldLabel{margin-bottom:6px;font-size:14px;font-weight:700;display:block}.fieldRole{color:var(--text-secondary);margin:-2px 0 8px;font-size:12px}.trustFooter{color:var(--text-secondary);border-top:1px solid var(--border);margin-top:30px;padding-top:16px;font-size:12px;line-height:1.75}.trustLine{margin:0 0 8px}.trustLine:last-child{margin-bottom:0}.ctaAside{background:var(--bg-sunken);border-radius:var(--radius-sm);color:var(--text-secondary);gap:8px;margin:16px 0;padding:16px 18px;font-size:13px;line-height:1.75;display:grid}.ctaAside strong{color:var(--text)}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);z-index:100;text-align:center;max-width:90%;padding:12px 20px;font-size:13px;font-weight:600;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.linkX{color:var(--accent);margin-top:6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.linkX:hover{text-decoration:underline}
