@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&display=swap');
:root{font-family:'Nunito',system-ui,sans-serif;color:#fff;background:#75aa2d;font-synthesis:none;--ink:#284923;--muted:#edf5dc;--gold:#ffd14e;--board-size:min(760px,calc(100vw - 32px),calc(100svh - 335px))}*{box-sizing:border-box}body{margin:0;background:linear-gradient(155deg,#629b26 0%,#80b734 65%,#74ab2d 100%);min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffe76e;outline-offset:4px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}button{transition:filter .15s,transform .15s}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px)}header{height:80px;display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:0 30px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;font-size:27px;font-weight:900;letter-spacing:-1px}.brand-light{font-weight:700}.brand-mark{color:#ffe079;width:40px;height:40px;display:grid;place-items:center;font:38px Georgia}.header-right{display:flex;align-items:center;gap:21px}.star-total{color:#ffe16f;font-size:23px}.star-total span{font-size:14px;color:#fff}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f9dd76;color:#6b5216;font-weight:900;border:3px solid #ffffff80}.help-button,.round-control{border:2px solid #ffffff80;background:transparent;border-radius:50%;width:30px;height:30px;font-weight:900;flex-shrink:0}.gold-piece{filter:sepia(1) saturate(4.8) hue-rotate(352deg) brightness(1.05) drop-shadow(0 2px 0 #835d2545)}.home{max-width:1140px;margin:auto;padding:37px 28px 25px}.home-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:1.6px;color:#edf6d8;margin-bottom:9px}h1{font-size:42px;line-height:1.18;letter-spacing:-.7px;font-weight:900}.green-dot{color:#ffe078}.home-top p{font-size:17px;margin-top:10px}.progress-summary{text-align:right;width:200px}.progress-summary>strong{display:block;font-size:34px}.progress-summary strong span{font-size:20px;color:#e1efca}.progress-summary>span{font-size:14px}.progress-track{height:10px;border-radius:9px;background:#ffffff5e;overflow:hidden;margin-top:12px}.progress-track i{display:block;height:100%;background:var(--gold);border-radius:9px;transition:width .4s}.continue-card{display:flex;align-items:center;gap:24px;border-radius:23px;background:#4d8426;color:white;padding:26px 30px;box-shadow:0 5px 0 #3e7323}.continue-card .eyebrow{color:#e8f3d9}.continue-card h2{font-size:26px;font-weight:900}.continue-card p{margin-top:6px;font-size:14px;color:#f1f6e7}.continue-icon{width:74px;height:74px;background:#70a83a;border-radius:20px;display:grid;place-items:center;flex-shrink:0}.continue-icon img{width:56px}.primary{background:var(--gold);border:0;border-bottom:4px solid #dfa52f;border-radius:14px;padding:14px 23px;display:inline-flex;align-items:center;justify-content:center;gap:20px;color:#594314;font-weight:900;min-height:52px}.continue-card .primary{margin-left:auto;white-space:nowrap}.path-heading{display:flex;align-items:center;justify-content:space-between;margin:38px 0 20px}.path-heading h2{font-size:26px;font-weight:900}.path-heading>span{font-size:14px}.level-path{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.level-card{position:relative;border-radius:23px;background:#fbfff1;color:var(--ink);box-shadow:0 6px 0 #52852b;padding:23px 25px;overflow:hidden}.card-top{display:flex;align-items:center;justify-content:space-between}.level-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);border-bottom:4px solid #e5b039;color:#745519;font-weight:900;font-size:22px}.card-status{font-size:12px;font-weight:800;color:#557442;padding:5px 9px;border-radius:20px;background:#eaf3dc}.card-piece{display:flex;align-items:center;justify-content:center;height:116px;margin:14px 0 20px;background:#dcecbf;border-radius:18px}.blue .card-piece{background:#deeee8}.orange .card-piece{background:#f9edc5}.card-piece img{width:84px}.level-card .eyebrow{color:#638047}.level-card h3{font-size:24px;font-weight:900;letter-spacing:-.5px}.level-card>p{font-size:15px;color:#547045;margin-top:6px}.challenge-dots{display:flex;gap:7px;margin:22px 0}.challenge-dots span{height:9px;flex:1;background:#e6eedb;border-radius:8px}.challenge-dots .filled{background:#91bd3f}.card-bottom{display:flex;justify-content:space-between;align-items:center}.card-bottom>span{font-size:14px;color:#547045}.circle-button{width:40px;height:40px;border-radius:50%;border:0;background:#e3efcc;color:#4f702d;font-size:25px}.home-note{display:flex;justify-content:center;align-items:center;gap:10px;margin:32px 0 14px;font-size:15px}.home-note>span{color:#ffe071;font-size:26px}.device-note{text-align:center;font-size:13px}footer{text-align:center;font-size:12px;color:#f3f9e7;margin-top:26px}footer a{color:inherit}.chapter{max-width:800px;margin:auto;padding:24px 28px 60px}.text-button{border:0;background:transparent;padding:11px 3px;font-weight:700;font-size:15px;color:inherit}.text-button:hover{text-decoration:underline}.chapter>.eyebrow{margin-top:22px}.chapter-intro{font-size:18px;margin:15px 0 30px}.lesson-list{display:grid;gap:13px}.lesson-row{display:flex;align-items:center;gap:18px;text-align:left;background:#faffed;color:var(--ink);border:0;border-bottom:4px solid #54882b;border-radius:17px;padding:17px 20px}.lesson-number{flex-shrink:0;display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#ffe08a;color:#735623;font-weight:900;font-size:20px}.lesson-number.finished{background:#d2eab1;color:#467323}.lesson-row strong{display:block;font-size:18px}.lesson-row small{display:block;font-size:13px;color:#58724c;margin-top:5px}.lesson-arrow{margin-left:auto;font-size:24px}
/* One focused learning surface: lesson, target, board, controls. */
.play{max-width:1000px;margin:0 auto;padding:12px 16px 24px;min-height:100svh}.play-nav{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:auto;height:39px;gap:15px}.play-nav>span{font-size:13px;font-weight:700;color:#f2f9e8}.play-nav .text-button{font-size:14px}.lesson-heading{text-align:center;max-width:620px;margin:14px auto 27px;padding:0 10px}.piece-title{display:flex;align-items:center;justify-content:center;gap:12px;min-height:42px}.piece-title img{width:36px;height:36px}.piece-title h1{font-size:30px;font-weight:900;letter-spacing:0}.lesson-heading p{font-size:16px;font-weight:700;line-height:1.4;max-width:500px;margin:12px auto 0}.game-surface{max-width:760px;margin:auto;text-align:center}.game-goal{font-size:28px;line-height:1.2;font-weight:900;margin:0 0 13px;text-shadow:0 2px 0 #45762030}.lesson-progress{height:13px;border-radius:16px;background:#e8e6dc;width:58%;max-width:440px;margin:0 auto 18px;box-shadow:inset 0 1px 2px #38622120;overflow:hidden}.lesson-progress i{display:block;height:100%;background:linear-gradient(#ffdb62,#f6bc36);border-radius:16px;transition:width .3s}.board-frame{width:var(--board-size);min-width:260px;max-width:100%;margin:0 auto;border:0;border-radius:0;overflow:hidden}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;width:100%;background:#7eaf34}.square{position:relative;border:0;padding:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:0;min-width:0;box-shadow:inset 0 0 0 .5px #ffffff48}.square.light{background:#f4f2ec}.square.dark{background:#81b23a}.square:hover{box-shadow:inset 0 0 0 3px #ffe169}.square.selected{background:#efd860;box-shadow:inset 0 0 0 3px #f8df69}.square:focus-visible{outline:3px solid #e2aa24;outline-offset:-4px;z-index:3}.square img{width:82%;height:82%;position:relative;z-index:2;pointer-events:none}.square img:not(.gold-piece){filter:drop-shadow(0 2px 0 #0002)}.rank,.file{position:absolute;font-size:12px;line-height:1;font-weight:700;z-index:4;color:#527435}.dark .rank,.dark .file{color:#f7fbea}.rank{top:4px;left:4px}.file{bottom:3px;right:4px}.target-star{font-family:Arial,sans-serif;font-size:clamp(27px,calc(var(--board-size) / 10),72px);line-height:1;color:#ffd150;-webkit-text-stroke:2px #efb233;filter:drop-shadow(0 3px 0 #c9962340);pointer-events:none}.target-ring{position:absolute;inset:7%;border:3px dashed #dba22c;border-radius:50%;z-index:3}.move-dot{position:absolute;width:24%;height:24%;background:#ecce576b;border:2px solid #e1bd45;border-radius:50%}.play-feedback{max-width:660px;margin:17px auto 0;font-size:16px;line-height:1.4;min-height:23px;padding:0 8px}.play-feedback.quiet{font-size:13px;color:#f4f9e9}.play-feedback.error,.play-feedback.info,.play-feedback.success{border-radius:12px;padding:13px 17px;background:#42731f;color:white;border:1px solid #ffffff25}.play-feedback.error{background:#fff0c9;color:#75531a}.play-feedback.success{background:#386b20}.play-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin:9px auto 0;flex-wrap:wrap}.play-controls .text-button{font-size:14px}.next-button{margin-top:16px;min-width:220px}.finish{max-width:680px;text-align:center;margin:auto;padding:50px 25px;display:flex;flex-direction:column;align-items:center;gap:20px}.finish-medal{background:#ffd15b;color:#fff1ad;font-size:74px;width:132px;height:132px;display:grid;place-items:center;border-radius:50%;border:8px solid #e8b543;box-shadow:0 8px 0 #558a27}.finish .eyebrow{margin:15px 0 0}.finish p{font-size:19px;line-height:1.6}.finish-skills{padding:20px;background:#5c9528;border-radius:18px;line-height:1.6;margin-bottom:5px}dialog{border:0;border-radius:24px;padding:35px;max-width:480px;width:calc(100% - 35px);box-shadow:0 20px 90px #152d2d30;color:var(--ink);background:#fbfff0}dialog::backdrop{background:#24421990;backdrop-filter:blur(3px)}dialog .eyebrow{color:#547342}dialog h2{font-size:27px;margin:20px 0}dialog p{font-size:16px;line-height:1.6;margin:15px 0}dialog .primary{margin-top:15px}.close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px;width:35px;height:35px}
@media(min-width:700px) and (min-height:1000px){:root{--board-size:min(820px,calc(100vw - 32px),calc(100svh - 370px))}.play{max-width:1000px;padding-top:20px}.game-surface{max-width:850px}.lesson-heading{margin-top:24px;margin-bottom:65px}.piece-title h1{font-size:32px}.lesson-heading p{font-size:17px}.game-goal{font-size:30px}.lesson-progress{margin-bottom:22px}.play-feedback.quiet{display:none}.play-controls{margin-top:22px}}
@media(max-width:800px){.level-path{gap:15px}.level-card{padding:20px 17px}.level-card h3{font-size:21px}.continue-card{padding:23px}.continue-card h2{font-size:23px}.header-right{gap:14px}}
@media(max-width:600px){:root{--board-size:calc(100vw - 16px)}header{height:70px;padding:0 20px}.brand{font-size:23px;gap:5px}.brand-mark{width:32px;font-size:31px}.header-right{gap:10px}.avatar{width:30px;height:30px}.help-button{width:27px;height:27px}.star-total{font-size:20px}.home{padding:25px 20px}h1{font-size:34px}.home-top{align-items:flex-start;gap:16px}.home-top p{font-size:15px}.progress-summary{width:80px;flex-shrink:0}.progress-summary>strong{font-size:27px}.progress-summary>span{font-size:11px}.continue-card{gap:14px;padding:21px 20px;flex-wrap:wrap;border-radius:20px}.continue-icon{width:50px;height:58px;border-radius:15px}.continue-icon img{width:43px}.continue-card>div:nth-child(2){flex:1}.continue-card h2{font-size:21px}.continue-card .eyebrow{font-size:10px;letter-spacing:1px}.continue-card .primary{width:100%;margin-top:6px}.path-heading{margin:30px 0 18px}.path-heading h2{font-size:22px}.path-heading>span{font-size:12px}.level-path{grid-template-columns:1fr;gap:20px}.level-card{padding:22px 23px}.card-piece{float:right;width:95px;height:95px;margin:20px 0 12px 12px}.card-piece img{width:67px}.level-card>.eyebrow{margin-top:26px}.level-card h3{font-size:24px}.level-card>p{font-size:14px}.challenge-dots{clear:both;margin:22px 0 14px}.home-note{align-items:flex-start;text-align:left;font-size:14px;line-height:1.5}.chapter{padding:20px}.chapter h1{font-size:34px}.lesson-row{padding:14px;gap:12px}.lesson-row strong{font-size:16px}.play{padding:8px 8px 20px}.play-nav{padding:0 7px}.lesson-heading{margin:14px auto 23px;padding:0 18px}.piece-title h1{font-size:25px}.piece-title img{width:32px;height:32px}.lesson-heading p{font-size:15px;line-height:1.4;margin-top:9px}.game-goal{font-size:25px;margin-bottom:12px}.lesson-progress{height:11px;width:66%;margin-bottom:15px}.play-feedback{font-size:15px;margin-top:15px}.play-feedback.quiet{font-size:12px}.play-controls{gap:18px;margin-top:7px}.play-controls .text-button{font-size:13px}.rank,.file{font-size:10px}.target-star{-webkit-text-stroke:1.5px #efb233}.finish h1{font-size:34px}}
@media(max-height:650px) and (min-width:601px){:root{--board-size:350px}.lesson-heading{margin:5px auto 15px}.lesson-heading p{margin-top:6px}.game-goal{font-size:24px}.play{padding-top:5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Demo and five-game practice layer */
.sound-toggle{border:1px solid #ffffff70;background:#ffffff18;border-radius:20px;padding:7px 11px;font-size:12px;font-weight:800;color:#fff}
.demo-label{font-size:11px;letter-spacing:1.8px;font-weight:900;color:#f5f9df;margin:0 0 7px}
.demo-caption{min-height:24px;max-width:650px;margin:0 auto 13px;font-size:15px;line-height:1.35;color:#fff;font-weight:700}
.demo-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;margin:17px auto 0}
.demo-actions .text-button{font-size:14px}.demo-playing{font-size:14px;font-weight:800;color:#f3f8e6}
.voice-note{font-size:12px;color:#f1f8e5;margin-top:10px}.game-counters{display:flex;align-items:center;justify-content:center;gap:15px;margin:0 auto 10px;color:#f6fbe9;font-size:13px;font-weight:800}.game-dots{display:flex;gap:6px}.game-dot{border:0;width:25px;height:25px;border-radius:50%;background:#ffffff42;color:#fff;font-size:11px;font-weight:900;padding:0}.game-dot.current{background:#ffd556;color:#634915;box-shadow:0 0 0 3px #ffffff45}.game-dot.complete{background:#d9ee9c;color:#426b22}.round-result{font-size:13px;color:#f3f8e6;margin-top:10px;font-weight:800}.card-bottom small{font-size:12px;color:#77955e}.challenge-dots .partial{background:linear-gradient(90deg,#91bd3f 50%,#e6eedb 50%)}
.demo-trace{position:absolute;z-index:6;inset:0;width:100%;height:100%;pointer-events:none}.board-frame{position:relative}.board-frame.board-correct{animation:board-pulse .42s ease}.board-frame.board-wrong{animation:board-shake .42s ease}.square.demo-focus{background:#ffe278!important;box-shadow:inset 0 0 0 4px #df9e22,0 0 0 3px #fff4ad;z-index:4}.square.fx-correct{animation:square-pop .48s ease}.square.fx-win{animation:square-win .75s ease}.square.fx-wrong{animation:square-shake .42s ease}.flying-piece{position:absolute;width:12.5%;height:12.5%;display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none}.flying-piece img{width:82%;height:82%;filter:sepia(1) saturate(4.8) hue-rotate(352deg) brightness(1.05) drop-shadow(0 2px 0 #835d2545)}.celebration{position:absolute;inset:0;z-index:30;overflow:hidden;pointer-events:none}.celebration span{position:absolute;left:var(--x);top:46%;color:var(--color);font-size:clamp(18px,4vw,40px);animation:confetti-fly .85s var(--delay) ease-out forwards;opacity:0;text-shadow:0 2px #b87f2740}.celebration span:nth-child(3n){font-size:clamp(24px,5vw,46px)}
@keyframes board-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.018)}}@keyframes board-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes square-pop{0%{transform:scale(.92)}50%{transform:scale(1.12)}100%{transform:scale(1)}}@keyframes square-win{0%{transform:scale(.92);filter:brightness(1)}45%{transform:scale(1.2);filter:brightness(1.24)}100%{transform:scale(1);filter:brightness(1)}}@keyframes square-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes confetti-fly{0%{opacity:0;transform:translateY(5px) rotate(0) scale(.5)}18%{opacity:1}100%{opacity:0;transform:translate(calc((var(--x) - 50%) * .45),-125px) rotate(calc(360deg * var(--turn))) scale(1)}}
@media(max-width:600px){.sound-toggle{font-size:11px;padding:6px 8px}.game-counters{gap:10px}.game-dot{width:23px;height:23px}.demo-caption{font-size:14px}.demo-actions{gap:10px}.demo-actions .primary{min-height:46px;padding:11px 15px}}

/* The new Level 2 is the purple planning chapter; attack and safety chapters keep their own palettes. */
.play.theme-level-1{--theme-wash:#7952a8}
.play.theme-level-2{--theme-wash:#477db3}
.play.theme-level-3{--theme-wash:#b8753e}
.play.theme-challenge-1-0{--theme-accent:#e5bdff;--theme-dark:#7952a8;--theme-light:#fbf2ff}.play.theme-challenge-1-1{--theme-accent:#9ee3cf;--theme-dark:#328f78;--theme-light:#edfff9}.play.theme-challenge-1-2{--theme-accent:#9cc9ff;--theme-dark:#3e76b0;--theme-light:#eef7ff}.play.theme-challenge-1-3{--theme-accent:#ffb3c8;--theme-dark:#a94e70;--theme-light:#fff0f5}.play.theme-challenge-1-4{--theme-accent:#ffe07d;--theme-dark:#a27e2a;--theme-light:#fff9e2}.play.theme-challenge-1-5{--theme-accent:#8ce0a7;--theme-dark:#438e58;--theme-light:#effff2}
.play.theme-challenge-2-0{--theme-accent:#77d0ee;--theme-dark:#337fa5;--theme-light:#e8f9ff}.play.theme-challenge-2-1{--theme-accent:#b6a8ff;--theme-dark:#6152a0;--theme-light:#f0edff}.play.theme-challenge-2-2{--theme-accent:#8cc8ff;--theme-dark:#3978b4;--theme-light:#edf7ff}.play.theme-challenge-2-3{--theme-accent:#ffdc7c;--theme-dark:#ae7c2e;--theme-light:#fff8df}.play.theme-challenge-2-4{--theme-accent:#ff9e87;--theme-dark:#ad5948;--theme-light:#fff0ec}.play.theme-challenge-2-5{--theme-accent:#77e0c5;--theme-dark:#2c8b78;--theme-light:#eafff9}
.play.theme-challenge-3-0{--theme-accent:#ffb46f;--theme-dark:#aa6031;--theme-light:#fff1e4}.play.theme-challenge-3-1{--theme-accent:#ffc4a1;--theme-dark:#a76251;--theme-light:#fff0eb}.play.theme-challenge-3-2{--theme-accent:#ffdc68;--theme-dark:#9a7928;--theme-light:#fff9df}.play.theme-challenge-3-3{--theme-accent:#f29ba7;--theme-dark:#934c5b;--theme-light:#fff0f3}.play.theme-challenge-3-4{--theme-accent:#d6b0ff;--theme-dark:#72549f;--theme-light:#f7f0ff}.play.theme-challenge-3-5{--theme-accent:#8fd9a8;--theme-dark:#478d5b;--theme-light:#edfff2}

/* Each lesson gets its own visual cue. Demo mode always switches to a calm viewing palette. */
.play{background:linear-gradient(180deg,var(--theme-wash,#6fa82f),transparent 58%);border-radius:28px;--theme-accent:#ffd15a;--theme-wash:#6fa82f;--theme-dark:#81b23a;--theme-light:#f4f2ec}
.play .lesson-progress i{background:linear-gradient(90deg,var(--theme-accent),#fff0a6)}
.play .game-dot.current{background:var(--theme-accent);color:#604a15}
.play .square.dark{background:var(--theme-dark)}
.play .square.light{background:var(--theme-light)}
.play.theme-level-0{--theme-wash:#6aa52d}.play.theme-level-1{--theme-wash:#477db3}.play.theme-level-2{--theme-wash:#b8753e}
.play.theme-challenge-0-0{--theme-accent:#f4c542;--theme-dark:#79ad37;--theme-light:#fff6dc}.play.theme-challenge-0-1{--theme-accent:#8fd4bb;--theme-dark:#3d9a80;--theme-light:#e9fff5}.play.theme-challenge-0-2{--theme-accent:#d7a0f4;--theme-dark:#8653a8;--theme-light:#f9edff}.play.theme-challenge-0-3{--theme-accent:#76c8ee;--theme-dark:#3487b2;--theme-light:#eaf8ff}.play.theme-challenge-0-4{--theme-accent:#ff9cb4;--theme-dark:#b44f72;--theme-light:#fff0f4}.play.theme-challenge-0-5{--theme-accent:#ffbd70;--theme-dark:#bf7434;--theme-light:#fff2df}.play.theme-challenge-0-6{--theme-accent:#a9d96e;--theme-dark:#5c9a35;--theme-light:#f1ffdf}.play.theme-challenge-0-7{--theme-accent:#e8b9ff;--theme-dark:#7758a9;--theme-light:#f8f0ff}.play.theme-challenge-0-8{--theme-accent:#7de2d1;--theme-dark:#2c9585;--theme-light:#e9fffb}
.play.theme-challenge-1-0{--theme-accent:#77d0ee;--theme-dark:#337fa5;--theme-light:#e8f9ff}.play.theme-challenge-1-1{--theme-accent:#b6a8ff;--theme-dark:#6152a0;--theme-light:#f0edff}.play.theme-challenge-1-2{--theme-accent:#8cc8ff;--theme-dark:#3978b4;--theme-light:#edf7ff}.play.theme-challenge-1-3{--theme-accent:#ffdc7c;--theme-dark:#ae7c2e;--theme-light:#fff8df}.play.theme-challenge-1-4{--theme-accent:#ff9e87;--theme-dark:#ad5948;--theme-light:#fff0ec}.play.theme-challenge-1-5{--theme-accent:#77e0c5;--theme-dark:#2c8b78;--theme-light:#eafff9}
.play.theme-challenge-2-0{--theme-accent:#ffb46f;--theme-dark:#aa6031;--theme-light:#fff1e4}.play.theme-challenge-2-1{--theme-accent:#ffc4a1;--theme-dark:#a76251;--theme-light:#fff0eb}.play.theme-challenge-2-2{--theme-accent:#ffdc68;--theme-dark:#9a7928;--theme-light:#fff9df}.play.theme-challenge-2-3{--theme-accent:#f29ba7;--theme-dark:#934c5b;--theme-light:#fff0f3}.play.theme-challenge-2-4{--theme-accent:#d6b0ff;--theme-dark:#72549f;--theme-light:#f7f0ff}.play.theme-challenge-2-5{--theme-accent:#8fd9a8;--theme-dark:#478d5b;--theme-light:#edfff2}
.play.demo-mode{background:radial-gradient(circle at 50% 8%,#5c5a9c 0,#292651 45%,#171936 100%);box-shadow:inset 0 0 0 2px #b9b3ff38,0 10px 35px #17193655;--theme-accent:#f1c76a;--theme-dark:#4d4b86;--theme-light:#e9e8ff}.demo-mode .play-nav>span,.demo-mode .lesson-heading p{color:#e6e4ff}.demo-mode .lesson-heading h1,.demo-mode .game-goal{ text-shadow:0 2px 0 #11132d;color:#fff}.demo-mode .game-surface{background:#17193666;border:1px solid #d9d5ff35;border-radius:24px;padding:18px 14px 16px;box-shadow:0 12px 35px #11132d40}.demo-mode .demo-label{color:#f1c76a}.demo-mode .demo-caption{color:#f6f3ff}.demo-mode .board-frame{border:6px solid #aaa5ec;border-radius:12px;box-shadow:0 0 0 3px #171936,0 12px 25px #11132d77}.demo-mode .demo-actions{margin-top:20px}.demo-mode .demo-playing{color:#dedbff}.demo-mode .text-button{color:#e9e6ff}.demo-mode .square.demo-focus{background:#f6d879!important;box-shadow:inset 0 0 0 4px #fff2ae,0 0 0 3px #8f79d4;}.auto-next{color:#fff4b8;animation:next-pulse 1.2s ease-in-out infinite}.auto-next span{font-weight:700;color:#f4f8e6;font-size:12px}@keyframes next-pulse{50%{opacity:.58}}
/* King danger is visible without needing a hint. */
.danger-cross{position:absolute;color:#a62931;font-size:clamp(18px,4vw,34px);font-weight:900;line-height:1;opacity:.85;pointer-events:none}
.square.selected{background:#efd860!important;box-shadow:inset 0 0 0 3px #f8df69}
.purple .card-piece{background:#e7d9ff}.teal .card-piece{background:#c9f3e7}.rose .card-piece{background:#ffd7e5}.gold .card-piece{background:#ffe6a3}
@media(min-width:900px){.level-path{grid-template-columns:repeat(3,1fr)}}
