@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}:root{font-family:Nunito,Segoe UI,sans-serif;color:#30263c;background:#fcf8f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #7650ca;--primary-dark: #5c35ab;--soft: #eee6fa;--muted: #6b5e79;--border: #eae2ef;--success: #277d62;--shadow: 0 5px 22px #492c5c08, 0 1px 3px #492c5c04}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.52}a{color:inherit}button,input,a{outline-offset:5px}:focus-visible{outline:3px solid #5c35ab}[tabindex="-1"]:focus:not(:focus-visible){outline:none}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-size:clamp(28px,3vw,37px);font-weight:800;letter-spacing:-.8px;margin-bottom:12px}h2{font-size:23px;font-weight:800;letter-spacing:-.4px;margin-bottom:8px}h3{font-size:18px;margin-bottom:8px}p{line-height:1.6;margin-bottom:16px}small{font-size:12px}.icon{flex-shrink:0;vertical-align:middle}.muted{color:var(--muted);font-size:14px}.eyebrow{display:block;color:#715298;font-size:11px;font-weight:800;letter-spacing:1.5px;line-height:1.6;text-transform:uppercase}.card{background:#fff;border:1px solid #f0eaf1;border-radius:24px;box-shadow:var(--shadow)}.primary,.secondary,.danger-button{min-height:50px;border-radius:14px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:800}.primary{color:#fff;background:var(--primary);box-shadow:0 4px #5d37aa;transition:background .15s,transform .15s}.primary:hover:not(:disabled){background:#6841ba}.primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #5d37aa}.secondary{background:var(--soft);color:#604093}.secondary:hover:not(:disabled){background:#e3d6f6}.text-button{min-height:44px;padding:10px 16px;background:transparent;color:#6540ad;font-weight:800}.danger-button{color:#a6324c;background:#fcecf0}.square-symbol,.large-symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:linear-gradient(145deg,#af8be9,#8053ce);border-radius:18px;width:64px;height:64px}.large-symbol{width:72px;height:72px;background:var(--soft);color:var(--primary)}.square-symbol.pale{background:#f1e9fc;color:var(--primary)}.peach{background:#ffedce;color:#af641a}.orange{color:#c56b25}.gold{color:#ac7917}.purple{color:#8053cb}.green{color:#277d62}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;padding:16px;border-radius:12px}.skip-link:focus{top:16px}.app{min-height:100dvh}.app-header{height:100px;max-width:1250px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #eae2ef99}.brand{display:flex;gap:10px;align-items:center;min-height:44px;font-size:27px;font-weight:800;text-decoration:none;letter-spacing:-.9px}.brand-mark{background:var(--primary);color:#fff0d9;border-radius:14px;width:44px;height:44px;display:grid;place-items:center;transform:rotate(-7deg)}.desktop-nav{display:flex;gap:8px}.desktop-nav a{text-decoration:none;min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 14px;font-weight:700;color:var(--muted);border-radius:12px;font-size:14px}.desktop-nav a:hover{background:#f3edf7}.desktop-nav a[aria-current]{background:#ece2f8;color:#6240a6}.header-stats{display:flex;align-items:center;gap:10px}.stat-pill{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:16px;min-height:40px;padding:4px 9px;border-radius:20px;background:#fffdf9}.stat-pill small{color:var(--muted);font-size:10px}.profile-link{width:44px;height:44px;background:#e9def9;color:#7954bb;border-radius:50%;display:grid;place-items:center;margin-left:3px}.page-container{max-width:1160px;padding:30px 30px 40px;margin:auto}.page-container:focus{outline:none}.home-hero{position:relative;display:grid;grid-template-columns:1fr 320px;gap:24px;min-height:300px;align-items:center;margin-bottom:28px;border-radius:30px;background:radial-gradient(ellipse at 88% 60%,#f2e7fc 0,transparent 60%)}.hero-copy{padding:16px 0 16px 12px}.hero-copy h1{font-size:clamp(40px,4.5vw,58px);line-height:1.08;letter-spacing:-1.9px;margin:15px 0}.hero-copy>p{font-size:20px;color:#685477;margin-bottom:10px}.hero-copy .eyebrow{letter-spacing:1.2px}.hero-art{height:300px;width:280px;margin:0 auto;position:relative}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:center 58%;border-radius:46% 46% 38% 38%;box-shadow:0 8px 30px #9e7cc325}.pom-label{position:absolute;bottom:9px;left:50%;transform:translate(-50%) rotate(-4deg);display:flex;gap:6px;white-space:nowrap;background:#fffaf1;color:#674799;border:1px solid #eaddfa;padding:8px 14px;border-radius:30px;font-size:12px;font-weight:800;box-shadow:0 3px 12px #30263c15}.home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.home-primary,.home-secondary{min-width:0}.continue-card{padding:26px;margin-bottom:20px}.continue-heading{display:flex;align-items:center;gap:15px}.continue-heading .eyebrow{font-size:10px;letter-spacing:1px}.continue-heading h2{margin:2px 0 4px;font-size:25px}.continue-heading p{color:var(--muted);font-size:14px;margin:0}.duration{font-size:11px;color:var(--muted);white-space:nowrap;margin-left:auto;align-self:flex-start;padding-top:3px}progress{appearance:none;display:block;width:100%;height:9px;border:0;border-radius:20px;overflow:hidden;background:#eee6f6;color:var(--primary)}progress::-webkit-progress-bar{background:#eee6f6;border-radius:20px}progress::-webkit-progress-value{background:linear-gradient(90deg,#9870df,#7650ca);border-radius:20px;transition:width .3s}progress::-moz-progress-bar{background:var(--primary);border-radius:20px}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:22px 0 7px}.continue-card .primary{display:flex;width:100%;margin-top:24px}.journey-card{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:19px 22px;min-height:105px;position:relative;overflow:hidden}.journey-card h2{font-size:20px}.journey-card p{font-size:12px;color:var(--muted);margin-bottom:0}.journey-card .square-symbol{width:48px;height:48px;border-radius:14px}.journey-card>.icon{color:var(--primary);margin-left:auto}.mini-mountains{width:70px;height:55px;position:relative;flex-shrink:0;align-self:end;margin-bottom:-19px}.mini-mountains i{position:absolute;width:55px;height:55px;background:#c6adea;transform:rotate(45deg);left:0;top:26px;border-radius:7px}.mini-mountains i+i{background:#e2d4f5;left:25px;top:33px}.mini-mountains span{position:absolute;top:0;left:25px;color:#b56b30;font-size:30px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stat{padding:19px 6px;display:flex;align-items:center;flex-direction:column;gap:6px;text-align:center}.stat strong{font-weight:800;font-size:29px;line-height:1.3}.stat span{color:var(--muted);font-size:12px}.daily-card{display:flex;align-items:center;gap:14px;padding:22px;width:100%;text-align:left;background:#fff5e6;border:1px solid #f4debd;margin-top:20px}.daily-card .eyebrow{color:#956329;font-size:9px;letter-spacing:1px}.daily-card h2{font-size:21px;margin:3px 0}.daily-card p{font-size:12px;margin-bottom:8px;color:#7d674e}.daily-card>.icon{margin-left:auto;color:#a56c2c}.daily-card .square-symbol{width:52px;height:52px;border-radius:17px}.xp-label{display:inline-block;font-size:11px;font-weight:800;color:#7851ba;background:#fff;border-radius:20px;padding:4px 10px}.desktop-footer{max-width:1100px;margin:0 auto;padding:20px 0 30px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;display:flex;justify-content:space-between}.bottom-nav{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 28px}.page-heading .eyebrow{margin-bottom:8px}.page-heading p{color:var(--muted);margin-bottom:0}.page-heading h1{margin-bottom:8px}.soft-pill{display:inline-flex;align-items:center;background:var(--soft);color:#68429e;padding:8px 14px;border-radius:25px;font-size:12px;font-weight:800;white-space:nowrap}.world-tabs{display:flex;gap:10px;overflow-x:auto;padding:2px 3px 16px;margin-bottom:6px;scrollbar-width:thin}.world-tabs button{min-width:137px;padding:12px 15px;background:#fffdf9;border:1px solid var(--border);border-radius:17px;text-align:left;flex-shrink:0}.world-tabs button.active{background:#f2eafa;border:2px solid var(--primary);padding:11px 14px;color:#6240a6}.world-tabs button span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-bottom:4px}.world-tabs strong{font-size:14px}.world-scene{max-width:750px;margin:auto;border-radius:28px;overflow:hidden;border:1px solid #e1e5d4;background:#edf3de;position:relative}.world-banner{position:relative;z-index:2;text-align:center;margin:24px auto 0;padding:18px 16px;width:calc(100% - 64px);max-width:440px;background:#fff1dc;border:2px solid #fff9ed;border-radius:22px 22px 40px 40px;box-shadow:0 5px #dbc5a333}.world-banner h2{margin:4px 0;font-size:28px}.world-banner p{font-size:13px;margin-bottom:0;color:#73614f}.path-canvas{position:relative}.landscape{width:100%;height:100%;position:absolute;inset:0}.lesson-path{position:absolute;inset:0;width:100%;height:100%}.map-nodes{list-style:none;padding:0;margin:0}.map-node{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;width:155px}.map-node button{width:82px;height:76px;border-radius:50%;background:#e9ddf5;color:#86709e;border:5px solid #f7efff;box-shadow:0 8px #c6b7d5,0 12px 10px #4c403f16;display:grid;place-items:center;transition:transform .15s}.map-node button:hover{transform:translateY(-3px)}.map-node.done button{background:#48b993;color:#fff;border-color:#bde7cf;box-shadow:0 8px #3c9d7d,0 12px 10px #4c403f16}.map-node.available button{background:#9365d8;color:#fff;border-color:#e9d7ff;box-shadow:0 8px #7249ad,0 12px 10px #4c403f16}.map-node.current button{outline:3px solid #fffdf3;outline-offset:5px}.map-node button:focus-visible{outline:4px solid #5c35ab;outline-offset:8px}.node-title{margin-top:16px;font-size:12px;font-weight:800;padding:4px 9px;border-radius:8px;background:#fffdf1ed;text-align:center;max-width:155px;line-height:1.4}.map-node.locked .node-title{color:#685b77}.next-label{position:absolute;left:calc(50% + 54px);top:8px;background:#fff;padding:8px 12px;border-radius:14px 14px 14px 3px;font-size:11px;font-weight:800;color:#6540a5;box-shadow:var(--shadow);white-space:nowrap}.map-footer{display:flex;gap:7px;justify-content:center;align-items:center;font-size:12px;color:#596548;margin:22px 0 0}.map-notice{position:relative;padding:15px 22px;background:#fff9ec;text-align:center;font-size:14px;z-index:3;margin-top:18px}.preview-world{position:absolute;z-index:1;top:65px;left:24px;right:24px;margin:auto;max-width:450px;text-align:center;padding:30px}.preview-world>.icon{color:var(--primary);margin-bottom:16px}.preview-world p{color:var(--muted)}.standard-page{max-width:900px;margin:auto}.practice-hero{padding:32px;display:flex;gap:22px;align-items:flex-start;margin-bottom:26px}.practice-hero p{color:var(--muted);max-width:540px}.practice-hero .muted{display:block;margin-top:15px;font-size:12px}.soft-card{padding:23px;display:flex;gap:15px;background:#eef1e7;border-radius:20px;color:#586347}.soft-card p{margin:0;font-size:14px}.review-list{margin-bottom:24px}.review-item{display:flex;gap:16px;align-items:center;padding:20px;margin-top:12px}.review-item>.icon{color:#779675}.review-item h3{font-size:16px;margin:4px 0 0;line-height:1.4}.review-item .eyebrow{font-size:9px}.reward-stats{margin-bottom:35px}.reward-stats .stat{padding:24px 10px}.section-title{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px}.section-title h2{margin-bottom:0}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.badge{padding:24px 18px;text-align:center;background:#fffcf8}.badge h3{margin-bottom:7px;font-size:17px}.badge p{font-size:12px;color:var(--muted);min-height:38px}.badge-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:25px;margin:0 auto 16px;color:#8b7f9a;background:#ede8f0}.badge.earned{background:#fff;border-color:#ddc9f5}.badge.earned .badge-icon{background:#f3e5ff;color:#8050c0}.badge-state{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.badge.earned .badge-state{color:#277d62}.settings-card{padding:26px;margin-bottom:18px}.settings-card p{color:var(--muted);font-size:14px}.toggle-row{display:flex;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}.toggle-row small{display:block;color:var(--muted);line-height:1.5;margin-top:5px}.toggle-row input{width:44px;height:44px;flex-shrink:0;margin-left:auto;accent-color:var(--primary)}.settings-row{display:flex;justify-content:space-between;gap:20px;padding-top:22px}.settings-row h3{font-size:16px}.settings-row p{margin-bottom:0}.settings-row>.icon{color:var(--primary)}.about-brand{text-align:center;color:var(--muted);padding:22px 0}.about-brand>.icon{display:block;margin:0 auto 8px;color:var(--primary)}.about-brand strong{color:#5f4188;font-size:20px}.about-brand p{font-size:13px;margin:4px 0}.about-brand span{display:block;font-size:11px;margin-top:10px}.reset-dialog{border:1px solid var(--border);border-radius:24px;padding:28px;max-width:440px;width:calc(100% - 32px);color:#30263c}.reset-dialog::backdrop{background:#30263c70}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.route-message{max-width:600px;padding:40px;margin:50px auto;text-align:center}.route-message>.icon{color:var(--primary);margin-bottom:20px}.pwa-status,.storage-warning{position:relative;margin:14px auto 0;max-width:1100px;background:#ede8f7;color:#503a71;padding:12px 18px;border-radius:15px;font-size:13px;display:flex;align-items:center;gap:14px}.pwa-status span,.storage-warning p{flex:1;margin:0}.pwa-status button,.storage-warning button{color:#56358d;background:#fff;padding:8px 12px;border-radius:10px;min-height:44px;font-weight:800}.storage-warning{background:#fff0d9;color:#775021}.lesson-shell{max-width:760px;margin:auto;padding:28px 24px 50px}.lesson-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.icon-button{width:44px;height:44px;border-radius:12px;background:#eee7f3;color:#715a86;display:grid;place-items:center;flex-shrink:0}.lesson-progress{flex:1}.lesson-progress span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:7px}.question-count{color:var(--muted);font-size:12px;min-width:35px}.lesson-intro{padding:32px}.lesson-intro .large-symbol{margin-bottom:24px}.lesson-intro h1{margin-top:6px}.intro-text{font-size:18px;margin:18px 0}.result-first{padding:18px 22px;background:#edf5ed;border-radius:16px;margin-bottom:16px}.result-first .eyebrow{color:#397657;font-size:10px}.result-first pre{font-size:20px;font-family:ui-monospace,Consolas,monospace;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#2f6549}.lesson-intro>.primary{width:100%;margin-top:10px}.code-block{margin:18px 0 22px;background:#f7f4fa;border:1px solid #eae3f0;border-radius:16px;overflow:hidden}.code-label{display:block;font-size:10px;font-weight:800;color:#6b5e79;padding:11px 18px 0;letter-spacing:1px}.code-block pre{margin:0;padding:12px 0 18px;overflow-x:auto;font-size:14px;line-height:1.9;color:#4c3567;tab-size:2}.code-line{display:block;padding:0 18px 0 0;min-width:max-content}.line-number{display:inline-block;color:#6f5c7e;width:38px;padding-right:12px;text-align:right;-webkit-user-select:none;user-select:none}.code-line.active-line{background:#e6d9f8;color:#4e287f;box-shadow:inset 3px 0 var(--primary)}.exercise-card{padding:32px}.exercise h2{font-size:26px;margin-top:9px;margin-bottom:24px;line-height:1.3}.choices{border:0;padding:0;margin:0;display:grid;gap:12px;min-width:0}.choice{display:flex;align-items:center;gap:12px;padding:15px;border:2px solid #e9e2ef;border-radius:15px;cursor:pointer;min-height:62px;line-height:1.5;position:relative;min-width:0}.choice:hover{background:#fcf9ff}.choice.selected{border-color:var(--primary);background:#f4edfd}.choice input{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin:0}.choice:focus-within{outline:3px solid #5c35ab;outline-offset:3px}.choice-letter{background:#f2edf6;color:#77668b;border-radius:7px;width:26px;height:26px;font-size:12px;display:grid;place-items:center;font-weight:800;flex-shrink:0}.choice>span:last-child{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.code-answer{white-space:pre-wrap;font:14px/1.6 ui-monospace,Consolas,monospace}.fill-label{display:grid;gap:9px;font-size:14px;font-weight:700}.fill-label input{border:2px solid #dfd5ea;background:#fffdfb;border-radius:13px;padding:14px 16px;width:100%;font-family:ui-monospace,Consolas,monospace;font-size:16px;color:#4e356b;min-height:54px}.order-lines{padding:0;list-style:none;display:grid;gap:10px}.order-lines li{display:flex;align-items:center;gap:8px;border:1px solid #e1d7ee;padding:10px;background:#faf7fd;border-radius:14px;min-width:0}.order-lines code{font-size:14px;overflow-x:auto;white-space:pre;padding:6px 0;flex:1}.order-number{font-size:11px;width:16px;flex-shrink:0;color:var(--muted)}.order-controls{display:flex;gap:4px}.order-controls button{height:44px;width:44px;border-radius:9px;background:#eae0f7;color:#5e3d92;font-size:20px}.trace-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trace-panels section{padding:16px;background:#f4f3ec;border-radius:14px;min-height:110px}.trace-panels h3{font-size:12px;color:#6e655a;margin-bottom:14px}.trace-panels p{margin:0;display:flex;gap:16px;justify-content:space-between;font-size:14px}.trace-panels strong{color:#5b3c8d}.trace-panels pre{margin:0;color:#397657;font-size:16px}.trace-explanation{background:#f1e9fb;border-radius:12px;padding:14px;margin:16px 0;font-size:14px;min-height:70px}.trace-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.trace-controls>span{font-size:11px;color:var(--muted)}.trace-controls .secondary{padding:10px 14px}.trace-controls .text-button{flex-basis:100%}.feedback{margin-top:24px;padding:20px;border-radius:16px}.feedback.correct{background:#eaf5ed;color:#286c50}.feedback.incorrect{background:#fff0e7;color:#914f36}.feedback h3{display:flex;align-items:center;gap:10px;font-size:18px}.feedback p{font-size:14px;margin-bottom:0}.exercise-action{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.exercise-action .primary{width:100%}.completion{padding:32px;text-align:center}.completion-pom{width:125px;height:150px;object-fit:cover;border-radius:45%;margin-bottom:22px}.completion h1{margin:8px 0 15px}.completion>p{color:var(--muted)}.completion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.completion-stats>div{padding:17px 6px;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--primary)}.completion-stats strong{font-size:25px}.completion-stats span{font-size:11px;color:var(--muted)}.completion .primary{width:100%}.completion .text-button{margin-top:12px}.review-recap{background:#fff5e7;padding:14px;border-radius:13px;font-size:14px}@media(min-width:1450px){.page-container{padding-top:45px}.home-hero{margin-bottom:36px;min-height:340px}.hero-art{height:330px;width:300px}}@media(max-width:1080px){.app-header{padding:0 28px;gap:18px}.desktop-nav{gap:0}.desktop-nav a{padding:10px}.desktop-nav .icon{display:none}.home-grid{grid-template-columns:1.1fr 1fr;gap:18px}.continue-card{padding:23px}.continue-heading .square-symbol{height:52px;width:52px}.continue-heading h2{font-size:22px}.continue-heading p{font-size:12px}.duration{display:none}.journey-card{padding:19px;gap:12px}.mini-mountains{display:none}.daily-card{padding:20px 16px}.daily-card h2{font-size:19px}.daily-card .square-symbol{width:44px;height:48px}.desktop-footer{margin:0 30px}}@media(max-width:760px){.app-header{height:calc(82px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;border-bottom:0}.brand{font-size:25px}.brand-mark{width:39px;height:39px;border-radius:12px}.desktop-nav{display:none}.header-stats{gap:4px}.stat-pill{font-size:14px;padding:4px 6px;gap:4px}.profile-link{width:44px}.stat-pill small{display:none}.page-container{padding:8px 20px 110px;max-width:620px}.home-hero{grid-template-columns:1fr 160px;gap:2px;min-height:216px;margin-bottom:23px}.hero-copy{padding:5px 0;z-index:1}.hero-copy h1{font-size:34px;letter-spacing:-1px;margin:10px 0 12px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.7px;max-width:170px}.hero-copy>p{font-size:14px;max-width:180px;margin-bottom:0}.hero-art{width:160px;height:205px}.pom-label{bottom:2px;font-size:10px;padding:6px 10px}.home-grid{display:flex;flex-direction:column;gap:0}.home-primary{display:contents}.continue-card{order:0;padding:23px;margin-bottom:18px}.continue-heading .square-symbol{height:58px;width:58px}.continue-heading h2{font-size:25px}.continue-heading p{font-size:13px}.continue-heading .eyebrow{font-size:10px}.continue-card .primary{margin-top:20px}.progress-label{margin-top:19px}.home-secondary{display:contents}.stats-grid{order:1;gap:12px}.stat{padding:16px 5px;gap:5px;border-radius:21px}.stat strong{font-size:27px}.stat span{font-size:11px}.journey-card{order:2;margin-top:18px;min-height:95px}.journey-card h2{font-size:21px}.journey-card .square-symbol{width:46px;height:46px}.mini-mountains{display:block;margin-left:auto}.daily-card{order:3;margin-top:18px;padding:20px}.daily-card h2{font-size:22px}.daily-card .square-symbol{width:52px;height:52px}.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:fixed;z-index:10;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#fffcf7f5;border-top:1px solid #eee3f1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav a{display:flex;flex-direction:column;gap:4px;align-items:center;padding:9px 6px;border-radius:18px;text-decoration:none;font-size:11px;font-weight:800;color:#7c6c91;min-height:61px}.bottom-nav a[aria-current]{color:#6237af;background:#ebdefb}.desktop-footer{display:none}.page-heading{margin-top:16px;margin-bottom:23px}.page-heading h1{font-size:30px}.page-heading .eyebrow{font-size:9px}.page-heading .soft-pill{font-size:10px;padding:7px 10px}.map-page .page-heading{display:block}.map-page .page-heading .soft-pill{margin-top:5px}.world-scene{border-radius:24px}.world-banner{width:calc(100% - 28px);padding:16px 10px;margin-top:16px}.world-banner h2{font-size:25px}.map-node{width:140px}.next-label{left:calc(50% + 48px);padding:7px 10px;font-size:10px}.world-tabs button{min-width:125px}.node-title{font-size:11px;max-width:140px}.practice-hero{padding:24px;display:block}.practice-hero>.square-symbol{margin-bottom:22px}.practice-hero .primary{width:100%}.page-heading .large-symbol{width:55px;height:55px;border-radius:18px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.badge{padding:22px 12px}.badge h3{font-size:16px}.section-title{gap:8px}.section-title h2{font-size:20px}.section-title .soft-pill{font-size:10px;padding:7px 10px}.settings-card{padding:23px}.pwa-status,.storage-warning{margin:8px 16px;flex-wrap:wrap}.lesson-shell{padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(32px + env(safe-area-inset-bottom,0px))}.lesson-header{margin-bottom:22px;gap:13px}.lesson-intro,.exercise-card,.completion{padding:24px 20px}.lesson-intro h1{font-size:29px}.intro-text{font-size:17px}.exercise h2{font-size:23px}.choice{padding:13px 12px;gap:9px;font-size:15px}.choice-letter{display:none}.code-answer{font-size:14px}.order-lines li{flex-wrap:wrap;gap:6px;padding:10px}.order-lines code{flex-basis:calc(100% - 24px)}.order-controls{margin-left:auto}.completion-stats{gap:8px}.completion-stats strong{font-size:23px}}@media(max-width:380px){.app-header{padding-left:16px;padding-right:16px}.brand{font-size:23px;gap:7px}.brand-mark{width:34px;height:36px}.header-stats{gap:2px}.header-stats .icon{width:18px}.stat-pill{padding-left:4px;padding-right:4px}.profile-link{width:44px;margin-left:1px}.page-container{padding-left:16px;padding-right:16px}.home-hero{grid-template-columns:1fr 136px}.hero-art{width:136px;height:184px}.hero-copy h1{font-size:30px}.hero-copy>p{font-size:13px}.continue-card{padding:20px}.continue-heading{gap:12px}.continue-heading h2{font-size:22px}.continue-heading .eyebrow{font-size:9px}.continue-heading p{font-size:11px}.continue-heading .square-symbol{width:48px;height:52px}.journey-card{padding:17px;gap:11px}.journey-card p{font-size:11px}.mini-mountains{display:none}.map-page .page-heading h1{font-size:27px}.next-label{top:-27px;left:45%}.map-footer{align-items:flex-start;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.account-card{overflow-wrap:anywhere}.account-card p{margin:12px 0}.account-identity{font-weight:800}.account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.account-signin{display:grid;gap:14px;margin-top:18px;max-width:460px}.account-signin form{display:grid;gap:10px}.account-signin label{font-weight:800}.account-signin input{width:100%;min-width:0;min-height:48px;padding:10px 14px;border:2px solid var(--border, #ded5e9);border-radius:12px;background:#fff;color:#302841;font:inherit}.account-signin small{color:#655b72}.account-import,.account-management{border-top:1px solid #e8e0ed;margin-top:22px;padding-top:18px}.account-message{font-weight:700}.account-privacy{display:inline-flex;min-height:44px;align-items:center}
