:root{--surface:#fff;--surface-subtle:#f9fafb;--surface-muted:#f2f4f6;--text-primary:#191f28;--text-secondary:#4e5968;--text-muted:#6b7684;--text-disabled:#b0b8c1;--border:#e5e8eb;--brand:#25804a;--brand-pressed:#1e6b3d;--success:#185631;--success-soft:#eaf5ee;--warning-soft:#fff4e5;--danger:#f04452;--danger-soft:#fdecee;--focus:#25804a66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--surface)}body{color:var(--text-primary);background:var(--surface);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:1.63}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.skip-link{z-index:100;color:#fff;background:var(--brand);border-radius:8px;padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.landing-page,.state-page{background:var(--surface-subtle);place-items:center;min-height:100svh;padding:32px 20px;display:grid}.landing-card,.state-card{background:var(--surface);border-radius:24px;width:min(100%,480px);padding:32px 24px}.eyebrow,.step-label{color:var(--brand-pressed);margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.47}.landing-card h1,.state-card h1,.manual-header h1{letter-spacing:-.02em;margin:0;font-size:clamp(28px,8vw,32px);font-weight:800;line-height:1.25}.landing-copy,.state-card p{color:var(--text-secondary);margin:20px 0 0;font-size:18px;line-height:1.56}.landing-note{background:var(--success-soft);color:var(--success);border-radius:16px;margin-top:32px;padding:20px}.landing-note p{color:var(--text-secondary);margin:8px 0 0}.landing-sign-in{text-align:center;justify-content:center;align-items:center;width:100%;margin-top:32px;text-decoration:none;display:flex}.state-card .primary-button{width:100%;margin-top:24px}.auth-page,.account-page{background:var(--surface-subtle);place-items:center;min-height:100svh;padding:32px 20px;display:grid}.auth-card,.account-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;width:min(100%,480px);padding:32px 24px}.auth-brand{color:#fff;background:var(--brand);border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:20px;font-size:20px;font-weight:800;display:grid}.auth-card h1,.account-card h1{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800;line-height:1.36}.auth-copy,.account-copy{color:var(--text-secondary);margin:16px 0 0;font-size:18px;line-height:1.56}.auth-error{color:var(--danger);background:var(--danger-soft);border-radius:16px;margin:24px 0 0;padding:16px}.auth-data-note,.account-email{background:var(--surface-muted);border-radius:16px;margin-top:24px;padding:20px}.auth-data-note p{color:var(--text-secondary);margin:8px 0 0}.auth-form,.account-form{margin-top:32px}.google-sign-in-button{color:#fff;background:var(--brand);border:0;border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 20px;font-size:18px;font-weight:700;line-height:1.3;transition:transform .12s cubic-bezier(.2,0,0,1),background .12s cubic-bezier(.2,0,0,1);display:flex}.google-sign-in-button:hover{background:var(--brand-pressed)}.google-sign-in-button:active{transform:scale(.98)}.google-sign-in-button svg{background:#fff;border-radius:999px;flex:none;width:24px;height:24px;padding:2px}.auth-help{color:var(--text-muted);text-align:center;margin:16px 0 0;font-size:14px;line-height:1.43}.account-email{gap:4px;display:grid}.account-email span{color:var(--text-muted);font-size:14px;font-weight:600}.account-email strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:16px}.account-sign-out{width:100%}.manual-page{width:min(100%,480px);min-height:100svh;margin:0 auto;padding:32px 20px 128px}.manual-header h1{font-size:24px;line-height:1.33}.progress-section{margin-top:24px}.progress-track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--brand);height:100%;transition:width .2s cubic-bezier(.2,0,0,1);display:block}.progress-section p{color:var(--text-muted);margin:8px 0 0;font-size:15px;font-weight:600}.step-card{margin-top:32px}.step-card h2{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800;line-height:1.36}.detail{background:var(--surface-subtle);border-radius:16px;margin-top:24px;padding:20px}.detail h3{margin:0;font-size:16px;font-weight:700;line-height:1.63}.detail p{color:var(--text-secondary);margin:8px 0 0;font-size:18px;line-height:1.56}.detail-check{color:var(--success);background:var(--success-soft)}.detail-warning{background:var(--warning-soft)}.listen-button,.secondary-button,.primary-button{border:0;border-radius:16px;min-height:52px;padding:12px 20px;font-size:18px;font-weight:700;line-height:1.3;transition:transform .12s cubic-bezier(.2,0,0,1),background .12s cubic-bezier(.2,0,0,1)}.listen-button:active,.secondary-button:active,.primary-button:active{transform:scale(.98)}.listen-button{width:100%;color:var(--brand-pressed);background:var(--success-soft);margin-top:24px}.primary-button{color:#fff;background:var(--brand);min-height:64px}.primary-button:hover{background:var(--brand-pressed)}.primary-button:disabled{color:var(--text-secondary);background:var(--surface-muted)}.secondary-button{min-height:64px;color:var(--text-primary);background:var(--surface-muted)}.secondary-button:disabled{color:var(--text-disabled)}.step-actions{width:min(100%,480px);padding:16px 20px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff5;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}@media (max-width:379px){.landing-card,.state-card{padding:24px 20px}.step-actions{grid-template-columns:1fr}.manual-page{padding-bottom:208px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (forced-colors:active){.progress-track span{forced-color-adjust:none;background:highlight}.primary-button{border:2px solid buttontext}}
