.app[data-theme=neutral]{--page-bg:#fff8ed;--surface:#fffdf7;--surface-soft:#f6ecdd;--accent:#08776e;--accent-strong:#08776e;--on-accent:#fff;--on-page:#24324a;--muted:#596574;--border:#cdbfae;--world-bg:#f1dfc3;--world-ink:#243b46;--ink:#24324a;--paper:#fffaf0;--lilac:#8b78d2;--mint:#50bfa9;--coral:#e87562;--yellow:#f2c34f;--line:#cdbfae;--shadow:6px 7px 0 #24324a2e}.app[data-theme=workshop]{--page-bg:#fff5e3;--surface:#fffdf8;--surface-soft:#f8e8cb;--accent:#08776e;--accent-strong:#08776e;--on-accent:#fff;--on-page:#243745;--muted:#625f5c;--border:#c9a77d;--world-bg:#f2dfbe;--world-ink:#263745;--ink:#243745;--paper:#fffaf0;--lilac:#8875ca;--mint:#54bfa7;--coral:#e97862;--yellow:#f2c650;--line:#c9a77d;--shadow:6px 7px 0 #412e1f33}.app[data-theme=orbit]{--page-bg:#101735;--surface:#fcfaff;--surface-soft:#eeeaff;--accent:#9b86ff;--accent-strong:#7158e5;--on-accent:#181532;--on-page:#f7f5ff;--muted:#59627d;--border:#d9d2f1;--world-bg:#0d1432;--world-ink:#e7e6ff;--ink:#202943;--paper:#fffdf8;--lilac:#9b86ff;--mint:#69d8bf;--coral:#f18770;--yellow:#f4d66a;--line:#5d6799;--shadow:6px 7px 0 #04081c61}.theme-scenery{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.theme-scenery *{pointer-events:none}.app{background:var(--page-bg,#f7f5ee);color:var(--ink)}.ui-icon{vertical-align:middle;flex:0 0 24px;width:24px;height:24px;display:inline-block}.primary,.secondary,.text-button{justify-content:center;align-items:center;gap:9px;display:inline-flex}.primary{background:var(--accent,var(--lilac));color:var(--on-accent,#fff);border-color:var(--accent-strong,var(--ink));box-shadow:0 5px 0 var(--accent-strong,var(--ink))}.secondary{background:var(--surface,#fff);border-color:var(--border,var(--line));box-shadow:0 3px 0 var(--border,var(--line))}.primary:hover,.secondary:hover{box-shadow:0 7px 0 var(--accent-strong,var(--border));transform:translateY(-2px)}.primary:active,.secondary:active{box-shadow:0 1px 0 var(--accent-strong,var(--border));transform:translateY(3px)}.text-button{color:var(--accent-strong,#56459f)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shared-header{background:var(--surface,#fff);border-bottom:1px solid var(--border);gap:12px;height:80px;padding-inline:clamp(12px,3vw,44px)}.shared-header .logo{flex-shrink:0;min-width:44px;min-height:44px}.shared-header nav{gap:5px}.shared-header nav>button{justify-content:center;align-items:center;gap:7px;min-height:46px;display:inline-flex}.shared-header nav>button:hover{background:var(--surface-soft,#f2efe9)}.shared-header .course-pill{background:var(--surface-soft);border:1px solid var(--border);color:var(--ink);font-size:14px}.shared-header nav>.wallet-pill{color:var(--ink);white-space:nowrap;background:#fff4ca;border:1px solid #d9b650;padding:8px 12px;font-weight:850}.shared-header .wallet-pill .ui-icon{flex-basis:26px;width:26px;height:26px}.shared-header .wallet-pill span{font-size:14px}.app .shared-header nav>button.wallet-pill{flex-shrink:0;width:auto;min-width:94px;padding:7px 10px;font-size:14px}.app .shared-header .wallet-copy{align-items:center;gap:4px;display:inline-flex}.app .shared-header .wallet-copy b{color:inherit;margin:0}.app .shared-header .wallet-unit{font-size:13px}.app footer{background:var(--surface);border-color:var(--border);color:var(--muted)}.app .choice-page{padding-top:28px}.app .choice-intro{background:var(--surface);border:1px solid var(--border);grid-template-columns:minmax(0,1fr) 180px;gap:20px;padding:28px 38px;box-shadow:0 14px 42px #1322460c}.app .choice-intro h1{font-size:clamp(36px,5vw,60px)}.app .choice-intro .kmin{width:175px}.app .choice-intro p{color:var(--muted);margin-bottom:0;font-size:17px}.app .grade-grid{margin-top:24px}.app .grade-card{border:1px solid var(--border);background:var(--surface);grid-template-columns:78px minmax(0,1fr) 26px;gap:18px;min-height:174px;padding:24px;box-shadow:0 12px 30px #1322460c}.app .grade-card>span{background:#f8dcc8;border:0;border-radius:22px;width:74px;height:74px}.app .grade-six>span{background:#e6dffc}.grade-card>span .ui-icon{width:42px;height:42px}.app .grade-card small{color:var(--accent-strong);font-size:17px;font-weight:800}.grade-card em{color:var(--muted);margin-top:7px;font-size:14px;font-style:normal;line-height:1.45;display:block}.app .chapter-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 30px #13224610}.app .chapter-mark{background:var(--surface-soft);border:1px solid var(--border)}.chapter-mark .ui-icon{width:44px;height:44px}.app .chapter-card small{color:var(--accent-strong)}.app .chapter-card em,.app .privacy-line{color:var(--muted)}.app[data-theme=orbit] .privacy-line{color:var(--on-page)}.app .course-choice>.page-heading{background:var(--surface);border-radius:24px;padding:24px}.app .course-choice>.text-button{color:var(--on-page)}.shared-home{max-width:1280px;padding-top:24px}.world-heading{color:var(--on-page,var(--ink));justify-content:space-between;align-items:center;gap:22px;display:flex}.world-heading>div{min-width:0}.world-heading h1{letter-spacing:-.04em;margin:0 0 9px;font-size:clamp(30px,4vw,46px);line-height:1.08}.world-heading p{opacity:.9;max-width:690px;margin-bottom:0;font-size:16px;line-height:1.5}.world-heading .eyebrow{color:inherit;opacity:.85;font-size:13px}.world-heading>.kmin{flex:0 0 122px;width:122px;height:122px}.world-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 24px;display:flex}.world-actions .text-button{color:var(--on-page)}.app .shared-map{margin-top:0}.app .world-map-board{border:1px solid var(--border);background:var(--world-bg,#e5e3d8);isolation:isolate;border-radius:30px;height:auto;min-height:720px;padding:34px 46px;box-shadow:0 20px 55px #07163220}.world-map-board .theme-scenery{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.app .world-map-board:before,.app .world-map-board:after{display:none}.world-route{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.world-route path{fill:none;stroke:var(--world-ink,#5b6872);opacity:.35;stroke-width:4px;stroke-linecap:round;stroke-dasharray:6 14}.mission-map-nodes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 24%;display:grid;position:relative}.app .world-map-board .island{width:100%;min-width:0;position:relative;inset:auto!important;transform:none!important}.app .world-map-board .island button{box-shadow:none;text-align:center;background:0 0;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:7px;min-height:194px;padding:8px 4px;display:flex}.app .world-map-board .island button:hover:not(:disabled){transform:translateY(-4px)}.app .world-map-board .island-art{border:2px solid var(--surface);background:var(--surface-soft);border-radius:24px;width:76px;height:76px;padding:4px;box-shadow:0 7px #10234625,0 13px 22px #10234617}.app .world-map-board .current .island-art{outline:4px solid var(--yellow);outline-offset:4px}.app .world-map-board .island-number{border:2px solid var(--surface);width:32px;height:32px;font-size:13px;top:0;left:calc(50% - 50px);box-shadow:0 3px 9px #10234622}.app .world-map-board .island-number .ui-icon{width:18px;height:18px}.app .world-map-board .island-copy{border:1px solid var(--border);background:var(--surface);border-radius:14px;max-width:240px;padding:9px 12px;box-shadow:0 5px 15px #1023460c}.app .world-map-board .island-copy b{font-size:17px;line-height:1.25}.app .world-map-board .island-copy small{color:var(--muted);margin-top:5px;font-size:14px;line-height:1.35;display:block}.mission-status{color:var(--ink);background:var(--surface);border-radius:99px;padding:3px 9px;font-size:13px;font-weight:800}.app .world-map-board .locked button{filter:none}.app .world-map-board .locked .island-art{opacity:.7}.app .world-map-board .stars{color:#b6ad96;gap:3px;display:flex;position:static}.stars .ui-icon{width:15px;height:15px}.stars .earned{color:#bd8b0d}.wardrobe-goal{border:1px solid var(--border);background:var(--surface);border-radius:24px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:24px;padding:22px;display:grid}.wardrobe-goal>.ui-icon{width:40px;height:40px}.wardrobe-goal p{color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.45}.app .simple-page{border-radius:28px}.app .simple-page>.page-heading{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px}.app .simple-page .page-heading h1{font-size:clamp(30px,4vw,44px)}.app .wardrobe-model{background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:24px}.app .wardrobe-model>.kmin{width:160px;height:160px}.app .wardrobe-grid article,.app .collection-grid article{border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 28px #10234612}.app .wardrobe-grid p{color:var(--muted);font-size:14px}.app .shop-message,.app .palette-card,.app .prose-card{background:var(--surface);border:1px solid var(--border);box-shadow:none}.app .palette-card{color:var(--ink)}.app .preview-label{background:var(--surface-soft);border-color:var(--border);font-size:11px}.app .lesson-page{background:var(--page-bg)}.app .lesson-top{color:var(--on-page)}.app .progress-copy span{color:inherit}.app .lesson-top .close-button{color:var(--ink)}.app .task-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 14px 35px #10234615}.app .mission-sidebar{color:var(--on-page)}.app .speech.side{color:var(--ink);background:var(--surface)}.app .feedback-dock{border-top:2px solid var(--border)}.app .shared-result{background:var(--page-bg)}.app .result-card{background:var(--surface);border:1px solid var(--border);box-shadow:0 16px 45px #10234620}.result-stars{color:#b5ac9b;justify-content:center;gap:7px;display:flex}.result-stars .earned{color:#c49718}.result-stars .ui-icon{width:28px;height:28px}.currency-award{color:var(--accent-strong);justify-content:center;align-items:center;gap:12px;margin:20px 0;font-size:clamp(23px,4vw,34px);display:flex}.currency-award>.ui-icon{width:42px;height:42px}.app .result-grid{border-color:var(--border);background:var(--surface-soft)}.app .result-grid div{border-color:var(--border)}.app .result-grid span{font-size:13px}.app .reward{border:1px solid #dfc26c}.app .result-actions{flex-wrap:wrap}.app .result-actions>button{min-width:170px}.ui-coin-flight{z-index:70;pointer-events:none;width:36px;height:36px;animation:.85s cubic-bezier(.25,.7,.35,1) both ui-coin-flight;position:fixed}.ui-coin-flight>.ui-icon{width:36px;height:36px}@keyframes ui-coin-flight{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1}to{opacity:0;transform:translate(var(--coin-x),var(--coin-y)) scale(.4)}}@media (prefers-reduced-motion:no-preference){.app[data-motion=on] main{animation:.25s both shared-enter}.app[data-motion=on] .current .island-art{animation:.7s shared-node}}@keyframes shared-enter{0%{opacity:.2}to{opacity:1}}@keyframes shared-node{40%{transform:scale(1.06)}}@media (width<=820px){.app .shared-header nav>button.wallet-pill{flex-shrink:0}.shared-header .course-pill{display:none}.app .world-map-board{padding:28px 22px}.mission-map-nodes{gap:28px 12%}}@media (width<=560px){.shared-header{gap:3px;height:70px;padding-inline:8px}.shared-header nav{gap:2px}.shared-header .nav-label{display:none}.shared-header nav>button:not(.wallet-pill){width:44px;min-width:44px;padding:6px}.shared-header nav>.wallet-pill{width:auto;padding:7px;font-size:14px}.shared-header nav>.wallet-pill span{font-size:13px}.shared-header .logo{width:44px}.app .choice-intro{text-align:left;grid-template-columns:minmax(0,1fr) 80px;gap:10px;padding:22px 18px}.app .choice-intro h1{font-size:32px}.app .choice-intro p{font-size:15px}.app .choice-intro .kmin{width:85px}.app .grade-card{grid-template-columns:60px minmax(0,1fr) 20px;gap:12px;min-height:144px;padding:18px 14px}.app .grade-card>span{width:56px;height:62px}.grade-card>span .ui-icon{width:34px;height:34px}.app .grade-card small{font-size:15px}.grade-card em{font-size:14px}.world-heading{gap:8px}.world-heading h1{font-size:29px}.world-heading p{font-size:14px}.world-heading>.kmin{flex-basis:88px;width:88px;height:100px}.world-heading .eyebrow{font-size:12px}.world-actions{gap:7px;margin:14px 0 18px}.world-actions>.primary{width:100%;min-height:52px}.world-actions>.text-button{padding-left:0}.app .world-map-board{border-radius:24px;min-height:0;padding:22px 12px}.mission-map-nodes{gap:28px 14px}.app .world-map-board .island button{min-height:205px;padding:5px 0}.app .world-map-board .island-art{border-radius:19px;width:64px;height:64px}.app .world-map-board .island-number{left:calc(50% - 45px)}.app .world-map-board .island-copy{padding:8px}.app .world-map-board .island-copy b{font-size:15px}.app .world-map-board .island-copy small{font-size:13px}.mission-status{font-size:12px}.wardrobe-goal{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px}.wardrobe-goal>.ui-icon{width:32px;height:32px}.wardrobe-goal>button{grid-column:1/-1;width:100%}.app .simple-page>.page-heading{align-items:flex-start;gap:10px;padding:20px 16px}.app .simple-page .page-heading h1{font-size:30px}.app .page-heading p{font-size:14px}.app .wardrobe-model{gap:12px;padding:15px}.app .wardrobe-model>.kmin{width:118px;height:135px}.app .result-card>h1{font-size:32px}.app .result-actions>button{width:100%}.app .result-grid span{font-size:12px}}@media (width<=360px){.app .shared-header .wallet-unit{display:none}.app .shared-header nav>button.wallet-pill{min-width:65px;padding:7px}}.app .illustrated-map.world-map-board{aspect-ratio:1000/1280;background:var(--world-bg);border:1px solid var(--border);width:100%;max-width:1000px;height:auto;min-height:0;margin-inline:auto;padding:0;display:block;position:relative;overflow:hidden}.world-artwork,.world-artwork>img,.world-ambience{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.world-artwork{z-index:0}.world-artwork>img{object-fit:fill}.world-landmarks{z-index:1;pointer-events:none;position:absolute;inset:0}.world-landmark{left:var(--spot-x);top:var(--spot-y);aspect-ratio:1;width:16%;position:absolute;transform:translate(-50%,-50%)}.world-landmark>img{pointer-events:none;width:100%;height:100%;transition:transform .2s;display:block}.world-landmark--engaged>img{transform:translateY(-3px)scale(1.025)}.world-ambience{z-index:2}.world-ambience--mobile{display:none}.app .illustrated-map .mission-map-nodes{z-index:3;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.app .illustrated-map .island{aspect-ratio:1;z-index:2;width:16%;position:absolute;left:var(--spot-x)!important;top:var(--spot-y)!important;bottom:auto!important;right:auto!important;transform:translate(-50%,-50%)!important}.app .illustrated-map .island button{width:100%;height:100%;min-height:0;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:25%;padding:0;display:block;position:relative}.app .illustrated-map .island button:hover:not(:disabled){transform:none}.app .illustrated-map .island-art{width:100%;height:100%;box-shadow:none;opacity:1;background:0 0;border:0;border-radius:25%;outline:none;padding:0;display:block;position:absolute;inset:0}.app .illustrated-map .current .island-art{background:0 0;outline:none}.app .illustrated-map .current .island-art:after{content:"";border:2px solid var(--yellow);border-radius:50%;width:140%;height:38%;position:absolute;bottom:3%;left:-20%;box-shadow:0 0 14px #f4cb5320}.app .illustrated-map .island button:before{content:"";position:absolute;inset:-4% -20%}.app[data-motion=on] .illustrated-map .current .island-art{animation:none}.app .illustrated-map .island button:hover:not(:disabled) .island-art{background:radial-gradient(#fff5bf33,#0000 72%)}.app .illustrated-map .island-number{border:2px solid var(--surface);background:var(--surface);width:32px;height:32px;color:var(--ink);border-radius:50%;font-size:13px;position:absolute;top:0;left:0;box-shadow:0 2px 8px #10234618}.app .illustrated-map .current .island-number{background:var(--yellow)}.app .illustrated-map .island-copy{width:160%;max-width:none;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;margin:0;padding:4px 0;display:flex;position:absolute;top:50%;left:125%;transform:translateY(-50%)}.app .illustrated-map .island:nth-child(2n) .island-copy{text-align:right;align-items:flex-end;left:auto;right:125%}.app .illustrated-map .island-copy b{color:var(--world-ink);text-wrap:balance;font-size:22px;font-weight:850;line-height:1.2}.app .illustrated-map .mission-status{background:var(--surface);color:var(--ink);margin:0;padding:5px 9px;font-size:13px}.landmark-requirement{color:var(--world-ink);opacity:.85;font-size:14px;line-height:1.4}.world-ambient-gear{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite world-gear}.world-ambient-lamp{animation:4.4s ease-in-out infinite world-lamp}.world-ambient-star{transform-box:fill-box;transform-origin:50%;animation:5.2s ease-in-out infinite world-star}.world-ambient-satellite{animation:9s ease-in-out infinite world-satellite}@keyframes world-gear{to{transform:rotate(360deg)}}@keyframes world-lamp{0%,to{opacity:.4}50%{opacity:1}}@keyframes world-star{0%,to{opacity:.5}50%{opacity:1}}@keyframes world-satellite{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}@media (width<=600px){.world-landmark{left:var(--mobile-x);top:var(--mobile-y);width:32%}.app .illustrated-map.world-map-board{aspect-ratio:400/1440;border-radius:23px}.world-ambience--desktop{display:none}.world-ambience--mobile{display:block}.app .illustrated-map .island{width:32%;left:var(--mobile-x)!important;top:var(--mobile-y)!important}.app .illustrated-map .island-copy{gap:7px;width:160%;left:112.5%}.app .illustrated-map .island:nth-child(2n) .island-copy{left:auto;right:112.5%}.app .illustrated-map .island-copy b{font-size:16px;line-height:1.25}.app .illustrated-map .island-number{width:28px;height:28px;font-size:12px;left:0}.app .illustrated-map .mission-status{padding:4px 7px;font-size:12px}.landmark-requirement{font-size:13px}}.app[data-motion=off] .world-landmark--engaged>img{transform:none}@media (prefers-reduced-motion:reduce){.world-ambience *{animation:none!important}.world-landmark--engaged>img{transition:none;transform:none}}
