@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(./playfair-display-latin-400-italic-LeeEXsx5.woff2)format("woff2"),url(./playfair-display-latin-400-italic-hIeePEuE.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(./playfair-display-latin-ext-400-italic-zVOgzDMq.woff2)format("woff2"),url(./playfair-display-latin-ext-400-italic-CZOjvne0.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(./playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-latin-ext-700-normal-C58ejOkc.woff2)format("woff2"),url(./playfair-display-latin-ext-700-normal-D5HUU8GT.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:700;src:url(./playfair-display-latin-700-italic-CB566L-e.woff2)format("woff2"),url(./playfair-display-latin-700-italic-DgrU7w_p.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:700;src:url(./playfair-display-latin-ext-700-italic-DsMbH0-z.woff2)format("woff2"),url(./playfair-display-latin-ext-700-italic-BF6mSdbu.woff)format("woff")}:root{--cream:#fff6e9;--paper:#fffdf8;--ink:#2b2130;--muted:#7a6c7d;--line:#ead9c3;--terra:#c8553d;--terra-dark:#9c3d29;--ochre:#f2b441;--pink:#e8387a;--pine:#2f6b4f;--pine-dark:#214d39;--right:#23875a;--right-bg:#e4f5ec;--wrong:#cf3f3f;--wrong-bg:#fdeaea;--radius:18px;--display:"Playfair Display", "Bodoni 72", Didot, Georgia, serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--ink);font-family:var(--body);overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;background:#33253a;font-size:17px;line-height:1.4}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}p,h1,h2,ol,ul,figure{margin:0;padding:0}ol,ul{list-style:none}small{color:var(--muted);font-size:.8em;font-weight:500}:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}.app{max-width:480px;height:100dvh;padding-top:env(safe-area-inset-top);background:var(--cream);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #00000059}.screen{flex-direction:column;flex:1;min-height:0;display:flex}.scroll,.screen.home,.screen.onboarding{min-height:0;padding:0 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.scroll>*,.screen.home>*,.screen.onboarding>*,.panel>*{flex-shrink:0}.logo{font-family:var(--display);letter-spacing:-.01em;color:var(--terra);font-size:34px;font-weight:700;line-height:1.05}.logo em{color:var(--ink);font-weight:400}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-size:12px;font-weight:800}.lead{color:#4a3d4e;font-size:17px}.fineprint{color:var(--muted);text-align:center;font-size:13px}.season{font-family:var(--display);margin-top:8px;font-size:22px;font-weight:700}.btn{background:var(--terra);min-height:52px;box-shadow:0 4px 0 var(--terra-dark);color:#fff;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:10px 18px;font-size:17px;font-weight:700;transition:transform 60ms,box-shadow 60ms;display:inline-flex;position:relative}.btn small{color:inherit;opacity:.8}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--terra-dark);transform:translateY(3px)}.btn:disabled{opacity:.45;cursor:default}.btn.block{flex:none;width:100%}.btn.green{background:var(--pine);box-shadow:0 4px 0 var(--pine-dark)}.btn.green:active:not(:disabled){box-shadow:0 1px 0 var(--pine-dark)}.btn.secondary{background:var(--paper);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);color:var(--ink)}.btn.secondary:active:not(:disabled){box-shadow:0 1px 0 var(--line)}.iconbtn{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;font-size:22px;display:grid}.chip{border:2px solid var(--line);background:var(--paper);color:#5c4f60;border-radius:99px;align-items:center;gap:5px;min-height:34px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.screen.onboarding{gap:16px;padding-top:28px}.onboarding .logo{font-size:44px}.cat-choice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cat-card{border:3px solid var(--line);background:var(--paper);border-radius:22px;flex-direction:column;align-items:center;padding:12px 8px 14px;transition:border-color .15s,transform .15s,background .15s;display:flex}.cat-card svg{width:100%;max-width:150px;height:auto}.cat-card b{font-family:var(--display);margin-top:6px;font-size:22px}.cat-card.selected{border-color:var(--pink);background:#fff0f6;transform:translateY(-3px)}.field{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:800;display:flex}.field input{border:2px solid var(--line);background:var(--paper);letter-spacing:0;text-transform:none;width:100%;color:var(--ink);border-radius:14px;padding:12px 14px;font-size:18px;font-weight:600}.home-head{justify-content:space-between;align-items:center;padding-top:14px;display:flex}.banner{border-radius:22px;flex:none;height:190px;position:relative;overflow:hidden}.bg{width:100%;height:100%;position:absolute;inset:0}.banner-cat{width:44%;height:92%;position:absolute;bottom:0;left:4%}.banner-cat svg,.actor svg{width:100%;height:100%;display:block}.banner-card{background:#fffdf8f0;border-radius:14px;flex-direction:column;padding:8px 12px;font-size:14px;display:flex;position:absolute;bottom:12px;right:12px}.banner-card b{font-size:15px}.home-nav{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-nav .btn span{font-family:var(--display);font-size:20px}.badge{background:var(--pink);color:#fff;border-radius:99px;min-width:26px;padding:2px 7px;font-size:13px;font-style:normal;font-weight:800;position:absolute;top:-8px;right:-6px}.episodes{flex-direction:column;gap:10px;display:flex}.episode{border:2px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;box-shadow:0 4px 0 var(--line);text-align:left;align-items:center;gap:12px;padding:12px;display:flex}button.episode:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.episode.locked{box-shadow:none;opacity:.62;background:0 0;border-style:dashed}.ep-num{background:var(--ochre);width:40px;height:40px;font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.episode.done .ep-num{background:var(--pine);color:#fff;font-family:var(--body)}.episode.locked .ep-num{background:var(--line)}.ep-text{flex-direction:column;flex:1;min-width:0;display:flex}.ep-text b{font-family:var(--display);font-size:19px;line-height:1.2}.ep-text small{font-size:14px}.ep-action{letter-spacing:.06em;text-transform:uppercase;color:var(--terra);flex:none;font-size:13px;font-weight:800}.episode.locked .ep-action{color:var(--muted)}.player{flex-direction:column;flex:1;min-height:0;display:flex}.topbar{flex:none;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:flex}.screen-title{font-family:var(--display);font-size:24px}.progress{background:var(--line);border-radius:99px;flex:1;height:10px;overflow:hidden}.progress i{background:var(--pink);border-radius:99px;height:100%;transition:width .3s;display:block}.followers{border:2px solid var(--line);background:var(--paper);border-radius:99px;flex:none;padding:4px 10px;font-size:15px;font-weight:800;position:relative}.gain{color:var(--right);pointer-events:none;font-weight:800;animation:1.3s ease-out forwards float-up;position:absolute;top:100%;right:10px}.stage{background:#d9cdbb;flex:none;height:min(50dvh,480px);transition:height .35s;position:relative;overflow:hidden}.stage.compact{height:min(20dvh,190px)}.stage.none{height:0}.actor{transform-origin:bottom;width:48%;height:94%;transition:transform .25s,filter .25s;position:absolute;bottom:0}.actor.left{left:1%}.actor.right{animation:.35s ease-out enter-right;right:1%}.actor.right svg{transform:scaleX(-1)}.actor.dim{filter:saturate(.75)brightness(.86);transform:scale(.94)}.panel-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.panel{min-height:0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.panel.tap{cursor:pointer;outline:none}.hint{text-align:center;color:var(--muted);margin-top:auto;padding-top:8px;font-size:13px;animation:1.8s ease-in-out infinite pulse}.slate{text-align:center;margin:auto 0;animation:.3s ease-out pop}.slate h2{font-family:var(--display);font-size:30px;line-height:1.15}.slate-time{letter-spacing:.14em;text-transform:uppercase;color:var(--terra);font-size:13px;font-weight:800}.bubble{border:2px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:14px 16px;font-size:19px;animation:.22s ease-out pop}.who{background:var(--terra);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.bubble.hero .who,.bubble.think .who{background:var(--pink)}.bubble.narrator{border:0;border-left:4px solid var(--ochre);font-family:var(--display);background:0 0;border-radius:0;padding:4px 0 4px 14px;font-size:20px;font-style:italic}.bubble.think{color:#5c4f60;border-style:dashed;font-style:italic}.bubble.sms{background:var(--right-bg);border-color:#bfe5cf;border-radius:22px 22px 22px 6px}.bubble.sms .who{background:var(--pine)}.it{font-weight:600}.w-known{all:unset;cursor:pointer;text-underline-offset:5px;-webkit-text-decoration:underline dotted #c8553d8c;text-decoration:underline dotted #c8553d8c;text-decoration-thickness:2px}.w-unknown{filter:blur(.27em);opacity:.7;-webkit-user-select:none;user-select:none;display:inline-block}.gloss,.translation{color:#4a3d4e;margin-top:8px;font-size:16px}.gloss{background:#fff1dc;border-radius:10px;padding:6px 10px}.bubble-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.foggy{color:var(--muted);font-size:13px;font-style:italic}.card{border:2px solid var(--line);background:var(--paper);text-align:center;border-radius:22px;padding:18px;animation:.25s ease-out pop}.card .word{all:unset;cursor:pointer;font-family:var(--display);align-items:center;gap:10px;margin:6px 0 2px;font-size:36px;font-weight:700;line-height:1.15;display:inline-flex}.card .word svg{color:var(--terra);font-size:24px}.meaning{color:var(--muted);font-size:19px}.note{border-left:4px solid var(--ochre);font-family:var(--display);text-align:left;margin-top:14px;padding-left:12px;font-size:17px;font-style:italic}.prompt{font-size:19px;font-weight:700}.options{gap:10px;display:grid}.opt{border:2px solid var(--line);background:var(--paper);width:100%;min-height:50px;box-shadow:0 3px 0 var(--line);text-align:left;border-radius:14px;padding:11px 14px;font-size:18px;font-weight:600}.opt.center{text-align:center;padding-inline:8px}.opt:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.opt:disabled{cursor:default;opacity:.55}.opt.selected{border-color:var(--ochre);box-shadow:0 3px 0 var(--ochre);background:#fff4d9}.opt.right{border-color:var(--right);background:var(--right-bg);color:#165c3c;opacity:1;box-shadow:0 3px #b5e0c8}.opt.wrong{border-color:var(--wrong);background:var(--wrong-bg);box-shadow:none;animation:.3s shake}.feedback{border-radius:14px;padding:12px 14px;font-size:16px;animation:.2s ease-out pop}.feedback.good{background:var(--right-bg);color:#165c3c}.feedback.bad{color:#7a4d0b;background:#fff1dc}.answer,.bank{flex-wrap:wrap;gap:8px;display:flex}.answer{border:2px dashed var(--line);border-radius:16px;align-items:center;min-height:62px;padding:8px}.answer.right{border-color:var(--right);border-style:solid}.answer.wrong{border-color:var(--wrong);animation:.3s shake}.placeholder{color:var(--muted);margin:0 auto;font-size:14px}.tile{border:2px solid var(--line);background:var(--paper);min-height:44px;box-shadow:0 3px 0 var(--line);border-radius:12px;padding:8px 14px;font-size:18px;font-weight:600}.tile.used{visibility:hidden}.match{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-col{align-content:start;gap:8px;display:grid}.match .opt{min-height:44px;padding-block:8px;font-size:16px}.listen{align-items:center;gap:14px;display:flex}.play{background:var(--terra);width:72px;height:72px;box-shadow:0 4px 0 var(--terra-dark);color:#fff;border:0;border-radius:50%;flex:none;place-items:center;font-size:34px;display:grid}.play:active{box-shadow:0 1px 0 var(--terra-dark);transform:translateY(3px)}.listen-side{flex-wrap:wrap;gap:8px;display:flex}.heard{font-family:var(--display);font-size:26px}.quiz-word{border:2px solid var(--line);border-radius:var(--radius);background:var(--paper);font-family:var(--display);text-align:center;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:30px;font-weight:700;display:flex}.quiz-word .iconbtn{color:var(--terra)}.post{border:2px solid var(--line);border-radius:var(--radius);background:#fff;flex:none;animation:.25s ease-out pop;overflow:hidden}.post-head{align-items:center;gap:10px;padding:10px 12px;display:flex}.avatar{border:2px solid var(--pink);background:var(--ochre);border-radius:50%;flex:none;width:38px;height:38px;overflow:hidden}.avatar svg{width:150%;height:150%;margin:-6% 0 0 -25%}.post-who{flex-direction:column;flex:1;line-height:1.2;display:flex}.post-app{font-family:var(--display);color:var(--pink);font-size:18px;font-style:italic}.photo{aspect-ratio:4/3;position:relative;overflow:hidden}.selfie{width:50%;height:100%;position:absolute;bottom:-8%;left:2%;transform:rotate(-7deg)}.selfie svg{width:100%;height:100%}.post-body{padding:10px 12px 14px;font-size:16px}.likes{color:var(--pink);margin-bottom:4px;font-weight:800}.tags{color:#2f62a8}.panel.centered,.panel.end{justify-content:center}.panel.end{text-align:center}.end-cat{flex:none;align-self:center;width:150px;height:150px}.end-cat svg{width:100%;height:100%}.end-title{font-family:var(--display);color:var(--terra);font-size:36px;line-height:1.1}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0;display:grid}.stats div{border:2px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;padding:10px 4px;display:flex}.stats b{font-family:var(--display);font-size:26px}.stats span{color:var(--muted);font-size:13px}.teaser{font-family:var(--display);margin:6px 0;font-size:20px;font-style:italic}.wordlist{flex-direction:column;gap:8px;display:flex}.wordrow{border:2px solid var(--line);background:var(--paper);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.wordrow>svg{color:var(--terra);flex:none;font-size:22px}.wordrow-text{flex-direction:column;flex:1;display:flex}.wordrow-text b{font-size:18px}.strength{gap:3px;display:flex}.strength i{background:var(--line);border-radius:50%;width:7px;height:7px}.strength i.on{background:var(--pine)}.segmented{border:2px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{min-height:44px;font-family:var(--display);background:0 0;border:0;border-radius:11px;font-size:19px}.segmented button.on{background:var(--pink);color:#fff}.setting{border:2px solid var(--line);background:var(--paper);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:600;display:flex}.setting>span{flex-direction:column;display:flex}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:99px;flex:none;width:50px;height:30px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--pine)}.switch:checked:after{transform:translate(20px)}.voice-list{border:2px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.voice-list label{align-items:center;gap:10px;padding:11px 14px;font-weight:600;display:flex}.voice-list label+label{border-top:1px solid var(--line)}.voice-list input{width:20px;height:20px;accent-color:var(--pink)}.gallery{background:var(--cream);min-height:100%;padding:16px}.gallery h2{margin:12px 0 4px;font-size:16px}.gallery-row{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;display:grid}.gallery-bgs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.gallery figure{text-align:center;background:#fff;border-radius:10px;font-size:12px;overflow:hidden}.gallery svg{width:100%;height:auto;display:block}@media (height<=700px){.stage.compact{height:0}.end-cat{width:104px;height:104px}}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes float-up{0%{opacity:0;transform:translateY(-6px)}20%{opacity:1}to{opacity:0;transform:translateY(14px)}}@keyframes enter-right{0%{opacity:0;transform:translate(30%)}}@keyframes pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
