:root{color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overscroll-behavior:none;touch-action:manipulation}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.game-board{background:#0e141b;inset:0;overflow:hidden;position:absolute}.game-board__surface{left:0;position:absolute;top:0;transform-origin:top left}.game-board__background{background-image:radial-gradient(ellipse at 50% 45%,#1e293bd9 0,#0a0f1af2 75%);background-position:50%;background-size:100% 100%;filter:saturate(1.05) contrast(1.05);inset:0;position:absolute}.game-board__background:after{background:linear-gradient(90deg,#0000,#94a3b84d 15%,#94a3b84d 85%,#0000);content:"";height:2px;left:244px;position:absolute;right:244px;top:539px}.game-board__hand-panel{background:#0206178c;border-right:1px solid #94a3b826;position:absolute}.game-board__hand-panel--opponent{border-left:1px solid #94a3b826;border-right:none}.game-board__hand-panel span{color:#475569;font-size:11px;font-weight:800;left:50%;letter-spacing:2px;position:absolute;text-transform:uppercase;top:12px;transform:translateX(-50%);white-space:nowrap}.game-board__hand-panel--opponent span{color:#7f5a64}.game-board__card,.game-board__slot{border-radius:14px;position:absolute}.game-board__slot{align-items:flex-end;background:#0f172a66;border:2px dashed #94a3b866;color:#e2e8f0cc;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;letter-spacing:.08em;padding-bottom:10px;text-transform:uppercase;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.game-board__slot:hover{background:#0f172a8c;border-color:#38bdf8b3;box-shadow:0 0 18px #38bdf859}.game-board__slot span{background:#0f172ab3;border-radius:999px;padding:4px 12px}.game-board__slot--government{background:#0c233273;border-color:#38bdf859}.game-board__slot--government span{color:#7dd3fce6}.game-board__slot--public{background:#0a282673;border-color:#2dd4bf59}.game-board__slot--public span{color:#5eead4e6}.game-board__slot--permanent{background:#28123c73;border-color:#c084fc66}.game-board__slot--permanent span{color:#d8b4fee6}.game-board__slot--instant{background:#370f2673;border-color:#f472b666}.game-board__slot--instant span{color:#f9a8d4e6}.game-board__slot--intervention{background:#37101073;border-color:#f8717166}.game-board__slot--intervention span{color:#fca5a5e6}.game-board__card{align-items:stretch;background:#0f172a26;border:2px solid #0f172a73;box-shadow:0 12px 24px #00000059;cursor:pointer;display:flex;justify-content:stretch;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.game-board__card:after{border:1px solid #94a3b840;border-radius:12px;content:"";inset:6px;opacity:.8;pointer-events:none;position:absolute}.game-board__card:hover{border-color:#38bdf899;box-shadow:0 18px 30px #00000073,0 0 18px #38bdf84d;transform:translateY(-4px)}.game-board__card img{height:100%;object-fit:cover;width:100%}.game-board__card--selected{box-shadow:0 0 0 4px #38bdf84d,0 12px 24px #0006;outline:3px solid #38bdf8}.game-board__card--spawn{animation:card-surge .9s ease-out}.game-board__card--spawn:before{animation:card-flash 1s ease-out;background:radial-gradient(circle at 20% 30%,#94c5ffcc,#94c5ff00 60%),radial-gradient(circle at 80% 20%,#facc15e6,#facc1500 55%),radial-gradient(circle at 50% 80%,#3b82f6cc,#3b82f600 65%);content:"";inset:-15%;mix-blend-mode:screen;opacity:.9;pointer-events:none;position:absolute}.game-board__activate{background:#0f172ad9;border:1px solid #94a3b866;border-radius:8px;bottom:10px;color:#f8fafc;cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px;position:absolute;right:10px}.game-board__card--corruption,.game-board__slot--corruption{box-shadow:0 0 20px #fbbf2473;outline:3px solid #fbbf24e6}.game-board__card--corruption-success{animation:corruption-success 1.2s ease-out;border-color:#22c55eb3;box-shadow:0 0 26px #22c55e99,0 12px 28px #00000073}.game-board__card--corruption-fail{animation:corruption-fail .9s ease-out;border-color:#f87171b3;box-shadow:0 0 24px #f8717180,0 12px 28px #00000073}@keyframes card-surge{0%{box-shadow:0 0 0 #3b82f600;transform:scale(.96)}45%{box-shadow:0 0 30px #3b82f673;transform:scale(1.02)}to{box-shadow:0 12px 24px #00000059;transform:scale(1)}}@keyframes card-flash{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.1)}}@keyframes corruption-success{0%{filter:brightness(1.4);transform:scale(.95) rotate(-1deg)}40%{transform:scale(1.05) rotate(1deg)}to{filter:brightness(1);transform:scale(1)}}@keyframes corruption-fail{0%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}to{transform:translateX(0)}}.game-dice{border-radius:16px;bottom:16px;left:16px;padding:6px;position:fixed;z-index:1200}.game-dice--highlight{border:2px solid #fbbf24b3;box-shadow:0 0 16px #fbbf24cc,0 0 32px #fbbf2473}.game-dice--rolling{animation:dicePulse .9s ease-in-out}.game-dice--success{border:2px solid #22c55ed9;box-shadow:0 0 18px #22c55ea6,0 0 36px #22c55e59}.game-dice--fail{border:2px solid #f87171e6;box-shadow:0 0 18px #f87171a6,0 0 36px #f8717159}@keyframes dicePulse{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}.action-hint{background:#0f172ae6;border:1px solid #94a3b866;border-radius:14px;bottom:24px;box-shadow:0 12px 30px #0006;color:#e2e8f0;left:50%;max-width:520px;min-width:280px;padding:12px 18px;position:fixed;text-align:center;transform:translateX(-50%);z-index:1200}.action-hint__title{font-size:14px;font-weight:700;margin-bottom:4px}.action-hint__body{color:#cbd5f5;font-size:13px}.status-hud{align-items:center;background:#0f172ad9;border:1px solid #94a3b866;border-radius:14px;box-shadow:0 10px 24px #00000059;display:flex;gap:12px;left:50%;padding:8px 16px;position:fixed;text-align:center;top:16px;transform:translateX(-50%);z-index:1200}.status-hud__ap{color:#38bdf8;font-size:14px;font-weight:700}.status-hud__ap--flash{color:#fbbf24;text-shadow:0 0 12px #fbbf24cc}.status-hud__round{color:#e2e8f0;font-size:13px}.action-feed{background:#0f172ae6;border:1px solid #94a3b859;border-radius:12px;bottom:84px;box-shadow:0 12px 30px #00000059;color:#e2e8f0;max-width:320px;padding:12px 14px;position:fixed;right:16px;z-index:1200}.action-feed--alert{border-color:#fbbf24cc;box-shadow:0 0 18px #fbbf2480}.action-feed__label{color:#94a3b8;display:block;font-size:11px;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.action-feed__text{font-size:13px;line-height:1.4}.tutorial-modal{align-items:center;background:#070c14c7;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1400}.tutorial-modal__panel{background:#0f172a;border:1px solid #94a3b866;border-radius:16px;box-shadow:0 20px 50px #00000080;color:#e2e8f0;padding:24px;width:min(640px,100%)}.tutorial-modal__header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.tutorial-modal__header h2{font-size:22px;margin:0}.tutorial-modal__close{background:#94a3b833;border:none;border-radius:50%;color:#e2e8f0;cursor:pointer;height:32px;width:32px}.tutorial-modal__body{font-size:15px;line-height:1.6;margin:0 0 20px}.tutorial-modal__footer{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.tutorial-modal__progress{color:#94a3b8;font-size:13px}.tutorial-modal__actions{display:flex;gap:8px}.tutorial-modal__button{background:#0000;border:1px solid #94a3b859;border-radius:10px;color:#e2e8f0;cursor:pointer;font-size:14px;padding:8px 14px}.tutorial-modal__button:disabled{cursor:not-allowed;opacity:.4}.tutorial-modal__button--primary{background:#2563eb;border-color:#0000}.rotate-overlay{align-items:center;background:#070c14f5;display:flex;inset:0;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;z-index:3000}.rotate-overlay__card{background:#0f172ae6;border:1px solid #94a3b840;border-radius:16px;color:#e2e8f0;max-width:320px;padding:28px 24px;text-align:center}.rotate-overlay__icon{animation:rotate-hint 2s ease-in-out infinite;font-size:48px;margin-bottom:16px}.rotate-overlay__title{font-size:20px;font-weight:800;letter-spacing:1px;margin:0 0 8px}.rotate-overlay__body{color:#94a3b8;font-size:14px;line-height:1.5;margin:0}@keyframes rotate-hint{0%,to{transform:rotate(0deg)}40%{transform:rotate(90deg)}60%{transform:rotate(90deg)}}@media (hover:none) and (pointer:coarse){.game-board__card:hover{transform:none}.game-board__card:active{border-color:#38bdf899;transform:scale(.97)}.game-board__slot:hover{box-shadow:none}.game-board__slot:active{background:#0f172a8c;border-color:#38bdf8b3}}.game-board--mobile-landscape{touch-action:manipulation}.game-board--mobile-strips .game-board__hand-panel{display:none}.game-board--mobile-strips .game-board__background:after{left:24px;right:24px;top:520px}.game-board__hand-strip-label{color:#64748b;font-size:9px;font-weight:800;left:32px;letter-spacing:1.5px;pointer-events:none;position:absolute;text-transform:uppercase;z-index:11}.game-board__hand-strip-label--opp{color:#7f5a64;top:4px}.game-board__hand-strip-label--player{top:952px}.game-board--mobile-strips .game-board__hud{display:none!important}.mboard-chrome{align-items:stretch;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:absolute;right:max(8px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);width:clamp(104px,24vw,156px);z-index:120}.mboard-chrome>*{pointer-events:auto}.mboard-chrome__info{font-feature-settings:"tnum";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad1;border:1px solid #94a3b82e;border-radius:12px;display:flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:3px;padding:8px 10px;text-align:center}.mboard-chrome__turn{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.mboard-chrome__turn.is-mine{color:#34d399}.mboard-chrome__turn.is-foe{color:#f87171}.mboard-chrome__score{align-items:center;color:#94a3b8;display:flex;font-size:18px;font-weight:900;gap:6px;justify-content:center}.mboard-chrome__score .is-p1{color:#34d399}.mboard-chrome__score .is-p2{color:#f87171}.mboard-chrome__ap{color:#93c5fd;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.mboard-chrome__ap b{font-size:14px}.mboard-fab{-webkit-tap-highlight-color:transparent;background:#1e293beb;border:1px solid #94a3b840;border-radius:12px;color:#e2e8f0;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.5px;min-height:48px;padding:0 12px;text-transform:uppercase;transition:transform .12s ease,background-color .12s ease,opacity .12s ease}.mboard-fab--primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#0000;box-shadow:0 6px 18px #2563eb66;color:#fff}.mboard-fab:active{transform:scale(.96)}.mboard-fab:disabled{cursor:not-allowed;opacity:.4}.mboard-chrome button:focus-visible,.mboard-fab:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}@media (prefers-reduced-motion:reduce){.mboard-fab{transition:none}}.mobile-menu__toggle{-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border:1px solid #94a3b840;border-radius:12px;color:#e2e8f0;cursor:pointer;font-size:18px;height:44px;line-height:1;width:44px}.mobile-menu__exit:focus-visible,.mobile-menu__toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.mobile-menu__sheet{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172af2;border:1px solid #94a3b833;border-radius:12px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px}.mobile-menu__exit{-webkit-tap-highlight-color:transparent;background:#ef44442e;border:1px solid #ef444459;border-radius:10px;color:#fca5a5;cursor:pointer;font-size:13px;font-weight:700;min-height:44px;padding:0 14px}.game-board__hud--compact{height:48px!important;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))!important}.game-board__hud--bottom.game-board__hud--compact{height:56px!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}.game-board__hud--top.game-board__hud--compact{padding-top:max(4px,env(safe-area-inset-top))!important}@media (max-height:500px),(max-width:900px){.game-board__hud--top.game-board__hud--compact div,.game-board__hud--top.game-board__hud--compact span{font-size:10px!important}.game-board__hud--top.game-board__hud--compact strong{font-size:12px!important}.game-board__hud--bottom.game-board__hud--compact button{font-size:11px!important;min-height:44px;min-width:44px;padding:10px 16px!important}.game-board__hand-panel span{font-size:8px!important;letter-spacing:1px!important}.game-board__slot{font-size:9px!important;padding-bottom:4px!important}.game-board__slot span{font-size:8px!important;padding:2px 6px!important}.game-board__activate{font-size:10px!important;min-height:36px;min-width:36px;padding:8px 10px!important}.game-board__log-panel{display:none!important}.action-hint--mobile{bottom:max(64px,calc(56px + env(safe-area-inset-bottom)))!important;font-size:12px;max-width:min(92vw,420px)!important;min-width:auto!important;padding:8px 12px!important}.action-hint--mobile .action-hint__title{font-size:12px!important}.action-hint--mobile .action-hint__body{font-size:11px!important}.game-dice--mobile{bottom:max(64px,calc(56px + env(safe-area-inset-bottom)))!important;left:max(8px,env(safe-area-inset-left))!important;padding:4px!important}.hand-card-modal__panel{flex-direction:row!important;gap:12px!important;height:auto!important;max-height:calc(100dvh - 12px)!important;overflow:hidden!important;padding:12px!important;width:min(97vw,880px)!important}.hand-card-modal__art{align-self:center!important;aspect-ratio:1/1!important;flex:0 0 38%!important;height:auto!important;max-height:calc(100dvh - 36px)!important;width:38%!important}.hand-card-modal__art canvas{height:100%!important;width:100%!important}.hand-card-modal__info{flex:1 1 auto!important;gap:8px!important;min-width:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-right:4px!important}.hand-card-modal__play{bottom:0!important;margin-top:auto!important;position:-webkit-sticky!important;position:sticky!important;z-index:2!important}.hand-card-modal__panel button{min-height:44px}.deckbuilder__inner{gap:8px!important;padding:max(10px,env(safe-area-inset-top)) 10px 10px!important}.deckbuilder__header{align-items:stretch!important;flex-direction:column!important;gap:8px!important;padding-bottom:8px!important}.deckbuilder__status{flex-wrap:wrap!important;gap:6px!important}.deckbuilder__filters{align-items:stretch!important;flex-direction:column!important;gap:8px!important;padding:8px 10px!important}.deckbuilder__search{width:auto!important}.deckbuilder__body{display:flex!important;flex-direction:column!important;gap:8px!important}.deckbuilder__cards{flex:1 1 auto!important;grid-template-columns:1fr!important}.deckbuilder__cards>div>div:last-child{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;justify-content:center!important}.deckbuilder__sidebar{flex:0 0 auto!important;max-height:40vh!important}.deckbuilder__detail{justify-content:center!important;padding:8px!important}.deckbuilder__detail-panel{flex-direction:column!important;gap:12px!important;height:auto!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:12px!important;width:96vw!important}.deckbuilder__detail-art{align-self:center!important;aspect-ratio:1/1!important;flex:0 0 auto!important;max-width:min(100%,56vh)!important}.deckbuilder__detail-art,.deckbuilder__detail-art canvas{height:auto!important;width:100%!important}.deckbuilder__detail-info{gap:12px!important;min-width:0!important}}