:root{--coral:#EE438A;--sage:#FFAD80;--teal:#C82769;--lemon:#FFEDD9;--burgundy:#24304B;--world-ink:#24304B;--world-muted:#60677A;--plum:#C82769;--ink:#24304B;--muted:#60677A}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body,body[data-challenge="easy"],body[data-challenge="medium"],body[data-challenge="hard"],body[data-challenge="full"]{color:#24304B;background:linear-gradient(165deg,#EEFCFE,#FFF0E5 55%,#FFE8F1)}
.ambient-glow:before{background:radial-gradient(circle,#ffae8060,transparent 66%)}.ambient-glow:after{background:radial-gradient(circle,#27cfe222,transparent 67%)}
.screen-header{background:#f9fcffdf;border-radius:0 0 18px 18px}.game-top{height:60px;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #27cfe225}.game-top .round-icon{background:#ffffffb3;color:#24304B;border:1px solid #27cfe244;box-shadow:none;width:40px;height:40px}
.language-controls{display:block;min-height:0;margin:0;padding:0;background:none;width:auto}.language-select{height:38px;width:116px;border:1px solid #27cfe244;border-radius:12px;background:#FFF9F5;color:#24304B;font:500 12px var(--body);padding:0 7px}
.top-points{background:#FFEDD9;color:#24304B;border:1px solid #EE438A;box-shadow:0 3px 0 #ae205b66;padding:7px 12px}.top-points strong,.top-points span,.top-points small{color:#24304B}
.stage-title{margin-top:7px;text-align:center}.stage-title h1{font-size:clamp(21px,4.5vw,28px);line-height:1.25;color:#24304B;text-shadow:none}.stage-title p{color:#60677A;font-size:14px;line-height:1.5;margin:5px 0 0}.stage-title>span{display:none}
.pyramid[data-layers]{animation:whole-pyramid-hover 10s ease-in-out infinite;will-change:transform}.pyramid:before{background:#27cfe22b}.pyramid-row.active-row:before{background:#27cfe216;border-color:#27cfe240;box-shadow:0 0 24px #27cfe225}.row-marker{color:#C82769}
@keyframes whole-pyramid-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.tile.unknown,.tile.entered{--block-fill:#C82769;--block-ink:#fff}.tile.correct{--block-fill:#FFAD80;--block-ink:#24304B}.tile.unknown.selected-tile{--block-fill:#FFEDD9;--block-ink:#24304B}.pyramid-row:nth-child(4n + 3){--block-fill:#C82769;--block-ink:#fff}
.letter-rack .letter-btn small{background:#FFEDD9;color:#24304B}.webgl-ready .tile:after{background:#24304B33}
.game-controls{background:#ffffffc9;border-color:#fff;box-shadow:0 8px 28px #27cfe215}
.actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:none;gap:7px;align-items:stretch}
.actions .primary,.actions .secondary,.actions .erase,.actions .solution-button,.actions .pick-challenge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;max-width:none;height:68px;min-height:68px;padding:7px 4px;border:1px solid #ae205b;border-radius:14px;background:#C82769;color:#fff;box-shadow:inset 0 2px 0 #ffffff66,0 4px 0 #931B4E;font:600 13px var(--display);line-height:1.15;white-space:normal;overflow-wrap:anywhere;text-align:center}
.actions .primary:hover:enabled,.actions .secondary:hover:enabled,.actions .pick-challenge:hover:enabled{background:#DD3279;box-shadow:inset 0 2px 0 #ffffff66,0 4px 0 #931B4E;transform:none}.actions button:disabled{opacity:.5}
.actions .erase>span{font-size:24px;line-height:1}.actions .erase small,.solution-button .solution-cost{font:500 11px var(--body);color:#fff;white-space:normal;line-height:1.15}
.level-dock{padding:0 0 3px;gap:0}.challenge-summary{font-size:12px;color:#60677A}.feedback,.feedback.success{color:#24304B;background:#FFE4EF;border:1px solid #EE438A}.feedback h3{color:#24304B}.meaning-list span{background:#FFF9F5;color:#24304B}.auto-next-note,.reward-note,.reward-heading{color:#60677A}
.info-dialog,.settings-dialog,.menu-dialog{background:linear-gradient(145deg,#FFF9F5,#EEFCFE);color:#24304B;border-color:#27cfe244;box-shadow:0 20px 80px #27cfe232}.info-dialog::backdrop,.settings-dialog::backdrop,.menu-dialog::backdrop{background:#27cfe22b}.dialog-close{background:#C8F2F6;color:#24304B}.info-dialog h2,.info-dialog h3,.menu-dialog h2,.settings-dialog h2,.unlock-list h3{color:#24304B}.info-dialog p,.info-dialog .motion-tip,.hint-box,.menu-dialog>p,.settings-dialog p{color:#60677A}
.menu-tabs details,.name-edit{background:#ffffffb3;border-color:#27cfe235}.menu-tabs details[open],.name-edit[open]{background:#FFE4EF}.menu-tabs summary,.name-edit summary{color:#24304B}.menu-tabs summary:after,.name-edit summary:after{color:#C82769}.menu-panel p{color:#60677A}
.primary,.welcome-continue,.menu-dialog .primary,.time-result .primary,.settings-dialog .primary{background:#C82769;color:#fff;box-shadow:0 4px 0 #931B4E}.primary:hover:enabled{background:#DD3279;box-shadow:0 4px 0 #931B4E}
.secondary,.menu-dialog .secondary,.time-result .secondary,.settings-dialog .secondary,.settings-dialog .mode-tabs button,.settings-dialog .difficulty-btn{color:#24304B;background:#FFF9F5;border:1px solid #27cfe244;box-shadow:none}.settings-dialog .mode-tabs button.active,.settings-dialog .difficulty-btn.active{background:#FFEDD9;color:#24304B;border-color:#ae205b}
.setting-label,.difficulty-btn .dots,.difficulty-btn small,.setting-note,.data-status,.unlock-item small,.intro p,.eyebrow,.section-card p,.section-card li,.history-item small{color:#60677A}.settings-dialog .select,.player-name{color:#24304B;border-color:#27cfe255;background:#FFF9F5}.player-name::placeholder{color:#637188}
.welcome-screen{background:#ffffffe0;border-color:#fff}.welcome-screen h1,.welcome-points strong,.intro h1,.section-card h2,.stat-item b{color:#24304B}.welcome-screen>p,.welcome-points small,.welcome-stats span,.welcome-screen .save-note,.welcome-screen .resume-detail,.player-name-label{color:#60677A}.played-modes{background:#FFE4EF;border-color:#EE438A66}.welcome-screen .text-button,.text-button{color:#C82769}
.section-card,.stat-item{background:#ffffffde;border-color:#27cfe233;color:#24304B}.unlock-item{border-color:#27cfe233}.unlock-open{color:#C82769}.unlock-item button{color:#24304B}.mode-symbol,.stat-icon{color:#EE438A}.mode-tabs button.active .mode-symbol,.mode-symbol[data-symbol="timed"] b,.mode-tabs button.active .mode-symbol b{color:#C82769}
.reward-layer{background:#ffffffdb;border-color:#27cfe233;color:#24304B}.reward-layer.current{background:#FFEDD9;border-color:#ae205b;color:#24304B}.challenge-clock{background:#FFEDD9;border-color:#ae205b;color:#24304B}
.points-bubble{background:radial-gradient(circle at 25% 20%,#FFF5ED,#FFEDD9 70%);border-color:#FFAD80;color:#24304B;box-shadow:0 0 28px #EE438A40}.status-dot{background:#27CFE2}.maker-credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;margin:12px auto 0;padding:8px;font-size:11px;color:#60677A}.maker-credit strong{font-weight:600;animation:maker-colour 12s ease-in-out infinite}.maker-credit span{font-size:11px}@keyframes maker-colour{0%,100%{color:#C82769}50%{color:#C82769}}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline-color:#C82769}
.intro-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 40%,#FFF0E5,#EEFCFE 70%);overflow:hidden;padding:24px}
.intro-pyramid{display:flex;flex-direction:column;align-items:center;gap:12px;animation:intro-whirl 1.35s 1.8s cubic-bezier(.5,0,.3,1) both}.intro-row{display:flex;gap:10px}.intro-cube{display:block;position:relative;width:48px;height:48px;border-radius:8px;background:#FFEDD9;box-shadow:inset 0 3px 0 #ffffff66,inset -5px -5px 0 #24304B22,5px 5px 0 #E08C67;animation:intro-stack .5s cubic-bezier(.25,.7,.4,1) both;animation-delay:calc((3 - var(--intro-row))*.34s + var(--intro-col)*.06s)}
.intro-row:nth-child(2) .intro-cube{background:#EE438A;box-shadow:inset 0 3px 0 #ffffff66,inset -5px -5px 0 #24304B22,5px 5px 0 #C82769}.intro-row:nth-child(3) .intro-cube{background:#27CFE2;box-shadow:inset 0 3px 0 #ffffff66,inset -5px -5px 0 #24304B22,5px 5px 0 #C82769}.intro-row:nth-child(4) .intro-cube{background:#FFAD80;box-shadow:inset 0 3px 0 #ffffff66,inset -5px -5px 0 #24304B22,5px 5px 0 #E08C67}
.intro-name{position:absolute;top:42%;left:0;right:0;text-align:center;padding:24px;animation:intro-name .7s 2.7s both}.intro-name h1{font:700 clamp(36px,8vw,60px) var(--display);color:#24304B;letter-spacing:-1.5px}.intro-name p{margin-top:10px;font-size:13px;color:#60677A}.intro-name strong{color:#C82769}.intro-skip{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));border:0;border-radius:13px;background:#C82769;color:#fff;padding:13px 18px;font:600 13px var(--body);min-height:44px}
.intro-vortex{position:absolute;top:50%;left:50%;width:230px;height:230px;border:4px dashed #27cfe266;border-right-color:#EE438A;border-top-color:#FFEDD9;border-radius:50%;animation:intro-vortex 1.35s 1.8s linear both}
@keyframes intro-stack{from{opacity:0;transform:translateY(-250px) rotate(-15deg)}75%{opacity:1;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-whirl{0%{transform:rotate(0) scale(1);opacity:1}65%{opacity:1}100%{transform:rotate(540deg) scale(.05);opacity:0}}
@keyframes intro-vortex{0%{transform:translate(-50%,-50%) rotate(0) scale(.4);opacity:0}20%{opacity:1}100%{transform:translate(-50%,-50%) rotate(360deg) scale(1.8);opacity:0}}
@keyframes intro-name{from{opacity:0;transform:translateY(15px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.game-top{height:54px;gap:12px}.language-select{width:111px}.actions{gap:5px}.actions .primary,.actions .secondary,.actions .erase,.actions .solution-button,.actions .pick-challenge{height:70px;min-height:70px;padding:6px 3px;font-size:12px}.game-controls{padding-left:7px;padding-right:7px}.maker-credit{margin-top:7px}.stage-title h1{font-size:23px}}
@media(max-width:360px){.actions{gap:4px}.actions .primary,.actions .secondary,.actions .erase,.actions .solution-button,.actions .pick-challenge{height:74px;min-height:74px;font-size:11px;padding:5px 2px}.solution-button .solution-cost,.actions .erase small{font-size:10px}}
@media(orientation:landscape) and (max-height:500px){.game-top{height:44px}.actions .primary,.actions .secondary,.actions .erase,.actions .solution-button,.actions .pick-challenge{height:62px;min-height:62px;font-size:12px}.intro-cube{width:34px;height:34px}.intro-pyramid{gap:8px}}
@media(prefers-reduced-motion:reduce){.intro-pyramid,.intro-vortex{display:none}.intro-name{animation:none}.maker-credit strong,.pyramid[data-layers]{animation:none;will-change:auto}}
@media(min-width:900px),(min-width:600px) and (orientation:landscape) and (max-height:700px){.play-screen{grid-template-areas:"stage controls";grid-template-rows:auto;align-items:center}.game-controls{align-self:center}}
