.game-screen{touch-action:none;background:radial-gradient(circle at top,#ffde892e,#0000 26%),linear-gradient(#15012c 0%,#090114 100%);width:100vw;height:100vh;position:relative;overflow:hidden}.board-picture{z-index:100}.board-image{z-index:100;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-button{z-index:1810;pointer-events:auto;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;position:absolute;top:14px;left:14px;box-shadow:0 8px 20px #00000047,inset 0 1px #fff3}.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{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;top:16px;right:16px;box-shadow:0 8px 20px #00000047,inset 0 1px #ffffff29}.d20-stage{z-index:1820;pointer-events:none;perspective:1200px;opacity:0;width:240px;height:240px;transition:transform .24s,opacity .24s;position:absolute;top:50%;left:50%;transform:translate(-50%,160%)}.d20-stage--revealed{opacity:1;transform:translate(-50%,-50%)}.d20-stage--exiting{opacity:0;transform:translate(-50%,145%)}.d20{width:84px;height:84px;transform-style:preserve-3d;transform-origin:50%;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)scale(1.5)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}.d20-stage--revealed .d20{animation:3s ease-in-out both d20-spin-reveal}.d20-face{transform-origin:50% 0;width:0;height:0;transform:var(--face-transform);filter:drop-shadow(0 0 10px #ffb1481f);border-bottom:72.744px solid #ffc256f0;border-left:42px solid #0000;border-right:42px solid #0000;position:absolute;bottom:50%;left:0}.d20-face--amber{border-bottom-color:#ffd678f0}.d20-face--gold{border-bottom-color:#ffaa48f0}.d20-face--orange{border-bottom-color:#ff7a36f0}.d20-face--ivory{border-bottom-color:#ffefbcf0}.d20-face span{color:#4b1700;text-shadow:0 1px #ffffff3d;text-align:center;width:84px;font-size:.88rem;font-weight:900;position:absolute;top:44px;left:-42px;transform:translateY(-50%)}.control-dock{padding:18px max(16px, env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));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}@keyframes d20-spin-reveal{0%{transform:translate(-50%,-50%)scale(1.5)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}to{transform:translate(-50%,-50%)scale(1.5)rotateX(342deg)rotateY(504deg)rotate(176deg)}}@media (width<=900px){.d20-stage{width:216px;height:216px}.d20{transform:translate(-50%,-50%)scale(1.3)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}.d20-stage--revealed .d20{animation:3s ease-in-out both d20-spin-reveal-medium}.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){.d20-stage{width:188px;height:188px}.d20{transform:translate(-50%,-50%)scale(1.1)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}.d20-stage--revealed .d20{animation:3s ease-in-out both d20-spin-reveal-small}.status-group{grid-template-columns:1fr}.machine-button--primary{width:100%}}@keyframes d20-spin-reveal-medium{0%{transform:translate(-50%,-50%)scale(1.3)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}to{transform:translate(-50%,-50%)scale(1.3)rotateX(342deg)rotateY(504deg)rotate(176deg)}}@keyframes d20-spin-reveal-small{0%{transform:translate(-50%,-50%)scale(1.1)rotateX(-18deg)rotateY(24deg)rotate(-4deg)}to{transform:translate(-50%,-50%)scale(1.1)rotateX(342deg)rotateY(504deg)rotate(176deg)}}
