:root{--clr-gold-400: #e8c36b;--clr-gold-500: #cda24d;--clr-gold-600: #9f7930;--clr-mint-400: #2cc6a3;--clr-sky-400: #5c8cff;--clr-cream-100: #f7f1e6;--clr-cream-200: #e7dcc8;--clr-ink-700: #14171f;--clr-ink-800: #0b0d12;--clr-ink-900: #050608;--clr-bg: var(--clr-ink-900);--clr-bg-elevated: var(--clr-ink-800);--clr-accent: var(--clr-gold-500);--clr-accent-dim: rgba(205, 162, 77, .22);--clr-border: rgba(255, 255, 255, .08);--clr-border-accent: rgba(205, 162, 77, .28);--clr-status-good: var(--clr-mint-400);--clr-status-warn: var(--clr-gold-400);--clr-status-bad: #ff5d6c;--clr-text-1: #f5f0e0;--clr-text-2: rgba(245, 240, 224, .55);--clr-text-3: rgba(245, 240, 224, .28);--clr-text-accent: var(--clr-gold-500);--surface-1: rgba(11, 13, 18, .68);--surface-2: rgba(11, 13, 18, .88);--surface-border: rgba(255, 255, 255, .07);--surface-blur: blur(14px);--surface-blur-sm: blur(7px);--surface-blur-xs: blur(4px);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .55);--shadow-md: 0 4px 16px rgba(0, 0, 0, .65);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .75);--shadow-accent: 0 0 18px rgba(205, 162, 77, .18);--radius-xs: 3px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--sp-0: 0px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--leading-tight: 1.2;--leading-base: 1.5;--leading-loose: 1.8;--tracking-tight: 0em;--tracking-base: 0em;--tracking-wide: 0em;--tracking-wider: 0em;--tracking-widest: 0em;--z-scene: 0;--z-ui: 10;--z-hud: 20;--z-dev: 25;--z-overlay: 30;--z-modal: 40;--z-loading: 50;--z-top: 100;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--viewport-w: 100vw;--viewport-h: 100vh;--viewport-h-small: 100svh;--viewport-h-dynamic: 100dvh;--viewport-max-w: 960px;--viewport-max-h: 540px;--viewport-bg: var(--clr-bg);--app-frame-shadow: 0 18px 70px rgba(0, 0, 0, .55);--game-board-w: 100%;--game-board-h: 100%;--game-board-aspect: 16 / 9;--hud-pad-x: var(--sp-4);--hud-pad-y: var(--sp-3);--hud-badge-h: 28px;--hud-badge-px: var(--sp-3);--hud-badge-radius: var(--radius-sm);--hud-panel-min-w: 120px;--hud-control-h: 30px;--hud-control-px: var(--sp-3);--hud-edge-gap: var(--sp-4);--dur-instant: 80ms;--dur-fast: .15s;--dur-base: .24s;--dur-slow: .38s;--dur-slower: .6s;--ease-out: cubic-bezier(.25, 0, 0, 1);--ease-in: cubic-bezier(.5, 0, 1, .5);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4}b,strong{font-weight:bolder}code,kbd,samp,pre{font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}:root{--tg-viewport-height: 100dvh;--tg-viewport-stable-height: 100svh;--app-landscape-width: 100vw;--app-landscape-height: 56.25vw ;--app-landscape-scale: 1}html,body,#root{width:100%;height:100%;min-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none}html{background-color:var(--clr-bg);color-scheme:dark}body{position:fixed;inset:0;height:var(--tg-viewport-stable-height, 100dvh);min-height:var(--tg-viewport-stable-height, 100dvh);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:none;-webkit-text-size-adjust:none;background-color:var(--clr-bg);color:var(--clr-text-1)}#root{position:fixed;inset:0;height:var(--tg-viewport-stable-height, 100dvh);min-height:var(--tg-viewport-stable-height, 100dvh)}canvas{display:block;touch-action:none;outline:none;-webkit-tap-highlight-color:transparent}.game-canvas{position:absolute;inset:0;width:var(--game-board-w);height:var(--game-board-h)}.app-shell{position:fixed;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#0a121e}.game-frame{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#0a121e}.safe-area{position:absolute;inset:0;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);pointer-events:none}.ui-layer{position:absolute;inset:0;pointer-events:none;z-index:var(--z-hud)}.loading-screen{position:absolute;inset:0;z-index:var(--z-loading);display:flex;align-items:center;justify-content:center;background:var(--clr-bg)}.loading-screen__spinner{width:36px;height:36px;border:3px solid var(--clr-accent-dim);border-top-color:var(--clr-accent);border-radius:var(--radius-full);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-panel{position:absolute;bottom:var(--hud-edge-gap);left:var(--hud-edge-gap);z-index:var(--z-dev);min-width:var(--hud-panel-min-w);padding:var(--sp-2) var(--sp-3);border:1px solid var(--surface-border);border-left-width:3px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--clr-text-2);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-base);pointer-events:none;-webkit-backdrop-filter:var(--surface-blur-xs);backdrop-filter:var(--surface-blur-xs)}.stats-panel--good{border-left-color:var(--clr-status-good)}.stats-panel--warn{border-left-color:var(--clr-status-warn)}.stats-panel--bad{border-left-color:var(--clr-status-bad)}.stats-panel--good .stats-panel__fps{color:var(--clr-status-good)}.stats-panel--warn .stats-panel__fps{color:var(--clr-status-warn)}.stats-panel--bad .stats-panel__fps{color:var(--clr-status-bad)}.stats-panel__fps{font-weight:var(--fw-bold)}.stats-panel__quality{margin-top:var(--sp-1);color:var(--clr-text-3);font-size:var(--text-2xs)}.scene-health-panel{position:absolute;top:var(--hud-edge-gap);left:var(--hud-edge-gap);z-index:var(--z-dev);min-width:154px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--clr-text-2);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-base);pointer-events:none;-webkit-backdrop-filter:var(--surface-blur-xs);backdrop-filter:var(--surface-blur-xs)}.dice-debug-panel,.telegram-debug-panel{position:absolute;z-index:var(--z-dev);min-width:150px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--clr-text-2);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-base);pointer-events:none;-webkit-backdrop-filter:var(--surface-blur-xs);backdrop-filter:var(--surface-blur-xs)}.dice-debug-panel{top:calc(var(--hud-edge-gap) + 46px);right:var(--hud-edge-gap)}.telegram-debug-panel{top:calc(var(--hud-edge-gap) + 92px);left:var(--hud-edge-gap)}.ui-layer--interactive{pointer-events:auto}.roll-button{position:absolute;right:var(--hud-edge-gap);top:var(--hud-edge-gap);z-index:var(--z-hud);min-width:64px;min-height:var(--hud-control-h);padding:var(--sp-2) var(--sp-4);border:1px solid var(--clr-border-accent);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--clr-text-1);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:var(--leading-tight);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:var(--surface-blur-xs);backdrop-filter:var(--surface-blur-xs);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.roll-button:active{transform:translateY(1px)}.roll-button:disabled{cursor:default;opacity:.58}.dev-skin-switcher{position:absolute;right:var(--hud-edge-gap);bottom:var(--hud-edge-gap);z-index:var(--z-dev);display:grid;grid-template-columns:repeat(5,minmax(0,auto));gap:var(--sp-1);max-width:min(92vw,620px);overflow-x:auto;scrollbar-width:none;pointer-events:auto}.dev-skin-switcher::-webkit-scrollbar{display:none}.dev-skin-btn{min-height:var(--hud-control-h);padding:var(--sp-1) var(--hud-control-px);border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--clr-text-2);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);-webkit-backdrop-filter:var(--surface-blur-xs);backdrop-filter:var(--surface-blur-xs)}.dev-skin-btn:hover{border-color:var(--clr-border-accent);color:var(--clr-text-1)}.dev-skin-btn.active{border-color:var(--clr-accent);background:var(--clr-accent-dim);color:var(--clr-accent)}.dev-boot-marker{position:fixed;top:var(--sp-2);right:var(--sp-2);z-index:var(--z-top);padding:var(--sp-1) var(--sp-2);border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--clr-status-good);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-tight);pointer-events:none}.dev-error-boundary{position:fixed;inset:var(--sp-4);z-index:var(--z-top);display:flex;flex-direction:column;gap:var(--sp-3);justify-content:center;max-width:680px;margin:auto;padding:var(--sp-4);border:1px solid var(--clr-status-bad);border-radius:var(--radius-md);background:var(--surface-2);color:var(--clr-text-1);font-family:var(--font-sans);-webkit-backdrop-filter:var(--surface-blur-sm);backdrop-filter:var(--surface-blur-sm)}.dev-error-boundary pre{overflow:auto;color:var(--clr-status-bad);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap}.hud-container{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-hud);font-family:Inter,system-ui,sans-serif;color:#fff}.hud-container button,.hud-container input{pointer-events:auto}.hud-top-left{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:10px}.hud-bet-capsule{display:flex;align-items:center;gap:8px;background:linear-gradient(180deg,#102a45,#061524);border:1.5px solid #d4af37;border-radius:20px;padding:4px 14px;box-shadow:0 0 10px #0009;cursor:pointer;width:fit-content}.hud-coin-icon{font-size:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.hud-bet-details{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.hud-bet-value{font-weight:800;font-size:13px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.hud-bet-label{font-size:9px;color:#3ca9ff;font-weight:700;letter-spacing:.5px}.hud-profile-card{display:flex;align-items:center;background:#0a121ed9;border:1px solid rgba(60,169,255,.3);border-radius:12px;padding:6px 12px;gap:10px;box-shadow:0 4px 15px #00000080;width:220px;position:relative}.hud-avatar-wrapper{width:44px;height:44px;border-radius:50%;overflow:hidden;box-shadow:0 0 8px #00000080}.hud-avatar-guest-border{border:2px solid #3ca9ff;box-shadow:0 0 8px #3ca9ff80}.hud-avatar-user-border{border:2px solid #2ecc71;box-shadow:0 0 8px #2ecc7180}.hud-avatar-img{width:100%;height:100%;object-fit:cover}.hud-profile-info{display:flex;flex-direction:column;gap:2px}.hud-username-row{display:flex;align-items:center;gap:6px}.hud-flag-emoji{font-size:13px}.hud-username{font-weight:700;font-size:13px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.hud-level-tag{font-size:10px;color:#a0b2c6;font-weight:500}.hud-add-friend-btn{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#1d6edb,#0d4fa3);border:1px solid #3ca9ff;border-radius:12px;padding:3px 12px;font-size:9px;font-weight:800;color:#fff;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #00000080;transition:transform .1s ease}.hud-add-friend-btn:active{transform:translate(-50%) scale(.95)}.hud-plus-icon{margin-right:2px;font-weight:900}.hud-top-right{position:absolute;top:12px;right:12px}.hud-menu-btn{display:flex;flex-direction:column;justify-content:space-between;width:38px;height:38px;padding:10px 8px;background:linear-gradient(180deg,gold,#b8860b);border:1px solid #fff;border-radius:8px;cursor:pointer;box-shadow:0 3px 6px #0006}.hud-menu-bar{width:100%;height:3px;background:#333;border-radius:2px}.hud-middle-left{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px}.hud-cube-indicator{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fdfdfd;border:2px solid #aaa;border-radius:6px;box-shadow:0 4px 10px #00000080}.hud-cube-value{font-weight:900;font-size:16px;color:#111;font-family:var(--font-mono)}.hud-double-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#27ae60,#1e8449);border:1.5px solid #2ecc71;border-radius:8px;padding:6px 12px;cursor:pointer;box-shadow:0 4px 12px #0006;min-width:80px}.hud-double-multiplier{font-weight:800;font-size:10px;color:#fff;opacity:.85}.hud-double-label{font-weight:900;font-size:11px;color:#fff;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hud-middle-right{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.hud-roll-btn{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#3498db,#2980b9);border:2px solid #5dade2;border-radius:12px;padding:8px 24px;cursor:pointer;box-shadow:0 6px 18px #00000080;transition:transform .1s ease,opacity .2s ease}.hud-roll-btn:active{transform:scale(.96)}.hud-roll-btn:disabled{opacity:.5;cursor:not-allowed}.hud-roll-dice-icons{display:flex;gap:4px}.hud-mini-die{font-size:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.hud-roll-text{font-weight:900;font-size:18px;color:#fff;letter-spacing:1px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.hud-right-panel{position:absolute;right:12px;top:68px;bottom:12px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.hud-profile-user{width:220px}.hud-auto-roll-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;font-size:11px;letter-spacing:.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);margin-bottom:auto;margin-top:15px}.hud-auto-roll-checkbox{display:none}.hud-auto-roll-custom-box{width:18px;height:18px;background:#0a121ed9;border:2px solid #5dade2;border-radius:4px;position:relative;transition:background-color .2s}.hud-auto-roll-checkbox:checked+.hud-auto-roll-custom-box{background-color:#3498db;border-color:#3498db}.hud-auto-roll-checkbox:checked+.hud-auto-roll-custom-box:after{content:"✓";position:absolute;color:#fff;font-size:13px;font-weight:900;top:-1px;left:2px}.hud-emoji-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(180deg,gold,#b8860b);border:1.5px solid #fff;border-radius:50%;cursor:pointer;box-shadow:0 4px 10px #00000080;transition:transform .1s ease}.hud-emoji-btn:active{transform:scale(.9)}.hud-emoji-icon{font-size:22px}
