:root{--coral:#CC7575;--sage:#929487;--teal:#24645e;--lemon:#ECE5B6;--burgundy:#350C0C;--world-ink:#350C0C;--world-muted:#526658;--world-line:#24645e30;--world-panel:#fffdf1}
body,body[data-challenge="easy"],body[data-challenge="medium"],body[data-challenge="hard"],body[data-challenge="full"]{color:var(--burgundy);background:#f7f3db;background-image:linear-gradient(165deg,#f8f5df,#e9f1e7 55%,#e3eee4);background-attachment:fixed}
body:before{background:none}.world-cubes{position:fixed;inset:0;z-index:0;pointer-events:none;background:url('/assets/light-pyramid-world-wide.svg?v=27') center bottom/cover no-repeat;overflow:hidden}.world-cube,.world-terraces{display:none}
.ambient-glow:before{background:radial-gradient(circle,#fffbe06b,transparent 66%)}.ambient-glow:after{background:radial-gradient(circle,#24645e16 0%,#cc757512 35%,transparent 67%)}
#main{position:relative;z-index:1}.game-top{border-bottom:1px solid #24645e1c}.play-brand{color:var(--teal);text-shadow:none}.play-brand em{color:#9d5258}
.round-icon{background:#fffdf1cc;color:var(--teal);border:1px solid #24645e30;box-shadow:0 3px 0 #24645e12}.round-icon:hover{background:#ece5b6}
.top-points{background:var(--lemon);color:var(--burgundy);border:1px solid #92948735;box-shadow:0 4px 0 #92948735}.top-points strong,.top-points span,.top-points small{color:var(--burgundy)}
.stage{position:relative}.stage-title{position:relative;z-index:1}.stage-title>span{color:#36716a;letter-spacing:2.4px}.stage-title h1{color:#24645e;text-shadow:0 1px 0 #fff;font-weight:600}
.pyramid:before{height:40px;bottom:-4px;left:9%;right:9%;background:#24645e29;filter:blur(20px)}.pyramid-base{display:block;width:72%;height:8px;background:#cc757548;box-shadow:0 7px 24px #24645e25;border-radius:50%}
.pyramid-row.active-row:before{content:'';position:absolute;inset:-7px -10px;background:#24645e16;border:1px solid #24645e25;border-radius:13px;box-shadow:0 0 24px #24645e15;z-index:-1;pointer-events:none}.row-marker{color:#24645e}
.pyramid:not(.webgl-ready) .tile,.letter-rack:not(.webgl-ready) .letter-btn{background:linear-gradient(145deg,#f6f0cc,var(--lemon));color:var(--burgundy);border-color:#ece5b6;box-shadow:inset 0 3px 0 #ffffff55,inset 0 -4px 0 #92948725,0 4px 0 #92948788}
.pyramid:not(.webgl-ready) .pyramid-row:nth-child(4n + 2) .tile:not(.unknown):not(.entered):not(.correct){background:var(--coral);color:var(--burgundy);box-shadow:inset 0 3px 0 #ece5b655,0 4px 0 #a85b65}
.pyramid:not(.webgl-ready) .pyramid-row:nth-child(4n + 3) .tile:not(.unknown):not(.entered):not(.correct){background:var(--teal);color:var(--lemon);box-shadow:inset 0 3px 0 #ece5b644,0 4px 0 #164b47}
.pyramid:not(.webgl-ready) .pyramid-row:nth-child(4n + 4) .tile:not(.unknown):not(.entered):not(.correct){background:var(--sage);color:var(--burgundy);box-shadow:inset 0 3px 0 #ece5b633,0 4px 0 #707665}
.pyramid:not(.webgl-ready) .tile.unknown{background:#24645e99!important;color:var(--lemon);border:1px solid #24645e6b;box-shadow:0 4px 0 #3b7a70}.pyramid:not(.webgl-ready) .tile.selected-tile.unknown{background:var(--lemon)!important;color:var(--burgundy)}.tile.unknown.selected-tile .cube-front{color:var(--burgundy)}
.pyramid:not(.webgl-ready) .tile.entered{background:var(--teal);color:var(--lemon)}.pyramid:not(.webgl-ready) .tile.correct{background:var(--sage);color:var(--burgundy)}.webgl-ready .tile:after{background:#476e6132;filter:blur(7px)}
.game-controls{position:relative;background:#fffdf1bb;border:1px solid #ffffffd9;border-radius:24px;padding:15px 12px 17px;box-shadow:0 8px 28px #24645e12;backdrop-filter:blur(5px)}
.letter-rack .letter-btn small{color:var(--burgundy);font-weight:700;z-index:4;background:var(--lemon);border-radius:6px;padding:1px 3px;min-width:12px;text-align:center}
.actions{max-width:410px;gap:8px}.actions .primary,.actions .secondary{height:52px;min-height:52px;border-radius:13px;padding:0 14px;font-size:15px}.actions .primary{background:var(--teal);color:var(--lemon);box-shadow:inset 0 2px 0 #ece5b644,0 4px 0 #164b47}.actions .primary:hover:enabled{background:#347c73;box-shadow:0 4px 0 #164b47}
.actions .secondary{background:#ecf2e2;color:#24645e;border:1px solid #24645e35;box-shadow:0 4px 0 #24645e25}.actions .secondary:hover:enabled{background:#d9e7dd}.actions .erase{width:44px;padding:0;font-size:23px}
.actions .solution-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:110px;padding:0 10px;color:var(--burgundy);background:#f4d9d4;border-color:#cc75757a;font-size:14px}.solution-button .solution-cost{font-size:11px;color:#713d47;line-height:1.25;white-space:nowrap}
.level-dock{position:relative}.level-dock button,.level-dock button:hover{color:#24645e}.level-dock button{padding:9px 11px;background:#fffdf1e6;border:1px solid #24645e35;border-radius:12px;box-shadow:0 3px 0 #24645e12}.level-dock button:hover{background:#e7efdf}
.feedback{background:#e8f0e5;color:var(--burgundy);border:1px solid #24645e35}.feedback.success{background:#e8eede;color:var(--burgundy);border-color:#92948766}.feedback h3{color:#24645e}.meaning-list span{background:#fffdf1cc;color:var(--burgundy)}.auto-next-note,.reward-note,.reward-heading{color:var(--world-muted)}
.reward-layer{background:#fffdf1d9;border-color:#24645e35;color:#24645e}.reward-layer.current{background:#e7eadb;border-color:var(--sage);color:var(--burgundy)}
.info-dialog,.settings-dialog,.menu-dialog{color:var(--burgundy);background:linear-gradient(145deg,#fffdf1,#edf2df);border:1px solid #24645e55;box-shadow:0 20px 80px #24645e44}.dialog-close{background:#dce8da;color:#24645e}.info-dialog h2,.info-dialog h3,.menu-dialog h2,.settings-dialog h2,.unlock-list h3{color:#24645e}.info-dialog p,.info-dialog .motion-tip,.hint-box,.menu-dialog>p,.settings-dialog p{color:var(--world-muted)}
.info-dialog::backdrop,.settings-dialog::backdrop,.menu-dialog::backdrop{background:#24645e32;backdrop-filter:blur(5px)}
.menu-tabs details,.name-edit{background:#fffdf1a6;border-color:#24645e35}.menu-tabs details[open],.name-edit[open]{background:#ece5b64d}.menu-tabs summary,.name-edit summary{color:#24645e}.menu-tabs summary:after,.name-edit summary:after{color:#a75860}.menu-panel p{color:var(--world-muted)}
.primary,.welcome-continue,.menu-dialog .primary,.time-result .primary,.settings-dialog .primary{background:var(--teal);color:var(--lemon);box-shadow:0 4px 0 #164b47}.primary:hover:enabled{background:#347c73;box-shadow:0 4px 0 #164b47}
.secondary,.menu-dialog .secondary,.time-result .secondary,.settings-dialog .secondary,.settings-dialog .mode-tabs button,.settings-dialog .difficulty-btn{color:#24645e;background:#fffdf1a6;border:1px solid #24645e44;box-shadow:none}.settings-dialog .mode-tabs button.active,.settings-dialog .difficulty-btn.active{background:var(--lemon);color:var(--burgundy);border-color:#92948788}.mode-tabs,.settings-card .mode-tabs{background:#24645e0d}.setting-label,.difficulty-btn .dots,.difficulty-btn small,.setting-note,.data-status{color:var(--world-muted)}.difficulty-btn.active .dots,.difficulty-btn.active small{color:var(--burgundy)}
.settings-dialog .select,.player-name{background:#fffdf1;color:var(--burgundy);border:1px solid #24645e66}.settings-dialog .select option{background:#fffdf1}.player-name::placeholder{color:#627360}.player-name-label{color:var(--world-muted)}
.welcome-screen{background:#fffdf1ad;border:1px solid #ffffffb3;padding:25px 20px;border-radius:28px;box-shadow:0 12px 40px #24645e12;backdrop-filter:blur(5px)}.welcome-screen h1{color:#24645e}.welcome-screen>p,.welcome-points small,.welcome-stats span,.welcome-screen .save-note,.welcome-screen .resume-detail{color:var(--world-muted)}.welcome-points strong{color:#24645e}.welcome-points span{color:var(--burgundy)}.played-modes{background:#ece5b659;border:1px solid #92948735}.welcome-screen .text-button{color:#24645e}
.intro h1,.section-card h2{color:#24645e;text-shadow:none}.intro p,.eyebrow,.section-card p,.section-card li,.history-item small,.unlock-item small{color:var(--world-muted)}.section-card,.stat-item{background:#fffdf1e6;color:var(--burgundy);border-color:#24645e35;box-shadow:0 5px 16px #24645e0c}.unlock-item{border-color:#24645e35}.unlock-open{color:#59614a}.unlock-item button{color:#24645e}
.challenge-clock{background:#ece5b6d9;border:1px solid #92948766;color:var(--burgundy)}
.points-bubble{color:var(--burgundy);background:radial-gradient(circle at 25% 20%,#fffdf1,var(--lemon) 70%);border-color:var(--teal);box-shadow:0 0 28px #24645e33,inset 0 3px 7px #ffffff88}.top-points.points-arrived{animation:world-points-received .45s ease-out}@keyframes world-points-received{0%,100%{transform:scale(1)}40%{transform:scale(1.12);box-shadow:0 0 22px #24645e55}}
.language-controls,.language-controls button{color:#24645e}.language-controls{width:max-content;background:#fffdf1b3;border-radius:18px;padding:5px 10px;margin:12px auto}.language-controls button[aria-pressed="true"]{background:#dceadf;color:#24645e}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,.language-controls button:focus-visible{outline-color:#24645e}
.settings-dialog .mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:7px;border-radius:17px}.settings-dialog .mode-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:87px;padding:12px 7px;font-size:13px;line-height:1.35}
.mode-symbol{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:29px;height:26px;color:var(--coral)}.mode-tabs button.active .mode-symbol{color:var(--teal)}.symbol-row{display:flex;gap:2px}.symbol-row i{display:block;width:6px;height:6px;border-radius:2px;background:currentColor;box-shadow:inset 0 1px 0 #ece5b655}.mode-symbol[data-symbol="classic"] .symbol-row:last-of-type i,.mode-symbol[data-symbol="random"] .symbol-row:nth-child(2) i,.mode-symbol[data-symbol="full"] .symbol-row i{background:none;border:1px solid currentColor;opacity:.85}.mode-symbol[data-symbol="timed"] b{position:absolute;right:-9px;top:0;font:500 16px var(--display);color:#24645e}.mode-tabs button.active .mode-symbol b{color:var(--burgundy)}
.stat-icon{color:#a75860;background:#cc75751c}.text-button{color:#24645e}.status-dot{background:var(--sage);box-shadow:0 0 8px #92948744}.stat-item b{color:#24645e}
.rising-cubes{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rising-cube{position:absolute;top:0;left:var(--rise-left);width:var(--rise-size);height:calc(var(--rise-size)*1.25);opacity:0;filter:drop-shadow(0 7px 6px #24645e19);animation:scenery-rise var(--rise-duration) linear var(--rise-delay) infinite;will-change:transform,opacity}
.rising-cube svg{display:block;width:100%;height:100%;overflow:visible}
@keyframes scenery-rise{0%{transform:translate3d(-50%,110vh,0) rotate(-8deg);opacity:0}8%{opacity:.65}88%{opacity:.65}100%{transform:translate3d(-50%,-25vh,0) rotate(8deg);opacity:0}}
.pyramid{row-gap:17px}.pyramid-row{gap:11px}.letter-rack{row-gap:13px}
.pyramid:not(.webgl-ready) .tile,.letter-rack:not(.webgl-ready) .letter-btn{border-radius:10%;box-shadow:inset 0 3px 0 #ffffff66,inset -5px -6px 0 #350c0c1c,5px 5px 0 #92948765,0 10px 14px #24645e18}
@media(max-width:600px){.rising-cube{animation-duration:calc(var(--rise-duration)*1.1);max-width:40px}.pyramid{row-gap:13px}.pyramid-row{gap:9px}}
@media(prefers-reduced-motion:reduce){.rising-cube{animation:none;will-change:auto;opacity:.55;transform:translate(-50%,calc(14vh + var(--rise-order)*10vh))}}
@media(max-width:600px){.world-cubes{background-image:url('/assets/light-pyramid-world-tall.svg?v=27');background-position:center bottom}.stage-title h1{font-size:27px}.level-dock{gap:10px}.level-dock button{font-size:12px}.game-controls{padding-left:7px;padding-right:7px}.actions .primary,.actions .secondary{padding:0 10px}.actions .erase{padding:0}.actions .solution-button{padding:0 7px;min-width:100px}.language-controls{margin-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:380px){.actions{gap:5px}.actions .primary,.actions .secondary{font-size:14px;padding:0 7px}.actions .erase{width:36px;padding:0}.actions .solution-button{min-width:99px;padding:0 6px}.solution-button .solution-cost{font-size:11px}.welcome-screen{padding-left:15px;padding-right:15px}}

:root{--plum:#24645E;--ink:#350C0C;--muted:#526658}
.pyramid-row,.bank-row{--block-fill:var(--lemon);--block-ink:var(--burgundy)}
.pyramid-row:nth-child(4n + 2){--block-fill:var(--coral)}.pyramid-row:nth-child(4n + 3){--block-fill:var(--teal);--block-ink:var(--lemon)}.pyramid-row:nth-child(4n + 4){--block-fill:var(--sage)}
.tile.unknown,.tile.entered{--block-fill:var(--teal);--block-ink:var(--lemon)}.tile.unknown.selected-tile{--block-fill:var(--lemon);--block-ink:var(--burgundy)}.tile.correct,.letter-btn:disabled{--block-fill:var(--sage);--block-ink:var(--burgundy)}
.pyramid:not(.webgl-ready) .tile,.letter-rack:not(.webgl-ready) .letter-btn.tile{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.pyramid:not(.webgl-ready) .cube-front,.letter-rack:not(.webgl-ready) .cube-front{inset:auto;left:4%;top:20%;width:76%;height:76%;background:var(--block-fill);color:var(--block-ink)!important;transform:skewY(8deg);border-radius:7%;box-shadow:inset 2px 2px 0 #ffffff25,0 6px 9px #24645e1c;z-index:2}
.pyramid:not(.webgl-ready) .cube-top,.letter-rack:not(.webgl-ready) .cube-top{display:block;position:absolute;inset:auto;left:4%;top:5%;width:76%;height:17%;background:var(--block-fill);filter:brightness(1.15);transform:skewX(-48deg);transform-origin:bottom left;border-radius:5%;z-index:1}
.pyramid:not(.webgl-ready) .cube-right,.letter-rack:not(.webgl-ready) .cube-right{display:block;position:absolute;inset:auto;right:0;top:15%;width:20%;height:76%;background:var(--block-fill);filter:brightness(.76);transform:skewY(-25deg);border-radius:5%;z-index:1}
