.app{display:flex;flex-direction:column;align-items:center;height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative;justify-content:space-between;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));user-select:none;-webkit-user-select:none}button,a{touch-action:manipulation}.top-hud-stack{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:880px;z-index:20;pointer-events:none}.top-hud{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:#12161bdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--floor);border-radius:14px;padding:8px 14px;box-shadow:0 12px 32px #00000073}.top-hud__left{display:flex;align-items:center;gap:10px;min-width:0}.hub-back-link{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);text-decoration:none;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid var(--floor);background:#171c23bf;transition:color .18s ease,border-color .18s ease,background .18s ease;white-space:nowrap}.hub-back-link:hover{color:var(--ink);border-color:#fafbf752;background:var(--bg-3)}.brand-badge{display:flex;align-items:center;gap:7px;min-width:0}.brand-badge__logo{height:18px;width:auto;display:block}.brand-badge__divider{color:var(--ink-3);font-family:var(--font-mono);font-size:13px}.brand-badge__title{font-family:var(--font-display);color:var(--ink);font-weight:800;font-size:15px;letter-spacing:.06em}.camera-preset-bar{display:flex;gap:6px}.btn-camera-preset{background:#171c23cc;border:1px solid var(--floor);color:var(--ink-2);border-radius:8px;padding:6px 12px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:all .18s ease;white-space:nowrap}.btn-camera-preset:hover{background:var(--bg-3);color:var(--ink)}.btn-camera-preset--active{background:var(--red);border-color:var(--red);color:var(--ink);box-shadow:0 2px 12px #ff443873}.top-hud__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.wins-pill{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:#171c23d9;border:1px solid var(--floor);font-family:var(--font-mono);font-size:11px}.wins-pill__label{color:var(--ink-3);font-weight:600}.wins-pill__value{color:var(--lime);font-weight:700}.board3d-score-pills{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;pointer-events:none}.score-pill{display:flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:#12161bd6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid var(--floor);color:var(--ink-2);font-family:var(--font-mono);font-size:11px;font-weight:600;transition:transform .22s ease,color .22s ease;white-space:nowrap}.score-pill--active{color:var(--ink);transform:scale(1.05)}.score-pill__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.score-pill__label{letter-spacing:.03em}.score-pill__value{color:var(--gold);font-weight:700}.game-area-3d{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.board3d-wrapper{position:relative;width:100%;height:100%}.board3d-canvas{width:100%;height:100%}.board3d-canvas canvas{display:block;width:100%!important;height:100%!important;outline:none;touch-action:none}.board3d-pawn-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:12;overflow:hidden}.comic-pawn-tag{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;background:var(--lime);color:var(--bg);border:2px solid var(--bg);border-radius:8px;padding:4px 10px;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.05em;box-shadow:0 4px 14px #b7f04a8c;cursor:pointer;animation:comicPawnBounce .55s ease-in-out infinite alternate;white-space:nowrap}.comic-pawn-tag:hover{background:var(--gold);transform:translate(-50%,-108%) scale(1.08)}.comic-pawn-tag__arrow{font-size:9px;line-height:1;color:var(--bg);margin-top:-1px}@keyframes comicPawnBounce{0%{transform:translate(-50%,-96%)}to{transform:translate(-50%,-114%)}}.bottom-hud-stack{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:660px;z-index:20;pointer-events:none}.mascot-strip{pointer-events:auto;display:flex;align-items:center;gap:12px;width:100%;background:#12161be6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--floor);border-left:3px solid var(--red);border-radius:14px;padding:9px 14px;box-shadow:0 10px 28px #00000073}.mascot-strip--move{border-left-color:var(--lime)}.mascot-strip__avatar{position:relative;width:44px;height:44px;border-radius:12px;background:var(--bg-3);border:1.5px solid rgba(255,68,56,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .16s ease,border-color .16s ease}.mascot-strip__avatar:hover{transform:scale(1.06) rotate(-3deg);border-color:var(--red)}.mascot-strip__avatar img{display:block;object-fit:contain}.mascot-strip__dot{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--lime);border:2px solid var(--bg-2)}.mascot-strip__body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.mascot-strip__header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.mascot-strip__name{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--red)}.mascot-strip__status{font-family:var(--font-mono);font-size:11px;color:var(--ink-2)}.mascot-strip__quip{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35}.comic-roll-cta{background:var(--red);color:var(--ink);border:1px solid rgba(250,251,247,.22);border-radius:10px;padding:9px 14px;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.05em;cursor:pointer;box-shadow:0 4px 16px #ff443873;flex-shrink:0;transition:transform .15s ease,background .15s ease}.comic-roll-cta:hover{background:#ff5a4f;transform:translateY(-1px) scale(1.03)}.comic-quick-moves{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.comic-quick-move-btn{background:var(--lime);color:var(--bg);border:none;border-radius:8px;padding:6px 11px;min-height:32px;font-family:var(--font-mono);font-size:11px;font-weight:800;cursor:pointer;transition:transform .15s ease,background .15s ease}.comic-quick-move-btn:hover{background:var(--gold);transform:translateY(-1px)}.bottom-bar{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#12161beb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:16px;padding:10px 18px;border:1.5px solid var(--floor);box-shadow:0 12px 32px #0000008c;width:100%;transition:box-shadow .25s ease,border-color .25s ease}.bottom-bar--human-ready{border-color:#2f7bffbf;box-shadow:0 0 24px #2f7bff47,0 12px 32px #0000008c}.bottom-player{display:flex;align-items:center;gap:10px;min-width:130px;flex:1}.bottom-player--right{justify-content:flex-end}.player-avatar{border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:var(--bg-3)}.player-avatar--xmindy{background:radial-gradient(circle at 50% 40%,rgba(255,68,56,.28),var(--bg-3))}.player-avatar__pip{width:38%;height:38%;border-radius:50%;background-color:var(--ink);opacity:.85}.bottom-player__info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.bottom-player__info--right{align-items:flex-end}.bottom-player__name{font-size:14px;font-weight:700;color:var(--ink-2);transition:color .25s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-player__name--active{color:var(--ink)}.turn-chip{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:5px;background:var(--bg-3);color:var(--ink-3);border:1px solid var(--floor);white-space:nowrap}.turn-chip--you{background:#2f7bff2e;color:#7ab0ff;border-color:#2f7bff80}.turn-chip--ai{background:#ff44382e;color:#ff8b83;border-color:#ff443880}.bottom-dice{position:relative;display:flex;align-items:center;justify-content:center;padding:2px 8px;flex-shrink:0}.comic-dice-pointer{position:absolute;left:-54px;background:var(--lime);color:var(--bg);border:none;border-radius:999px;padding:4px 9px;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.05em;cursor:pointer;animation:pointerPoke .55s ease-in-out infinite alternate;z-index:5;-webkit-user-select:none;user-select:none}@keyframes pointerPoke{0%{transform:translate(-4px)}to{transform:translate(3px)}}.dice3d-scene{width:60px;height:60px;perspective:320px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.dice3d-scene--Interactive{cursor:pointer;filter:drop-shadow(0 0 14px rgba(47,123,255,.65))}.dice3d-scene--disabled{cursor:not-allowed;opacity:.72}.dice3d-cube{position:relative;transform-style:preserve-3d}.dice3d-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;border:1.5px solid rgba(250,251,247,.35);backface-visibility:hidden}.dice3d-pip{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 30% 30%,#fafbf7,#dce2ec);box-shadow:0 1px 3px #00000073}.btn-mute{background:#171c23d9;border:1px solid var(--floor);color:var(--ink);border-radius:8px;width:34px;height:34px;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0}.btn-mute:hover{background:var(--bg-3);border-color:#fafbf752}.winner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0e11d1;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s ease;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.winner-card{background:var(--bg-2);border-radius:20px;padding:28px 32px;text-align:center;border:2px solid;box-shadow:0 24px 64px #000000a6;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);max-width:420px;width:100%}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.winner-mascot{display:flex;justify-content:center;margin-bottom:10px}.winner-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-bottom:6px}.winner-text{font-family:var(--font-display);font-size:26px;font-weight:800;margin-bottom:8px}.winner-sub{color:var(--ink-2);font-size:14px;line-height:1.45;margin-bottom:22px}.winner-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.btn-play-again{padding:11px 24px;border-radius:10px;border:none;background:var(--red);color:var(--ink);font-family:var(--font-mono);font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s,background .18s}.btn-play-again:hover{background:#ff5a4f;transform:translateY(-1px)}.btn-back-hub{padding:11px 18px;border-radius:10px;border:1px solid var(--floor);background:var(--bg-3);color:var(--ink-2);text-decoration:none;font-family:var(--font-mono);font-size:13px;font-weight:600;transition:color .18s,border-color .18s}.btn-back-hub:hover{color:var(--ink);border-color:#fafbf759}@media(max-width:680px){.app{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.top-hud-stack{gap:6px}.top-hud{display:grid;grid-template-columns:1fr auto;gap:6px 8px;padding:7px 10px;border-radius:12px}.top-hud__left{grid-column:1;grid-row:1;gap:8px}.top-hud__right{grid-column:2;grid-row:1;gap:6px}.camera-preset-bar{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:100%}.btn-camera-preset{padding:5px 6px;font-size:10px;text-align:center}.hub-back-link{padding:5px 8px;font-size:11px}.brand-badge__logo{height:15px}.brand-badge__title{font-size:13px}.wins-pill{padding:4px 8px;font-size:10px}.btn-mute{width:30px;height:30px;font-size:14px}.board3d-score-pills{gap:5px;width:100%}.score-pill{padding:3px 8px;font-size:10px;gap:4px}.bottom-hud-stack{gap:6px}.mascot-strip{padding:8px 10px;gap:9px;border-radius:12px}.mascot-strip__avatar{width:38px;height:38px;border-radius:10px}.mascot-strip__avatar img{width:32px;height:32px}.mascot-strip__name{font-size:9px}.mascot-strip__status{font-size:10px}.mascot-strip__quip{font-size:12px;line-height:1.28}.comic-roll-cta{padding:8px 11px;font-size:10px}.comic-quick-move-btn{padding:6px 9px;font-size:10px}.comic-dice-pointer{display:none}.bottom-bar{gap:6px;padding:7px 11px;border-radius:13px}.bottom-player{min-width:0;gap:7px}.bottom-player__name{font-size:12px}.turn-chip{font-size:8px;padding:2px 5px}.dice3d-scene{width:50px;height:50px;transform:scale(.86)}}@media(max-width:390px){.hub-back-link__text{display:none}.score-pill{padding:2px 6px;font-size:9.5px}.mascot-strip__header{gap:4px}.bottom-player .player-avatar{width:28px!important;height:28px!important}}@media(max-height:520px){.top-hud-stack{flex-direction:row;justify-content:space-between;gap:8px}.top-hud{padding:5px 10px;flex:1}.board3d-score-pills{flex-wrap:nowrap;gap:4px}.mascot-strip{padding:5px 10px}.mascot-strip__header{display:none}.bottom-bar{padding:5px 12px}.dice3d-scene{width:46px;height:46px;transform:scale(.8)}}@view-transition{navigation:auto}@font-face{font-family:Bricolage Grotesque;src:url(./BricolagePlay-Display-mjNGhgEv.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(./BricolagePlay-Text-CjklhepL.ttf) format("truetype");font-weight:400 700;font-style:normal;font-display:swap}:root{--bg: #0b0e11;--bg-2: #12161b;--bg-3: #171c23;--floor: #1f2731;--ink: #fafbf7;--ink-2: #b9c0c9;--ink-3: #6e7783;--red: #ff4438;--lime: #b7f04a;--gold: #f2c14e;--blue: #2f7bff;--font-display: "Bricolage Grotesque", system-ui, -apple-system, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;color-scheme:dark}body{font-family:var(--font-sans);background-color:var(--bg);background-image:radial-gradient(ellipse 80% 60% at 50% 35%,rgba(47,123,255,.11),transparent 70%),radial-gradient(ellipse 60% 50% at 75% 20%,rgba(255,68,56,.09),transparent 65%),linear-gradient(180deg,#0b0e11,#12161b);color:var(--ink);min-height:100vh;min-height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased}#root{width:100%;height:100%}
