:root{--navy:#1e3a5c;--rose:#d4849a;--dark-rose:#c4607a;--cream:#f5ede4;--light-cream:#fdfaf7;--border:#ede0d4;--muted:#6b6258;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"DM Sans", system-ui, sans-serif;--font-hz:"Noto Serif SC", serif;--tex-light:repeating-linear-gradient(135deg, #d4849a0d 0, #d4849a0d 1px, transparent 1px, transparent 20px);--tex-dark:repeating-linear-gradient(135deg, #d4849a12 0, #d4849a12 1px, transparent 1px, transparent 20px)}*{box-sizing:border-box;border-radius:0;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-ui);color:var(--navy);background:var(--light-cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:400}.stripe{background:repeating-linear-gradient(90deg, var(--navy) 0px 10px, var(--rose) 10px 14px, var(--cream) 14px 24px, var(--rose) 24px 28px, var(--navy) 28px 38px, var(--border) 38px 48px);width:100%;height:10px}.app{flex-direction:column;max-width:480px;min-height:100%;margin:0 auto;display:flex}.app>.stripe{z-index:10;position:sticky;top:0}.content{padding:20px 18px calc(30px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;display:flex}.eyebrow{font-family:var(--font-ui);letter-spacing:.3em;text-transform:uppercase;color:var(--rose);font-size:10.5px;font-weight:500}.display{font-family:var(--font-display);letter-spacing:.01em;font-weight:600;line-height:1.06}.hz{font-family:var(--font-hz);font-weight:400}.divider-accent{background:var(--rose);width:46px;height:3px}.topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hello .hi{font-family:var(--font-hz);color:var(--navy);font-size:30px;font-weight:400;line-height:1}.hello .sub{color:var(--muted);letter-spacing:.01em;margin-top:8px;font-size:13px}.streak-tag{border:1px solid var(--border);background:var(--light-cream);color:var(--dark-rose);flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;display:inline-flex}.nav-back{color:var(--rose);font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:500}.dark-block{background:var(--navy);color:#fff;border:1px solid var(--navy);padding:24px 22px 22px;position:relative;overflow:hidden}.dark-block:after{content:"";background:var(--tex-dark);pointer-events:none;position:absolute;inset:0}.dark-block>*{z-index:1;position:relative}.dark-block .wm{z-index:0;font-family:var(--font-hz);color:#d4849a1f;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:150px;font-weight:300;line-height:1;position:absolute;bottom:-34px;right:6px}.dark-block h1{font-family:var(--font-display);max-width:82%;margin:12px 0 14px;font-size:30px;font-weight:600;line-height:1.08}.dark-block .lead{color:#ffffffb3;font-size:13.5px;line-height:1.5}.btn{font-family:var(--font-ui);cursor:pointer;letter-spacing:.02em;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;width:100%;padding:15px 20px;font-size:15px;font-weight:500;display:inline-flex}.btn-primary{background:var(--dark-rose);color:#fff;border-color:var(--dark-rose)}.btn-ghost-light{color:#fff;background:0 0;border-color:#fff6}.btn-outline{background:var(--light-cream);color:var(--navy);border-color:var(--border)}.btn:active{opacity:.9}.card{background:var(--light-cream);border:1px solid var(--border);padding:18px}.card.accent{border-left:4px solid var(--rose)}.banks{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bank{background:var(--light-cream);border:1px solid var(--border);padding:16px}.bank .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.bank .sq{width:10px;height:10px;display:inline-block}.bank .num{font-family:var(--font-display);margin-top:10px;font-size:40px;font-weight:600;line-height:1}.bank.collection .num{color:var(--navy)}.bank.collection .sq{background:var(--navy)}.bank.training .num{color:var(--dark-rose)}.bank.training .sq{background:var(--rose)}.section-head{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.section-head h2{font-family:var(--font-display);color:var(--navy);font-size:24px;font-weight:600}.link{color:var(--rose);font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:500}.theme{background:var(--light-cream);border:1px solid var(--border);border-left:4px solid var(--rose);cursor:pointer;text-align:left;align-items:center;gap:16px;width:100%;padding:16px 18px;display:flex}.theme.locked{border-left-color:var(--border)}.theme .idx{text-align:center;width:40px;font-family:var(--font-display);color:var(--rose);flex:none;font-size:34px;font-weight:600;line-height:1}.theme.locked .idx{color:var(--border)}.theme .body{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.theme .t-title{font-family:var(--font-display);color:var(--navy);font-size:20px;font-weight:600;line-height:1.1}.theme .t-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.theme .chev{color:var(--rose);font-size:20px;font-weight:300}.pill-lock{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:5px 9px;font-size:10px;font-weight:500}.bar{background:var(--cream);border:1px solid var(--border);height:7px;overflow:hidden}.bar>span{background:var(--navy);height:100%;display:block}.howrow{background:var(--light-cream);border:1px solid var(--border);border-left:4px solid var(--rose);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.howrow .ic{flex:none;font-size:20px;line-height:1.2}.howrow .h{font-family:var(--font-display);color:var(--navy);font-size:19px;font-weight:600}.howrow .p{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.45}.foot{grid-template-columns:1fr 1fr;gap:12px;display:grid}.foot button{background:var(--light-cream);border:1px solid var(--border);font-family:var(--font-ui);letter-spacing:.02em;color:var(--navy);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:15px;font-size:13px;font-weight:500;display:flex}.loading{min-height:70vh;color:var(--muted);place-items:center;display:grid}.sess-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sess-count{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.sess-bar{background:var(--cream);border:1px solid var(--border);height:6px}.sess-bar>span{background:var(--navy);height:100%;transition:width .3s;display:block}.prompt-dark{text-align:center}.prompt-dark .big-hz{font-family:var(--font-hz);color:#fff;font-size:68px;font-weight:400;line-height:1.1}.prompt-dark .py{color:var(--rose);letter-spacing:.05em;margin-top:6px;font-size:15px}.opts{flex-direction:column;gap:10px;display:flex}.opt{background:var(--light-cream);border:1px solid var(--border);border-left:4px solid var(--border);text-align:left;font-family:var(--font-ui);color:var(--navy);cursor:pointer;width:100%;padding:15px 16px;font-size:15px;font-weight:400}.opt.hz{font-family:var(--font-hz);font-size:22px}.opt:active{background:var(--cream)}.opt.correct{border-left-color:var(--navy);background:#fff}.opt.wrong{border-left-color:var(--dark-rose)}.gap-sentence{font-family:var(--font-hz);color:var(--navy);font-size:22px;line-height:1.7}textarea.sent{border:1px solid var(--border);background:var(--light-cream);width:100%;min-height:108px;font-family:var(--font-ui);color:var(--navy);resize:vertical;padding:14px;font-size:15px}textarea.sent:focus{border-color:var(--rose);outline:none}.retry-msg{color:var(--dark-rose);font-size:13px}.match-list{flex-direction:column;gap:8px;display:flex}.match-item{border:1px solid var(--border);border-left:4px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.match-item.current{border-left-color:var(--rose)}.match-item .mh{font-family:var(--font-hz);color:var(--navy);font-size:20px}.match-item .ma{color:var(--muted);font-size:13px}.match-item .ma.pick{color:var(--navy);font-weight:500}.fb{border:1px solid var(--border);border-left:5px solid var(--border);padding:18px}.fb.ok{border-left-color:var(--navy)}.fb.no{border-left-color:var(--dark-rose)}.fb .fb-t{font-family:var(--font-display);font-size:23px;font-weight:600}.fb.ok .fb-t{color:var(--navy)}.fb.no .fb-t{color:var(--dark-rose)}.fb .fb-ans{color:var(--navy);margin-top:6px;font-size:14.5px}.fb .fb-ex{color:var(--muted);margin-top:10px;font-size:13px}.brk{flex-direction:column;gap:5px;margin-top:12px;display:flex}.brk .row{font-size:14px}.brk .m-ok{color:var(--navy)}.brk .m-no{color:var(--dark-rose)}.result-stat{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:12px 0;display:flex}.result-stat .k{color:var(--muted);letter-spacing:.04em;font-size:13px}.result-stat .v{font-family:var(--font-display);color:var(--navy);font-size:26px;font-weight:600}.ach{border:1px solid var(--border);border-left:4px solid var(--rose);color:var(--navy);padding:12px 14px;font-size:14px}.ach .hz{color:var(--dark-rose)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
