:root{--blue: #1550FB;--blue-deep: #0E3BC0;--blue-soft: #E5ECFF;--sky: #EEF4FB;--orange: #FF9100;--orange-soft: #FFF0DB;--green: #2FCB64;--green-deep: #1FA14C;--green-soft: #E3F8EA;--purple: #9E4AF6;--purple-soft: #F1E6FE;--paper: #FFFFFF;--ink: #1C2333;--muted: #667085;--line: #E4E9F2;--miss: #E5483B;--font: "Poppins", "Helvetica Neue", Arial, sans-serif;--font-word: "Andika", "Poppins", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{background:linear-gradient(180deg,#F7F9FC 0%,var(--sky) 100%) fixed;background-color:var(--sky);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);border-bottom:1px solid var(--line);padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.bar-in{max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:700;font-size:1.35rem;color:var(--blue);background:none;border:0;padding:0;letter-spacing:-.01em}.brand span{color:var(--orange)}.bar-actions{display:flex;gap:4px 12px;flex-wrap:wrap;justify-content:flex-end}.bar-actions .linkbtn{white-space:nowrap;font-size:.9rem}.linkbtn{background:none;border:0;color:var(--muted);font-size:.95rem;padding:6px 4px}.linkbtn:hover{color:var(--blue)}main{max-width:860px;margin:0 auto;padding-block:24px 56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1,h2,h3{line-height:1.2;text-wrap:balance;margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.8rem,5vw,2.4rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0}.lede{color:var(--muted);max-width:62ch}.stack{display:flex;flex-direction:column;gap:20px}.eyebrow{display:inline-block;align-self:flex-start;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);background:var(--blue-soft);padding:4px 12px;border-radius:99px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{border:0;border-radius:14px;padding:12px 20px;font-weight:700;background:var(--blue);color:#fff;transition:transform .12s ease,background .12s ease}.btn:hover{background:var(--blue-deep)}.btn:active{transform:scale(.97)}.btn.go{background:var(--green)}.btn.go:hover{background:var(--green-deep)}.btn.orange{background:var(--orange)}.btn.orange:hover{background:#e88200}.btn.ghost{background:var(--paper);color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue-soft)}.btn.ghost:hover{background:var(--blue-soft)}.btn.small{padding:7px 14px;font-size:.92rem;border-radius:12px}.btn.danger{background:var(--miss)}.btn:disabled{opacity:.45;cursor:default;transform:none}.note{font-size:.88rem;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:12px;padding:10px 14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 6px 20px #1550fb0f}.readers{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.reader{padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}.reader-top{display:flex;align-items:center;gap:12px}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.5rem;color:#fff;flex:none}.reader-name{font-weight:700;font-size:1.2rem;overflow-wrap:anywhere}.reader-sub{font-size:.88rem;color:var(--muted)}.meter{height:10px;background:var(--blue-soft);border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;background:var(--orange);border-radius:99px;transition:width .5s ease}.meter.green i{background:var(--green)}.meter-label{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.addform{padding:18px;display:flex;flex-direction:column;gap:12px;border-style:dashed;border-width:2px;box-shadow:none}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.85rem;font-weight:700;color:var(--muted)}.field input,.field select{font:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}.hello{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.hello h1{font-size:clamp(2.2rem,7vw,3rem)}.goal-line{font-size:1.15rem;color:var(--muted)}.goal-line b{color:var(--orange)}.level-chip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-weight:700;color:var(--blue)}.hud{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.hud .tile-stat{padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}.hud .big{font-size:1.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}.hud .lbl{font-size:.82rem;color:var(--muted)}.missions{display:flex;flex-direction:column;gap:14px}.mission{display:flex;align-items:center;gap:14px;padding:16px;border-width:2px;text-align:left;width:100%}.mission .icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;flex:none;border:3px solid currentColor;background:#fff}.mission .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.mission .name{font-size:1.2rem;font-weight:700}.mission .when{font-size:.85rem;color:var(--muted)}.mission .reward{font-size:1.8rem;flex:none}.mission.m0{border-color:#b5ebc8}.mission.m0 .icon,.mission.m0 .name{color:var(--green-deep)}.mission.m0 .icon{background:var(--green-soft)}.mission.m1{border-color:#c5d4ff}.mission.m1 .icon,.mission.m1 .name{color:var(--blue)}.mission.m1 .icon{background:var(--blue-soft)}.mission.m2{border-color:#dec4fc}.mission.m2 .icon,.mission.m2 .name{color:var(--purple)}.mission.m2 .icon{background:var(--purple-soft)}.mission.locked{opacity:.6;border-color:var(--line);cursor:default}.mission.locked .icon{filter:grayscale(1)}.mission:not(.locked):hover{transform:translateY(-2px)}.mission{transition:transform .15s ease}.lockmsg{font-size:.82rem;color:var(--muted)}.mission.peek{border-style:dashed;border-color:#f5c98c}.peekmsg{font-size:.9rem;font-weight:700;color:#b06100}.premium{padding:20px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(135deg,#fff6e8,#f1f5ff);border:2px solid #F5C98C;border-radius:22px}.premium .ready{font-weight:700;color:var(--green-deep);background:var(--green-soft);border-radius:12px;padding:8px 12px}.perks{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.teaser{font-size:.92rem;color:var(--muted);background:var(--sky);border-radius:12px;padding:10px 12px}.practice{padding:clamp(18px,4vw,34px);display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;border-radius:28px}.ptop{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px}.ptop .count{font-size:.95rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.pbar{width:100%;height:10px;background:var(--blue-soft);border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .4s ease}.step-label{font-weight:700;color:var(--blue);font-size:1.1rem}.retry-tag{font-size:.85rem;font-weight:700;color:#b06100;background:var(--orange-soft);padding:4px 12px;border-radius:99px}.bigword{font-family:var(--font-word);font-weight:700;font-size:clamp(3.4rem,15vw,6rem);line-height:1.05;letter-spacing:.02em;overflow-wrap:anywhere}.letters-under{display:flex;gap:6px;justify-content:center}.letters-under span{width:10px;height:10px;border-radius:50%;background:var(--orange)}.hear{display:inline-flex;align-items:center;gap:8px}.hear svg{width:20px;height:20px}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:480px}.choice{font-family:var(--font-word);font-weight:700;font-size:clamp(1.6rem,7vw,2.2rem);background:#fff;border:3px solid var(--blue-soft);border-radius:20px;padding:18px 8px;transition:transform .1s ease,border-color .1s ease;overflow-wrap:anywhere}.choice:hover:not(:disabled){border-color:var(--blue)}.choice.right{border-color:var(--green);background:var(--green-soft)}.choice.wrong{border-color:var(--miss);animation:shake .3s;opacity:.55}.choice.reveal{border-color:var(--green);background:var(--green-soft);animation:pulse .9s ease 2}.coach{font-size:1.15rem;min-height:1.6em;color:var(--ink);max-width:36ch}.coach b{color:var(--blue)}.slots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.slot{font-family:var(--font-word);width:clamp(42px,11vw,56px);height:clamp(52px,13vw,66px);border-bottom:4px solid var(--blue);font-weight:700;font-size:clamp(1.8rem,8vw,2.4rem);display:grid;place-items:end center;padding-bottom:2px}.slot.filled{color:var(--blue-deep)}.tiles{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:480px}.tile{font-family:var(--font-word);width:clamp(46px,12vw,58px);height:clamp(46px,12vw,58px);font-weight:700;font-size:clamp(1.6rem,7vw,2rem);background:var(--orange-soft);border:0;border-radius:14px;box-shadow:0 3px #f2c487;transition:transform .1s ease}.tile:active{transform:translateY(2px);box-shadow:0 1px #f2c487}.tile.used{visibility:hidden}.tile.wrong{animation:shake .3s;background:#fbd5d1}.tile.hint{background:var(--green-soft);box-shadow:0 0 0 3px var(--green),0 3px #9adbb1;animation:pulse 1s ease infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.cheer{font-size:1.6rem;font-weight:700;color:var(--green-deep);min-height:1.6em}.banner{width:100%;border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center;text-align:left;font-weight:700}.banner .em{font-size:2rem;flex:none}.banner.gold{background:var(--orange-soft);color:#8a4b00}.banner.green{background:var(--green-soft);color:#136b33}.banner.blue{background:var(--blue-soft);color:var(--blue-deep)}.stars{display:flex;gap:4px;justify-content:center}.star{width:24px;height:24px}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;width:100%}.sum-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px}.sum-card .w{font-family:var(--font-word);font-weight:700;font-size:1.6rem}.sum-card .s{font-size:.82rem;color:var(--muted)}.sum-card.earned{border-color:var(--orange);background:#fff9ef}#confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;width:100%;height:100%}.panel{padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{border-radius:14px;padding:12px;background:var(--sky)}.stat .n{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.stat .l{font-size:.82rem;color:var(--muted)}.stat.m .n{color:var(--green-deep)}.stat.p .n{color:#c46f00}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}.wordgrid{display:flex;flex-wrap:wrap;gap:6px}.chip{font-family:var(--font-word);font-size:1rem;padding:3px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--muted)}.chip.p{background:var(--orange-soft);border-color:#f5c98c;color:var(--ink)}.chip.m{background:var(--green-soft);border-color:#a5ddb8;color:var(--ink);font-weight:700}.chip.lock{border-style:dashed}.listname{font-weight:700;font-size:.98rem;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.listname small{font-weight:400;color:var(--muted)}.table-wrap{overflow-x:auto}.mini{width:100%;border-collapse:collapse;font-size:.95rem}.mini th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)}.mini td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.mini td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.sessions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.92rem}.sessions li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px}.sessions li span:first-child{min-width:0;overflow-wrap:anywhere}.sessions .when{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:0;border-radius:99px;padding:8px 16px;font-weight:700;background:var(--blue-soft);color:var(--blue-deep)}.tab[aria-selected=true]{background:var(--blue);color:#fff}.confirm{background:#fde8e6;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.plan{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--orange-soft);border-radius:14px;padding:12px 14px}.settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:520px){.hud{grid-template-columns:1fr 1fr}.hud .goal{grid-column:1 / -1}.stat .n{font-size:1.4rem}.mission .icon{width:52px;height:52px;font-size:1.5rem}}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.plan-opt{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:12px 14px}.plan-opt[aria-checked=true]{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.plan-name{font-weight:700}.plan-price{font-size:1.15rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}.plan-sub{font-size:.82rem;color:var(--muted)}.auth{max-width:440px;margin:0 auto;padding:clamp(20px,5vw,32px);display:flex;flex-direction:column;gap:16px}.auth h1{font-size:clamp(1.6rem,5vw,2rem)}.auth form{display:flex;flex-direction:column;gap:12px}.auth .btn{width:100%}.auth .switch{font-size:.92rem;color:var(--muted);text-align:center}.auth .switch button{background:none;border:0;color:var(--blue);font-weight:700;padding:0}.auth .error{color:var(--miss);font-size:.92rem;min-height:1.2em}.auth .check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink)}.auth .check input{margin-top:4px;width:18px;height:18px;flex:none}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.btn.google{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn.google:hover{background:var(--sky)}.btn.google svg{width:20px;height:20px}.center-msg{text-align:center;color:var(--muted);padding-block:48px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-weight:600;z-index:30;max-width:min(92vw,520px);box-shadow:0 10px 30px #0003}.gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c233373;display:grid;place-items:center;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.gate-card{width:min(420px,100%);padding:22px;display:flex;flex-direction:column;gap:12px}.gate-card input{font:inherit;font-size:1.3rem;padding:10px 12px;border-radius:12px;border:1px solid var(--line);width:100%}.grownup-link{align-self:center;font-size:.9rem}
