/* One visual family for the pyramid and its letter bank. */
#main{max-width:600px;padding:0 20px calc(16px + env(safe-area-inset-bottom));}
.game-top{gap:10px}.info-toggle{font:600 20px var(--display)}
.stage-title h1{margin:6px 0 0}.stage-title>span{font-size:10px}
.pyramid{--tile:72px;padding:24px 0 20px;gap:12px;margin:0;}
.pyramid[data-layers="3"]{--tile:78px}.pyramid[data-layers="5"]{--tile:67px}.pyramid[data-layers="6"]{--tile:60px}.pyramid[data-layers="7"]{--tile:53px}.pyramid[data-layers="8"]{--tile:47px}
.pyramid-row{gap:10px}.tile,.letter-btn.tile{border-radius:24%;border:0;background:linear-gradient(135deg,#f7d789,#efbf65);box-shadow:inset 3px 4px 6px #fff7,inset -3px -4px 6px #a9783d36,0 9px 12px #6e4b623d;}
.tile.used{opacity:1}.tile.used .cube-front{color:#90734c}
.game-controls{max-width:none;margin:0;width:100%;padding:0;border:0;background:none;box-shadow:none;}
.letter-rack{position:relative;isolation:isolate;display:block;margin:0 auto 14px;padding:8px 0 16px;min-height:0;overflow:visible;--tile:64px;}
.bank-row{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 10px;}
.letter-btn.tile{width:var(--tile);height:var(--tile);padding:0;font:600 calc(var(--tile)*.46) var(--display);color:#654c38;opacity:1;transition:filter .15s;}
.letter-btn.tile:hover:enabled{background:linear-gradient(135deg,#f7d789,#efbf65);transform:none;filter:brightness(1.06)}
.letter-btn.tile:active:enabled{transform:none;filter:brightness(.96)}
.letter-btn.tile:disabled{opacity:1;cursor:default;}.letter-btn.tile:disabled .cube-front{color:#917657}
.letter-btn small{z-index:3;top:3px;right:3px;min-width:16px;height:16px;display:grid;place-items:center;border-radius:50%;font:600 11px var(--display);color:#745526;background:#fff0c5;}
.webgl-ready .tile:after{left:13%;right:7%;bottom:-10px;height:10px;background:#68445c55;filter:blur(6px);transform:translate(var(--shadow-x,0px),var(--shadow-y,0px));}
.webgl-ready .tile.used:after{opacity:1;}.letter-rack.webgl-ready .tile{background:none!important;box-shadow:none!important;}
.actions{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:10px;max-width:330px;margin:0 auto;}
.actions .primary,.actions .secondary{height:46px;min-height:46px;border:0;border-radius:14px;font:500 16px var(--display);padding:0 20px;white-space:nowrap;box-shadow:inset 0 2px 3px #fff3,0 4px 0 #80688e,0 7px 10px #6e4b6220;}
.actions .primary{flex:1;max-width:none;background:#9475ab;color:#fffaf5}
.actions .secondary{flex:0 0 auto;background:#eed9e9;color:#72557e;box-shadow:inset 0 2px 3px #fff6,0 4px 0 #b9a0b6,0 7px 10px #6e4b6218;}
.actions .erase{width:54px;padding:0;font-size:25px;}.actions button:disabled{opacity:.65}
#feedback:empty{display:none}#feedback:not(:empty){margin:20px 0 0;font-size:13px;}
.level-dock{padding-top:23px;gap:24px}.level-dock button{min-height:32px;font-size:12px;}
.info-dialog{border:0;border-radius:25px;background:#faf3f6;padding:30px 24px 24px;width:calc(100% - 36px);max-width:410px;max-height:85dvh;overflow:auto;box-shadow:0 16px 70px #50344b38;color:#60445d;}
.info-dialog::backdrop{background:#40253855;backdrop-filter:blur(5px);}
.info-dialog h2{font:600 27px var(--display);margin:0 32px 18px 0}.info-dialog p{font-size:15px;line-height:1.65;margin:0 0 15px;}.info-dialog .motion-tip{font-size:13px;color:#806777;}
.info-dialog .hint-box{font-size:16px;text-align:left;justify-content:flex-start;padding:8px 0 12px;}.info-dialog .hint-box>span{display:none;}
.info-done{width:100%;margin-top:20px;min-height:46px}.keyboard-option{padding:12px 0 17px}.keyboard-option summary{cursor:pointer;font-size:14px;}.keyboard-option .input-label{margin-top:15px}.keyboard-option input{background:#fff;color:#60445d;height:44px;font-size:23px;}.keyboard-done{margin-top:12px;width:100%;}.info-dialog .text-button{margin-top:12px;display:block;font-size:13px;}
@media(max-width:600px){
 #main{padding-left:16px;padding-right:16px}.game-top{height:64px;gap:8px}.round-icon{width:36px;height:36px}.play-brand{font-size:18px}.top-points{padding:7px 10px}.stage-title h1{font-size:26px;}.stage{padding-top:2px}
 .pyramid{--tile:min(72px,calc((100vw - 68px)/4));gap:11px;}
 .pyramid[data-layers="3"]{--tile:min(78px,calc((100vw - 58px)/3));}
 .pyramid[data-layers="5"]{--tile:min(67px,calc((100vw - 78px)/5));}
 .pyramid[data-layers="6"]{--tile:min(60px,calc((100vw - 88px)/6));}
 .pyramid[data-layers="7"]{--tile:min(53px,calc((100vw - 98px)/7));}
 .pyramid[data-layers="8"]{--tile:min(47px,calc((100vw - 108px)/8));}
 .pyramid-row{gap:9px}.letter-rack{--tile:clamp(48px,16vw,64px);margin-bottom:10px}.bank-row{gap:13px 9px}.level-dock{gap:20px;padding-top:20px;}
}
@media(max-height:700px) and (max-width:600px){
 .game-top{height:54px}.stage-title>span{display:none}.stage-title h1{font-size:23px;margin:2px 0 0;}.pyramid{padding:18px 0 14px;gap:8px;--tile:min(54px,calc((100vw - 68px)/4));}
 .pyramid[data-layers="3"]{--tile:min(64px,calc((100vw - 58px)/3));}.pyramid[data-layers="5"]{--tile:min(47px,calc((100vw - 78px)/5));}.pyramid[data-layers="6"]{--tile:min(41px,calc((100vw - 88px)/6));}.pyramid[data-layers="7"]{--tile:min(35px,calc((100vw - 98px)/7));}.pyramid[data-layers="8"]{--tile:min(30px,calc((100vw - 108px)/8));}
 .letter-rack{--tile:48px;padding-top:4px;padding-bottom:14px;}.actions .primary,.actions .secondary{height:44px;min-height:44px;}.level-dock{padding-top:16px;}
}
