.game-screen{touch-action:none;width:100dvw;height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(circle at top,#ffde892e,#0000 26%),linear-gradient(#15012c 0%,#090114 100%);position:fixed;inset:0;overflow:hidden}.board-camera{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);will-change:transform;position:absolute;inset:0}.board-picture{z-index:100}.board-image{z-index:100;-webkit-user-select:none;user-select:none;pointer-events:none;display:block}.game-hud{z-index:1800;color:#fff8df;pointer-events:none;position:fixed;inset:0}.game-vignette{background:linear-gradient(#0b011447 0%,#0000 18% 62%,#0b0114e6 100%),radial-gradient(circle,#0000 45%,#07010e66 100%);position:absolute;inset:0}.hud-icon-group{top:calc(14px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));z-index:1810;pointer-events:auto;gap:8px;display:flex;position:absolute}.hud-icon-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:0;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 8px 20px #00000047,inset 0 1px #fff3}.hud-icon-button--subtle{color:#ffffffdb;background:#ffffff14;width:38px;height:38px;margin-top:2px}.hud-icon-button[aria-pressed=true]{color:#fff8df;background:#ffde8938}.hud-icon-button:hover{background:#ffffff2e}.hud-icon-button:active{transform:translateY(1px)}.hud-icon-button span{font-size:1.15rem;line-height:1}.hud-timer{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));z-index:1810;color:#fff8df;text-align:center;letter-spacing:.08em;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border-radius:999px;min-width:88px;padding:8px 12px;font-size:.92rem;font-weight:800;position:absolute;box-shadow:0 8px 20px #00000047,inset 0 1px #ffffff29}.control-dock{padding:18px max(16px, env(safe-area-inset-left,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-right,0px));gap:14px;display:grid;position:absolute;bottom:0;left:0;right:0}.control-dock__panel{pointer-events:auto;background:linear-gradient(#2c0a38f5,#0b0415f5),linear-gradient(135deg,#ffffff14,#0000 42%);border:2px solid #ffd67847;border-radius:28px;box-shadow:0 18px 48px #0000006b,inset 0 2px #ffffff24,inset 0 -10px 18px #00000080}.control-dock__panel--status{padding:14px}.control-dock__panel--controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;padding:16px;display:grid}.status-group{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.status-card{background:linear-gradient(#ffffff0f,#ffffff05),#00000047;border:1px solid #ffffff14;border-radius:20px;padding:12px 14px;box-shadow:inset 0 1px #ffffff14}.status-card--edge{border-color:#4cc9f066}.status-card--task{border-color:#ffd0666b}.status-card--double{border-color:#ff4d6d6b}.status-card--half,.status-card--rest{border-color:#6cf4be66}.status-card--ruin,.status-card--finish{border-color:#ff93527a}.status-card__label{letter-spacing:.14em;text-transform:uppercase;color:#fff8dfb8;font-size:.72rem;display:block}.status-card__value{margin-top:6px;font-size:clamp(1rem,2.2vw,1.4rem);font-weight:800;display:block}.machine-actions{justify-content:center;align-items:center;display:flex}.control-dock__spacer{min-width:0}.machine-button{appearance:none;color:#fffbea;cursor:pointer;font:inherit;text-transform:uppercase;letter-spacing:.06em;border:0;font-weight:900;transition:transform .14s,filter .14s,box-shadow .14s;box-shadow:0 12px #00000047,0 22px 30px #00000047,inset 0 2px #ffffff47}.machine-button:hover{filter:brightness(1.08)}.machine-button:active{transform:translateY(8px);box-shadow:0 4px #00000047,0 10px 18px #00000038,inset 0 1px #ffffff38}.machine-button:disabled{cursor:not-allowed;filter:grayscale(.2)brightness(.7);transform:none;box-shadow:0 8px #00000038,0 18px 24px #0003,inset 0 1px #ffffff2e}.machine-button--primary{text-shadow:0 2px #620c00a6;background:linear-gradient(#ff7b6b 0%,#ff5034 42%,#b80e00 100%);border-radius:24px;min-width:clamp(132px,22vw,190px);min-height:84px;padding:0 22px}.overlay-shell{box-sizing:border-box;z-index:1900;pointer-events:auto;background:radial-gradient(circle at top,#ffd36929,#0000 30%),#080314c2;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.overlay-shell--passive{pointer-events:none}.overlay-card{text-align:center;background:linear-gradient(#32083cf5,#0c0416f5),linear-gradient(135deg,#ffffff14,#0000 40%);border:2px solid #ffd67840;border-radius:28px;width:min(92vw,460px);padding:26px;box-shadow:0 26px 54px #00000073,inset 0 2px #ffffff24,inset 0 -12px 18px #0000006b}.overlay-card h1{text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:clamp(1.8rem,5vw,2.5rem)}.overlay-card p{margin:8px 0}.overlay-card--danger{border-color:#ff5b7a6b}.overlay-card--success{border-color:#68f2b86b}.overlay-card--warning{border-color:#ffd06675}.overlay-card__counter{color:#ffd46d;text-shadow:0 0 18px #ffd46d33;margin:16px 0 22px;font-size:clamp(2rem,7vw,3.1rem);font-weight:900}.overlay-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.overlay-button{color:#fff8df;min-width:140px;font:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:linear-gradient(#ff7b6b 0%,#b80e00 100%);border:0;border-radius:18px;padding:12px 16px;font-weight:800;box-shadow:0 10px #00000042,0 18px 24px #00000038,inset 0 2px #ffffff38}.overlay-button--secondary{background:linear-gradient(#5ecbff 0%,#0d3e8c 100%)}.overlay-button:active{transform:translateY(6px);box-shadow:0 4px #00000042,0 10px 18px #0000002e,inset 0 1px #ffffff2e}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.control-dock__panel--controls{grid-template-columns:1fr}.machine-actions{order:-1;width:100%}.machine-button--primary{width:100%}.status-group{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.status-group{grid-template-columns:1fr}.machine-button--primary{width:100%}}
