:root{color:#f2eee7;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#0c131e;--navy-900:#111a28;--navy-800:#182436;--navy-700:#24344a;--gold:#d8b674;--gold-bright:#edce8e;--cream:#f2eee7;--muted:#9ca5b2;--line:#e5ded024;background:#0c131e;font-family:DM Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--navy-950);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{background:var(--navy-950);min-height:100vh;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:2;justify-content:space-between;align-items:center;width:100%;padding:24px clamp(24px,5.3vw,84px);display:flex;position:relative}.brand-lockup{align-items:center;gap:11px;display:inline-flex}.brand-mark{align-items:end;gap:2px;height:22px;display:flex}.brand-mark span{background:var(--gold);border-radius:3px;width:4px;display:block;transform:skew(-16deg)}.brand-mark span:first-child,.brand-mark span:nth-child(5){opacity:.6;height:10px}.brand-mark span:nth-child(2),.brand-mark span:nth-child(4){opacity:.8;height:16px}.brand-mark span:nth-child(3){height:22px}.brand-name{color:#eee9dd;letter-spacing:.18em;font-size:12px;font-weight:500}.brand-name b{color:var(--gold-bright);font-weight:700}.edition-label{color:#c1c0be;letter-spacing:.2em;align-items:center;gap:9px;font-size:9px;display:inline-flex}.edition-label i,.eyebrow>span{background:var(--gold);border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #d8b674b3}.title-screen{isolation:isolate;background:#0e1724;flex-direction:column;min-height:max(760px,100svh);display:flex;position:relative}.title-art{z-index:0;background-image:url(/assets/go-grammar-hero.png);background-position:50% 52%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.title-art:after{content:"";background:linear-gradient(90deg,#080e18f7 0%,#080e18e8 32%,#080e18c2 62%,#080e189c 100%),linear-gradient(#080e1852 0%,#080e181a 52%,#080e189e 100%);position:absolute;inset:0}.title-screen .topbar{padding-top:27px}.title-content{z-index:1;width:min(580px,45vw);margin:clamp(72px,11vh,125px) 0 auto clamp(28px,8vw,128px);padding-bottom:68px;animation:.55s both rise-in;position:relative}.hero-illustration-caption{z-index:1;color:#f8efdac7;letter-spacing:.2em;font-size:8px;position:absolute;bottom:124px;right:7%}.active-level{background:#0c131e8c;border:1px solid #d8b67452;border-radius:3px;align-items:center;gap:9px;margin:0 0 20px;padding:9px 12px;display:inline-flex}.active-level strong{color:#f0d696;letter-spacing:.04em;white-space:nowrap;font-size:11px}.active-level small{color:#c1c8d0;border-left:1px solid #d8b6744d;padding-left:9px;font-size:10px;line-height:1.35}.eyebrow{color:#c4bba9;letter-spacing:.22em;align-items:center;gap:11px;font-size:9px;font-weight:600;display:inline-flex}.title-content h1{letter-spacing:.025em;margin:22px 0 12px;font-size:clamp(66px,7vw,99px);font-weight:500;line-height:.87}.title-content h1 em{color:var(--gold-bright);letter-spacing:-.045em;font-family:Playfair Display,Georgia,serif;font-size:.79em;font-weight:500}.tagline{color:#d7d5d0;margin:24px 0 22px;font-family:Playfair Display,Georgia,serif;font-size:clamp(19px,2.1vw,25px);line-height:1.45}.tagline strong{color:#fff;font-weight:500}.title-rule{background:var(--gold);width:42px;height:1px;margin:24px 0 16px}.intro-copy{color:#bbc0c5;max-width:410px;margin:0 0 26px;font-size:13px;line-height:1.7}.difficulty-picker{border:0;margin:0;padding:0}.difficulty-picker legend{color:#e5dfd4;letter-spacing:.08em;padding:0 0 11px;font-size:10px;font-weight:600}.difficulty-options{gap:8px;display:flex}.difficulty-option{cursor:pointer;background:#0d152194;border:1px solid #ffffff24;border-radius:4px;flex:1;align-items:center;gap:10px;min-height:54px;padding:9px 12px;transition:border-color .18s,background .18s;display:flex}.difficulty-option.is-selected{background:#d8b6741a;border-color:#d8b674db}.difficulty-option:focus-within,.choice-option:focus-within{outline:2px solid var(--gold-bright);outline-offset:3px}.difficulty-option input,.choice-option input{opacity:0;width:1px;height:1px;position:absolute}.radio-mark,.choice-radio{border:1px solid #8d9092;border-radius:50%;flex:none;width:14px;height:14px;position:relative}.is-selected .radio-mark,.choice-option.is-selected .choice-radio{border-color:var(--gold)}.is-selected .radio-mark:after,.choice-option.is-selected .choice-radio:after{content:"";background:var(--gold);border-radius:50%;position:absolute;inset:3px}.difficulty-option strong{color:#f3eee4;letter-spacing:.06em;font-size:11px;display:block}.difficulty-option small{color:#acb1b8;margin-top:3px;font-size:9px;display:block}.menu-actions{flex-wrap:wrap;align-items:center;gap:10px 13px;margin-top:18px;display:flex}.button{letter-spacing:.015em;cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:20px;min-height:45px;padding:0 17px;font-size:11px;font-weight:700;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button span{font-size:15px;font-weight:400}.button-primary{color:#1c2026;background:var(--gold-bright);box-shadow:0 5px 22px #00000026}.button-primary:not(:disabled):hover{background:#f3dba6}.button-secondary{color:#f1ede4;background:#121b278f;border-color:#ffffff38}.button-secondary:hover{border-color:var(--gold);background:#d8b67414}.text-button{color:#d2ccc0;cursor:pointer;background:0 0;border:0;padding:10px 4px;font-size:10px}.text-button span{color:var(--gold);margin-left:6px}.week-strip{z-index:1;border-top:1px solid #fff3;align-items:center;gap:17px;width:min(580px,88vw);margin:0 0 0 clamp(28px,11vw,168px);padding:17px 0 13px;display:flex;position:relative}.week-day{flex-direction:column;gap:4px;min-width:44px;display:flex}.week-day-button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.week-day-button:hover span,.week-day-button:focus-visible span{color:#f4efe5}.week-day strong{color:#f4efe5;letter-spacing:.14em;font-size:9px}.week-day span{color:#d8b674;font-size:8px}.week-day.locked strong,.week-day.locked span{color:#858a90}.week-day.locked span{letter-spacing:.08em;font-size:6px}.week-destination{color:#999b9d;letter-spacing:.15em;align-items:center;gap:7px;margin-left:auto;font-size:7px;line-height:1.4;display:flex}.destination-star{color:var(--gold);font-size:18px}.title-footer,.game-footer{z-index:1;color:#767c82;letter-spacing:.18em;justify-content:space-between;padding:16px clamp(28px,5.3vw,84px);font-size:7px;display:flex;position:relative}.game-screen{background:radial-gradient(ellipse at 45% -15%, #30425659, transparent 44%), var(--navy-950);flex-direction:column;min-height:100vh;display:flex}.game-topbar{border-bottom:1px solid #ffffff12;min-height:75px;padding-top:15px;padding-bottom:14px}.compact-progress{grid-template-columns:auto minmax(100px,210px) auto;align-items:center;gap:10px;display:grid}.compact-progress>span,.compact-progress>b{color:#b4b8bd;letter-spacing:.14em;font-size:8px}.compact-progress>b{color:var(--gold-bright);font-size:10px}.progress-track,.panel-track{background:#ffffff24;border-radius:8px;height:3px;overflow:hidden}.progress-track i,.panel-track i{border-radius:inherit;background:var(--gold);height:100%;transition:width .55s;display:block}.top-actions{align-items:center;gap:7px;display:flex}.icon-text-button{color:#b8bec7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:8px 10px;font-size:9px}.icon-text-button:hover{color:#f4efe5;border-color:#ffffff29}.restart-button{border-color:#ffffff24}.weekly-meter{width:min(1320px,100% - 72px);margin:15px auto 18px}.weekly-heading{color:#858e98;letter-spacing:.17em;justify-content:space-between;margin-bottom:8px;font-size:7px;font-weight:600;display:flex}.weekly-heading b{color:var(--gold-bright);margin-left:8px;font-size:9px}.weekly-days{align-items:center;gap:12px;display:flex}.weekly-day{flex:1;grid-template-columns:auto 1fr;align-items:center;gap:9px;display:grid}.weekly-day>span{color:#adb4bd;letter-spacing:.11em;font-size:8px;font-weight:600}.weekly-day>i{background:#ffffff21;border-radius:5px;height:3px;overflow:hidden}.weekly-day>i b{border-radius:inherit;background:var(--gold);height:100%;transition:width .5s;display:block}.weekly-day.locked>span{color:#5f6874}.weekly-day.locked>i{background:#ffffff12}.weekend-label{color:#a1a4a8;letter-spacing:.1em;white-space:nowrap;font-size:7px}.weekend-label:first-letter{color:var(--gold)}.game-body{border:1px solid #ffffff1c;border-radius:4px;flex:1;grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);width:min(1320px,100% - 72px);min-height:520px;margin:0 auto;animation:.38s both scene-in;display:grid;overflow:hidden;box-shadow:0 28px 70px #0000003b}.testing-toast{z-index:5;color:var(--gold-bright);letter-spacing:.08em;white-space:nowrap;background:#172538;border:1px solid #edce8e8c;border-radius:3px;padding:12px 17px;font-size:10px;font-weight:700;animation:.22s both rise-in;position:fixed;top:92px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000059}.completion-toast{top:76px}.scene-frame{background:#293442;min-height:520px;position:relative;overflow:hidden}.scene-art,.scene-art img{width:100%;height:100%;position:absolute;inset:0}.scene-art img{object-fit:cover;object-position:center;animation:.8s both image-settle}.scene-art:after{content:"";pointer-events:none;background:linear-gradient(#0000 38%,#090f173b 70%,#090f17d4 100%),linear-gradient(#090f1770 0%,#0000 26%);position:absolute;inset:0}.art-placeholder{color:#f5f0e4d6;background:radial-gradient(at 65% 38%,#627079 0,#3d4a55 24%,#283441 51%,#1a2633 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.art-placeholder:before,.art-placeholder:after{content:"";filter:blur(14px);background:#e7d09d0f;width:65%;height:170%;position:absolute;transform:rotate(25deg)}.art-placeholder:after{background:#0a121d42;left:-32%}.placeholder-frame{z-index:1;width:54px;height:54px;color:var(--gold-bright);border:1px solid #ebd5a48f;border-radius:50%;place-items:center;font-size:24px;display:grid}.placeholder-label,.art-placeholder strong,.art-placeholder small{z-index:1;position:relative}.placeholder-label{color:#c6b584;letter-spacing:.22em;margin-top:20px;font-size:8px}.art-placeholder strong{margin-top:7px;font-family:Playfair Display,Georgia,serif;font-size:25px;font-weight:500}.art-placeholder small{color:#c3c4c4;margin-top:5px;font-size:10px}.scene-shade{pointer-events:none;background:linear-gradient(#0000 55%,#080e1629);position:absolute;inset:0}.scene-overlay-copy{text-shadow:0 2px 12px #00000080;position:absolute;bottom:36px;left:34px;right:26px}.scene-overlay-copy h1{margin:9px 0 2px;font-family:Playfair Display,Georgia,serif;font-size:clamp(35px,4vw,52px);font-weight:500;line-height:1.1}.scene-overlay-copy p{color:#f1eee6c9;letter-spacing:.07em;margin:0;font-size:11px}.challenge-panel{background:linear-gradient(145deg,#182436,#141f2f 60%,#121c2a);flex-direction:column;min-width:0;padding:clamp(22px,2.5vw,38px) clamp(22px,2.8vw,42px) 19px;display:flex}.panel-kicker{color:#b9c0c7;letter-spacing:.15em;align-items:center;gap:8px;font-size:8px;font-weight:600;display:flex}.gold-dot{background:var(--gold);border-radius:50%;width:5px;height:5px}.challenge-panel h2{margin:13px 0 8px;font-family:Playfair Display,Georgia,serif;font-size:clamp(25px,2.7vw,33px);font-weight:500}.narration{color:#b6bec8;margin:0;font-size:11px;line-height:1.65}.grammar-tag{flex-wrap:wrap;align-items:center;gap:8px 11px;margin-top:16px;display:flex}.grammar-tag span{color:#8d98a5;letter-spacing:.16em;font-size:7px;font-weight:600}.grammar-tag b{color:var(--gold-bright);font-size:10px;font-weight:600}.challenge-divider{background:var(--line);height:1px;margin:17px 0 16px}.question-content{flex-direction:column;flex:1;min-height:0;display:flex}.challenge-type{color:#a9b0ba;letter-spacing:.14em;align-items:center;gap:7px;font-size:7px;font-weight:600;display:flex}.challenge-type i{background:var(--gold);border-radius:50%;width:3px;height:3px;display:inline-block}.instructions{color:#f1ece1;margin:8px 0 6px;font-size:12px;font-weight:600;line-height:1.45}.word-order-tip{border-left:2px solid var(--gold);color:#d6c59f;background:#d8b67414;border-radius:0 3px 3px 0;margin:5px 0 14px;padding:8px 10px;font-size:11px;line-height:1.45}.question-context{color:#d1c9b8;background:#d8b6740e;border-left:2px solid #d8b67494;margin:3px 0 8px;padding:8px 10px;font-size:10px;line-height:1.55}.question-prompt{color:#aeb8c3;margin:0 0 12px;font-size:10px;line-height:1.5}.builder-area,.answer-form,.choice-list{flex-direction:column;gap:9px;display:flex}.guided-actions{align-items:center;gap:12px;display:flex}.guided-actions .submit-button{margin-left:auto}.answer-tray{color:#8894a1;border:1px dashed #dec69161;border-radius:3px;flex-wrap:wrap;align-items:center;gap:5px;min-height:45px;padding:7px 8px;font-size:9px;display:flex}.answer-tray.has-words{background:#d8b67409;border-style:solid;border-color:#dec69194}.chosen-word,.word-chip{color:#f0ece4;cursor:pointer;background:#eeeae017;border:1px solid #efe9dd30;border-radius:3px;min-height:27px;padding:4px 8px;font-size:10px}.selected-token{align-items:center;gap:1px;display:inline-flex}.selected-token .chosen-word{border-radius:3px 0 0 3px}.move-word{color:#d5c69f;cursor:pointer;background:#eeeae00d;border:1px solid #efe9dd29;border-left:0;min-height:27px;padding:3px 4px;font-size:10px}.move-word:last-child{border-radius:0 3px 3px 0}.move-word:disabled{opacity:.35;cursor:default}.chosen-word:hover,.word-chip:hover{border-color:var(--gold);background:#d8b67421}.word-bank{flex-wrap:wrap;gap:5px;display:flex}.word-chip{color:#e9dfcb;background:#d8b67411;border-color:#d8b67447}.submit-button{align-self:flex-start;min-height:38px;margin-top:2px;padding:0 13px;font-size:10px}.answer-form textarea{resize:vertical;color:#f3eee5;background:#090f1866;border:1px solid #efe9dd33;border-radius:3px;width:100%;min-height:54px;padding:10px 12px;font-size:11px;line-height:1.5}.answer-form textarea::placeholder{color:#8793a1}.choice-list{gap:6px}.choice-option{color:#d5d9de;cursor:pointer;background:#0b111a42;border:1px solid #ffffff1a;border-radius:3px;align-items:flex-start;gap:9px;padding:8px 9px;font-size:9px;line-height:1.42;display:flex;position:relative}.choice-option.is-selected{background:#d8b67413;border-color:#d8b674ad}.choice-option.is-correct-answer{background:#3e7b5b21;border-color:#7db899a6}.correct-choice-label{color:#a7d0ae;letter-spacing:.09em;white-space:nowrap;margin-left:auto;font-size:7px}.choice-radio{width:12px;height:12px;margin-top:1px}.choice-option.is-selected .choice-radio:after{inset:2px}.feedback-slot{min-height:0}.feedback{color:#c8d8cb;background:#3e7b5b1a;border:1px solid #7db8995c;border-radius:3px;margin-top:10px;padding:11px 12px;font-size:9px;line-height:1.5;animation:.22s both rise-in}.feedback p{margin:6px 0 0}.feedback-heading{color:#e0eddf;align-items:center;gap:7px;font-size:10px;display:flex}.feedback-symbol{color:#b2ddb9;background:#7eb99333;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.answer-reveal{color:#f1e6cc;padding-left:24px;font-weight:600}.feedback-correct .continue-button{margin:9px 0 0 24px}.feedback-wrong{color:#e1c8b7;background:#7e4d3624;border-color:#d9a57d5c}.feedback-wrong .feedback-symbol{color:#f0c4a0;background:#cd916c33}.feedback-wrong .feedback-heading{color:#f0d4bd}.hint-button{color:var(--gold-bright);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:6px;padding:4px 0;font-size:9px}.hint-text{color:#b7bdc5;margin:0;font-size:9px;line-height:1.5}.panel-progress{grid-template-columns:1fr auto;align-items:center;gap:7px 10px;margin-top:auto;padding-top:15px;display:grid}.panel-progress>div:first-child{justify-content:space-between;gap:6px;display:flex}.panel-progress>div:first-child span{color:#929daa;letter-spacing:.16em;font-size:7px}.panel-progress>div:first-child b{color:#c4c9cf;letter-spacing:.09em;font-size:7px}.panel-progress .percent{color:var(--gold-bright);font-size:9px}.panel-track{grid-column:1/-1;height:3px}.game-footer{margin-top:auto}.completion-screen{isolation:isolate;background:#101a28;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding-bottom:24px;display:flex;position:relative}.completion-backdrop,.completion-backdrop img{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.completion-backdrop img{object-fit:cover;object-position:center 45%;opacity:.32}.completion-backdrop:after{content:"";background:linear-gradient(90deg,#0a1019eb,#0a1019a1),linear-gradient(#0a101959,#0000 50%,#101a28 99%);position:absolute;inset:0}.completion-screen>.topbar{position:absolute;top:0;left:0}.completion-card{text-align:center;background:linear-gradient(145deg,#172334eb,#0e1724f0);border:1px solid #ebd7ac45;border-radius:4px;width:min(610px,100% - 40px);margin:83px 0 28px;padding:32px clamp(23px,5vw,55px) 28px;animation:.55s both rise-in;box-shadow:0 26px 85px #00000052}.completion-card .eyebrow{justify-content:center}.completion-card h1{color:#f2e5c8;letter-spacing:.025em;margin:17px 0 8px;font-family:Playfair Display,Georgia,serif;font-size:clamp(32px,5vw,47px);font-weight:500}.completion-message{color:#c1c6cc;margin:0;font-family:Playfair Display,Georgia,serif;font-size:15px}.mastered-label{color:var(--gold-bright);letter-spacing:.14em;border:1px solid #d8b67473;border-radius:2px;align-items:center;gap:7px;margin-top:22px;padding:8px 11px;font-size:9px;font-weight:700;display:inline-flex}.mastered-label>span:first-child{font-size:13px}.mastered-label>span:last-child{color:#aaa99f;margin-left:5px;font-size:7px;font-weight:500}.completion-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:24px 0 18px;padding:18px 0;display:grid}.completion-stats>div+div{border-left:1px solid var(--line)}.completion-stats strong{color:#f3e8d2;font-family:Playfair Display,Georgia,serif;font-size:29px;font-weight:500;display:block}.completion-stats strong span{color:var(--gold-bright);font-size:18px}.completion-stats small{color:#9ea7b1;letter-spacing:.13em;margin-top:4px;font-size:7px;display:block}.next-destination{text-align:left;background:#ffffff09;border:1px solid #ffffff1f;align-items:center;gap:12px;padding:12px 14px;display:flex}.lock-icon{width:28px;height:28px;color:var(--gold);border:1px solid #d8b67454;border-radius:50%;flex:none;place-items:center;font-size:17px;display:grid}.next-destination small{color:#8e9aa6;letter-spacing:.17em;margin-bottom:4px;font-size:7px;display:block}.next-destination strong{color:#e9e5db;letter-spacing:.07em;font-size:9px}.next-destination strong span{color:var(--gold)}.next-destination>b{color:#929ba5;letter-spacing:.11em;white-space:nowrap;margin-left:auto;font-size:7px}.completion-actions{flex-wrap:wrap;justify-content:center;gap:8px 12px;margin-top:19px;display:flex}.completion-actions .button{min-height:39px;font-size:9px}.completion-actions .text-button{flex-basis:100%}.celebration-mark{color:var(--gold-bright);opacity:.9;align-items:center;gap:14px;display:flex;position:absolute;top:100px}.celebration-mark span,.celebration-mark i{font-size:12px;font-style:normal;animation:2.2s ease-in-out infinite sparkle}.celebration-mark i{font-size:8px;animation-delay:.8s}.celebration-mark b{border:1px solid #ebd7ac99;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:500;display:grid}.completion-sparkles span{color:var(--gold-bright);opacity:.6;animation:2.5s ease-in-out infinite sparkle;position:absolute}.completion-sparkles span:first-child{font-size:20px;top:27%;left:19%}.completion-sparkles span:nth-child(2){font-size:13px;animation-delay:.4s;top:45%;right:15%}.completion-sparkles span:nth-child(3){font-size:11px;animation-delay:.9s;bottom:23%;left:27%}.completion-sparkles span:nth-child(4){font-size:24px;animation-delay:1.2s;top:32%;right:25%}.completion-sparkles span:nth-child(5){font-size:14px;animation-delay:.6s;bottom:20%;right:28%}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03070cc2;place-items:center;padding:20px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.info-modal{background:linear-gradient(145deg,#1c2a3d,#111b29);border:1px solid #d8b6744a;border-radius:4px;width:min(500px,100%);max-height:min(700px,90vh);padding:34px clamp(22px,5vw,42px);position:relative;overflow:auto;box-shadow:0 25px 75px #00000073}.modal-close{color:#d9d4ca;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:50%;width:30px;height:30px;font-size:20px;position:absolute;top:15px;right:16px}.info-modal h2{margin:13px 0 9px;font-family:Playfair Display,Georgia,serif;font-size:34px;font-weight:500}.info-modal>p{color:#b8c0c9;margin:0 0 20px;font-size:12px;line-height:1.65}.how-list{color:var(--gold-bright);flex-direction:column;gap:13px;margin:0 0 23px;padding-left:21px;display:flex}.how-list li{padding-left:5px;font-size:11px}.how-list li b,.how-list li span{display:block}.how-list li b{color:#eee9df}.how-list li span{color:#aab4bf;margin-top:3px;font-size:10px;line-height:1.5}.modal-week{flex-direction:column;gap:6px;margin-bottom:15px;display:flex}.modal-day{background:#ffffff06;border:1px solid #ffffff17;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:10px 12px;display:grid}.modal-day>span{color:#c8bc9e;letter-spacing:.12em;grid-row:span 2;font-size:9px;font-weight:700}.modal-day>strong{color:#e7e2d7;font-size:10px}.modal-day>small{color:#909ba7;letter-spacing:.08em;font-size:7px}.modal-day.is-locked{opacity:.58}.modal-day.is-locked>span{gap:6px;display:flex}.modal-day.is-locked>span i{color:#89909a;font-size:6px;font-style:normal}.modal-day>strong,.modal-day>small{grid-column:2;min-width:0}.modal-day>small{overflow-wrap:anywhere;line-height:1.5}.modal-status{color:#e0c483;letter-spacing:.1em;white-space:nowrap;border:1px solid #d8b6744d;border-radius:99px;grid-area:1/3/span 2;align-self:center;padding:5px 7px;font-size:7px;font-weight:700}.modal-day.is-locked .modal-status{color:#929ba5;border-color:#ffffff1f}.modal-day.is-active{background:#d8b6740f;border-color:#d8b67473}.journey-card{grid-template-rows:auto auto auto auto;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:4px 12px}.journey-card .journey-abbr{grid-area:1/1/-1;align-self:start;padding-top:2px}.journey-card .journey-title{grid-area:1/2;font-size:12px;line-height:1.4}.journey-card .journey-topic{grid-area:2/2}.journey-card .journey-position{color:#e6d3a6;letter-spacing:.02em;grid-area:3/2;font-size:9px}.journey-card .journey-counts{color:#aeb8c3;letter-spacing:0;grid-area:4/2;font-size:9px}.journey-card .modal-status{grid-area:1/3/-1;align-self:center}.journey-card.is-here{box-shadow:inset 2px 0 var(--gold);background:linear-gradient(90deg,#d8b6741f,#d8b67409);border-color:#d8b674a3}.journey-card.is-here .modal-status{color:var(--gold-bright);border-color:#edce8e8c}.journey-card.is-complete:not(.is-here) .modal-status{color:#d9c182}.weekend-note{background:#d8b67414;align-items:center;gap:10px;margin:14px 0 20px;padding:10px 12px;display:flex}.weekend-note>span{color:var(--gold);font-size:19px}.weekend-note p{color:#afb7c0;margin:0;font-size:9px;line-height:1.5}.weekend-note b{color:var(--gold-bright);font-size:10px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-in{0%{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes image-settle{0%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sparkle{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@media (width<=940px){.game-body{grid-template-columns:minmax(0,1fr) minmax(315px,.85fr);min-height:500px}.scene-frame{min-height:500px}.challenge-panel{padding-left:22px;padding-right:22px}.game-body,.weekly-meter{width:calc(100% - 40px)}.topbar{padding-left:24px;padding-right:24px}}@media (width<=720px){.title-screen{min-height:max(770px,100svh)}.title-art{background-position:62%;width:100%;height:100%;position:absolute;inset:0}.title-art:after{background:linear-gradient(90deg,#080e18e0,#080e18ab),linear-gradient(#080e184d,#080e18ad)}.title-screen .topbar{padding:20px 21px}.edition-label{max-width:135px;font-size:7px;line-height:1.5}.title-content{width:calc(100% - 42px);margin:45px 21px 20px;padding-bottom:18px}.title-content h1{font-size:clamp(61px,16vw,87px)}.intro-copy{max-width:360px}.difficulty-options{max-width:480px}.difficulty-option{min-height:57px;padding:8px}.difficulty-option small{font-size:8px}.menu-actions{gap:7px 10px}.menu-actions .button{min-height:42px}.week-strip{gap:clamp(8px,3vw,17px);width:calc(100% - 42px);margin-left:21px}.week-day{min-width:32px}.week-destination{font-size:6px}.title-footer{padding:13px 21px;font-size:6px}.game-screen{min-height:100svh}.game-topbar{min-height:65px;padding:13px 16px}.game-topbar .brand-name{font-size:10px}.compact-progress{grid-template-columns:auto auto;gap:5px 7px}.compact-progress>span{grid-column:1/-1;font-size:6px}.compact-progress .progress-track{width:65px}.compact-progress>b{font-size:8px}.top-actions{gap:0}.icon-text-button{padding:7px;font-size:8px}.restart-button{display:none}.weekly-meter{width:calc(100% - 32px);margin:12px auto}.weekly-heading{font-size:6px}.weekly-days{gap:5px}.weekly-day{grid-template-columns:1fr;gap:4px}.weekly-day>span{font-size:7px}.weekly-day>i{width:100%}.weekend-label{white-space:normal;max-width:43px;font-size:5px}.game-body{width:calc(100% - 24px);min-height:initial;flex-direction:column;display:flex;overflow:visible}.scene-frame{border-radius:3px 3px 0 0;flex:none;height:clamp(225px,53vw,355px);min-height:0}.scene-overlay-copy{bottom:22px;left:21px}.scene-overlay-copy h1{font-size:37px}.challenge-panel{border-radius:0 0 3px 3px;padding:19px 18px 15px}.challenge-panel h2{margin-top:8px;font-size:26px}.narration{font-size:10px}.grammar-tag{margin-top:11px}.challenge-divider{margin:12px 0}.instructions{margin-top:7px}.panel-progress{margin-top:18px}.game-footer{padding:12px 16px;font-size:6px}.completion-screen{min-height:100svh;padding-top:55px}.completion-screen>.topbar{padding:18px 21px}.completion-card{margin:75px 0 20px;padding:26px 19px 20px}.completion-card h1{font-size:clamp(29px,8vw,42px)}.completion-stats{margin:18px 0 14px;padding:14px 0}.completion-stats strong{font-size:25px}.completion-stats small{font-size:6px}.next-destination{gap:8px;padding:10px 8px}.next-destination strong{font-size:8px}.next-destination>b{font-size:6px}.celebration-mark{top:75px}}@media (width<=480px){.journey-card{grid-template-columns:32px minmax(0,1fr)}.journey-card .journey-abbr{grid-column:1}.journey-card .journey-title,.journey-card .journey-topic,.journey-card .journey-position,.journey-card .journey-counts{grid-column:2}.journey-card .modal-status{grid-area:auto/2;justify-self:start;margin-top:4px}}@media (width<=420px){.brand-lockup{gap:7px}.brand-name{font-size:9px}.brand-mark{transform-origin:0;transform:scale(.85)}.compact-progress>span{letter-spacing:.06em}.top-actions .icon-text-button{font-size:7px}.difficulty-option{gap:6px}.difficulty-option strong{font-size:10px}.difficulty-option small{max-width:90px;line-height:1.25}.completion-actions{gap:5px}.completion-actions .button{gap:8px;padding:0 10px}.mastered-label{gap:5px;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
