.menu-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.badge{background:linear-gradient(90deg,var(--accent),#fb923c);color:#1b1208;font-weight:800;padding:6px 10px;border-radius:999px;letter-spacing:.3px;font-size:.85rem}.user-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{display:flex;gap:10px;flex-wrap:wrap}.lobby-grid{display:grid;gap:10px}.player-row{display:flex;gap:8px;align-items:center}.player-row .name-col{flex:1;display:flex;gap:8px;align-items:center}.player-row .name-col .btn-x{flex-shrink:0}.player-row .input{width:100%;min-width:0;flex:1}.player-row .bot-col{display:flex;align-items:center;justify-content:center;min-width:36px}.player-header{font-weight:700;color:var(--text)}.player-header .name-col{gap:0}.lobby-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.feedback-form{margin-top:8px;display:grid;gap:8px}.feedback-form textarea.input{min-height:80px}.btn-x{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:20px;line-height:1;box-shadow:0 4px 14px #ff000040}.btn-x:hover{animation:btn-x-wiggle .6s ease-in-out infinite alternate;box-shadow:0 6px 22px #ff000059}.btn-x:active{transform:scale(1.15) rotate(-8deg)}@keyframes btn-x-wiggle{0%{transform:rotate(0) translate(0) scale(1)}25%{transform:rotate(12deg) translate(1px,-1px) scale(1.05)}50%{transform:rotate(-10deg) translate(-1px,1px) scale(.98)}75%{transform:rotate(14deg) translate(1px,1px) scale(1.08)}to{transform:rotate(-12deg) translate(-1px,-1px) scale(1.02)}}@media (prefers-reduced-motion: reduce){.btn-x:hover,.btn-x:active{animation:none;transform:none}}.marketing-card{margin-bottom:20px;display:grid;gap:12px;background:linear-gradient(135deg,#4f46e514,#ec489914);border:1px solid rgba(236,72,153,.35)}.marketing-card h2{font-size:1.5rem;font-weight:700;color:var(--text)}.marketing-card p{margin:0;color:#ffffffd9;line-height:1.6}.marketing-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.marketing-cta .btn-link{color:var(--accent)}@media (max-width: 480px){.lobby-page .page-header{font-size:1.5rem;letter-spacing:1.05vw}.lobby-page .marketing-card h2{font-size:1.125rem}.lobby-page .marketing-card p,.lobby-page .player-row{font-size:.75rem}.lobby-page .section-title{font-size:18px}.lobby-page .card-disc{font-size:9px}.lobby-page .btn-x{font-size:15px}.lobby-page .btn{font-size:.75rem;padding:8px 12px}.lobby-page .input{font-size:.75rem}}.btn{--btn-bg: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--btn-text: #0a1027;--btn-bg-disabled: #22305f;--btn-text-disabled: #8ea0d8;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-sm);padding:.7rem 1rem;font-weight:700;letter-spacing:.2px;color:var(--btn-text);background:var(--btn-bg);box-shadow:var(--shadow);transform:translateZ(0);transition:transform .08s ease,filter .16s ease,box-shadow .16s ease,opacity .16s ease;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{filter:brightness(1.04) saturate(1.05)}.btn:focus-visible{outline:none;box-shadow:var(--focus),var(--shadow)}.btn[disabled]{background:var(--btn-bg-disabled);color:var(--btn-text-disabled);cursor:not-allowed;filter:grayscale(.2);box-shadow:inset 0 0 0 1px var(--border)}.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn--danger{--btn-bg: linear-gradient(135deg, #ff8aa3, var(--danger))}.btn--success{--btn-bg: linear-gradient(135deg, #67f1c2, var(--success))}.ps-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0508141a;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%);z-index:50;animation:psFade .15s ease-out both}@keyframes psFade{0%{opacity:0}to{opacity:1}}.ps-modal{width:min(480px,92vw);background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:1.4rem;text-align:center}.ps-title{font-size:1.2rem;font-weight:800;margin:.2rem 0 1rem}.ps-name{color:var(--accent)}.ps-hint{color:var(--muted);font-size:.9rem;margin-top:.5rem}.ui-card{--card-scale: 1;width:calc(var(--card-w) * var(--card-scale));height:calc(var(--card-h) * var(--card-scale));display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;border-radius:var(--card-radius);transition:transform .12s ease,filter .16s ease,box-shadow .16s ease}.ui-card.is-disabled{cursor:default;opacity:.9}.ui-card img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit;box-shadow:var(--card-shadow);pointer-events:none}.card--hand{--card-scale: var(--card-hand-scale, 1)}.card--deck{--card-scale: var(--card-deck-scale, 1)}.card--discard{--card-scale: var(--card-discard-scale, 1)}.card--modal{--card-scale: var(--card-modal-scale, 2)}.ui-card:not(.is-disabled):hover{transform:translateY(-2px);filter:brightness(1.1)}.ui-card.is-disabled[data-card=Reboot]{opacity:1}.deckcard{position:relative;--card-scale: var(--card-deck-scale, 1);width:calc(var(--card-w) * var(--card-scale));height:calc(var(--card-h) * var(--card-scale));padding:0;border:0;background:transparent;cursor:default;transform:translateZ(0);transition:transform .12s ease,filter .16s ease,box-shadow .16s ease;border-radius:var(--card-radius)}.deckcard__img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit;box-shadow:var(--card-shadow);filter:saturate(1.05) contrast(1.02)}.deckcard__badge{position:absolute;top:8px;left:8px;min-width:40px;height:32px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#09122a;background:linear-gradient(135deg,#6fe1ff,#9f6cff);box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff59}.deckcard:not(.is-disabled):hover{transform:translateY(-3px);filter:brightness(1.1)}.deckcard.is-disabled{opacity:.75;filter:grayscale(.1);cursor:not-allowed}.discard{position:relative;display:block;width:100%;min-height:calc(var(--card-discard-h) + 100px);padding:0;background:none;border:0;box-shadow:none;cursor:default;overflow:hidden;--gap: 55px}@media (max-width: 768px){.discard{--gap: 60px}}.discard.is-empty{opacity:.8}.discard__stack{position:relative;width:100%;height:var(--card-discard-h);margin-top:0;margin-left:-15px}.discard__card{position:absolute;top:0;right:0;--card-scale: var(--card-discard-scale, 1);width:var(--card-discard-w);height:var(--card-discard-h);border-radius:var(--card-radius);transform:translate(calc(var(--i) * -55px)) rotate(calc(var(--i) * -.8deg));z-index:calc(20 - var(--i));background:none;transition:transform .15s ease,filter .16s ease}.discard__card:hover{filter:brightness(1.05)}.discard__card img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit;box-shadow:var(--card-shadow)}.discard__placeholder{display:grid;place-items:center;width:100%;height:100%;padding:8px;text-align:center;font-size:.8rem;font-weight:700;color:#0b1020;background:linear-gradient(135deg,#6fe1ff,#9f6cff)}.discard__badge{position:absolute;top:8px;right:8px;min-width:34px;height:28px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;z-index:30;font-weight:800;font-size:.95rem;color:#09122a;background:linear-gradient(135deg,#6fe1ff,#ffd166);box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff59}.discard__label{position:absolute;right:50px;top:15px;color:#a9b3d6;font-weight:700;font-size:.9rem}.discard__empty{color:#a9b3d6;font-size:2rem}@media (max-width: 480px){.discard{min-height:calc(var(--card-discard-h) + 50px);--gap: 45px}.discard__badge{min-width:28px;height:24px;font-size:.75rem}.discard__label{top:12px;right:42px;font-size:.75rem}.discard__empty{font-size:1.5rem}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#05081480;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%);z-index:40;animation:modalFade var(--dur-modal) var(--ease-emph) both;will-change:opacity}.modal-backdrop.modal--closing{animation:modalFade var(--dur-modal) var(--ease-emph) reverse both;animation-duration:var(--dur-modal-close)}.modal-backdrop.modal--pre{opacity:0;visibility:visible;pointer-events:none;animation:none!important}.modal-backdrop.modal--pre .modal-content{opacity:0;animation:none!important}.modal-backdrop.modal--drawn{animation:modalFade var(--dur-modal) var(--ease-emph) both}.modal-backdrop.modal--drawn.modal--closing{animation:modalFade var(--dur-modal) var(--ease-emph) reverse both;animation-duration:var(--dur-modal-close)}.modal-backdrop.modal--drawn .modal-content{animation:modalPanelFade var(--dur-modal) var(--ease-emph) both}.modal-backdrop.modal--drawn .modal-content.modal-content--closing{animation:modalPanelFade var(--dur-modal) var(--ease-emph) reverse both;animation-duration:var(--dur-modal-close)}@keyframes modalPanelFade{0%{opacity:0;transform:translateY(4px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;z-index:1;width:min(520px,92vw);background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow);padding:1.4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;will-change:transform,opacity;contain:paint;opacity:1;transition:opacity var(--dur-modal-close) var(--ease-emph);max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.modal-content.modal-content--closing{opacity:0}.modal-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:transparent;border:0;padding:0;margin:0;cursor:default}@media (max-height: 760px){.modal-content{width:min(600px,94vw);padding:1.2rem 1.4rem}}@media (max-height: 640px){.modal-content{width:min(560px,94vw);padding:1rem 1.2rem;gap:10px}.modal-content .modal-title{font-size:clamp(1.6rem,5vw,2.4rem)}.modal-content .section-title{font-size:clamp(1rem,3.4vw,1.25rem)}.modal-content .card-desc,.modal-content .modal-desc{font-size:clamp(.9rem,3vw,1.1rem);line-height:1.35}}@media (max-height: 520px){.modal-content{width:min(520px,94vw);padding:.9rem 1rem;gap:8px}.modal-content .modal-title{font-size:clamp(1.4rem,4.5vw,2rem)}.modal-content .section-title{font-size:clamp(.95rem,3vw,1.15rem)}.modal-content .card-desc,.modal-content .modal-desc{font-size:clamp(.85rem,2.6vw,1rem)}}@media (max-height: 680px){.modal-backdrop.modal--landscape .modal-content{display:grid;grid-template-columns:minmax(190px,40vw) minmax(0,1fr);grid-auto-rows:min-content;align-items:start;justify-items:stretch;text-align:left;gap:14px}.modal-backdrop.modal--landscape .modal-content>.modal-title{grid-column:1 / -1;margin-bottom:0;text-align:center}.modal-backdrop.modal--landscape .modal-content>.modal-card{grid-column:1;align-self:start;justify-self:center}.modal-backdrop.modal--landscape .modal-content>:not(.modal-title):not(.modal-card){grid-column:2}.modal-backdrop.modal--landscape .modal-content>.modal-desc{text-align:left}.modal-backdrop.modal--landscape .modal-content>.hstack:not(.modal-card){justify-content:flex-start}}@media (max-height: 520px){.modal-backdrop.modal--landscape .modal-content{grid-template-columns:minmax(160px,38vw) minmax(0,1fr);gap:12px}}.meta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.meta>*{display:inline-flex;align-items:center}.hstack{display:flex;gap:8px;flex-wrap:wrap}.zone-title{font-weight:700;margin-bottom:6px;opacity:.9}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 10px}.deck-area__panel{padding:14px 16px}.deck-area__count{font-size:60px;font-weight:900;color:red;line-height:1}.deck-area__label{color:red;margin:6px 0 0;line-height:1.2}.log{margin-top:8px}.modal-title{color:var(--text);font-size:50px;font-weight:700}.peek-card{display:flex;flex-direction:column;align-items:center}.peek-order{margin-top:4px;font-weight:700}.hand-stack{position:relative;width:calc(var(--card-hand-w) + (var(--stack-count, 1) - 1) * var(--stack-spacing, 20px));height:var(--card-hand-h)}.hand-stack>.ui-card{position:absolute;top:0;left:calc(var(--stack-index) * var(--stack-spacing, 20px))}.pro-mode-overlay{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center}.pro-mode-overlay__cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:#0a1027d1;box-shadow:var(--card-shadow);pointer-events:none}.pro-mode-overlay__actions{position:relative;display:flex;flex-direction:column;gap:8px;width:100%;padding:12px;box-sizing:border-box}.pro-mode-overlay__actions .btn{width:100%;padding:.5rem .6rem}.fly-card{position:fixed;left:0;top:0;transform-origin:top left;perspective:800px;transition:transform var(--dur-fly);z-index:70;pointer-events:none;will-change:transform;transform:translateZ(0);opacity:1}.fly-card__inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform var(--dur-flip) var(--ease-emph);will-change:transform;transform:translateZ(0)}.fly-card__face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);box-shadow:var(--card-shadow);backface-visibility:hidden;width:100%;height:100%;object-fit:contain;object-position:center;will-change:transform,opacity}.fly-card__face.face--front{border-radius:var(--card-radius)}.face--front,.fly-card.is-running .fly-card__inner{transform:rotateY(180deg)}.fly-card.is-closing{opacity:1}.modal-card{margin:0 0 16px;border-radius:var(--card-radius)}.modal-desc{margin:0}.drawn-modal-card .ui-card img{border-radius:var(--card-radius)}.flip-card{position:relative;width:var(--card-modal-w);height:var(--card-modal-h);perspective:800px}.flip-card__inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform var(--dur-flip) var(--ease-emph)}.flip-card__face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);box-shadow:var(--card-shadow);backface-visibility:hidden;width:100%;height:100%;object-fit:contain;object-position:center}.flip-card__face.face--front{border-radius:var(--card-radius)}.flip-card.is-flipped .flip-card__inner{transform:rotateY(180deg)}.reboot-cover{position:absolute;top:-8px;left:18px;width:var(--card-modal-w);height:var(--card-modal-h);transform:rotate(-6deg) scale(.985);border-radius:var(--card-radius);box-shadow:var(--card-shadow);pointer-events:none}.reboot-cover.animate-in{animation:rebootSlideIn var(--dur-reboot) var(--ease-emph) both}@keyframes rebootSlideIn{0%{transform:translate(120vw) rotate(-12deg) scale(.98);opacity:0}70%{transform:translate(-8px) rotate(-7.25deg) scale(.985);opacity:1}to{transform:translate(0) rotate(-6deg) scale(.985);opacity:1}}@media (max-width: 480px){.game-page .page-header{font-size:1.5rem;letter-spacing:1.05vw}.game-page .section-title{font-size:18px}.game-page .modal-title{font-size:2.4rem}.game-page .meta{gap:10px;font-size:.85rem}.game-page .pill,.game-page .badge{font-size:.75rem;padding:4px 8px}.game-page .subtle{font-size:.75rem}.deck-area__panel{padding:10px 12px}.deck-area__left{gap:12px}.deck-area__count{font-size:45px}.deck-area__label{font-size:16px}}@media (max-height: 640px){.modal-title{font-size:clamp(1.6rem,5vw,2.4rem)}.modal-card{margin:0}.modal-desc{font-size:clamp(.95rem,3vw,1.15rem)}}@media (max-height: 520px){.modal-title{font-size:clamp(1.4rem,4.5vw,2rem)}.modal-desc{font-size:clamp(.85rem,2.6vw,1rem)}}.auth-box{max-width:480px;margin:0 auto;display:grid;gap:12px}.auth-box{max-width:520px;margin:0 auto;display:grid;gap:12px}.auth-intro{max-width:640px;margin:0 auto 16px;color:#ffffffd9;line-height:1.65;text-align:center}.auth-actions{display:flex;gap:10px;flex-wrap:wrap}:root{--bg: #0b1020;--surface: #121933;--card: #1a2352;--muted: #8aa0ff;--text: #eef1ff;--primary: #4f46e5;--primary-700: #4338ca;--accent: #f97316;--success: green;--danger: red;--warning: #f59e0b;--radius: 7px;--shadow: 0 12px 32px rgba(0, 0, 0, .35);--card-w: 130px;--card-h: 174px;--card-radius: 5%;--card-shadow: 0 6px 18px rgba(0, 0, 0, .35);--card-hand-scale: 1;--card-deck-scale: 1;--card-discard-scale: 1;--card-modal-scale: 2;--card-hand-w: calc(var(--card-w) * var(--card-hand-scale));--card-hand-h: calc(var(--card-h) * var(--card-hand-scale));--card-deck-w: calc(var(--card-w) * var(--card-deck-scale));--card-deck-h: calc(var(--card-h) * var(--card-deck-scale));--card-discard-w: calc(var(--card-w) * var(--card-discard-scale));--card-discard-h: calc(var(--card-h) * var(--card-discard-scale));--card-modal-w: calc(var(--card-w) * var(--card-modal-scale));--card-modal-h: calc(var(--card-h) * var(--card-modal-scale));--ease-emph: cubic-bezier(.22, 1, .36, 1);--dur-fly: 1s;--dur-flip: .56s;--dur-modal: .56s;--dur-modal-close: .3s;--dur-fade-quick: .18s;--dur-reboot: .6s}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--text);background:radial-gradient(1200px 800px at 10% -10%,#141b3a,#0b1020 60%) no-repeat,var(--bg)}.page{max-width:980px;margin:0 auto;padding:20px 20px 40px}.page-header{margin:0 0 18px;font-size:4rem;font-weight:800;letter-spacing:13px;text-align:center;color:red}.subtle{color:#cfd6ff;opacity:.85}.multiline{white-space:pre-line}.card-desc{line-height:1.25}.section-title.card-desc{font-size:18px}.subtle.card-desc{font-size:.8em}.card{background:linear-gradient(180deg,var(--card),#121a42);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card--frameless{background:none;border:0;box-shadow:none;padding:0}.section-title{font-size:24px;font-weight:700;margin:0 0 10px}.card-disc{font-size:12px;font-weight:700;margin:0 0 10px}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 16px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#0f1533;border:1px solid rgba(255,255,255,.1);color:var(--muted)}.hstack{display:flex;gap:10px;align-items:center}.deck-count{color:var(--warning);font-weight:800}:where(button,a,input,select,textarea):focus{outline:3px solid color-mix(in oklab,var(--primary) 70%,white 30%);outline-offset:2px;border-radius:10px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:10px 14px;border-radius:12px;font-weight:700;color:#fff;background:var(--primary);transition:transform .06s ease,background .15s ease}.btn:hover{background:var(--primary-700)}.btn:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,.12)}.btn-accent{background:var(--accent)}.btn-danger{background:var(--danger)}.input{width:100%;border:1px solid rgba(255,255,255,.12);background:#0f1533;color:var(--text);border-radius:12px;padding:10px 12px}.list{list-style:disc inside;padding-left:16px;margin:0}.scroll{overflow:auto}.deck-area{display:grid;grid-template-columns:1fr;gap:12px;min-height:200px;align-items:stretch;margin-bottom:15px}@media (min-width: 768px){.deck-area{grid-template-columns:1fr 280px}}@media (max-width: 768px){.page-header{margin:0 0 15px;font-size:3rem;font-weight:800;letter-spacing:1.6vw}}@media (max-width: 600px){.page-header{margin:0 0 15px;font-size:2rem;font-weight:800;letter-spacing:1.4vw}}@media (max-width: 480px){:root{--card-hand-scale: .75;--card-deck-scale: .75;--card-discard-scale: .75;--card-modal-scale: 1.5}}@media (max-height: 720px){:root{--card-modal-scale: 2}}@media (max-height: 600px){:root{--card-modal-scale: 1.75}}@media (max-height: 480px){:root{--card-modal-scale: 1.45}}.deck-area__left{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;text-align:center}.deck-area__left,.deck-area__right{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;text-align:center;height:100%}
