:root{--watt-red: #93272C;--watt-graphite: #171A20;--canvas: #FFFFFF;--surface-soft: #F4F5F6;--surface-metal-hi: #DDE0E3;--surface-metal-lo: #B9BDC2;--hairline: #E1E3E6;--hairline-soft: #E9EBED;--text-ink: #171A20;--text-body: #212121;--text-secondary: #5F6368;--text-label: #7A7F86;--text-muted: #8A8A8A;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 60px;--radius-badge: 2px;--radius-card: 3px;--border-card: 1px solid var(--hairline);--ls-label: .06em;--ls-heading: -.025em;--lh-heading: 1.12;--lh-body: 1.6;--font-sans: "Pretendard Variable", "Pretendard", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}:root{--fs-body: 18px;--fs-sub: 16px;--fs-input: 20px;--fs-h1: 28px;--fs-h2: 22px;--fs-label: 13px;--tap-min: 56px}:lang(ja){--font-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", -apple-system, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--surface-soft)}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);-webkit-text-size-adjust:100%}.shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:env(safe-area-inset-top) var(--sp-4) calc(env(safe-area-inset-bottom) + var(--sp-8))}.shell>*{width:100%;max-width:520px}.masthead{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-6) 0 var(--sp-5)}.wordmark{font-weight:700;letter-spacing:.24em;font-size:var(--fs-label);color:var(--text-ink);text-transform:uppercase}.masthead .site{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-label);text-transform:uppercase}.card{background:var(--canvas);border:var(--border-card);border-radius:var(--radius-card);padding:var(--sp-6) var(--sp-5) var(--sp-7)}h1{font-size:var(--fs-h1);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);font-weight:700;color:var(--text-ink);margin:0 0 var(--sp-3)}h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);font-weight:700;color:var(--text-ink);margin:0 0 var(--sp-3)}p{margin:0 0 var(--sp-4)}.lede{color:var(--text-secondary);font-size:var(--fs-sub)}.stepper{display:flex;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-label);margin-bottom:var(--sp-5)}.stepper .dot{padding:var(--sp-1) var(--sp-2);border:1px solid var(--hairline);border-radius:var(--radius-badge)}.stepper .dot[data-on="1"]{color:var(--canvas);background:var(--watt-graphite);border-color:var(--watt-graphite)}.field{margin-bottom:var(--sp-6)}.field label{display:block;font-weight:600;font-size:var(--fs-body);color:var(--text-ink);margin-bottom:var(--sp-2)}.field .hint{display:block;font-size:var(--fs-sub);color:var(--text-secondary);margin-bottom:var(--sp-2);font-weight:400}.field input{width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-input);color:var(--text-ink);background:var(--canvas);border:1px solid var(--surface-metal-lo);border-radius:var(--radius-badge)}.field input[inputmode=numeric]{font-family:var(--font-mono);letter-spacing:.3em;font-size:26px;text-align:center}.field input:focus-visible{outline:3px solid var(--watt-graphite);outline-offset:1px;border-color:var(--watt-graphite)}.field input[aria-invalid=true]{border-color:var(--watt-red)}button{width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-5);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:600;color:var(--canvas);background:var(--watt-graphite);border:1px solid var(--watt-graphite);border-radius:var(--radius-badge);cursor:pointer}button:disabled{background:var(--surface-metal-lo);border-color:var(--surface-metal-lo);color:var(--canvas);cursor:not-allowed}button:focus-visible{outline:3px solid var(--watt-graphite);outline-offset:2px}button.ghost{color:var(--text-ink);background:transparent;border-color:var(--hairline);font-weight:500}.notice{border:1px solid var(--hairline);border-left:3px solid var(--surface-metal-lo);background:var(--surface-soft);border-radius:var(--radius-badge);padding:var(--sp-4);font-size:var(--fs-sub);color:var(--text-body);margin-bottom:var(--sp-5)}.notice[data-tone=error]{border-left-color:var(--watt-red);color:var(--text-ink)}.notice[data-tone=legal]{border-left-color:var(--watt-red);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label)}.consent{border-top:1px solid var(--hairline-soft);padding-top:var(--sp-5);margin-bottom:var(--sp-6)}.consent .body{max-height:220px;overflow-y:auto;border:1px solid var(--hairline);border-radius:var(--radius-badge);padding:var(--sp-4);font-size:var(--fs-sub);color:var(--text-secondary);white-space:pre-wrap;margin-bottom:var(--sp-4)}.consent .agree{display:flex;align-items:flex-start;gap:var(--sp-3);min-height:var(--tap-min);cursor:pointer}.consent .agree input{width:28px;height:28px;margin-top:var(--sp-1);flex:none;accent-color:var(--watt-graphite)}.consent .agree span{font-size:var(--fs-body);color:var(--text-ink);font-weight:500}.footnote{font-size:var(--fs-sub);color:var(--text-muted);margin-top:var(--sp-6)}.lang{display:flex;gap:var(--sp-2);margin-left:var(--sp-3)}.lang button{width:auto;min-height:40px;padding:var(--sp-1) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);background:transparent;color:var(--text-label);border-color:var(--hairline);font-weight:500}.lang button[aria-pressed=true]{background:var(--watt-graphite);color:var(--canvas);border-color:var(--watt-graphite)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.fixed-value{display:block;font-family:var(--font-mono);font-size:var(--fs-input);letter-spacing:var(--ls-label);color:var(--text-ink);background:var(--surface-soft);border:1px solid var(--hairline);border-radius:var(--radius-badge);padding:var(--sp-3) var(--sp-4);min-height:var(--tap-min);line-height:2}
