:root{--ink:#173d3e;--muted:#637b78;--green:#126b60;--mint:#e1efe5;--cream:#f8f8ee;--line:#dde6db;--gold:#f2b44b;--shadow:0 18px 60px #164e3820}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #df9c28;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Trebuchet MS','Segoe UI',sans-serif;line-height:1.12}h1{font-size:clamp(40px,5.6vw,76px);letter-spacing:-3px}h2{font-size:32px;letter-spacing:-1px}h3{font-size:20px}small,.muted{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding:0 44px}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;border:0;background:none;color:var(--ink);padding:0;text-align:left}.brand strong{display:block;font-size:17px;letter-spacing:-.4px}.brand small{font-size:10px;letter-spacing:1.8px}.logo{width:54px;height:62px;flex-shrink:0}.navlinks{display:flex;align-items:center;gap:28px}.navlinks button{border:0;background:none;color:var(--muted);font-size:13px}.navlinks button.active{color:var(--green);font-weight:700}.pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase;border-radius:30px;background:#e5eee0;color:#4c7553;padding:7px 13px}.dot{width:6px;height:6px;border-radius:100%;background:#75a559}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;min-height:48px;border:1px solid transparent;border-radius:12px;background:var(--green);color:white;font-weight:650;text-decoration:none;box-shadow:0 5px 12px #126b6018}.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn.light{background:white;color:var(--ink);border-color:var(--line);box-shadow:none}.btn.soft{background:#e3eee5;color:var(--green);box-shadow:none}.btn.gold{background:#f5bd55;color:#47341c}.btn.danger{background:#9b413d}.btn.small{min-height:40px;padding:8px 14px;font-size:12px}.btn.ghost{background:transparent;box-shadow:none;color:var(--muted);padding:8px}.hero{display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:20px;padding:58px 0 22px}.hero h1{margin:22px 0}.hero h1 em{font-style:normal;color:var(--green)}.hero .desc{max-width:430px;color:var(--muted);font-size:16px;line-height:1.8}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-meta{display:flex;gap:18px;align-items:center;margin-top:28px;font-size:12px;color:var(--muted)}.avatars{display:flex}.avatar{display:inline-grid;place-items:center;background:#dbe9d8;border:3px solid var(--cream);border-radius:50%;width:36px;height:36px;font-weight:700;color:var(--green)}.avatars .avatar+.avatar{margin-left:-10px}.hero-art{position:relative;min-width:0}.hero-art svg.scene{width:113%;margin-left:-6%;display:block;filter:drop-shadow(0 18px 25px #377a6316)}.floating-note{position:absolute;right:8px;bottom:28px;background:#fffef7ed;border:1px solid white;box-shadow:var(--shadow);padding:13px 18px;border-radius:14px;display:flex;gap:12px;align-items:center;font-size:12px}.floating-note strong{display:block}.spark{background:#e9f0d9;color:#809641;border-radius:10px;font-size:24px;padding:5px 12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:35px 0 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.section-head h2{font-size:25px;margin:0}.section-head p{font-size:12px;margin:0}.world-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.world-card{position:relative;border:1px solid var(--line);border-radius:16px;background:#fffdf6;overflow:hidden}.world-card .art{height:98px;background:var(--tone);position:relative;display:grid;place-items:center;overflow:hidden}.world-card .art:before{content:'';position:absolute;background:#fff6;border-radius:50%;width:150px;height:150px;left:-70px;top:-70px}.world-card .num{position:absolute;top:8px;left:9px;background:#ffffffa0;border-radius:7px;padding:1px 7px;font-size:10px}.world-card .art svg{width:50px;height:60px;filter:drop-shadow(0 6px 0 #173d3e15)}.world-card .body{padding:13px 12px}.world-card h3{font-size:14px;letter-spacing:-.3px;margin-bottom:8px}.world-card small{font-size:10px}.world-card.done{border-color:#79b290}.world-card .status{float:right}.lower{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin:28px 0 40px}.callout{background:#e8eee0;border:1px solid #dbe5d1;border-radius:18px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.callout h3{margin:0 0 7px}.callout p{font-size:12px;margin:0;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:15px}.page{padding:42px 0;min-height:70vh}.page-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.page-title h1{font-size:38px;letter-spacing:-1.5px;margin:8px 0}.card{background:#fffef8;border:1px solid var(--line);border-radius:20px;padding:28px}.narrow{max-width:620px;margin:25px auto}.form{display:grid;gap:18px}.form label{display:grid;gap:7px;font-size:13px;font-weight:650}.form input,.form select,.filters input,.filters select{width:100%;padding:12px;border:1px solid #ccd9ce;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}.form small{font-weight:400}.notice{border-radius:12px;background:#e7f0e6;padding:13px 16px;font-size:12px;margin:16px 0}.error{background:#ffede7;color:#8a3430}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.stat strong{display:block;font-size:30px;letter-spacing:-1px}.stat small{font-size:11px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters input,.filters select{width:auto;font-size:12px}.tablebox{overflow:auto;border:1px solid var(--line);border-radius:15px;background:white}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:14px 16px;border-bottom:1px solid #edf0e9;white-space:nowrap}th{background:#eef3e9;font-size:10px;text-transform:uppercase;letter-spacing:.7px}tbody tr:last-child td{border:0}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.tabs{display:flex;gap:6px;background:#e8eee2;padding:5px;border-radius:12px;margin:18px 0 26px;overflow:auto}.tabs button{border:0;background:none;padding:11px 18px;border-radius:8px;white-space:nowrap;color:var(--muted)}.tabs button.sel{background:white;color:var(--ink);box-shadow:0 2px 8px #173d3e0a}.bar{height:9px;background:#e6eee3;border-radius:8px;overflow:hidden;margin:8px 0 16px}.bar span{display:block;height:100%;background:var(--green);border-radius:8px}.badge{font-size:10px;padding:4px 9px;border-radius:12px;background:#e6eee1;color:#47674e}.badge.red{background:#fae5df;color:#97483d}.game-shell{margin:22px 0}.hud{display:flex;align-items:center;justify-content:space-between;background:#123d3c;color:#fff;padding:14px 20px;border-radius:16px 16px 0 0;gap:12px;flex-wrap:wrap}.hud small{color:#b3d7cc;font-size:10px}.hud strong{display:block;font-size:20px}.hud .world-title{font-size:13px}.hud .btn{color:white;border-color:#45625d;background:transparent}.canvas-wrap{position:relative;background:#b4e5d8;overflow:hidden;border-radius:0 0 16px 16px}canvas{display:block;width:100%;height:auto;aspect-ratio:16/8;touch-action:none}.game-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:#fffef3e8;border:1px solid #fff;border-radius:20px;padding:7px 18px;font-size:11px;text-align:center;max-width:90%;pointer-events:none}.controls{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.controlgroup{display:flex;gap:8px}.control{min-width:60px;min-height:50px;background:#e0eadc;border:1px solid #cad9c4;border-radius:12px;color:var(--ink);font-weight:700;user-select:none;touch-action:none}.control:active{background:#b9d6c0}.overlay{position:fixed;inset:0;background:#10363491;backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.modal{background:#fffef6;border-radius:24px;max-width:690px;width:100%;padding:32px;max-height:92dvh;overflow:auto;box-shadow:0 25px 100px #082d3860}.modal h2{font-size:27px;margin:16px 0 20px;line-height:1.3}.modal .options{display:grid;gap:10px}.option{border:1px solid #d5e0d4;border-radius:12px;background:white;color:var(--ink);text-align:left;padding:14px;display:flex;gap:13px;align-items:center;width:100%;font-size:14px}.option span{background:#eef2e9;border-radius:7px;min-width:30px;height:30px;display:grid;place-items:center}.option.selected{border:2px solid var(--green);padding:13px;background:#eaf3e8}.ref{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.feedback{padding:20px;border-radius:15px;background:#e8f2e4}.feedback.wrong{background:#fff0e4}.feedback strong{display:block;margin-bottom:8px}.quiz-progress{height:4px;background:#e3e9dc;border-radius:5px;margin:15px 0}.quiz-progress span{display:block;height:100%;background:var(--green)}.tutorial{line-height:1.9}.tutorial svg{max-width:100%;height:auto}.fieldnote{font-size:12px;background:#f1f2e6;padding:14px;border-radius:12px}.certificate{background:#fffdf1;border:7px double #b99b4f;padding:40px;text-align:center;color:#214b46;min-height:340px}.certificate h2{letter-spacing:3px;font-size:23px}.certificate .name{font-family:Georgia,serif;font-size:32px;word-break:break-word;border-bottom:1px solid #d7c38c;padding:15px}.mission{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:15px}.mission:last-child{border:0}.detail{margin:15px 0;border:1px solid var(--line);padding:15px;border-radius:12px}summary{cursor:pointer;font-weight:650}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#163f3b;color:white;padding:13px 22px;border-radius:14px;z-index:100;box-shadow:var(--shadow);max-width:90%;font-size:13px}.finger{display:inline-block;text-align:center;padding:12px}.finger svg{height:170px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.settings-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}.lessonlist{display:grid;gap:14px}.lesson{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.soundkeys{display:flex;gap:8px;flex-wrap:wrap}.soundkeys button{min-height:85px;min-width:65px;background:#e4eee0;border:1px solid #b6ccb1;border-radius:12px;color:var(--green);font-weight:750}.map-path{display:flex;align-items:center;gap:7px;margin:12px 0}.map-path span{width:12px;height:12px;background:#d2e0cf;border-radius:50%}.map-path span.on{background:var(--green)}.confetti{font-size:44px;letter-spacing:20px;text-align:center}.code{font-family:monospace;font-size:15px;word-break:break-all;background:#e7eee1;border-radius:10px;padding:14px}.player-detail .stats{grid-template-columns:repeat(3,1fr)}@media(min-width:900px){.controls{opacity:.85}.control{min-height:44px}}@media(max-width:1000px){.wrap{padding:0 25px}.navlinks{gap:14px}.world-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:52px}.lower{grid-template-columns:1fr}.floating-note{right:0;bottom:0}.navlinks .labelhide{display:none}}@media(max-width:650px){.wrap{padding:0 18px}.nav{height:80px}.brand strong{font-size:13px}.brand small{font-size:8px;letter-spacing:.8px}.logo{width:42px;height:49px}.navlinks{gap:4px}.navlinks button{font-size:11px;padding:8px}.navlinks .optional{display:none}.hero{grid-template-columns:1fr;padding:35px 0 10px;gap:0}.hero h1{font-size:49px;letter-spacing:-2px}.hero .desc{font-size:14px}.hero-art{max-width:520px;margin:0 auto}.hero-art svg.scene{width:100%;margin:0}.hero-meta{margin-top:20px}.floating-note{bottom:18px;font-size:10px;padding:10px}.world-grid{gap:8px}.world-card .art{height:75px}.world-card .body{padding:10px 8px}.world-card h3{font-size:12px}.world-card small{font-size:9px}.section-head h2{font-size:22px}.section-head p{display:none}.grid2,.grid3{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:15px}.stat strong{font-size:25px}.page-title{align-items:start}.page-title h1{font-size:29px}.card{padding:20px}.modal{padding:23px}.modal h2{font-size:21px}.hud{padding:10px 12px;gap:8px}.hud strong{font-size:17px}.hud .world-title{font-size:11px}.game-hint{font-size:9px;top:8px;padding:5px 12px}.footer{font-size:9px;flex-direction:column}.certificate{padding:20px}.certificate h2{font-size:18px}.certificate .name{font-size:25px}.callout{padding:18px}.page{padding:28px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
[hidden]{display:none!important}
.journey{position:sticky;top:0;z-index:12;background:#fffef5f7;border:1px solid #cedecf;border-radius:16px;padding:14px 16px;margin:0 0 14px;box-shadow:0 6px 20px #183b3010}.journey-summary,.journey-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.journey-summary>span{color:#527268}.journey-worlds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:14px 0;gap:7px}.journey-worlds li{position:relative;text-align:center;border:1px solid #d7e2d4;background:#f1f4e9;border-radius:11px;padding:9px 4px;color:#6b7a6f;min-width:0}.journey-worlds strong{font-size:10px;display:block;line-height:1.35;margin:5px 0}.journey-worlds small{font-size:9px;display:block;line-height:1.3}.journey-worlds .journey-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e0e7d9;font-size:12px;font-weight:700}.journey-worlds li.complete{background:#e0efe1;border-color:#9dc7a5;color:#245e49}.journey-worlds li.mastered{background:#e6edcf;border-color:#adbf70}.journey-worlds li.current{box-shadow:0 0 0 2px #217c67;border-color:#217c67}.journey-worlds li.complete .journey-icon{color:#2e8b6a;background:#c4e2cc}.journey-bottom .btn{font-size:10px;padding:7px 10px;min-height:36px}.modal:has(.journey){max-width:860px}.modal .journey{top:-32px;margin:-12px -12px 22px;padding:12px;box-shadow:0 5px 18px #173d3e16}.modal .journey-summary{font-size:11px}.modal .journey-worlds{margin:9px 0}.modal .journey-worlds li{padding:5px 3px}.question-picture{margin:12px 0 20px;padding:0}.question-picture img{width:100%;height:auto;border-radius:16px;border:1px solid #d1dfd2;display:block;max-height:320px;object-fit:contain;background:#edf4e9}.question-picture figcaption{text-align:center;color:#5a776c;font-size:11px;margin-top:6px}.question-picture img:focus-visible{outline:3px solid #dbb357}.tablebox details{max-width:100%;white-space:normal}.tablebox details table{margin-top:14px}@media(max-width:650px){.journey{padding:10px 8px}.journey-summary{font-size:10px;align-items:start;gap:7px;flex-direction:column}.journey-worlds{gap:3px;margin:10px 0}.journey-worlds li{padding:5px 2px;border-radius:7px}.journey-worlds strong{font-size:8px;overflow-wrap:anywhere}.journey-worlds small{font-size:8px}.journey-worlds .journey-icon{width:20px;height:20px;font-size:9px}.journey-bottom{font-size:10px;align-items:start;flex-direction:column}.journey-bottom .btn{width:100%;min-height:40px}.modal .journey{top:-23px;margin:-8px -8px 18px}.modal .journey-bottom>span{font-size:9px}.question-picture img{max-height:240px}.journey-castle span{font-size:20px}}
/* MUZIK QUEST — cinematic kingdom edition */
:root{--ink:#f4ead6;--muted:#bcbfb8;--green:#bd8e3e;--mint:#243c44;--cream:#0c1822;--line:#75603b66;--gold:#e7bd66;--shadow:0 20px 70px #0006;color-scheme:dark}body{background:radial-gradient(ellipse at 75% 0,#294356 0,#101f2c 43%,#09141e 100%);font-size:16px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:0}h1{font-size:clamp(38px,5.6vw,76px)}h2{font-size:30px;line-height:1.22}.wrap{max-width:1500px;padding:0 40px}.nav{height:100px;border-color:#af8a4566}.brand strong{font-family:Georgia,serif;font-size:23px;letter-spacing:2px;color:#f3d691}.brand small{color:#ceb478;font-size:9px;letter-spacing:1.6px}.logo{width:76px;height:76px;object-fit:contain;border-radius:14px;box-shadow:0 4px 22px #0004}.navlinks{gap:20px}.navlinks button,.navlinks button.active{color:#e8daba;min-height:44px}.navlinks button.active{text-decoration:underline;text-underline-offset:8px}.btn{border:1px solid #f5d087;border-radius:7px;background:linear-gradient(135deg,#d9b15c,#946426);color:#151b22;box-shadow:inset 0 1px #ffeab5,0 5px 17px #0004;letter-spacing:.3px}.btn.light,.btn.soft{background:linear-gradient(#283d4b,#172b39);border:1px solid #a48648;color:#f3deb2;box-shadow:inset 0 1px #fff1}.btn.gold{background:linear-gradient(#f4d582,#c18c36);color:#221b0d}.btn.ghost{color:inherit}.btn:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.5}.pill{color:#f1d490;background:#142c38;border:1px solid #c69c535c;border-radius:5px;font-size:10px}.hero{position:relative;display:block;min-height:640px;padding:78px 50px 65px;margin:22px -15px 35px;isolation:isolate;border:1px solid #9e824e66;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.hero>div:first-child{position:relative;z-index:2;width:53%;text-shadow:0 2px 9px #000}.hero h1{font-size:clamp(58px,7vw,104px);letter-spacing:5px;line-height:.92;color:#fff3c8;margin:35px 0 26px}.hero h1 em{display:block;color:#efc36b;font-size:1.03em}.hero .edition{font:11px/1.8 'Segoe UI',sans-serif;letter-spacing:3px;color:#e6d4ab;display:block;margin-top:22px}.hero .desc{font-size:16px;color:#eee5d3;line-height:1.75}.hero-art{position:absolute;inset:0;z-index:0}.kingdom-view{position:absolute;inset:0;background:#26394a}.kingdom-view:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06121ceb 0,#0a1829b5 34%,#10223810 72%),linear-gradient(0deg,#0c1925bb,transparent 45%)}.kingdom-art{width:100%;height:100%;object-fit:cover;object-position:62% 40%;position:absolute}.hero-explorer{position:absolute;height:64%;bottom:2%;right:15%;z-index:1;filter:drop-shadow(0 10px 12px #0009)}.floating-note{z-index:3;bottom:26px;right:25px;background:#122631d9;color:#f7e1b7;border:1px solid #c09b57;border-radius:7px;box-shadow:var(--shadow)}.floating-note strong{color:#f7e1b7}.hero-meta{color:#e6d5b4}.hero .avatar{display:none}.world-grid{gap:14px}.world-card,.card,.stat,.lesson,.callout{background:linear-gradient(145deg,#203641,#152733);border:1px solid #a686465c;box-shadow:0 10px 30px #0002;border-radius:10px;color:#f4ead6}.world-card .art{background:radial-gradient(ellipse at center,#b99c5133,#182d3a);height:140px;border-bottom:1px solid #a6864666}.world-card .num{color:#e5c479}.world-card h3{font-size:18px}.world-card .body small{color:#cbbf9e}.callout{background:#203641!important;border-color:#a686465c!important}.callout p,.callout h3{color:#f0dfba}.eyebrow{color:#d5b574;letter-spacing:2px}.section-head p{color:#bdc5c5}.notice{background:#203b44;color:#ebdfc6;border-color:#9f874c}.footer{color:#b4b6ac;border-top:1px solid #9a7c433d}.page{min-height:65vh}.page-title .pill{margin-bottom:18px}.fieldnote,.ref{color:#b9c4c3}.form input,.form select,.filters input,.filters select{background:#122530;color:#f8efd9;border:1px solid #897241;border-radius:6px;min-height:46px}.form label{color:#e7d8b5}.tablebox{background:#142733;border:1px solid #8d74424a}table th{background:#233c48;color:#efd59f}table td{border-color:#9f83442b;color:#eee4d1}table tr:hover{background:#28414a}table small{color:#c3c5b6}.tabs{border-color:#8e7548}.tabs button{color:#c7c8b9}.tabs .sel{color:#f6d58b;border-color:#e9bf6a}.bar{background:#304550}.bar span{background:linear-gradient(90deg,#bc8b3a,#f0d796)}.mission,.detail{border-color:#8c734136}.overlay{background:#050b13d9;backdrop-filter:blur(7px)}.modal{background:linear-gradient(135deg,#fff4d8,#ecdfc1);color:#29333a;border:2px solid #b18b46;border-radius:12px;box-shadow:0 25px 100px #000b}.modal .pill{background:#263c49;color:#f7d78f}.modal h2,.modal p,.modal strong,.modal label{color:#273842}.modal .muted,.modal .ref,.modal small{color:#5b6259}.modal .form input,.modal .form select{background:#fffaf0;color:#233742;border-color:#b49b67}.modal .btn.light,.modal .btn.soft{color:#f7e3ba}.modal .btn.ghost{color:#58654f}.modal .options .option{background:#fffaf0;border:1px solid #b6a170;color:#293943;border-radius:7px;min-height:56px}.modal .option span{color:#39525a;background:#ece1c6}.modal .option.selected{border:3px solid #926b20;background:#fae5a7}.modal .feedback{background:#dce9d6;color:#223b35;border-color:#7d9c75}.modal .feedback.wrong{background:#f6dfcc;border-color:#c58c68}.modal .feedback *{color:#293c36}.question-picture img{max-height:300px;background:#fffaf0;border-color:#b79e6c}.question-picture figcaption{color:#49594d}.guide-picture{margin:15px 0 20px;background:#f5f4e8;border-radius:12px;overflow:hidden;border:1px solid #b7a16c}.guide-picture img{width:100%;height:220px;object-fit:contain;display:block}.tutorial>svg{background:#f8f4df;padding:8px;border-radius:7px}.tutorial p{line-height:1.8}.modal .tutorial{background:#fff7e1}.journey{background:#122934f5;color:#f1ddb0;border:1px solid #9b7a40;border-radius:8px;box-shadow:0 8px 20px #0003;backdrop-filter:blur(10px)}.journey-summary>span{color:#d3c2a0}.journey-worlds li{background:#1b3440;color:#bbbda9;border-color:#677565}.journey-worlds small{color:#bdc2af}.journey-worlds .journey-icon{background:#354a4c;color:#f3d594}.journey-worlds li.complete,.journey-worlds li.mastered{background:#294e4b;border-color:#b99b55;color:#f1dda3}.journey-worlds li.current{box-shadow:0 0 0 2px #e4bd65;border-color:#f4d486}.journey-worlds li.complete small{color:#e4d8b5}.modal .journey strong,.modal .journey p,.modal .journey span,.modal .journey small{color:#eedbb1}.hud{background:linear-gradient(#263f4c,#102632);border:2px solid #a78242;border-radius:10px;color:#f2d89f;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 18px}.hud strong{font:700 23px Georgia,serif;color:#f8dfaa}.hud small{color:#c5b995}.hud-avatar{display:flex;align-items:center;gap:8px}.hud-avatar img{width:48px;height:67px;object-fit:cover;object-position:top;border-radius:7px;background:#324b54}.hud-avatar small{max-width:65px}.hud-actions{display:flex;gap:6px}.canvas-wrap{border:2px solid #b18b46;border-radius:9px;box-shadow:0 18px 55px #0007}.game-hint{background:#0b1c2edb;color:#f3e5c2;border:1px solid #9577459c;border-radius:5px;font-size:12px;max-width:94%;padding:8px 14px}.controls{padding:14px 0}.control{background:linear-gradient(#30434d,#142836);border:1px solid #b38f49;color:#f5dfa9;border-radius:8px;min-height:52px;touch-action:none}.control:active{background:#9b7533;color:#fff}.selection-layout{display:grid;grid-template-columns:42% 58%;align-items:center;gap:0}.live-preview{text-align:center;position:relative;border:1px solid #9b7a4144;background:radial-gradient(ellipse,#47607150,transparent 70%);border-radius:10px;margin-right:25px}.live-preview canvas{display:block;width:100%;max-width:500px;margin:auto;height:auto}.live-preview strong{display:block;padding:10px 0 18px;color:#e6ca8b;font-family:Georgia;font-size:22px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.equipment{background:linear-gradient(#294552,#122734);border:1px solid #8f7747;border-radius:9px;padding:15px;color:#f6e9c9;display:flex;align-items:center;flex-direction:column;position:relative;min-height:235px}.equipment img{height:170px;max-width:95%;object-fit:contain;filter:drop-shadow(0 7px 12px #0006);transition:transform .2s}.equipment strong{font-size:16px;margin-top:9px}.equipment small{font-size:12px;margin-top:4px;color:#c9bfa1}.equipment.selected{outline:3px solid #e6c46d;background:radial-gradient(ellipse at 50% 35%,#b3934355,#182e3d 70%)}.equipment.selected:after{content:'✓';position:absolute;right:10px;top:6px;color:#ffe28c;font-size:23px}.equipment:hover img{transform:translateY(-3px)}.prop-card img{height:150px;max-width:180px}.volume-row{display:grid;grid-template-columns:120px 1fr 40px;gap:12px;align-items:center;margin:18px 0;font-size:14px}.volume-row input{accent-color:#bd8e3e;min-height:30px;width:100%}.settings-row{border-color:#9b834d55}.pdf-preview{padding:0!important;background:#fff;aspect-ratio:595/842;width:100%;max-width:535px;margin:auto;box-shadow:0 12px 35px #0005;border:0;border-radius:0}.pdf-preview object{display:block;width:100%;height:100%;border:0}.pdf-preview p{color:#233742;padding:25px}.loading-quest{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:95vh;background:radial-gradient(ellipse,#254659,#091522);text-align:center}.loading-quest img{width:160px;border-radius:20px}.loading-quest h1{font:42px Georgia;letter-spacing:5px;color:#f3d58c;margin:24px}.loading-quest progress{width:240px;accent-color:#d7b264}.toast{background:#f7e8c4;color:#26363f;border:1px solid #b08b47;z-index:1000}.audio-panel{padding:8px 0}.selection .actions{margin:24px 0}.stat strong{color:#f3d18c}.soundkeys button{background:#274751;color:#ffdea0;border-color:#9b7c45}
@media(max-width:1000px){.wrap{padding:0 20px}.navlinks{gap:8px}.hero{padding:55px 30px;min-height:590px}.hero>div:first-child{width:63%}.hero-explorer{right:7%;height:58%}.hud{gap:8px;flex-wrap:wrap}.hud-avatar small{display:none}.hud small{font-size:9px}.hud strong{font-size:20px}.selection-layout{grid-template-columns:38% 62%}.equipment img{height:140px}.equipment{min-height:200px}.brand small{font-size:8px}.journey-worlds strong{font-size:9px}}
@media(max-width:650px){.wrap{padding:0 12px}.nav{height:86px;gap:5px}.logo{width:53px;height:53px}.brand{gap:7px}.brand strong{font-size:15px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:.5px}.navlinks{gap:4px}.navlinks button{font-size:10px;padding:7px}.navlinks .btn{min-height:36px}.hero{padding:34px 20px 180px;min-height:650px;margin:15px 0 28px}.hero>div:first-child{width:100%}.hero h1{font-size:62px;letter-spacing:3px}.hero .desc{font-size:14px;max-width:90%}.hero .edition{font-size:9px;letter-spacing:1.7px}.hero-meta{display:none}.hero .actions{max-width:250px}.hero-explorer{height:36%;right:1%;bottom:0}.kingdom-view:after{background:linear-gradient(90deg,#06121cd9,#0a18297a),linear-gradient(0deg,#12263555,transparent)}.floating-note{bottom:24px;left:12px;right:auto;max-width:65%;padding:10px;font-size:10px}.floating-note .spark{display:none}.section-head{display:block}.section-head h2{font-size:27px}.selection-layout{display:flex;flex-direction:column}.live-preview{width:100%;margin:0;max-width:340px}.live-preview canvas{height:260px;width:277px}.live-preview strong{font-size:18px}.selection-layout>div:last-child{width:100%}.equipment-grid{gap:9px}.equipment{padding:10px;min-height:190px}.equipment img{height:125px}.equipment strong{font-size:13px}.equipment small{font-size:10px}.prop-card img{height:100px;max-width:130px}.selection h1{font-size:36px}.hud{padding:9px;gap:9px}.hud>div{flex:1 1 auto}.hud-avatar img{width:30px;height:44px}.hud .world-title{font-size:16px}.hud-avatar{max-width:35px}.hud-actions{margin-left:auto}.hud strong{font-size:17px}.game-hint{font-size:9px;bottom:8px;padding:5px 8px}.controls{gap:7px}.control{min-height:50px;min-width:48px;padding:6px 10px;font-size:12px}.guide-picture img{height:170px}.volume-row{grid-template-columns:95px 1fr 35px;font-size:12px}.modal h2{font-size:24px}.modal .journey{top:-24px}.modal{padding:23px}.pdf-preview{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.modal .stat,.modal .notice{background:#eee3c7;color:#283b42;border-color:#baa06b}.modal .stat strong{color:#293b42}.modal .tablebox{background:#fff9e8}.modal table th{background:#d9cda7;color:#253844}.modal table td{color:#273842;border-color:#b29c7155}.modal table small{color:#556257}.modal table tr:hover{background:#f2e7ca}.modal .journey .journey-worlds .journey-icon{color:#f3d594}.hazard-guide{padding:13px 15px;border:1px solid #bea368;border-radius:7px;background:#eee1be;margin-top:16px}.hazard-guide p{margin:8px 0 0}.loading-quest img{object-fit:contain}body:has(.game-shell) .wrap{max-width:1510px}body:has(.game-shell) .nav{height:80px}body:has(.game-shell) .nav .logo{width:59px;height:59px}
.modal{position:relative}.gold-sparks{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:10px}.gold-sparks i{position:absolute;left:calc(var(--i)*5.5%);top:-10px;width:5px;height:10px;background:#dba936;box-shadow:0 0 8px #edcc60;animation:golden-fall 1.4s ease-out both;animation-delay:calc(var(--i)*.035s)}@keyframes golden-fall{from{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(400px) rotate(220deg);opacity:0}}@media(prefers-reduced-motion:reduce){.gold-sparks{display:none}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduced-motion .gold-sparks{display:none}
/* V4: interactive crystal kingdom landing, driven by saved progression. */
.cinematic-landing.hero{min-height:530px;margin:22px -12px 18px;padding:48px 36px 40px;border:1px solid #d5ad59a6;border-radius:16px;background:#07224a;animation:kingdom-open .75s ease-out both}.cinematic-landing .hero-copy{width:55%;max-width:710px}.hero-brandline{display:flex;align-items:center;gap:8px}.hero-logo{width:178px;height:178px;object-fit:contain;filter:drop-shadow(0 0 15px #19cfff66);animation:emblem-open .8s ease-out both}.cinematic-landing h1{font-size:clamp(40px,4.7vw,74px);letter-spacing:-2px;white-space:nowrap;margin:0 0 15px;text-transform:none;font-weight:800;line-height:1.1;background:linear-gradient(110deg,#e0a23c 8%,#fff7bb 35%,#f6bc4e 50%,#ffe9a3 67%,#a97120 90%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(1px 2px 0 #73501e) drop-shadow(0 4px 1px #071933);animation:title-sheen 8s ease-in-out infinite}.cinematic-landing h1 span{display:inline}.class-ribbon{display:inline-block;background:linear-gradient(#1766a1,#073b77);color:#edfaff;padding:3px 26px 6px;border:1px solid #73d3ed9c;border-radius:4px;font-size:17px;font-weight:700;box-shadow:0 3px 8px #0006;transform:rotate(-3deg)}.hero-slogan{margin:17px 0 24px 185px;color:#f3f1dd;font-size:15px;line-height:1.6}.hero-slogan strong{color:#ffe286}.cinematic-landing .hero-art{overflow:hidden}.landing-world .kingdom-art{object-position:70% 32%;transform:scale(1.025) translate(calc(var(--mx,0px)*-.5),calc(var(--my,0px)*-.5))}.landing-world:after{background:linear-gradient(90deg,#02132977,transparent 65%),linear-gradient(0deg,#061b3899,transparent 25%)}.cinematic-landing .hero-explorer{height:78%;right:25%;bottom:0;transform-origin:70% 95%;filter:drop-shadow(0 12px 12px #0008);animation:adventurer-idle 5s ease-in-out infinite;z-index:2}.cinematic-landing .floating-note{bottom:30px;right:25px;max-width:340px;min-height:80px;background:linear-gradient(120deg,#031a34f5,#0a2c4cf0);border:1px solid #f1cb71;padding:15px 18px;box-shadow:0 0 16px #20c5ff44,inset 0 0 10px #5ac8ff22;border-radius:9px;font-size:12px}.cinematic-landing .floating-note .spark{font-size:43px;color:#8be7ff;text-shadow:0 0 10px #59d6ff}.cinematic-landing .floating-note strong{color:#ffe5a3;font-size:14px}.epic-start.btn{position:relative;isolation:isolate;overflow:hidden;min-height:59px;padding:15px 25px;border:2px solid #fff1a5;border-radius:11px;background:linear-gradient(#ffe797,#ffc94e 48%,#cc8d24);color:#322109;box-shadow:0 0 0 3px #a06a26,0 0 22px #e9af3d66,inset 0 2px #fff7cd;animation:start-glow 3.5s ease-in-out infinite;font-size:15px}.epic-start:after{content:'';position:absolute;inset:-10px;background:linear-gradient(110deg,transparent 35%,#fff9 47%,transparent 60%);transform:translateX(-130%);animation:button-sweep 7s 1s ease-in-out infinite;pointer-events:none}.epic-start:hover{transform:scale(1.035);box-shadow:0 0 0 3px #d49a39,0 0 34px #ffdf7c99}.epic-start>span{font-size:27px;line-height:1}.cinematic-landing .actions .light{border:1px solid #6bd4f7;background:linear-gradient(#123c63,#041c3b);color:#e7f8ff;box-shadow:0 0 10px #53c8ff33}.home-audio{display:flex;gap:10px;margin-top:23px}.home-audio .btn{color:#d8eaff;background:#062044b8;border:1px solid #5aa6d559;font-size:11px}.cloud-layer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 28%,#b2ddff30,transparent 25%),radial-gradient(ellipse at 65% 68%,#e3f8ff25,transparent 22%);animation:cloud-drift 42s linear infinite;z-index:1}.cloud-two{animation-duration:61s;animation-direction:reverse;opacity:.6;transform:scale(1.3)}.waterfall-flow{position:absolute;right:29%;top:37%;width:2.8%;height:43%;opacity:.23;z-index:1;background:repeating-linear-gradient(175deg,transparent 0 12px,#d1f6ffb3 16px,transparent 27px);mask-image:linear-gradient(transparent,#000 15% 80%,transparent);filter:blur(2px);animation:water-flow 2.8s linear infinite}.floating-island{position:absolute;left:49%;top:14%;width:100px;height:auto;opacity:.7;filter:drop-shadow(0 10px 13px #0a2c4e88);animation:island-float 8s ease-in-out infinite;z-index:1}.hero-magic{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-magic i{font-style:normal;position:absolute;left:calc(8% + var(--i)*7%);top:calc(25% + mod(var(--i),4)*13%);color:#ffe9a6;font-size:calc(13px + mod(var(--i),3)*6px);opacity:.7;text-shadow:0 0 9px #eec05a;animation:music-drift 13s calc(var(--i)*-.8s) ease-in-out infinite}.hero-magic i:nth-child(3n+1){top:32%;font-size:23px}.hero-magic i:nth-child(3n+2){top:60%;font-size:14px}.hero-magic i:nth-child(3n){top:76%;font-size:18px}.castle-beams{display:none;position:absolute;inset:0;z-index:1;pointer-events:none}.castle-unlocked .castle-beams{display:block}.castle-beams i{position:absolute;left:83%;top:18%;width:3px;height:90%;background:linear-gradient(#fff2ad,#8beaff88,transparent);box-shadow:0 0 12px #9ee9ff;transform-origin:50% 0;transform:rotate(calc(-28deg + var(--i)*11deg));animation:castle-radiance 3s calc(var(--i)*-.3s) ease-in-out infinite}.castle-door{position:absolute;right:14.5%;top:31%;width:20px;height:43px;z-index:1;border-radius:15px 15px 0 0;background:#0b234e55;border:1px solid #edc76d44;transition:background 1s,box-shadow 1s}.castle-door.open{background:#fff8c6;box-shadow:0 0 33px 17px #ffe58499;animation:castle-radiance 3s infinite}.starting:after{content:'';position:absolute;inset:0;background:#ffe7a855;z-index:5;pointer-events:none;animation:launch-flash .45s ease-out both}.region-section{position:relative;padding:24px 4px 22px;margin-bottom:15px}.region-section .section-head{margin:0 0 8px}.region-section h2{font-size:36px;color:#ffebbd;margin:7px 0}.crystal-count{font-size:12px;color:#a9e9ff!important;background:#092345c7;border:1px solid #a47d4299;padding:10px 15px;border-radius:7px;white-space:nowrap}.crystal-count strong{font-size:17px;color:#ffdf84;margin-left:6px}.world-route{display:flex;align-items:center;height:47px;margin:0 4px 16px;filter:drop-shadow(0 0 5px #eac06644);overflow:hidden}.route-segment{position:relative;flex:1;height:22px;border-bottom:2px solid #506374;color:#8093a6}.route-segment b{position:relative;z-index:1;display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #667986;background:#142e47;color:#c7d7db;font-size:10px}.route-segment i{position:absolute;left:58%;font-style:normal;top:1px;font-size:21px;color:#647d8f}.route-segment.lit{border-bottom-color:#ffdb73;box-shadow:0 3px 9px -3px #ffd56e}.route-segment.lit b{border-color:#ffe18b;color:#ffeab8;background:#7f5b2d}.route-segment.lit i{color:#ffe28b;animation:route-travel 4s linear infinite}.route-castle{font-size:32px;color:#8196a8;margin-left:5px}.route-castle.lit{color:#ffe297;text-shadow:0 0 10px #ffc947}.region-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:stretch}.region-card.world-card{padding:0;text-align:center;position:relative;border:2px solid #b48b459c;border-radius:13px;background:#061d3d;overflow:hidden;transition:transform .25s,box-shadow .25s,filter .25s;color:#f6e8c5;min-width:0;box-shadow:0 7px 20px #0006;animation:card-arrival .6s calc(var(--order)*.06s) ease-out both}.region-card .art{height:auto;aspect-ratio:1;position:relative;overflow:hidden;border-bottom:1px solid #b5914e}.region-card .art>img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.035);animation:crystal-idle 7s calc(var(--order)*-.4s) ease-in-out infinite}.region-card .num{position:absolute;left:9px;top:8px;z-index:2;color:#1f2c38;font-size:13px;padding:2px 10px;background:linear-gradient(#fff0b4,#f1be54);border:1px solid #ffe8a0;border-radius:7px;box-shadow:0 2px 8px #0006}.region-card .body{background:linear-gradient(#092849,#03162f);padding:12px 4px 13px}.region-card .body h3{font-size:clamp(13px,1.3vw,19px);margin:0 0 7px;color:#ffebbc}.region-card .body small{font-size:10px;color:#d1d7dc}.region-card.locked .art>img{filter:brightness(.62) saturate(.55);animation:none}.region-card.locked{opacity:1;cursor:not-allowed;border-color:#65798d}.region-state{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;padding:2px 8px;border-radius:12px;background:#071d37dd;border:1px solid #b29b69a8;color:#fff0bb}.region-card.completed{border-color:#f6d77b;box-shadow:0 0 12px #efd17a55,0 7px 20px #0006}.region-card.completed .region-state{background:#264b53e8;color:#fbf3b6}.region-card.unlocked{border-color:#ffe795;box-shadow:0 0 17px #e3b6566b}.region-card:not(:disabled):hover,.region-card:focus-visible{transform:translateY(-6px) scale(1.018);box-shadow:0 0 22px #ffd96b88}.region-card:not(:disabled):hover .art>img{transform:scale(1.08)}.card-shimmer{position:absolute;inset:0;background:linear-gradient(110deg,transparent 36%,#fff8bb2b 48%,transparent 60%);transform:translateX(-120%);pointer-events:none}.region-card.unlocked .card-shimmer,.region-card.completed .card-shimmer{animation:button-sweep 8s calc(var(--order)*.8s) ease-in-out infinite}.card-meter{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);display:grid;z-index:1;font:700 24px/.9 Georgia;color:#fff6cf;text-shadow:0 0 7px #fff4,1px 2px #831857;animation:triple-beat 2.4s ease-in-out infinite}.card-meter b{display:block}.region-card[data-region="3"] .art:before{content:'';position:absolute;z-index:1;inset:72% 0 0;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 10px,#93e7ff44 12px,transparent 15px);opacity:.5;animation:lake-ripple 7s linear infinite;pointer-events:none}.crystal-flash:after{content:'';position:absolute;inset:0;background:#fff1b9aa;animation:launch-flash .4s ease-out both;pointer-events:none}.castle-action{display:flex;gap:20px;align-items:center;justify-content:center;border:1px solid #c4a159;background:linear-gradient(90deg,#0a2b4d,#17405c,#0a2b4d);padding:18px;border-radius:9px;color:#ffe8a6;margin-top:24px;font-size:13px}.callout-icon{font-size:52px;color:#e4ba61;text-shadow:0 0 20px #e3bc6555}.lower .callout{background:linear-gradient(120deg,#082442,#03162b)!important;border:1px solid #b68d4d!important;position:relative;overflow:hidden;box-shadow:inset 0 0 15px #5ec7ff15,0 5px 18px #0004}.lower .callout h3{font-size:24px}.lower .callout p{font-size:12px}.royal-victory{--award:#f0c45d}.royal-victory[data-tier="bronze"]{--award:#e1a168}.royal-victory[data-tier="silver"]{--award:#badff6}.award-reveal{text-align:center;padding:30px 22px 35px;border:1px solid var(--award);border-radius:14px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#23557d,#061c37 70%);margin:0 0 30px;box-shadow:0 0 30px #73b9ec22}.award-reveal h1{font-size:clamp(28px,4vw,52px);color:var(--award);margin:13px 0;letter-spacing:1px;text-shadow:0 3px 1px #17385b,0 0 20px #ffda7833}.award-reveal>small{color:var(--award);letter-spacing:3px}.award-reveal>p{color:#e7eff2;max-width:720px;margin:10px auto;font-size:15px}.royal-medal{position:relative;width:100px;margin:auto;animation:medal-reveal 1.2s cubic-bezier(.2,.7,.3,1) both;filter:drop-shadow(0 0 20px var(--award))}.royal-medal svg{width:70px;height:95px}.award-crown{display:block;color:#ffe589;font-size:40px;margin-bottom:-17px;text-shadow:0 0 12px #ffe08a}.certificate-unlocked{color:#f3df9c;font-size:11px;letter-spacing:2px;margin-top:20px;animation:unlock-light 1s .3s ease-out both}.royal-victory[data-tier="gold"] .award-reveal:after{content:'';position:absolute;inset:-50%;pointer-events:none;background:repeating-conic-gradient(from 0deg,transparent 0 22deg,#ffe08a11 23deg 24deg,transparent 25deg 45deg);animation:royal-rays 35s linear infinite}.royal-cert-teaser{position:relative;max-width:310px;aspect-ratio:595/842;margin:20px auto;box-shadow:0 13px 35px #0007;background-size:100% 100%;border-radius:5px;overflow:hidden}.royal-cert-teaser>img{width:100%;height:100%;object-fit:fill;display:block}.royal-cert-teaser>div{position:absolute;top:43%;left:12%;width:76%;text-align:center;color:#123c72}.royal-cert-teaser strong{font:700 11px Georgia;display:block}.royal-cert-teaser span{font:700 16px Georgia;display:block;margin-top:16px}.royal-cert-teaser canvas{display:block;width:100%;height:100%;position:relative;z-index:1}.royal-certificate-preview{max-width:595px;margin:15px auto;background:#fff;box-shadow:0 7px 20px #0004}.royal-certificate-preview canvas{display:block;width:100%;height:auto}.modal:has(.royal-certificate-dialog){max-width:780px}.royal-certificate-dialog h2{margin:12px 0}.royal-certificate-dialog .actions{justify-content:center}.royal-certificate-dialog .btn{font-size:11px}.royal-certificate-dialog #royalStatus{text-align:center;font-size:12px}.low-power .hero-magic,.low-power .waterfall-flow,.low-power .cloud-two,.low-power .castle-beams{display:none}.low-power .region-card .art>img,.low-power .card-shimmer{animation:none}.low-power .hero-explorer{animation-duration:9s}.low-power .cloud-one{animation-duration:80s}
@keyframes kingdom-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes emblem-open{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes title-sheen{0%,70%,100%{background-position:0 50%}85%{background-position:100% 50%}}@keyframes adventurer-idle{0%,100%{transform:translate(var(--mx,0px),var(--my,0px)) scaleY(1) skewX(0)}50%{transform:translate(var(--mx,0px),calc(var(--my,0px) - 2px)) scaleY(1.01) skewX(.3deg)}}@keyframes start-glow{0%,100%{box-shadow:0 0 0 3px #a06a26,0 0 18px #e9af3d66,inset 0 2px #fff7cd}50%{box-shadow:0 0 0 3px #b98935,0 0 29px #f6ca6377,inset 0 2px #fff7cd}}@keyframes button-sweep{0%,70%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}@keyframes cloud-drift{from{translate:-5% 0}to{translate:7% 0}}@keyframes water-flow{from{background-position:0 0}to{background-position:0 110px}}@keyframes island-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(.5deg)}}@keyframes music-drift{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(22px,-26px);opacity:.8}}@keyframes castle-radiance{0%,100%{opacity:.45}50%{opacity:1}}@keyframes launch-flash{from{opacity:1}to{opacity:0}}@keyframes route-travel{from{transform:translateX(-17px);opacity:.3}50%{opacity:1}to{transform:translateX(23px);opacity:.3}}@keyframes crystal-idle{0%,100%{transform:scale(1.035) translateY(0)}50%{transform:scale(1.045) translateY(-3px)}}@keyframes card-arrival{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes triple-beat{0%,18%,36%,100%{scale:1}8%,26%,44%{scale:1.06}}@keyframes lake-ripple{from{background-position:0 0}to{background-position:35px 16px}}@keyframes medal-reveal{0%{opacity:0;transform:scale(.3) rotate(-12deg)}65%{opacity:1;transform:scale(1.07) rotate(2deg)}100%{transform:scale(1)}}@keyframes unlock-light{from{opacity:0;letter-spacing:5px}to{opacity:1;letter-spacing:2px}}@keyframes royal-rays{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:1100px){.cinematic-landing.hero{padding:40px 25px;min-height:500px}.hero-logo{width:132px;height:132px}.cinematic-landing h1{font-size:52px}.class-ribbon{font-size:14px}.hero-slogan{margin-left:140px;font-size:13px}.cinematic-landing .hero-copy{width:62%}.cinematic-landing .hero-explorer{right:21%;height:74%}.cinematic-landing .floating-note{max-width:275px;font-size:10px;padding:12px}.cinematic-landing .floating-note strong{font-size:12px}.epic-start.btn{padding:12px 17px;font-size:13px;min-height:52px}.region-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.region-card .body h3{font-size:21px}.region-card .body small{font-size:12px}.region-card .art{max-height:230px;aspect-ratio:1.25}.region-section h2{font-size:30px}.region-state{font-size:11px}.lower .callout h3{font-size:21px}}
@media(max-width:650px){.cinematic-landing.hero{margin:13px 0 17px;padding:24px 18px 210px;min-height:650px}.cinematic-landing .hero-copy{width:100%;max-width:100%}.hero-brandline{gap:5px}.hero-logo{width:105px;height:105px}.cinematic-landing h1{font-size:clamp(32px,8.5vw,49px);letter-spacing:-1.7px;margin-bottom:8px}.class-ribbon{font-size:12px;padding:2px 18px}.hero-slogan{margin:14px 0 20px;font-size:13px;max-width:85%}.cinematic-landing .hero-explorer{height:43%;right:11%;bottom:8px}.landing-world .kingdom-art{object-position:76% 34%;opacity:.9}.landing-world:after{background:linear-gradient(180deg,#02132988 5%,#02132966 45%,transparent 75%)}.cinematic-landing .floating-note{left:12px;right:auto;bottom:20px;max-width:60%;font-size:9px;padding:10px;min-height:65px}.cinematic-landing .floating-note strong{font-size:11px}.cinematic-landing .actions{max-width:none;gap:11px}.cinematic-landing .epic-start{font-size:12px;width:100%;padding:12px 14px}.cinematic-landing .actions .light{min-height:43px;padding:9px 16px;font-size:12px}.home-audio{gap:6px;margin-top:13px;flex-wrap:wrap}.home-audio .btn{min-height:36px;font-size:10px;padding:5px 8px}.floating-island{width:65px;left:65%;top:53%}.waterfall-flow,.cloud-two{display:none}.hero-magic i:nth-child(n+7){display:none}.region-section{padding:13px 0}.region-section .section-head{display:block}.region-section h2{font-size:27px}.crystal-count{display:inline-block;font-size:10px;padding:7px 10px;margin-bottom:5px}.world-route{margin-bottom:14px}.route-segment b{width:20px;height:20px;font-size:9px}.route-segment i{font-size:17px}.route-castle{font-size:26px}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-card .art{aspect-ratio:1;max-height:none}.region-card .body{padding:10px 3px}.region-card .body h3{font-size:15px}.region-card .body small{font-size:9px}.region-state{font-size:9px}.region-card .num{font-size:10px;padding:1px 7px;left:6px;top:6px}.card-meter{font-size:24px}.castle-action{flex-direction:column;text-align:center;font-size:11px;padding:15px}.lower .callout h3{font-size:21px}.lower .callout p{font-size:11px}.royal-victory .page-title h1{font-size:34px}.award-reveal{padding:22px 12px}.award-reveal h1{font-size:29px}.award-reveal>p{font-size:13px}.certificate-unlocked{font-size:8px;letter-spacing:1px}.royal-certificate-dialog .actions .btn{width:100%;font-size:11px}.royal-cert-teaser{max-width:260px}.royal-certificate-dialog .fieldnote{font-size:11px}.footer{gap:12px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.cinematic-landing *,.region-section *,.royal-victory *{animation:none!important;transition:none!important}.hero-magic,.castle-beams,.waterfall-flow{display:none!important}}.reduced-motion .hero-magic,.reduced-motion .castle-beams,.reduced-motion .waterfall-flow{display:none}
body:has(.overlay) .game-shell>.journey{visibility:hidden}.overlay .journey{display:none}
.royal-victory .award-reveal .award-context{font-size:11px;color:#abc5d9;margin-top:15px}
@media(max-width:480px){.nav{height:auto;min-height:105px;flex-wrap:wrap;padding:10px 0 7px;gap:5px}.nav .brand{width:100%}.navlinks{width:100%;justify-content:space-between;gap:5px}.navlinks button{min-height:37px}.navlinks .btn{min-height:35px}body:has(.game-shell) .nav{height:auto;min-height:105px}.hero-brandline{min-width:0}}@media(max-width:380px){.hero-logo{width:78px;height:78px}.cinematic-landing h1{font-size:32px;letter-spacing:-1.2px}.class-ribbon{font-size:11px}.region-card .body h3{font-size:13px}.region-card .body small{font-size:8px}}
.lower .callout{padding:24px 18px 22px 150px;min-height:170px}.lower .callout>div,.lower .callout>.btn{position:relative;z-index:1}.callout-art{position:absolute;left:-7px;bottom:-4px;width:160px;height:160px;object-fit:contain;pointer-events:none}.lower .callout:nth-child(2){padding-left:135px}.lower .callout:nth-child(2) .callout-art{width:145px;height:145px}@media(max-width:650px){.lower .callout{padding:21px 15px 20px 116px;min-height:185px}.callout-art{width:124px;height:134px;left:-9px;bottom:3px}.lower .callout:nth-child(2){padding-left:112px}.lower .callout:nth-child(2) .callout-art{width:120px;height:140px}.lower .callout .btn{font-size:10px;min-height:38px;padding:7px 11px}}
.reward-particles{position:absolute;inset:0;pointer-events:none;z-index:0}.reward-particles i{position:absolute;left:50%;top:32%;width:4px;height:6px;background:var(--award);border-radius:50%;box-shadow:0 0 8px var(--award);animation:reward-burst 1.9s var(--delay) ease-out 2 both}.royal-victory[data-tier="silver"] .reward-particles i{width:3px;height:3px}.royal-victory[data-tier="bronze"] .reward-particles i{animation-iteration-count:1}.award-reveal>*:not(.reward-particles){position:relative;z-index:1}@keyframes reward-burst{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.8)}}.low-power .reward-particles i:nth-child(n+9),.reduced-motion .reward-particles{display:none}@media(prefers-reduced-motion:reduce){.reward-particles{display:none}}

/* Five touch actions remain reachable on narrow phones, including simultaneous movement. */
.controls .control{touch-action:none;user-select:none;-webkit-user-select:none}.control[data-key="slide"][aria-pressed="true"]{background:#c99c43;color:#112533;box-shadow:0 0 12px #e7c87177}
.game-shell .controls{position:sticky;bottom:0;z-index:35;background:#102633ed;padding:10px;border-radius:12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(max-width:480px){.controls{flex-wrap:wrap;justify-content:space-between;gap:8px}.controlgroup{gap:5px;flex-wrap:wrap}.controls .control{min-width:44px;min-height:48px;padding:7px 8px;font-size:11px}.controls .controlgroup:last-child{margin-left:auto}.controls #labGame{min-width:40px}}

/* The global game canvas ratio must never distort selection canvases. */
.live-preview canvas#selectionCanvas{display:block;width:100%;max-width:500px;height:auto;aspect-ratio:500 / 470;object-fit:contain;touch-action:pan-y;margin:0 auto;outline-offset:-4px}
.turntable-tools{padding:0 14px 18px}.turntable-tools .fieldnote{font-size:12px;line-height:1.5;margin:0 0 10px}.turntable-rotation{display:flex;align-items:center;gap:10px}.turntable-rotation label{flex:1;min-width:0;font-size:12px}.turntable-rotation input{display:block;width:100%;min-height:44px;accent-color:#e3ba62}.turntable-rotation button{min-width:44px;min-height:44px}.turntable-tools #turnAuto{min-height:44px;width:100%;margin-top:8px}.turntable-tools #previewStatus{font-size:13px;min-height:22px;color:#e8d6a9;margin:8px 0}.preview-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.preview-actions button{min-height:44px;font-size:12px;padding:8px 11px}.preview-actions button[aria-pressed="true"],#turnAuto[aria-pressed="true"]{background:#bc9140;color:#102633;border-color:#ffe09c}
@media(max-width:650px){.live-preview:has(.turntable-tools){max-width:390px}.live-preview canvas#selectionCanvas{width:100%;height:auto;max-width:340px;aspect-ratio:500 / 470}.selection-layout{gap:16px}.selection-layout .equipment-grid{margin-top:0}.turntable-tools{padding:0 10px 14px}.preview-actions button{flex:1 1 auto}}
