game-screen{--game-margin: clamp(.75rem, 3vw, 1.5rem);display:flex;flex-direction:column;align-items:center;gap:.85rem;height:100%;padding:.5rem 0 max(env(safe-area-inset-bottom),.9rem);overflow:hidden}game-screen>game-hud,game-screen>action-bar,game-screen>number-pad{flex-shrink:0;padding-inline:var(--game-margin)}board-frame{position:relative;flex:1 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;--board-space: 300px;--board-side: min(var(--board-space), 540px)}board-frame>board-view{width:var(--board-side);height:var(--board-side)}@media(max-width:939px){board-frame>board-view{border-inline:none;box-shadow:none}}board-frame>pause-veil{position:absolute;inset:0;margin:auto;width:var(--board-side);height:var(--board-side)}action-bar{display:flex;gap:clamp(.75rem,4vw,1.6rem)}action-key{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:72px}action-key button{position:relative;display:grid;place-items:center;width:60px;height:60px;background:var(--color-surface-container-lowest);border:var(--frame-width) solid var(--frame-color);box-shadow:3px 3px 0 var(--shadow-ink);color:var(--color-on-surface-variant);transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-spring),background-color .2s var(--ease-emphasized),color .2s var(--ease-emphasized)}action-key m-symbol{font-size:28px}action-key button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow-ink)}action-key[action=undo] button:hover{background:var(--color-secondary-container);color:var(--color-on-secondary-container)}action-key[action=erase] button:hover{background:var(--color-coral-container);color:var(--color-on-coral-container)}action-key[action=notes] button:hover{background:var(--color-primary-container);color:var(--color-on-primary-container)}action-key[action=hint] button:hover{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container)}action-key button:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--shadow-ink)}action-key button:disabled{box-shadow:none;transform:none}action-key m-symbol{transition:font-variation-settings .2s var(--ease-emphasized)}action-key[state=on] button{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow-ink)}action-key[state=on] m-symbol{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" var(--icon-grade),"opsz" 24}key-label{font-size:.78rem;font-weight:600;color:var(--color-on-surface-variant)}key-badge{position:absolute;top:-10px;right:-10px;min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;background:var(--color-primary);color:var(--color-on-primary);font-size:.74rem;font-weight:700;transform:rotate(4deg)}key-badge:empty{display:none}pause-veil{z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;background:color-mix(in srgb,var(--color-surface) 72%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;opacity:1;transition:opacity .25s var(--ease-emphasized)}pause-veil[active=false]{opacity:0;pointer-events:none}pause-veil button{display:grid;place-items:center;width:76px;height:76px;background:var(--color-primary);color:var(--color-on-primary);border:var(--frame-width) solid var(--color-primary);box-shadow:5px 5px 0 var(--color-tertiary-container);transition:transform .3s var(--ease-spring)}pause-veil[active=true] button{animation:veil-pop .45s var(--ease-spring)}@keyframes veil-pop{0%{transform:scale(.6)}}pause-veil button m-symbol{font-size:34px;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" var(--icon-grade),"opsz" 24}veil-label{font-weight:700;color:var(--color-on-surface-variant)}@media(min-width:940px){game-screen{display:grid;grid-template:"hud hud" auto "board pad" auto "board actions" 1fr / minmax(0,1fr) 330px;column-gap:clamp(1.5rem,4vw,3rem);row-gap:1.25rem;width:min(100%,1040px);margin-inline:auto;align-content:center;padding:1rem var(--game-margin) max(env(safe-area-inset-bottom),.9rem)}game-screen>game-hud,game-screen>action-bar,game-screen>number-pad{padding-inline:0}game-hud{grid-area:hud}board-frame{grid-area:board;width:100%;height:100%;min-height:0;justify-content:flex-end;--board-side: min(var(--board-space), 600px)}board-frame>pause-veil{margin-right:0}number-pad{grid-area:pad;align-self:start}action-bar{grid-area:actions;justify-content:space-between;align-self:start}}
