:root{--color-table: #1d2a47;--color-table-deep: #0c1424;--color-panel: #18233a;--color-panel-raised: #26355a;--color-zone-border: #55637f;--color-text: #ebeffa;--color-text-muted: #9aa6c2;--color-gold: #d4b46a;--color-teal: #39c5bb;--color-danger: #e0605c;--chrome-rim: linear-gradient(160deg, #f2f5fb 0%, #8b97ae 22%, #39445c 48%, #a9b4c9 72%, #4a5570 100%);--chrome-rim-gold: linear-gradient(160deg, #fff1c8 0%, #b98f3e 25%, #5c4318 50%, #e7c77d 75%, #7a5a22 100%);--chrome-rim-teal: linear-gradient(160deg, #d9fffb 0%, #39c5bb 30%, #145e59 55%, #7ff0e6 80%, #1f8a83 100%);--chrome-face: linear-gradient(180deg, rgb(255 255 255 / .07) 0%, rgb(255 255 255 / .02) 40%, rgb(0 0 0 / .18) 100%);--chrome-text: linear-gradient(180deg, #ffffff 0%, #dfe6f2 38%, #8592ab 52%, #cfd7e6 70%, #f6f8fc 100%);--shadow-panel: 0 6px 24px rgb(0 0 0 / .45), inset 0 1px 0 rgb(255 255 255 / .08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--radius-card: 6px;--radius-panel: 10px;--card-aspect: 744 / 1039;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Segoe UI Semibold", "Segoe UI", system-ui, sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--color-zone-border) transparent}html,body,#root{height:100%;margin:0}#root{display:flow-root}body{color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgb(57 197 187 / .1),transparent 70%),radial-gradient(ellipse 70% 50% at 50% 100%,rgb(212 180 106 / .08),transparent 70%),repeating-linear-gradient(135deg,rgb(255 255 255 / .012) 0 2px,transparent 2px 6px),linear-gradient(180deg,#16213a,var(--color-table-deep));background-attachment:fixed}.chrome{border:1px solid transparent;border-radius:var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(var(--color-panel),var(--color-panel)) padding-box,var(--chrome-rim) border-box;box-shadow:var(--shadow-panel)}.chrome-title{margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--chrome-text);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .6))}:root{--button-font: 15px;--button-pad: 6px 16px;--button-height: 34px}@media(pointer:coarse){:root{--button-font: 16px;--button-height: 42px}}button,.button{font:inherit;font-size:var(--button-font);line-height:1.25;min-height:var(--button-height);font-weight:600;color:#062b28;text-shadow:0 1px 0 rgb(255 255 255 / .35);border:1px solid transparent;border-radius:var(--radius-card);padding:var(--button-pad);cursor:pointer;text-decoration:none;display:inline-block;background:linear-gradient(180deg,rgb(255 255 255 / .45) 0%,rgb(255 255 255 / .12) 48%,transparent 52%,rgb(255 255 255 / .1) 100%) padding-box,linear-gradient(180deg,#5fe0d6,#2aa79e) padding-box,var(--chrome-rim-teal) border-box;box-shadow:0 2px 6px #0006,inset 0 -2px 4px #00000026;transition:filter .12s ease,transform .12s ease}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center}button:hover:not(:disabled),.button:hover{filter:brightness(1.12)}button:active:not(:disabled),.button:active{transform:translateY(1px);filter:brightness(.95)}button.secondary,.button.secondary{color:var(--color-text);text-shadow:0 1px 1px rgb(0 0 0 / .6);background:linear-gradient(180deg,rgb(255 255 255 / .16) 0%,rgb(255 255 255 / .04) 48%,transparent 52%) padding-box,linear-gradient(180deg,#34425f,#1c263b) padding-box,var(--chrome-rim) border-box}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}input,select{font:inherit;color:var(--color-text);border:1px solid transparent;border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);background:linear-gradient(var(--color-table-deep),var(--color-table-deep)) padding-box,var(--chrome-rim) border-box;box-shadow:inset 0 2px 4px #00000080}select{background-color:var(--color-table-deep)}select option{background-color:var(--color-panel);color:var(--color-text)}select option:checked{background-color:var(--color-panel-raised)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:2.5em;height:1.4em;margin:0 .45em 0 0;vertical-align:middle;border:1px solid transparent;border-radius:999px;background:linear-gradient(180deg,#0000008c,#00000040) padding-box,linear-gradient(var(--color-table-deep),var(--color-table-deep)) padding-box,var(--chrome-rim) border-box;box-shadow:inset 0 2px 4px #0009;cursor:pointer;transition:background .2s ease}input[type=checkbox]:before{content:"";position:absolute;top:50%;left:.12em;width:1.1em;height:1.1em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#dfe5f0 30%,#8b97ae 70%,#4a5570);box-shadow:0 1px 3px #000000b3,inset 0 -1px 1px #0000004d;transform:translateY(-50%);transition:left .2s cubic-bezier(.3,1.4,.5,1)}input[type=checkbox]:checked{background:linear-gradient(180deg,#7ff0e68c,#145e59d9) padding-box,var(--chrome-rim-teal) border-box;box-shadow:inset 0 1px 4px #00000073,0 0 10px #39c5bb73}input[type=checkbox]:checked:before{left:calc(100% - 1.22em)}input[type=checkbox]:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}input[type=checkbox]:disabled{opacity:.45;cursor:default}html[data-motion=reduce] input[type=checkbox],html[data-motion=reduce] input[type=checkbox]:before{transition:none}.screen{max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.screen h1{font-family:var(--font-display);margin:0}.screen:not(.home){margin-top:8vh;padding:var(--space-6);border:1px solid transparent;border-radius:var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(var(--color-panel),var(--color-panel)) padding-box,var(--chrome-rim) border-box;box-shadow:var(--shadow-panel)}.screen-header{display:flex;align-items:center;gap:var(--space-4)}.screen-header .series,.screen-header .room-code,.muted{color:var(--color-text-muted)}a{color:var(--color-teal)}.field{display:flex;flex-direction:column;gap:var(--space-1);max-width:440px}.actions,.links{display:flex;gap:var(--space-3);flex-wrap:wrap}.room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.room{display:grid;grid-template-columns:1fr auto auto auto auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.room-code{font-family:ui-monospace,monospace}@media(max-width:480px){.room{display:flex;flex-wrap:wrap}.room-host{flex:1 1 calc(100% - 6rem)}.room button{order:1}.room .room-code,.room-mode,.room-count,.room-status{order:2;color:var(--color-text-muted)}}.connection-banner{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);text-align:center;white-space:nowrap;border:1px solid transparent;border-top:0;border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(var(--color-panel),var(--color-panel)) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 4px 14px #0000008c;color:var(--color-text);font-size:14px}.connection-spinner{flex:none;width:14px;height:14px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#e7c77d 300deg,#fff1c8 350deg,transparent 360deg);mask:radial-gradient(circle,transparent 52%,#000 56%);animation:loading-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.connection-spinner{animation:none}}.connection-banner[data-status=disconnected]{color:var(--color-danger)}.toast{position:fixed;right:var(--space-4);bottom:var(--space-4);max-width:420px;display:flex;align-items:start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-panel);border:1px solid var(--color-danger);border-radius:var(--radius-panel);z-index:10}.update-prompt{position:fixed;left:var(--space-4);bottom:var(--space-4);max-width:min(420px,calc(100vw - 2 * var(--space-4)));display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-panel);border:1px solid var(--color-gold);border-radius:var(--radius-panel);z-index:10}.install-ios{display:grid;gap:var(--space-2)}.toast button{background:transparent;box-shadow:none;text-shadow:none;color:var(--color-text);padding:0 var(--space-1)}.dev-board-nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);font-size:13px}.dev-board-nav [aria-current=page]{color:var(--color-gold)}.screen.home{position:relative;min-height:100%;max-width:none;justify-content:center;align-items:center;overflow:hidden}.home-card{position:relative;z-index:1;width:min(440px,100%);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-6) clamp(var(--space-4),6vw,40px) var(--space-6);text-align:center}.home-kicker{margin:0;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold)}.home-title{font-size:clamp(34px,10vw,52px);line-height:1.1;white-space:nowrap;margin-right:-.08em}.home-rule{height:2px;margin:0 15%;background:linear-gradient(90deg,transparent,var(--color-gold),#fff4d0,var(--color-gold),transparent)}.home-card .field{max-width:none;text-align:left}.home-actions{display:grid;gap:var(--space-3)}.big{padding:var(--space-3) var(--space-4);font-size:18px;letter-spacing:.06em;text-transform:uppercase;text-align:center}.home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.home-links .button{min-width:0;padding-inline:var(--space-1);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:400px){.home-links .button{font-size:12px;letter-spacing:0}}.home-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgb(212 180 106 / .14),transparent 40%)}.home-deco-card{position:relative;grid-area:1 / 1;width:min(270px,40vw);aspect-ratio:var(--card-aspect);border-radius:12px;border:2px solid rgb(212 180 106 / .35);background:radial-gradient(circle at 50% 50%,transparent 30%,rgb(212 180 106 / .22) 31%,transparent 34%),linear-gradient(160deg,#1f3a5e,#0f1d33);box-shadow:0 10px 30px #00000080;opacity:.8;transform:rotate(calc(var(--i) * 20deg)) translateY(calc(var(--a) * 4%));transform-origin:50% 170%}.home-deco-card:after{content:"";position:absolute;left:30%;top:36%;width:40%;aspect-ratio:1;transform:rotate(45deg);border:2px solid rgb(212 180 106 / .55);outline:1px solid rgb(212 180 106 / .25);outline-offset:4px}.card-art-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:2.5em;padding:8%;box-sizing:border-box;border:2px solid var(--color-gold);border-radius:inherit;background:radial-gradient(circle at 50% 35%,var(--color-panel-raised),#10182c);color:var(--color-text);font-family:var(--font-display);font-size:12px;line-height:1.2;text-align:center;overflow-wrap:anywhere}button.tiny{min-height:0;padding:0 6px;font-size:12px;line-height:1.6}button.danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.key-transfer.open{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-gold);border-radius:var(--radius-panel);background:#d4b46a0f}.key-transfer-warning{margin:0;color:var(--color-gold);font-weight:600}.key-transfer-code{justify-self:center;width:min(100%,340px);padding:10px;border-radius:8px;background:#fff}.key-transfer-code svg{display:block;width:100%;height:auto}.key-import{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-teal);border-radius:var(--radius-panel);background:#39c5bb14}.key-import p{margin-top:0}.settings-group{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-zone-border)}.settings-group h2,.profiles h2{margin:0;font-family:var(--font-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold)}.hint{margin:0 0 var(--space-1);font-size:13px}.server-form input[aria-invalid=true]{border-color:var(--color-danger)}.profile-create{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.profile-create .field{flex:1 1 240px}.profile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.profile-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--color-zone-border);border-radius:8px;background:var(--color-table-deep)}.profile-row.active{border-color:var(--color-gold)}.profile-name{font-weight:600;flex:1 1 auto}.profile-record{font-size:13px;font-variant-numeric:tabular-nums}.profile-actions,.profile-rename{display:flex;align-items:center;gap:var(--space-2)}.profile-rename{flex:1 1 auto}.profile-badge{color:var(--color-gold);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-warn{color:var(--color-danger);font-size:13px}.data-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.data-table th{text-align:left;color:var(--color-text-muted);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.data-table th,.data-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-zone-border)}.data-table tr.me td{color:var(--color-gold)}.table-scroll{overflow-x:auto}.compare-ai h3{margin:var(--space-3) 0 var(--space-2);font-size:15px}.compare-ai th[scope=row]{text-align:left;font-weight:600;white-space:nowrap}.history-ai{font-size:12px}.result-win{color:var(--color-teal)}.result-loss{color:var(--color-danger)}.load-error{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.load-error p{margin:0}.seat-away{padding:2px var(--space-2);border:1px solid var(--color-danger);border-radius:6px;color:var(--color-danger);font-size:13px}.power-fury{background:#c0392b}.power-calm{background:#2f8f5b}.power-mind{background:#2c6fb5}.power-body{background:#c77c1e}.power-chaos{background:#7b3fa0}.power-order{background:#b89a2b}.power-colorless{background:conic-gradient(#c0392b,#c77c1e,#b89a2b,#2f8f5b,#2c6fb5,#7b3fa0,#c0392b)}.power-pip{display:flex;width:.7em;height:.7em;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px #fff9}.power-pip>span{flex:1}.loading{display:grid;place-items:center;padding:var(--space-4) 0}.loading-page{flex:1;min-height:60vh}.loading-panel{display:grid;justify-items:center;gap:var(--space-3);width:min(340px,90vw);padding:var(--space-6) var(--space-4) var(--space-4);text-align:center;animation:loading-in .3s ease-out both}.loading-emblem{position:relative;display:grid;place-items:center;width:104px;aspect-ratio:1}.loading-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgb(212 180 106 / .05) 90deg,#e7c77d 300deg,#fff1c8 340deg,transparent 360deg);mask:radial-gradient(circle,transparent 60%,#000 61%,#000 66%,transparent 67%);animation:loading-spin 1.4s linear infinite;filter:drop-shadow(0 0 6px rgb(231 199 125 / .6))}.loading-card{display:grid;place-items:center;width:44px;aspect-ratio:var(--card-aspect);border-radius:6px;border:1px solid transparent;background:linear-gradient(160deg,#1f3a5e,#0f1d33) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 4px 14px #0009,0 0 18px #d4b46a40;animation:loading-breathe 1.8s ease-in-out infinite}.loading-mark{width:46%;aspect-ratio:1;border:2px solid rgb(231 199 125 / .9);outline:1px solid rgb(231 199 125 / .4);outline-offset:3px;animation:loading-turn 3.6s cubic-bezier(.6,0,.4,1) infinite}.loading-label{margin:0;font-size:20px}.loading-detail{margin:calc(-1 * var(--space-2)) 0 0;font-size:13px}.loading-bar{position:relative;width:100%;height:3px;overflow:hidden;border-radius:2px;background:#ffffff14}.loading-bar span{position:absolute;inset:0 auto 0 0;width:40%;border-radius:2px;background:linear-gradient(90deg,transparent,#e7c77d,#fff1c8,#e7c77d,transparent);animation:loading-sweep 1.6s ease-in-out infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-turn{0%{transform:rotate(45deg)}50%,to{transform:rotate(225deg)}}@keyframes loading-breathe{0%,to{transform:scale(1);box-shadow:0 4px 14px #0009,0 0 14px #d4b46a33}50%{transform:scale(1.06);box-shadow:0 4px 14px #0009,0 0 26px #d4b46a73}}@keyframes loading-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes loading-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.loading-ring,.loading-card,.loading-mark,.loading-bar span,.loading-panel{animation:none}}.fx-hit{position:absolute;z-index:6;left:50%;top:35%;font-size:max(16px,calc(var(--card-w) * .45));font-weight:900;color:#ff6b66;text-shadow:0 2px 4px rgb(0 0 0 / .9);pointer-events:none;animation:fx-hit .9s ease-out forwards}@keyframes fx-hit{0%{opacity:0;transform:translate(-50%,20%) scale(.6)}15%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-90%) scale(1)}}.card-slot:has(.fx-hit)>.card{animation:fx-flash .45s ease-out}@keyframes fx-flash{0%,to{filter:none}30%{filter:brightness(1.6) saturate(.4) sepia(1) hue-rotate(-40deg)}}.fx-buff{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border-radius:calc(var(--card-w) * .06);pointer-events:none;box-shadow:0 0 0 2px #6fd39a,0 0 18px #6fd39a;animation:fx-buff 1s ease-out forwards}@keyframes fx-buff{0%{opacity:0}25%{opacity:1}to{opacity:0}}.fx-turn{position:absolute;left:50%;top:50%;z-index:20;padding:.3em 1.2em;border-radius:999px;font-family:var(--font-display);font-size:clamp(20px,calc(var(--u, 8px) * 4),44px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fff3d6;background:linear-gradient(180deg,#3d3218f2,#1b160bf2);box-shadow:0 0 0 2px var(--color-gold),0 10px 40px #000000b3;pointer-events:none;animation:fx-turn 1.6s ease forwards}.fx-turn.mine{color:#dafffb;background:linear-gradient(180deg,#145e59f2,#0a2d2bf2);box-shadow:0 0 0 2px var(--color-teal),0 10px 40px #000000b3}@keyframes fx-turn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}25%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.score-track li.scored:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;animation:fx-score .9s ease-out forwards;pointer-events:none}.score-track li{position:relative}@keyframes fx-score{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.8)}}.plate-status{animation:fx-fade .4s ease}@keyframes fx-fade{0%{opacity:0}to{opacity:1}}.chain-item.next{animation:fx-pulse 1.4s ease-in-out infinite}@keyframes fx-pulse{0%,to{box-shadow:inset 0 0 0 1px var(--color-gold)}50%{box-shadow:inset 0 0 0 1px var(--color-gold),0 0 14px #d4b46a99}}@media(prefers-reduced-motion:reduce){.fx-hit{animation:fx-fade-out .9s ease forwards;transform:translate(-50%)}.card-slot:has(.fx-hit)>.card{animation:none}.fx-turn{animation:fx-fade-out 1.6s ease forwards;transform:translate(-50%,-50%)}.score-track li.scored:after{animation:fx-fade-out .9s ease forwards}.chain-item.next{animation:none}}:root[data-motion=reduce] .fx-hit{animation:fx-fade-out .9s ease forwards;transform:translate(-50%)}:root[data-motion=reduce] .card-slot:has(.fx-hit)>.card{animation:none}:root[data-motion=reduce] .fx-turn{animation:fx-fade-out 1.6s ease forwards;transform:translate(-50%,-50%)}:root[data-motion=reduce] .score-track li.scored:after{animation:fx-fade-out .9s ease forwards}:root[data-motion=reduce] .chain-item.next{animation:none}@keyframes fx-fade-out{0%{opacity:0}15%{opacity:1}to{opacity:0}}.screen.decks{max-width:none;margin:0;height:100dvh;border-radius:0;padding:var(--space-3) var(--space-4);overflow:hidden}.deck-builder{flex:1;min-height:0;gap:var(--space-3)}.deck-builder.desktop{display:grid;grid-template-columns:220px minmax(0,1fr) 340px}.deck-list,.deck-gallery,.deck-panel{min-height:0;overflow:auto;padding:var(--space-2);border-radius:var(--radius-panel);background:#0c142473;box-shadow:inset 0 0 0 1px #ffffff0f}.deck-list{display:flex;flex-direction:column;gap:var(--space-2)}.deck-list ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.deck-list li button{width:100%;text-align:left}.deck-list button.active{outline:2px solid var(--color-gold)}.deck-actions{display:grid;gap:var(--space-1);margin-top:auto}.deck-gallery{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:0}.gallery-filters{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);background:#0c1424f2}.gallery-filters input[type=search]{flex:1 1 200px}.gallery-group h3{margin:var(--space-2) var(--space-2) var(--space-1);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);border-bottom:1px solid rgb(212 180 106 / .25);padding-bottom:2px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:start;gap:var(--space-3);padding:0 var(--space-2) var(--space-2)}.gallery-grid.wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-card{margin:0;display:grid;gap:var(--space-1);content-visibility:auto;contain-intrinsic-size:auto 130px auto 230px}.gallery-add{display:block;width:100%;padding:0;border:none;background:none;box-shadow:none;border-radius:8px;overflow:hidden;aspect-ratio:var(--card-aspect)}.gallery-add{position:relative}.gallery-badge{position:absolute;left:6%;right:6%;bottom:6%;padding:2px 4px;border-radius:4px;background:#14100cd9;color:#f0c27a;font-size:11px;font-weight:600;text-align:center;pointer-events:none}.gallery-note{color:#f0c27a;font-size:13px}.gallery-add.landscape{aspect-ratio:1039 / 744}.gallery-add img{width:100%;height:100%;object-fit:cover;transition:transform .12s ease}.gallery-add:hover img{transform:scale(1.04)}.gallery-card figcaption{font-size:12px;line-height:1.3;min-height:2.6em;display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 4px}.gallery-name{font-weight:600}.gallery-zoom{position:fixed;z-index:30;pointer-events:none}.gallery-zoom-art{width:280px;aspect-ratio:var(--card-aspect)}.gallery-zoom-art.landscape{width:400px;aspect-ratio:1039 / 744}.gallery-zoom-art img,.gallery-zoom-art .card-art-fallback{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 10px 30px #000000b3}.gallery-zoom .card-zoom-info{position:absolute;top:0;left:calc(100% + 8px);width:260px;font-size:14px;box-shadow:0 8px 30px #0009}.gallery-zoom.info-left .card-zoom-info{left:auto;right:calc(100% + 8px)}.deck-panel h3{margin:var(--space-3) 0 var(--space-1);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gold)}.deck-name{width:100%;font-size:16px;font-weight:600}.deck-slots{display:grid;gap:var(--space-1)}.deck-slots p{margin:0}.deck-slots select{width:100%}.deck-rows{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:13px}.deck-rows li{display:grid;grid-template-columns:1.6em auto 1fr auto auto auto;align-items:center;gap:4px;padding:1px 4px;border-radius:4px;background:#ffffff08}.battlefield-rows li{grid-template-columns:1fr auto}.deck-cost{text-align:center;font-weight:700;color:var(--color-teal)}.deck-power{display:flex;gap:2px;font-size:13px}.deck-count{color:var(--color-text-muted)}.deck-check{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);font-size:13px;background:#e0605c1f;box-shadow:inset 0 0 0 1px #e0605c80}.deck-check.legal{background:#39c5bb1f;box-shadow:inset 0 0 0 1px #39c5bb99}.deck-check ul{margin:0;padding-left:1.1em}.deck-io{width:100%;font-family:ui-monospace,monospace;font-size:13px}.deck-warnings{margin:0;color:var(--color-gold);font-size:13px}.deck-builder:not(.desktop) .gallery-zoom{display:none}.prompt-dialog.wide{width:min(1100px,100%)}.image-drop{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--color-zone-border);border-radius:10px;text-align:center}.image-drop:focus-visible{outline:2px solid var(--color-gold)}.image-drop p{margin:0}.image-drop .image-drop-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(11em,1fr));gap:var(--space-2);width:min(100%,28em);margin:0 auto}.image-drop-buttons .button{text-align:center;white-space:nowrap}.image-review{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.image-review>p{margin:0}.review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-2);max-height:60vh;overflow:auto}.review-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-zone-border);border-radius:8px;background:var(--color-table-deep)}.review-row.flagged{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.review-thumb,.review-card{width:54px;aspect-ratio:var(--card-aspect);flex:none;border-radius:4px;overflow:hidden;object-fit:cover}.review-thumb.landscape,.review-card.landscape{width:76px;aspect-ratio:744 / 533}.review-card img{width:100%;height:100%;object-fit:cover}.review-arrow{color:var(--color-text-muted)}.review-fields{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.review-fields select{min-width:0;width:100%}.review-count{display:flex;align-items:center;gap:var(--space-1)}.review-count input{width:4.5em}.review-flag{color:var(--color-danger);font-size:13px}.review-name{flex:1 1 14em;min-width:0}.review-name input{width:100%;min-width:0}.image-review .prompt-footer,.image-straighten .prompt-footer{flex-wrap:wrap;align-items:flex-end}.image-review .prompt-footer>button,.image-straighten .prompt-footer>button{white-space:nowrap}@media(max-width:600px){.review-name{flex-basis:100%}.image-review .prompt-footer>button,.image-straighten .prompt-footer>button{flex:1 1 auto}}.bf-choice{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.bf-choice h1{margin:0}.bf-choice-options{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.bf-choice-card{display:flex;flex-direction:column;gap:var(--space-2);width:min(300px,90vw);padding:var(--space-2)}.bf-choice-card img,.bf-choice-card .card-art-fallback{display:block;width:100%;aspect-ratio:1039 / 744;object-fit:cover;border-radius:10px}.bf-choice-card.chosen{border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold),0 0 18px #d4b46a99}.bf-choice-card:disabled:not(.chosen){opacity:.5}.bf-choice-status{margin:0;color:var(--color-gold);animation:ai-thinking 1.6s ease-in-out infinite alternate}:root[data-motion=reduce] .bf-choice-status{animation:none}.image-straighten{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.corner-editor{position:relative;max-width:100%;margin:0 auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#0000004d}.corner-editor img,.corner-editor svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.corner-editor polygon{fill:#d4b46a1f;stroke:var(--color-gold, #d4b46a);stroke-width:.4%;vector-effect:non-scaling-stroke}.corner-handle{position:absolute;width:28px;height:28px;min-height:0;margin:-14px 0 0 -14px;padding:0;border:2px solid #fff3d6;border-radius:50%;background:#d4b46abf;box-shadow:0 0 0 2px #00000080;cursor:grab;touch-action:none}.corner-handle:focus-visible{outline:3px solid var(--color-teal, #7fd6c2)}@media(pointer:coarse){.corner-handle{width:40px;height:40px;margin:-20px 0 0 -20px}}.qr-hint{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--color-gold, #d4b46a);border-radius:8px;background:#d4b46a1a}.qr-hint p{flex:1 1 18em;margin:0}.image-choose{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.image-choose-options{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.image-choose-options button{flex:1 1 12em}.table-tips{text-align:left;font-size:13px}.table-tips summary{cursor:pointer;color:var(--color-gold, #d4b46a)}.table-tips ul{margin:4px 0 0;padding-left:1.2em}.review-note{margin:0;color:var(--color-gold, #d4b46a)}.review-note .link-button{min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--color-teal, #7fd6c2);text-decoration:underline;font:inherit;cursor:pointer}.deck-builder.phone,.deck-builder.tablet{display:flex;flex-direction:column;gap:var(--space-2)}.deck-builder [hidden]{display:none!important}.deck-header{display:grid;gap:var(--space-1)}.deck-header-row{display:flex;align-items:center;gap:var(--space-1);min-width:0}.deck-header-row>.deck-select,.deck-header-row>.deck-name{flex:1 1 0;min-width:0}.deck-header-row>button{flex:none;white-space:nowrap}.deck-dirty{flex:none;font-size:12px;color:var(--color-gold)}.deck-menu{position:relative;flex:none}.deck-menu-button{min-width:44px;font-size:20px;line-height:1}.deck-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:40;list-style:none;margin:0;padding:var(--space-1);display:grid;gap:var(--space-1);min-width:12em;border-radius:var(--radius-card);background:var(--color-panel);box-shadow:0 8px 24px #0009,inset 0 0 0 1px #ffffff14}.deck-menu-list button{width:100%;text-align:left}.deck-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.deck-tab{border-radius:var(--radius-card) var(--radius-card) 0 0}.deck-tab:not(.active){background:#ffffff0f;color:var(--color-text-muted);box-shadow:none}.deck-panes{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.tablet .deck-panes{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.deck-pane{min-height:0;display:flex;flex-direction:column}.deck-pane>*{flex:1;min-height:0}.deck-status-bar{flex:none;padding-bottom:env(safe-area-inset-bottom)}.deck-status{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-card);background:#0c1424d9;box-shadow:inset 0 0 0 1px #ffffff1a;color:var(--color-text);font-size:13px;font-weight:400}.deck-status-part strong{font-variant-numeric:tabular-nums}.deck-status-part.met strong{color:var(--color-teal)}.deck-status-verdict{font-weight:600;color:var(--color-danger, #e0605c)}.deck-status-verdict.legal{color:var(--color-teal)}.phone .deck-panel,.tablet .deck-panel{padding:var(--space-1)}@media(max-width:699px){.screen.decks{padding:var(--space-2);gap:var(--space-2)}.screen.decks .screen-header h1{font-size:22px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gallery-chips{flex:1 0 100%;display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.gallery-chip{flex:none;min-height:32px;padding:2px 12px;border-radius:999px;font-size:13px;background:#ffffff0f;color:var(--color-text-muted);box-shadow:inset 0 0 0 1px #ffffff1f}.gallery-chip.active{background:#d4b46a33;color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-gold)}.filter-button.active{box-shadow:inset 0 0 0 1px var(--color-gold)}.deck-builder:not(.desktop) .gallery-filters input[type=search]{flex:1 1 8em;min-width:0}.deck-builder:not(.desktop) .gallery-shown{font-size:12px}.gallery-tile{position:relative}.gallery-count{position:absolute;bottom:4px;right:4px;min-width:1.8em;padding:1px 6px;border-radius:999px;background:var(--color-gold);color:#1b1408;font-size:13px;font-weight:700;text-align:center;pointer-events:none;box-shadow:0 1px 4px #0009}.gallery-remove{position:absolute;bottom:2px;left:2px;width:32px;height:32px;min-height:0;padding:0;border-radius:50%;font-size:20px;line-height:1;background:#0c1424d9;color:var(--color-text);box-shadow:inset 0 0 0 1px #ffffff4d,0 1px 4px #0009}.deck-builder:not(.desktop) .gallery-add{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tablet .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2)}.tablet .gallery-grid.wide{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.phone .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2) var(--space-1);padding:0 var(--space-1) var(--space-2)}.phone .gallery-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.phone .gallery-card{contain-intrinsic-size:auto 110px auto 190px}.phone .gallery-card figcaption{font-size:11px;min-height:2.6em;overflow:hidden}.phone .gallery-badge{font-size:9px}.filter-sheet{width:min(480px,100%)}.filter-sheet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.filter-sheet-fields .field{display:grid;gap:2px;font-size:13px}.filter-sheet-fields .toggle-field{grid-column:1 / -1}.card-sheet{width:min(720px,100%)}.card-sheet-body{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:var(--space-3);align-items:start}.card-sheet-art{aspect-ratio:var(--card-aspect)}.card-sheet-art.landscape{aspect-ratio:1039 / 744}.card-sheet-art img,.card-sheet-art .card-art-fallback{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}.card-sheet-info p{margin:0 0 var(--space-2)}.card-sheet-count{font-weight:600;color:var(--color-gold)}.card-sheet .prompt-footer{flex-wrap:wrap}@media(max-width:699px){.prompt-backdrop.sheet-backdrop{place-items:end stretch;padding:0}.sheet-backdrop>.prompt-dialog{width:100%;max-height:92%;border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.card-sheet-body{grid-template-columns:minmax(0,130px) minmax(0,1fr);gap:var(--space-2);font-size:14px}.card-sheet .prompt-footer>button{flex:1 1 auto}}.deck-checklist{list-style:none;margin:var(--space-2) 0;padding:0;display:grid;gap:var(--space-1)}.check-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-card);background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff14}.check-step.done{box-shadow:inset 0 0 0 1px #39c5bb73}.check-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:13px;background:#ffffff1a;color:var(--color-text-muted)}.check-step.done .check-mark{background:var(--color-teal);color:#0b1a1a}.check-body{display:grid;gap:2px;min-width:0;font-size:14px}.check-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gold)}.check-body select{width:100%;min-width:0}.check-hint{font-size:12px}.check-find{min-width:4.5em}.deck-guide{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);background:#d4b46a1a;box-shadow:inset 0 0 0 1px #d4b46a80;font-size:14px}.deck-guide p{margin:0 0 var(--space-2)}.deck-check h4{margin:0 0 var(--space-1);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.deck-preview-open{width:100%;margin-top:var(--space-1)}.deck-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:flex;flex-direction:column;background:var(--color-table-deep, #0d1626)}.deck-preview-header{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);padding-top:calc(var(--space-2) + env(safe-area-inset-top));background:var(--color-panel);box-shadow:0 2px 12px #00000080}.deck-preview-title{flex:1;min-width:0}.deck-preview-title h2{margin:0;font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-preview-title p{margin:2px 0 0;font-size:13px}.preview-legal{color:var(--color-teal);font-weight:600}.preview-problems{color:var(--color-danger, #e0605c);font-weight:600}.deck-preview-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom));--preview-card: 150px}.preview-section h3{margin:var(--space-3) 0 var(--space-2);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);border-bottom:1px solid rgb(212 180 106 / .25);padding-bottom:2px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--preview-card),1fr));gap:var(--space-2)}.preview-grid.wide{grid-template-columns:repeat(auto-fill,minmax(calc(var(--preview-card) * 1.6),1fr))}.preview-tile{margin:0;display:grid;gap:2px}.preview-tile figcaption{font-size:12px;text-align:center;color:var(--color-text-muted)}.preview-card{position:relative;display:block;width:100%;padding:0;border:none;background:none;box-shadow:none;border-radius:8px;overflow:hidden;aspect-ratio:var(--card-aspect)}.preview-tile.landscape .preview-card{aspect-ratio:1039 / 744}.preview-card img,.preview-card .card-art-fallback{display:block;width:100%;height:100%;object-fit:cover}.preview-card .gallery-count{font-size:15px}@media(max-width:699px){.deck-preview-body{padding-inline:var(--space-2);--preview-card: 30%}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.preview-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.deck-preview-body{--preview-card: 170px}}.tip-card{position:absolute;top:8px;left:8px;z-index:14;display:flex;flex-direction:column;gap:6px;width:min(330px,calc(100% - 16px));max-height:calc(100% - 16px);overflow-y:auto;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-panel, 8px);background:linear-gradient(180deg,#18233af7,#0c1424f7) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 8px 24px #0009;font-size:14px;line-height:1.4;animation:tip-in .25s ease-out}.tip-title{color:var(--color-gold);letter-spacing:.02em}.tip-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px}.tip-rule{flex:1 1 auto;font-size:12px;opacity:.85}.tip-done{min-height:0;padding:2px 12px;font-size:13px}[data-layout=compact] .tip-card{width:min(270px,calc(100% - 16px));gap:4px;padding:7px 9px;font-size:12.5px;line-height:1.35}[data-layout=compact] .tip-card .rule-pop{max-height:8em;font-size:12px}@keyframes tip-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tip-card{animation:none}}:root[data-motion=reduce] .tip-card{animation:none}.board-shell.touch .tip-card{top:auto;bottom:8px;left:50%;transform:translate(-50%);animation:none}.board-frame:has(.chain-sheet) .tip-card{bottom:56px}.board-frame:has(.chain-sheet.open) .tip-card{display:none}.prompt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--game-topbar-height, 0px);z-index:25;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:var(--space-4);background:#080e188c}.prompt-dialog{width:min(760px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid transparent;border-radius:var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(var(--color-panel),var(--color-panel)) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 12px 40px #000000b3}.prompt-header{display:flex;align-items:center;gap:var(--space-3)}.prompt-dialog>.prompt-header,.prompt-dialog>.prompt-footer{position:sticky;z-index:1;margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);background:var(--color-panel)}.prompt-dialog>.prompt-header{top:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-4));padding-block:var(--space-4) var(--space-2)}.prompt-dialog>.prompt-footer{bottom:calc(-1 * var(--space-4));margin-bottom:calc(-1 * var(--space-4));padding-block:var(--space-2) var(--space-4)}.prompt-header h2{flex:1;margin:0;font-family:var(--font-display);font-size:18px}.prompt-note{margin:0;color:var(--color-text-muted);font-size:14px}.prompt-why{display:flex;flex-direction:column}.prompt-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}.prompt-footer:empty{display:none}.prompt-reopen{position:fixed;left:50%;bottom:64px;z-index:25;transform:translate(-50%);box-shadow:0 6px 20px #0009}.pick-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.pick-card{width:clamp(90px,18vw,150px);aspect-ratio:var(--card-aspect);padding:0;overflow:hidden;border-radius:8px;border:2px solid transparent;background:var(--color-panel-raised);box-shadow:0 3px 10px #00000080;transition:transform .12s ease,box-shadow .12s ease}.pick-card img{display:block;width:100%;height:100%;object-fit:cover}.pick-card .pick-name{display:grid;place-items:center;height:100%;padding:var(--space-2);color:var(--color-text);text-shadow:none}.pick-card.unpickable{opacity:.4;filter:grayscale(.6);cursor:default}.reveal-card{width:clamp(120px,22vw,220px)}.pick-card.picked{border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold),0 0 18px #d4b46acc;transform:translateY(-6px)}.option-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.option-cards figure{margin:0;width:min(200px,38vw);text-align:center}.option-cards img,.option-cards .card-art-fallback{width:100%;aspect-ratio:var(--card-aspect);border-radius:8px;object-fit:cover}.option-cards{align-items:center}.option-cards figcaption{display:flex;flex-direction:column;margin-top:4px;font-size:13px;color:var(--color-text)}.option-role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.option-where{font-size:12px;color:var(--color-gold)}.option-cards .option-source{width:min(140px,28vw);opacity:.8}.option-cards .option-subject img,.option-cards .option-subject .card-art-fallback{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:0 0 18px #d4b46a73}.option-cards figure.landscape{width:min(480px,80vw)}.option-cards figure.landscape img,.option-cards figure.landscape .card-art-fallback{aspect-ratio:1039 / 744}.pick-card.landscape{width:clamp(180px,34vw,300px);aspect-ratio:1039 / 744}.prompt-body{margin:0;padding:0;border:0;min-width:0}.prompt-body:disabled .prompt-footer button,.prompt-body:disabled .pick-card{cursor:progress}.prompt-ai-wait{margin:var(--space-2) 0 0;text-align:center;color:var(--color-gold);animation:ai-thinking 1.6s ease-in-out infinite alternate}:root[data-motion=reduce] .prompt-ai-wait{animation:none}.option-arrow{font-size:28px;color:var(--color-gold)}.option-list{display:grid;gap:var(--space-2)}.option-list button{text-align:left}.option-list.long{max-height:50vh;overflow-y:auto}.option-search{width:100%;margin-bottom:var(--space-2)}.damage-attackers{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.damage-mine{margin:0;width:min(88px,18vw);text-align:center;font-size:11px}.damage-mine img,.damage-mine .card-art-fallback,.damage-card img,.damage-card .card-art-fallback{display:block;width:100%;aspect-ratio:var(--card-aspect);border-radius:6px;object-fit:cover}.damage-mine.stunned{opacity:.45}.damage-might{display:block;color:var(--color-gold);font-weight:700}.damage-pool{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-panel);background:#e0605c1f}.damage-pool-left{font-size:34px;font-weight:800;color:var(--color-danger);font-variant-numeric:tabular-nums}.damage-pool-label{font-size:12px;line-height:1.2;color:var(--color-text-muted)}.damage-pool.done{border-color:var(--color-teal);background:#50c8be1a}.damage-pool.done .damage-pool-left{color:var(--color-teal)}.damage-targets{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.damage-target{width:min(150px,40vw);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.damage-card{position:relative;width:100%;padding:0;border:none;border-radius:8px;background:none;box-shadow:none;overflow:hidden;cursor:crosshair;transition:transform .12s ease,filter .3s ease}.damage-card:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--color-danger),0 6px 18px #e0605c59}.damage-card:disabled{cursor:default}.damage-target.waiting .damage-card{filter:saturate(.4) brightness(.7)}.damage-hit{position:absolute;right:6px;top:6px;min-width:1.8em;padding:2px 6px;border-radius:999px;font-size:18px;font-weight:800;color:#fff;background:var(--color-danger);box-shadow:0 2px 8px #0009;animation:damage-pop .25s ease-out}.damage-target.dies .damage-card img,.damage-target.dies .damage-card .card-art-fallback{filter:grayscale(.7) brightness(.55) sepia(.3) hue-rotate(-20deg);transition:filter .35s ease}.damage-dies{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.damage-slash{position:absolute;left:-10%;top:50%;width:120%;height:6px;background:linear-gradient(90deg,transparent,#ffd2cc 20%,#fff 50%,#ffd2cc 80%,transparent);box-shadow:0 0 14px #ff5a50e6;transform:rotate(-35deg) scaleX(0);animation:damage-slash .3s ease-out forwards}.damage-stamp{position:relative;padding:2px 10px;border:3px solid var(--color-danger);border-radius:6px;font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffdcd8;background:#3c0808bf;transform:rotate(-12deg);animation:damage-stamp .35s cubic-bezier(.2,1.6,.4,1) .2s both}.damage-name{font-size:13px;font-weight:600}.damage-bar{width:100%;height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}.damage-bar span{display:block;height:100%;background:var(--color-danger);transition:width .2s ease}.damage-need,.damage-lethal{font-size:12px}@keyframes damage-pop{0%{transform:scale(1.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes damage-slash{to{transform:rotate(-35deg) scaleX(1)}}@keyframes damage-stamp{0%{transform:rotate(-12deg) scale(2.2);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:1}}html[data-motion=reduce] .damage-hit,html[data-motion=reduce] .damage-stamp{animation:none}html[data-motion=reduce] .damage-slash{animation:none;transform:rotate(-35deg)}@media(prefers-reduced-motion:reduce){.damage-hit,.damage-stamp{animation:none}.damage-slash{animation:none;transform:rotate(-35deg)}}.damage-tag{margin-left:var(--space-1);padding:0 .35em;border-radius:.6em;font-size:12px;border:1px solid var(--color-teal)}.damage-problem{flex:1;align-self:center;margin:0;min-height:2.6em;display:flex;align-items:center;font-size:13px;line-height:1.3;color:var(--color-gold)}@media(max-height:820px){.prompt-backdrop{padding:var(--space-2)}.prompt-dialog{padding:var(--space-3);gap:var(--space-2)}.prompt-dialog>.prompt-header,.prompt-dialog>.prompt-footer{margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3)}.prompt-dialog>.prompt-header{top:calc(-1 * var(--space-3));margin-top:calc(-1 * var(--space-3));padding-top:var(--space-3)}.prompt-dialog>.prompt-footer{bottom:calc(-1 * var(--space-3));margin-bottom:calc(-1 * var(--space-3));padding-bottom:var(--space-3)}.damage-mine{width:min(64px,16vw)}.damage-target{width:min(112px,30vw)}.damage-pool-left{font-size:26px}}@media(max-width:640px){.prompt-footer:has(.damage-problem){flex-wrap:wrap}.damage-problem{flex-basis:100%}}.stepper{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-1)}.stepper button{padding:0 var(--space-2)}.stepper output{min-width:1.5em;text-align:center;font-weight:700}.turn-summary.waiting{color:var(--color-gold)}.chain-panel{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);width:min(92%,420px);max-height:90%;overflow:auto;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-panel);background:linear-gradient(180deg,#18233af7,#0c1424f7) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 8px 30px #000000b3;font-size:13px}.board:is([data-selection=targets],[data-selection=choose],[data-selection=zone]) :is(.chain-panel,.combat-banner){opacity:.3;pointer-events:none}.chain-panel h3{margin:0 0 var(--space-1);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold)}.chain-panel ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.chain-item{display:grid;grid-template-columns:36px 1fr;gap:var(--space-2);align-items:start;padding:var(--space-1);border-radius:6px;background:#ffffff0a}.chain-item img,.chain-item .thumb{width:36px;aspect-ratio:var(--card-aspect);border-radius:3px;object-fit:cover;background:var(--color-panel-raised)}.chain-item .thumb.landscape{aspect-ratio:1039 / 744}.chain-item.next{box-shadow:inset 0 0 0 1px var(--color-gold)}.chain-item .who{color:var(--color-text-muted)}.chain-item .chain-text{margin-top:2px;font-size:12px;line-height:1.3;color:var(--color-text)}.chain-item .chain-text p{margin:0}.chain-item{cursor:zoom-in}.chain-item .tag{margin-left:var(--space-1);padding:0 .4em;border-radius:4px;font-size:11px;color:#1b160b;background:var(--color-gold)}.combat-banner{position:absolute;left:50%;top:calc(-1 * var(--gap));z-index:6;transform:translate(-50%,-50%);width:max-content;max-width:96%;text-align:center;line-height:1.3;padding:2px var(--space-3);border-radius:12px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(180deg,#a83b38,#6b1f1d);box-shadow:0 0 0 1px #ff9d9a,0 4px 14px #0009;pointer-events:none}.pile-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.pile.openable{cursor:pointer;padding:0;border:none;background:none;box-shadow:none;text-shadow:none;border-radius:var(--radius-card)}.pile.openable:hover .card{box-shadow:0 0 0 2px var(--color-gold),0 0 12px #d4b46a99}.chain-item .card-art-fallback{padding:2px;border-width:1px;font-size:7px}:is([data-layout=compact],.touch) .combat-banner{left:auto;right:var(--space-1);transform:translateY(-50%);max-width:calc(50% - 96px);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-short{display:none}:is([data-layout=compact],.touch) .combat-banner .combat-short{display:inline}:is([data-layout=compact],.touch) .combat-banner .combat-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chain-panel.chain-sheet{top:auto;bottom:4px;transform:translate(-50%);width:min(100% - 8px,560px);max-height:60%;z-index:15;padding:0}.chain-sheet .chain-handle{display:block;width:100%;padding:6px var(--space-3);border:0;border-radius:0;background:none;box-shadow:none;color:var(--color-text);font-size:13px;font-weight:400;text-align:left;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chain-sheet .chain-count{color:var(--color-gold);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.chain-sheet ol{padding:0 var(--space-2) var(--space-2)}.chain-sheet .chain-item{grid-template-columns:min(36%,170px) 1fr;font-size:14px}.chain-sheet .chain-item img,.chain-sheet .chain-item .thumb{width:100%;border-radius:6px}.chain-sheet .chain-item .chain-text{font-size:13px}.board-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.board-frame{position:relative;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;display:flex;justify-content:center;align-items:center}.board{--u: 4px;--grow: 1;--card-w: calc(9.6 * var(--u));--hand-w: calc(12 * var(--u));--gap: var(--u);--frame: 1px solid var(--color-zone-border);flex:none;width:max(calc(100 * var(--u)),100%);display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"ohand" "orow" "obase" "oscore" "bfs" "mscore" "mbase" "mrow" "mhand";gap:var(--gap);padding:var(--gap);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.area-ohand{grid-area:ohand}.area-orow{grid-area:orow}.area-obase{grid-area:obase}.area-oscore{grid-area:oscore}.area-bfs{grid-area:bfs}.area-mscore{grid-area:mscore}.area-mbase{grid-area:mbase}.area-mrow{grid-area:mrow}.area-mhand{grid-area:mhand}[data-layout=landscape]>.board{--card-w: calc(5.4 * var(--u));--hand-w: calc(6.4 * var(--u));--gap: calc(.5 * var(--u));grid-template-columns:calc(100 * var(--u) / 3.6) minmax(0,1fr);grid-template-areas:"orow ohand" "orow obase" "oscore bfs" "mscore bfs" "mrow mbase" "mrow mhand"}[data-layout=landscape] .area-oscore{align-self:start}[data-layout=landscape] .area-mscore{align-self:end}[data-layout=landscape] .score-line{grid-template-columns:minmax(0,1fr)}[data-layout=landscape] .side-row{flex-wrap:wrap;justify-content:space-around;align-content:center;height:100%}:is([data-layout=portrait],[data-layout=compact])>.board{--gap: calc(.7 * var(--u));--card-w: calc(9.6 * var(--u) * var(--grow));--hand-w: calc(13 * var(--u) * var(--grow))}:is([data-layout=portrait],[data-layout=compact]) .side-row .card-slot,:is([data-layout=portrait],[data-layout=compact]) .side-row .card{width:calc(var(--card-w) * .8)}:is([data-layout=portrait],[data-layout=compact]) .opponent-hand .card-slot,:is([data-layout=portrait],[data-layout=compact]) .opponent-hand .card{width:calc(var(--card-w) * .42)}:is([data-layout=portrait],[data-layout=compact]) .opponent-hand .card-slot+.card-slot{margin-left:calc(var(--card-w) * -.2)}:is([data-layout=portrait],[data-layout=compact]) .bf-card .card-slot,:is([data-layout=portrait],[data-layout=compact]) .bf-card .card{width:calc(var(--card-w) * 1.6)}:is([data-layout=portrait],[data-layout=compact]) .score-line{grid-template-columns:minmax(0,.8fr) minmax(0,3fr)}:is([data-layout=portrait],[data-layout=compact]) .name-plate{padding:.2em .4em}[data-layout=compact] .area-mhand{min-height:calc(var(--hand-w) * 1039 / 744)}[data-layout=compact]>.board{--hand-w: calc(17 * var(--u) * var(--grow))}[data-layout=compact] .area-mhand .card-slot+.card-slot{margin-left:min(calc(var(--hand-w) * -.25),calc((96 * var(--u) - var(--n, 1) * var(--hand-w)) / max(var(--n, 1) - 1,1)))}:is([data-layout=portrait],[data-layout=compact]) .area-bfs{margin-top:max(4px,calc(1.2 * var(--u)))}.card-slot{position:relative;flex:0 1 auto;min-width:0;width:var(--card-w);display:grid;place-items:center;justify-items:safe center}.card-slot:has(>.card.exhausted){width:calc(var(--card-w) * 1039 / 744)}.card{position:relative;width:var(--card-w);aspect-ratio:var(--card-aspect);border-radius:calc(var(--card-w) * .06);background:linear-gradient(160deg,var(--color-panel-raised),var(--color-panel));box-shadow:0 1px 3px #00000073;transition:transform .15s ease;outline-offset:2px}.card.landscape{aspect-ratio:1039 / 744}.card:focus-visible{outline:2px solid var(--color-teal)}.card.exhausted{transform:rotate(90deg)}.card.facedown .card-art{filter:grayscale(.6) brightness(.55)}.card.attacker{box-shadow:0 0 0 2px var(--color-danger)}.card.defender{box-shadow:0 0 0 2px var(--color-teal)}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;opacity:0;transition:opacity .2s ease}.card-art.loaded{opacity:1}.card-name{position:absolute;top:8%;right:6%;bottom:8%;left:6%;display:grid;place-items:center;text-align:center;font-size:max(8px,calc(var(--card-w) * .13));line-height:1.15;color:var(--color-text);overflow:hidden}.card-empty{background:transparent;border:1px dashed var(--color-zone-border);box-shadow:none;opacity:.5}.card-attachment{position:absolute;top:calc(var(--card-w) * -.14);left:calc(var(--card-w) * .3);z-index:0}.card-attachment .card-slot,.card-attachment .card{width:calc(var(--card-w) * .8)}.card-attachment .badges,.card-attachment .keywords{display:none}.card-slot>.card{z-index:1}.card-back{display:grid;place-items:center;border:1px solid #3d5679;background:radial-gradient(circle at 50% 50%,transparent 32%,rgb(201 168 92 / .18) 33%,transparent 35%),linear-gradient(160deg,#1c3555,#13243b)}.card-back-mark{width:46%;aspect-ratio:1;transform:rotate(45deg);border:2px solid rgb(201 168 92 / .7);outline:1px solid rgb(201 168 92 / .35);outline-offset:3px}.card-back-rune{border-color:#c8d3e3;background:linear-gradient(160deg,#f4f6fa,#dde4ee)}.card-back-rune .card-back-mark{border-color:#2d6b8a;outline-color:#2d6b8a66}.badges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;font-size:max(9px,calc(var(--card-w) * .15));font-weight:700}.badge{position:absolute;min-width:1.5em;padding:.05em .3em;border-radius:.8em;text-align:center;line-height:1.3;color:#fff;background:#111d2de6;border:1px solid var(--color-zone-border)}.badge.cost{top:-.4em;left:-.4em;background:#1d2f4f}.badge.power-cost{top:1.2em;left:-.3em;display:flex;flex-direction:column;gap:.12em;min-width:0;padding:.15em;background:#1d2f4f}.badge.might{right:-.4em;bottom:-.4em;background:#3a2a10;border-color:var(--color-gold)}.badge.might.up{color:#8ef0a8}.badge.might.down{color:#ff9d9a}.badge.hidden-tag{left:50%;top:8%;transform:translate(-50%);font-weight:600}.medal{--medal-size: 1.85em;position:relative;flex:none;display:inline-grid;place-items:center;width:var(--medal-size);height:var(--medal-size);border-radius:50%;color:#fff;background:radial-gradient(circle at 34% 28%,rgb(255 255 255 / .45),transparent 42%),radial-gradient(circle at 50% 60%,var(--medal-b),var(--medal-a) 72%);border:max(1px,.11em) solid var(--medal-rim);box-shadow:0 0 0 max(1px,.05em) #000000a6,0 .12em .35em #000000a6,0 0 .55em var(--medal-glow),inset 0 -.12em .2em #00000059}.medal svg{width:64%;height:64%;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .7))}.medal-value{position:absolute;right:-.45em;bottom:-.35em;min-width:1.25em;padding:0 .22em;border-radius:.65em;font-size:.68em;font-weight:800;line-height:1.35;text-align:center;color:#fff;background:linear-gradient(180deg,#24324d,#0c1424);border:max(1px,.1em) solid var(--medal-rim);box-shadow:0 1px 3px #000000b3}.medal-red{--medal-a: #6e1410;--medal-b: #d8432f;--medal-rim: #ffb08a;--medal-glow: rgb(255 96 64 / .55)}.medal-crimson{--medal-a: #5a0d1c;--medal-b: #c52b45;--medal-rim: #ff9fb0;--medal-glow: rgb(255 70 100 / .55)}.medal-blue{--medal-a: #12305e;--medal-b: #3c78c9;--medal-rim: #a9cbff;--medal-glow: rgb(90 150 255 / .5)}.medal-cyan{--medal-a: #0d4650;--medal-b: #26a8b5;--medal-rim: #9ff3f0;--medal-glow: rgb(57 197 187 / .55)}.medal-green{--medal-a: #0f4a2a;--medal-b: #2ea760;--medal-rim: #a6f0c2;--medal-glow: rgb(80 220 140 / .55)}.medal-gold{--medal-a: #6b4507;--medal-b: #d79a22;--medal-rim: #ffe29a;--medal-glow: rgb(255 200 90 / .65)}.medal-purple{--medal-a: #3a1d6e;--medal-b: #8a5ce0;--medal-rim: #d9c3ff;--medal-glow: rgb(170 120 255 / .6)}.medal-orange{--medal-a: #6a3008;--medal-b: #e07a25;--medal-rim: #ffcf9a;--medal-glow: rgb(255 150 60 / .55)}.medal-slate{--medal-a: #26324a;--medal-b: #5c6f95;--medal-rim: #c7d3ea;--medal-glow: rgb(160 180 220 / .35)}.card-zoom-state li:has(>.medal){list-style:none;margin:.2em 0 .2em -1.1em}.card-zoom-state .medal{--medal-size: 1.7em;margin-right:.45em;vertical-align:middle;font-size:13px}.badges>.medal{position:absolute}.medal.state-damage{right:-.45em;top:26%}.medal.state-buff{left:-.45em;bottom:-.45em}.medal.state-stun{--medal-size: 2.5em;left:50%;top:34%;margin-left:-1.25em}.medal.state-empowered{right:-.45em;top:50%}.keywords{position:absolute;left:0;right:0;bottom:17%;display:flex;flex-wrap:wrap;justify-content:center;z-index:2;gap:.2em;pointer-events:none;font-size:max(8px,calc(var(--card-w) * .13))}.card.exhausted .medal svg,.card.exhausted .medal-value{transform:rotate(-90deg)}.card.stunned:after,.card.empowered:before{content:"";position:absolute;inset:calc(var(--card-w) * -.045);border-radius:calc(var(--card-w) * .09);pointer-events:none}.card.stunned:after{z-index:1;border:max(2px,calc(var(--card-w) * .025)) solid rgb(190 150 255 / .95);box-shadow:0 0 calc(var(--card-w) * .12) #8a5cf0d9,inset 0 0 calc(var(--card-w) * .1) #8a5cf099}.card.stunned .card-art{filter:saturate(.45) brightness(.8)}.medal.state-stun svg{animation:medal-stun 2.4s ease-in-out infinite}@keyframes medal-stun{50%{transform:rotate(-12deg) scale(1.08)}}.card.exhausted .medal.state-stun svg{animation:none}.card.empowered:before{z-index:-1;border:max(2px,calc(var(--card-w) * .03)) solid rgb(255 220 130);box-shadow:0 0 calc(var(--card-w) * .12) #ffc850f2,0 0 calc(var(--card-w) * .3) #ffaa28b3;animation:empowered-aura 2.6s ease-in-out infinite}@keyframes empowered-aura{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.medal.state-stun svg,.card.empowered:before{animation:none}}:root[data-motion=reduce] .medal.state-stun svg,:root[data-motion=reduce] .card.empowered:before{animation:none}.zone{position:relative;min-width:0;min-height:calc(var(--card-w) * 1039 / 744 + 2 * var(--gap) + 2px);padding:var(--gap);border:1px solid transparent;border-radius:var(--radius-card);background:linear-gradient(180deg,#0c14248c,#0c142459) padding-box,linear-gradient(160deg,#c8d2e48c,#46526c80 45%,#a0acc473 75%,#46526c80) border-box;box-shadow:inset 0 2px 6px #00000059}.zone-cards{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--gap);min-width:0}.zone-cards>.card-slot:last-child{flex-shrink:0}.zone-overlap .card-slot+.card-slot{margin-left:calc(var(--card-w) * -.55)}.zone-count{position:absolute;right:.4em;top:.2em;font-size:max(10px,calc(var(--card-w) * .24));color:var(--color-text-muted)}.hand{border:none;background:none;box-shadow:none;min-height:0}.hand .zone-cards{justify-content:center;flex-wrap:nowrap}.hand .card-slot,.hand .card{width:var(--hand-w)}.area-mhand .card-slot+.card-slot{margin-left:calc(var(--hand-w) * -.25)}.opponent-hand .card-slot,.opponent-hand .card{width:calc(var(--card-w) * .62)}.opponent-hand .card-slot+.card-slot{margin-left:calc(var(--card-w) * -.3)}.opponent-hand .zone-count{position:static;margin-left:var(--gap);padding:0 .4em;border-radius:.6em;background:#0c1424cc;color:var(--color-text);font-weight:700}.opponent-hand{display:flex;justify-content:center;align-items:center}.side-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.side-row .zone{border:none;background:none;box-shadow:none;padding:0;min-height:0}.side-row .zone:not(:has(.card-slot)){display:none}.pile{position:relative}.pile-count{position:absolute;z-index:2;left:8%;bottom:8%;padding:0 .25em;border-radius:4px;font-size:max(12px,calc(var(--card-w) * .36));font-weight:800;color:#fff;background:#111d2dbf}.pool{display:grid;gap:.2em;margin:0;font-size:max(12px,calc(var(--card-w) * .26))}.pool div{display:flex;gap:.6em;justify-content:space-between}.pool dt{color:var(--color-text-muted)}.pool dd{margin:0;font-weight:700;display:flex;gap:.25em}.power{min-width:1.4em;text-align:center;border-radius:.3em;color:#fff}.power-any{font-size:.6em;letter-spacing:.04em;opacity:.85}.side-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap)}.side-board.local{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.runes .card-slot,.runes .card{width:calc(var(--card-w) * .85)}.score-line{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,3fr);align-items:center;gap:var(--gap)}.name-plate{display:grid;gap:.1em;padding:.35em .5em;border-radius:var(--radius-panel);border:1px solid transparent;background:var(--chrome-face) padding-box,linear-gradient(180deg,var(--color-panel-raised),var(--color-panel)) padding-box,var(--chrome-rim) border-box;box-shadow:0 3px 10px #0006;text-align:center}.name-plate .name{font-family:var(--font-display);font-weight:700;font-size:max(12px,calc(var(--card-w) * .28));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plate-status{font-size:max(10px,calc(var(--card-w) * .2));color:var(--color-text-muted)}.name-plate.turn{background:var(--chrome-face) padding-box,linear-gradient(180deg,var(--color-panel-raised),var(--color-panel)) padding-box,var(--chrome-rim-teal) border-box}.name-plate.priority{box-shadow:0 0 12px #39c5bb8c,0 3px 10px #0006}.score-track{display:flex;justify-content:space-between;list-style:none;margin:0;padding:0}.score-track li{display:grid;place-items:center;width:min(10.5%,calc(var(--card-w) * .62));aspect-ratio:1;border-radius:50%;font-weight:700;font-size:max(11px,calc(var(--card-w) * .26));color:var(--color-text);text-shadow:0 1px 1px rgb(0 0 0 / .7);border:2px solid transparent;background:radial-gradient(circle at 40% 30%,rgb(255 255 255 / .18),transparent 45%) padding-box,radial-gradient(circle at 50% 50%,#2b3b5f,#141e33) padding-box,var(--chrome-rim) border-box;box-shadow:0 2px 4px #00000080}.score-track li.goal{background:radial-gradient(circle at 40% 30%,rgb(255 255 255 / .22),transparent 45%) padding-box,radial-gradient(circle at 50% 50%,#5b3a8c,#241540) padding-box,linear-gradient(160deg,#f1e4ff,#a67ee0 28%,#4b2d78,#cfb4f5,#5e3d94) border-box}.score-track.opponent li.current{background:radial-gradient(circle at 40% 30%,rgb(255 255 255 / .3),transparent 45%) padding-box,radial-gradient(circle at 50% 50%,#8a6a2a,#3d2d0f) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 0 10px #d4b46ab3}.score-track.local li.current{background:radial-gradient(circle at 40% 30%,rgb(255 255 255 / .3),transparent 45%) padding-box,radial-gradient(circle at 50% 50%,#1f8a83,#0d3b38) padding-box,var(--chrome-rim-teal) border-box;box-shadow:0 0 12px #39c5bbcc}.battlefields{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:var(--gap)}.battlefield{--rim: var(--chrome-rim);min-width:0;display:grid;grid-template-rows:auto auto auto;gap:var(--gap);padding:var(--gap);border:2px solid transparent;border-radius:var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--rim) border-box;box-shadow:var(--shadow-panel)}.battlefield.status-local{--rim: var(--chrome-rim-teal)}.battlefield.status-opponent{--rim: var(--chrome-rim-gold)}.battlefield.status-contested{--rim: linear-gradient(160deg, #ffd0ce, #e0605c 30%, #5e1b19 55%, #ff9d9a 80%, #8a2a27)}.bf-side .zone-cards{justify-content:center}.bf-center{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--gap)}.bf-card .card-slot,.bf-card .card{width:calc(var(--card-w) * 1.9)}.bf-facedown{border:none;background:none;box-shadow:none;padding:0;min-height:0}.battlefield{position:relative}.bf-status{position:absolute;left:.8em;top:-.75em;z-index:2;padding:0 .4em;border-radius:4px;font-size:max(10px,calc(var(--card-w) * .2));background:#111d2dcc;color:var(--color-text-muted)}.bf-status.tone-local{color:var(--color-teal)}.bf-status.tone-opponent{color:var(--color-gold)}.bf-status.tone-contested{color:var(--color-danger)}.battlefields{position:relative}.chain-strip{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);max-width:90%;padding:var(--gap) calc(3 * var(--gap));background:linear-gradient(180deg,#18233af5,#0c1424f5) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 6px 24px #0009}.chain-strip .zone-cards{justify-content:center}.chain-strip .zone-count{color:var(--color-gold);font-weight:700}.turn-summary{margin:0;text-align:center;font-size:13px;color:var(--color-text-muted)}.card-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:27;display:grid;place-items:center;padding:var(--space-4);background:#080e18b3}.card-zoom.focus{top:var(--game-topbar-height, 0px);grid-template:minmax(0,1fr) / minmax(0,1fr);padding:var(--space-3)}.card-zoom.focus .card-zoom-body{overscroll-behavior:contain}.card-zoom.focus .card-zoom-art{width:min(78vw,340px,calc((100dvh - var(--game-topbar-height, 0px) - 2 * var(--space-3)) * .52 * 744 / 1039))}.card-zoom.focus .card-zoom-art.landscape{width:min(90vw,480px,calc((100dvh - var(--game-topbar-height, 0px) - 2 * var(--space-3)) * .45 * 1039 / 744))}.card-zoom.peek{inset:auto var(--space-3) var(--space-3) auto;top:var(--space-3);place-items:start end;padding:0;background:none;pointer-events:none}.card-zoom.peek .card-zoom-body{flex-direction:column;align-items:flex-end;max-width:340px}.card-zoom.peek .card-zoom-art{width:260px}.card-zoom.peek .card-zoom-info{flex:none;width:300px;box-shadow:0 8px 30px #0009}.card-zoom.peek.anchored{inset:auto;right:auto;bottom:auto;display:block}.card-zoom.peek.anchored .card-zoom-body{position:relative;display:block;max-width:none;overflow:visible}.card-zoom.peek.anchored .card-zoom-art{display:block;width:300px}.card-zoom.peek.anchored .card-zoom-art.landscape{width:420px}.card-zoom.peek.anchored .card-zoom-info{position:absolute;top:0;left:calc(100% + 8px);width:260px;max-height:419px;overflow:hidden;font-size:14px}.card-zoom.peek.anchored.info-left .card-zoom-info{left:auto;right:calc(100% + 8px)}.card-zoom-body{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);max-width:760px;max-height:100%;overflow:auto}.card-zoom-art{width:min(78vw,340px);aspect-ratio:var(--card-aspect);object-fit:cover;background-size:cover;border-radius:14px;box-shadow:0 8px 30px #0009}.card-zoom-art.landscape{width:min(90vw,480px);aspect-ratio:1039 / 744}.card-zoom-info{flex:1 1 260px;max-width:380px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-panel);background:var(--color-panel);border:1px solid var(--color-zone-border)}.card-zoom-info h2{margin:0 0 var(--space-1);font-family:var(--font-display)}.card-zoom-info .muted{margin:0 0 var(--space-3)}.rb-text p{margin:0 0 var(--space-2);line-height:1.45}.card-zoom-note{margin:var(--space-2) 0 0;color:#f0c27a;font-size:13px}.card-zoom-state{margin:var(--space-3) 0 0;padding-left:1.1em;color:var(--color-text-muted)}.rb-icon{display:inline-grid;place-items:center;min-width:1.3em;height:1.3em;margin:0 .1em;vertical-align:-.2em;border-radius:50%;font-size:.85em;font-weight:700}.rb-energy{background:#e8edf5;color:#13243b}.rb-might,.rb-exhaust{background:#3a2a10;color:var(--color-gold)}.rb-rune{width:1.1em;min-width:0;height:1.1em;border-radius:2px;transform:rotate(45deg)}.rb-rune-fury{background:#c0392b}.rb-rune-calm{background:#2f8f5b}.rb-rune-mind{background:#2c6fb5}.rb-rune-body{background:#c77c1e}.rb-rune-chaos{background:#7b3fa0}.rb-rune-order{background:#b89a2b}.rb-rune-rainbow{background:conic-gradient(#c0392b,#c77c1e,#b89a2b,#2f8f5b,#2c6fb5,#7b3fa0,#c0392b)}@media(prefers-reduced-motion:reduce){.card,.card-art{transition:none}}:root[data-motion=reduce] .card,:root[data-motion=reduce] .card-art{transition:none}.card.draggable{touch-action:none;cursor:grab}.card.actionable,.pile.openable.actionable .card{box-shadow:0 0 0 2px #39c5bb8c,0 1px 3px #00000073}.card.selected{box-shadow:0 0 0 3px var(--color-teal),0 0 14px #39c5bbb3}.card-slot:has(>.card.selected:not(.exhausted))>.card{transform:translateY(-8%)}.card.target{box-shadow:0 0 0 2px var(--color-gold),0 0 10px #c9a85c99;cursor:pointer}.card.picked{box-shadow:0 0 0 3px var(--color-gold),0 0 16px #c9a85ce6;filter:brightness(1.12)}.board[data-selection=targets] .card:not(.target):not(.card-back),.board[data-selection=choose] .card:not(.target):not(.card-back){filter:brightness(.6)}.zone.destination,.battlefield.destination{background:linear-gradient(#39c5bb29,#39c5bb14) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--chrome-rim-teal) border-box;box-shadow:0 0 12px #39c5bb80;cursor:pointer}.zone.drop-over,.battlefield.drop-over{background:linear-gradient(#39c5bb52,#39c5bb33) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--chrome-rim-teal) border-box}.pass-button{min-height:0;margin-top:.2em;padding:.25em .5em;white-space:nowrap;font-family:var(--font-display);font-weight:700;font-size:max(11px,calc(var(--card-w) * .24));letter-spacing:.04em;text-transform:uppercase}.action-row{--action-row-height: 56px;flex:none;position:relative;height:var(--action-row-height);background:linear-gradient(180deg,#ffffff0d,#00000040),var(--color-table-deep);border-top:1px solid transparent;border-image:var(--chrome-rim) 1}.action-row-content{position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:20;width:max-content;max-width:100%;min-height:100%;max-height:60vh;overflow-y:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-panel) var(--radius-panel) 0 0}.action-row-content.overflowing{border:1px solid var(--color-zone-border);border-bottom:none;background:#0e1626f0;box-shadow:0 -8px 24px #00000080}.action-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.action-title{font-weight:600;margin-right:var(--space-2)}.step-count{color:var(--color-text-muted);font-weight:400}.check-lines{display:inline-flex;flex-direction:column;align-items:flex-start;vertical-align:top;text-align:left}.check-line{white-space:normal}.action-source{color:var(--color-gold)}.action-deflect{flex-basis:100%;color:var(--color-gold);font-size:13px;font-weight:600;line-height:1.3;text-align:center}.action-why{flex-basis:100%;display:flex;flex-direction:column;align-items:center;color:var(--color-text-muted);font-size:13px;line-height:1.3;text-align:center}.action-why-line{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:60ch}.idle-row{display:flex;align-items:center;gap:var(--space-2);width:100%}.idle-row .turn-summary{flex:1 1 auto;min-width:0;font-size:12px;text-align:left}.idle-row .pass-button{flex:none;min-height:var(--button-height);margin:0;padding:var(--button-pad);font-size:var(--button-font)}.board-shell.touch{--dock-height: 56px;position:relative}.action-dock{flex:none;height:var(--dock-height);overflow:hidden;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2) 0 var(--space-3);background:linear-gradient(180deg,#ffffff0d,#00000040),var(--color-table-deep);border-top:1px solid transparent;border-image:var(--chrome-rim) 1}.dock-title{flex:1 1 0;min-width:min(5.5em,25%);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:13px;font-weight:600;line-height:1.25}.dock-title .turn-summary{font-size:12px;font-weight:400;text-align:left}.dock-chips>.info-chip{min-width:40px;padding:4px 8px;font-size:18px;line-height:1}.dock-chips>.info-chip.deflect{color:#fff3d6;background:linear-gradient(#d4b46a73,#d4b46a40) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--chrome-rim-gold) border-box}.dock-chips>.info-chip[aria-expanded=true]{box-shadow:0 0 0 2px var(--color-gold)}.flyout-title{flex-basis:100%;margin:0;font-weight:600;text-align:center}.dock-chips{flex:0 1 auto;min-width:0;max-width:60%;display:flex;align-items:center;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.dock-chips>button,.dock-chips>.toggle{flex:0 1 auto;min-height:40px;padding:4px 10px;font-size:14px;line-height:1.15}.action-dock.hidden-ready .dock-chips{flex:1 1 auto;max-width:none}.dock-chips>.hidden-play{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:4px 12px;text-align:left;background:linear-gradient(#d4b46a59,#d4b46a2e) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--chrome-rim-gold) border-box}.hidden-play>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden-play-card{font-size:15px;font-weight:700;color:#fff3d6}.hidden-play-at{font-size:12px;color:var(--color-gold)}.action-dock>.pass-button{flex:none;min-height:var(--button-height);margin:0;padding:var(--button-pad);font-size:var(--button-font);letter-spacing:.02em}.action-dock>.pass-button.step:disabled{max-width:30%;padding:2px var(--space-2);white-space:normal;font-size:12px;line-height:1.1}.action-flyout{position:absolute;left:50%;transform:translate(-50%);width:min(100% - 2 * var(--space-2),560px);bottom:calc(var(--dock-height) + var(--space-2));z-index:20;max-height:45%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-zone-border);border-radius:var(--radius-panel);background:#0e1626f0;box-shadow:0 8px 30px #0009;font-size:13px}.action-flyout:empty{display:none}.action-flyout.actions>button{flex:1 1 100%;white-space:normal}.action-flyout .check-lines{flex-basis:100%;align-items:center;text-align:center}.action-flyout .action-why-line{-webkit-line-clamp:unset;line-clamp:none}.action-flyout .toggle,.dock-chips .toggle{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);padding:2px var(--space-2) 2px 4px;border-radius:999px;background:#ffffff0d}.action-flyout .toggle:has(input:checked),.dock-chips .toggle:has(input:checked){color:#d9fffb;background:#39c5bb1f}.selected-peek{position:absolute;top:var(--space-1);left:var(--space-1);z-index:15;display:none;max-width:max(30%,200px)}@media(hover:none){.selected-peek{display:block}}.selected-peek-chip{display:flex;align-items:center;gap:var(--space-2);min-height:0;max-width:100%;padding:4px var(--space-2) 4px 4px;border:1px solid var(--color-zone-border);border-radius:var(--radius-panel);background:#0e1626f0;box-shadow:0 6px 20px #0009;color:inherit;font-size:12px;font-weight:400;text-align:left;text-transform:none;letter-spacing:0}.selected-peek-art{flex:none;width:64px;aspect-ratio:var(--card-aspect);object-fit:cover;border-radius:5px}.selected-peek-art.landscape{width:88px;aspect-ratio:1039 / 744}.selected-peek-info{display:flex;flex-direction:column;gap:2px;min-width:0}.selected-peek-name{font-family:var(--font-display);font-size:15px;line-height:1.15}.selected-peek-info .muted{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.turn-upright{display:none}@media(hover:none)and (orientation:landscape)and (max-height:500px){.turn-upright{position:absolute;top:0;right:0;bottom:0;left:0;z-index:16;display:grid;place-items:center;margin:0;font-family:var(--font-display);font-size:20px;background:var(--color-table-deep)}.board-frame>.board,.selected-peek{visibility:hidden}}.action-bar .toggle{display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2) 2px 4px;border-radius:999px;background:#ffffff0d;cursor:pointer}.action-bar .toggle:has(input:checked){color:#d9fffb;background:#39c5bb1f}.action-bar .toggle input[type=checkbox]{margin:0}.card-zoom-state .level-active{color:var(--accent, #7fd6c2);font-weight:600}.card-zoom-state .level-inactive{opacity:.6}.badge.hidden-tag.ready{background:#8a5a12;border-color:#ffd27a;color:#fff3d6;box-shadow:0 0 10px #ffd27acc;animation:hidden-ready-pulse 1.4s ease-in-out infinite}@keyframes hidden-ready-pulse{50%{box-shadow:0 0 2px #ffd27a4d}}@media(prefers-reduced-motion:reduce){.badge.hidden-tag.ready{animation:none}}.action-bar.hidden-ready .action-title{color:var(--color-gold)}.pass-button.step:not(.secondary):not(:disabled){background:linear-gradient(#d4b46a73,#d4b46a40) padding-box,linear-gradient(180deg,#18233ad9,#0e1626d9) padding-box,var(--chrome-rim-gold) border-box;color:#fff3d6}.rules-guide{display:flex;flex-direction:column;gap:var(--space-2);max-width:820px}.rules-section{border:1px solid var(--color-zone-border);border-radius:var(--radius-panel);background:#ffffff08}.rules-section summary{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);cursor:pointer;list-style-position:inside}.rules-title{font-family:var(--font-display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gold)}.rules-summary{font-size:14px;color:var(--color-text)}.rules-section ul{margin:0;padding:0 var(--space-3) var(--space-3) calc(var(--space-3) + 1.1em);display:grid;gap:var(--space-1);font-size:14px;line-height:1.45}.rules-ref{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.rules-source{font-size:12px}.rules-guide.compact{gap:var(--space-1);overflow-y:auto;min-height:0;padding:var(--space-1)}.rules-guide.compact .rules-section summary{padding:var(--space-1) var(--space-2)}.rules-guide.compact .rules-title,.rules-guide.compact .rules-summary,.rules-guide.compact .rules-section ul{font-size:12px}.rules-guide.compact .rules-section ul{padding:0 var(--space-2) var(--space-2) calc(var(--space-2) + 1em)}.game-screen{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.game-topbar{position:relative;z-index:26;flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3);min-height:40px;background:linear-gradient(180deg,#ffffff0f,#0003),var(--color-table-deep);border-bottom:1px solid transparent;border-image:var(--chrome-rim) 1;box-shadow:0 2px 10px #0006}.game-topbar .room-code,.game-topbar .series{color:var(--color-text-muted);font-size:14px}.game-topbar .room-code{font-family:ui-monospace,monospace}.game-topbar .dev-board-nav{padding:0}.panel-toggle{margin-left:auto;position:relative;flex:none;white-space:nowrap}.game-body{flex:1 1 auto;min-height:0;display:flex;position:relative}.game-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.side-panel{flex:none;width:320px;display:flex;flex-direction:column;min-height:0;margin:var(--space-2) var(--space-2) var(--space-2) 0;border:1px solid transparent;border-radius:var(--radius-panel);background:var(--chrome-face) padding-box,linear-gradient(var(--color-panel),var(--color-panel)) padding-box,var(--chrome-rim) border-box;box-shadow:var(--shadow-panel)}.panel-drawer{position:absolute;inset:0 0 0 auto;z-index:15;width:min(360px,92vw);display:flex}.panel-drawer .side-panel{width:100%;margin:var(--space-2);box-shadow:-8px 0 30px #0009,var(--shadow-panel)}.panel-tabs{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-2) 0;border-bottom:1px solid rgb(255 255 255 / .08)}.panel-tabs button{flex:1;position:relative;padding:var(--space-1) var(--space-2);font-size:14px;border-radius:var(--radius-card) var(--radius-card) 0 0;color:var(--color-text-muted);text-shadow:none;background:transparent;box-shadow:none}.panel-tabs button.active{color:var(--color-text);background:linear-gradient(180deg,rgb(255 255 255 / .14),transparent) padding-box,linear-gradient(var(--color-panel-raised),var(--color-panel-raised)) padding-box,var(--chrome-rim) border-box}.panel-tabs .panel-close{flex:none}.unread{display:inline-grid;place-items:center;min-width:1.4em;height:1.4em;margin-left:.4em;padding:0 .3em;border-radius:.7em;font-size:11px;font-weight:800;color:#fff;background:var(--color-danger)}.panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.log-list,.chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-3);font-size:13px;line-height:1.4}.panel-empty{margin:var(--space-3) 0;text-align:center}.log-turn{margin:var(--space-3) 0 var(--space-1);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);display:flex;align-items:center;gap:var(--space-2)}.log-turn:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgb(212 180 106 / .5),transparent)}.log-line,.chat-line{margin:0 0 3px;padding:2px 6px;border-left:2px solid transparent;border-radius:3px}.log-line.action.mine,.chat-line.mine{border-left-color:var(--color-teal)}.log-line.action.theirs,.chat-line.theirs{border-left-color:var(--color-gold)}.log-line.action{background:#ffffff08}.log-line.mine strong,.chat-line.mine strong{color:var(--color-teal)}.log-line.theirs strong,.chat-line.theirs strong{color:var(--color-gold)}.log-line.ai{font-style:italic;color:var(--color-text-muted)}.log-line.rule{color:var(--color-text-muted);font-size:12px}.log-line.summary{margin-top:4px;padding:3px 6px;border-left:2px solid var(--color-gold);background:#d4b46a1a;font-weight:600}.log-rule{opacity:.6;font-size:11px}.rule-button{padding:0 2px;border:0;background:none;color:inherit;font:inherit;font-size:11px;cursor:help;min-height:0;box-shadow:none}.rule-button:hover,.rule-button:focus-visible,.rule-button[aria-expanded=true]{opacity:1;color:var(--color-gold);text-decoration:underline}.rule-pop{display:flex;flex-direction:column;gap:4px;margin:4px 0 6px;padding:8px 10px;max-height:22em;overflow-y:auto;border:1px solid rgb(212 180 106 / .45);border-radius:var(--radius-card, 6px);background:#0a101ef5;font-size:13px;font-weight:400;line-height:1.4;white-space:normal}.rule-pop b{color:var(--color-gold);font-weight:600}.rule-pop-topic{font-weight:600;color:var(--color-gold)}.rule-pop-parent,.rule-pop-children,.rule-pop-source{opacity:.8}.rule-pop-children{display:flex;flex-direction:column;gap:2px;padding-left:8px;border-left:2px solid rgb(212 180 106 / .3)}.rule-pop-source{font-size:11px}.rule-pop-guide{align-self:flex-start;padding:0;border:0;background:none;box-shadow:none;min-height:0;color:var(--color-teal, #7fd6c2);text-decoration:underline;font:inherit;cursor:pointer}.panel-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:12px;color:var(--color-text-muted);border-top:1px solid rgb(255 255 255 / .08)}.chat-form{display:flex;gap:var(--space-2);padding:var(--space-2);border-top:1px solid rgb(255 255 255 / .08)}.chat-form input{flex:1;min-width:0}.log-group{margin:0 0 6px}.log-group.events .log-line.rule{color:var(--color-text)}.log-details{margin:2px 0 0 10px;padding-left:8px;border-left:1px solid rgb(255 255 255 / .12)}.log-details .log-line{margin-bottom:1px;padding:1px 4px}.log-group.combat{padding:4px 6px 6px;border-radius:6px;background:#e0605c14;box-shadow:inset 0 0 0 1px #e0605c73}.log-group.combat>.log-line{color:var(--color-text);font-weight:600;font-size:13px}.log-group.combat>.log-line:before{content:"⚔ ";color:#ff9d9a}.log-card{color:#f3dfa6;border-bottom:1px dotted rgb(212 180 106 / .6);cursor:help}.game-main{position:relative}.top-banners{position:absolute;top:0;left:50%;z-index:12;transform:translate(-50%);width:max-content;max-width:min(90%,640px);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.opponent-banner{max-width:100%;padding:var(--space-1) var(--space-4);border:1px solid transparent;border-radius:999px;font-size:15px;background:linear-gradient(180deg,#3d3218f7,#1b160bf7) padding-box,var(--chrome-rim-gold) border-box;box-shadow:0 6px 20px #0009;animation:banner-in 4s ease forwards;pointer-events:none}.opponent-banner.ai-thinking{animation:ai-thinking 1.6s ease-in-out infinite alternate}@keyframes ai-thinking{0%{opacity:.65}to{opacity:1}}:root[data-motion=reduce] .opponent-banner.ai-thinking{animation:none}.ai-fallback{color:var(--color-gold)}.ai-fallback button{margin-left:var(--space-1);padding:1px var(--space-2);font-size:12px}.opponent-banner strong{color:var(--color-gold)}[data-layout=compact] .top-banners{max-width:94%}[data-layout=compact] .opponent-banner{padding:2px var(--space-3);border-radius:12px;font-size:13px;line-height:1.3;text-align:center}@keyframes banner-in{0%{opacity:0;transform:translateY(-8px)}8%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.opponent-banner{animation:none}}:root[data-motion=reduce] .opponent-banner{animation:none}.game-topbar,.screen.game>.screen-header{flex-wrap:nowrap;white-space:nowrap;gap:var(--space-3)}.game-topbar>*,.screen.game>.screen-header>*{flex:none}.game-topbar>.ai-chip-box,.screen.game>.screen-header>.ai-chip-box{flex:0 1 auto;min-width:80px}.game-topbar>.ai-chip-box:has(.ai-chip-sign.fell-back),.screen.game>.screen-header>.ai-chip-box:has(.ai-chip-sign.fell-back){min-width:108px}.ai-chip-box>.ai-chip{width:100%}.screen.game>.screen-header .room-code{font-family:ui-monospace,monospace;font-size:14px}.screen.game>.screen-header .ai-chip-deck{display:none}.ai-resume{padding:1px var(--space-2);font-size:12px;border-color:var(--color-gold)}@media(hover:none){.game-topbar,.screen.game>.screen-header{flex-wrap:nowrap;white-space:nowrap;gap:var(--space-2);min-height:44px;max-height:48px;padding:var(--space-1) var(--space-2)}.game-topbar>*,.screen.game>.screen-header>*{flex:none}.game-topbar .room-code{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.game-topbar .series{color:var(--color-text);font-weight:600}}.ai-chip-box{position:relative;min-width:0;flex:0 1 auto}.ai-chip{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;padding:2px var(--space-2);border-radius:999px;font-size:13px;background:#ffffff0f;border:1px solid var(--color-zone-border);color:var(--color-text);white-space:nowrap}.ai-chip:hover{background:#ffffff1a}.ai-chip-deck{max-width:14em;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-muted)}.ai-chip-deck:after{content:" ·"}.ai-chip-name{overflow:hidden;text-overflow:ellipsis}.ai-chip-state{color:var(--color-gold);animation:ai-thinking 1.6s ease-in-out infinite alternate}.ai-chip-name{min-width:2.5em}.ai-chip-sign{flex:none;display:inline-flex;align-items:center;gap:.18em;color:var(--color-gold)}.ai-chip-sign.thinking i{width:.36em;height:.36em;border-radius:50%;background:var(--color-gold);animation:ai-chip-dot 1.2s ease-in-out infinite}.ai-chip-sign.thinking i:nth-child(2){animation-delay:.15s}.ai-chip-sign.thinking i:nth-child(3){animation-delay:.3s}@keyframes ai-chip-dot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-.28em);opacity:1}}.ai-chip-sign.loading i{width:.9em;height:.9em;border:2px solid rgb(212 180 106 / .3);border-top-color:var(--color-gold);border-radius:50%;animation:ai-chip-spin .9s linear infinite}@keyframes ai-chip-spin{to{transform:rotate(360deg)}}.ai-chip-sign.fell-back{padding:0 .35em;border-radius:999px;font-size:.85em;background:#d4b46a2e}:root[data-motion=reduce] .ai-chip-sign i{animation:none}@media(prefers-reduced-motion:reduce){.ai-chip-sign i{animation:none}}.ai-sheet-state{color:var(--color-gold)}.ai-chip.fell-back{border-color:var(--color-gold)}:root[data-motion=reduce] .ai-chip-state{animation:none}.ai-sheet{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:40;width:min(100vw - 2 * var(--space-2),420px);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-zone-border);border-radius:var(--radius-panel);background:#0e1626f7;box-shadow:0 8px 30px #0009;font-size:14px;white-space:normal}.ai-sheet p{margin:0}.ai-sheet.anchored{position:absolute;top:calc(100% + 6px);left:0;transform:none;width:380px}.ai-sheet-name{font-weight:600}.sharing-marker{color:var(--color-teal);font-size:12px}.board-shell.touch .top-banners{top:50%;transform:translate(-50%,-50%);max-width:94%;pointer-events:auto}.board-shell.touch .top-banners .opponent-banner{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;padding:2px var(--space-3);border-radius:12px}.board-shell.touch .top-banners.whole .opponent-banner{white-space:normal}.fullscreen-button{min-width:40px;padding:2px var(--space-2);font-size:18px;line-height:1}.back-to-fullscreen{position:fixed;top:54px;left:50%;transform:translate(-50%);z-index:40;display:flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-zone-border);border-radius:999px;background:#0e1626f2;box-shadow:0 6px 20px #00000080}.back-to-fullscreen button{border-radius:999px}.install-note{flex-basis:100%;margin:0;font-size:13px;text-align:center}@media(max-width:499px){.sharing-marker .sharing-word{display:none}.panel-toggle .panel-toggle-chat{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.outcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#080c168c,#04060ceb 70%);-webkit-backdrop-filter:blur(3px) saturate(.8);backdrop-filter:blur(3px) saturate(.8);animation:outcome-fade .5s ease-out both}.outcome-defeat{background:radial-gradient(ellipse at 50% 45%,#1e06088c,#060306f0 70%);-webkit-backdrop-filter:blur(3px) grayscale(.7);backdrop-filter:blur(3px) grayscale(.7)}.outcome-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.outcome-crest{width:min(46vw,300px);height:auto;filter:drop-shadow(0 0 24px rgb(226 189 98 / .55));animation:outcome-crest-in .7s cubic-bezier(.2,1.4,.4,1) .15s both}.outcome-defeat .outcome-crest{filter:drop-shadow(0 0 22px rgb(224 96 92 / .45));animation:outcome-crest-fall .6s cubic-bezier(.3,1.3,.5,1) .15s both,outcome-crest-sag .5s ease-in 1.5s both}.outcome-core{transform-origin:120px 92px;animation:outcome-pulse 2.4s ease-in-out .9s infinite}.outcome-wings{transform-origin:120px 80px;animation:outcome-wings .6s cubic-bezier(.2,1.3,.4,1) .45s both}.outcome-cracks path{stroke-dasharray:1;stroke-dashoffset:1;animation:outcome-crack .35s ease-out .85s forwards}.outcome-word{margin:0;font-family:var(--font-display);font-size:clamp(44px,9vw,104px);font-weight:700;letter-spacing:.22em;text-transform:uppercase;line-height:1;padding-left:.22em;color:transparent;background:linear-gradient(100deg,#8a6424,#f6dd94 30%,#fffbe9,#f6dd94 60%,#8a6424);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;text-shadow:0 0 30px rgb(226 189 98 / .35);animation:outcome-word-in .8s ease-out .4s both,outcome-shine 2.6s ease-in-out 1.2s infinite}.outcome-defeat .outcome-word{background-image:linear-gradient(180deg,#f3b1aa,#c2423b 55%,#5e1714);background-size:100% 100%;text-shadow:0 0 26px rgb(194 66 59 / .4);animation:outcome-word-in .8s ease-out .4s both,outcome-shake .4s ease-in-out .85s both}.outcome-detail{margin:0;font-size:16px;letter-spacing:.08em;color:var(--color-text-muted);animation:outcome-fade .6s ease-out 1s both}.outcome-continue{margin-top:var(--space-2);min-width:160px;animation:outcome-fade .5s ease-out 1.4s both}.outcome-rays{position:absolute;left:50%;top:45%;width:160vmax;height:160vmax;translate:-50% -50%;background:repeating-conic-gradient(from 0deg,rgb(246 221 148 / .1) 0deg 6deg,transparent 6deg 18deg);mask-image:radial-gradient(circle,#000 0%,transparent 45%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 45%);animation:outcome-fade 1s ease-out .3s both,outcome-spin 40s linear infinite}@keyframes outcome-fade{0%{opacity:0}to{opacity:1}}@keyframes outcome-crest-in{0%{opacity:0;transform:scale(2.4)}to{opacity:1;transform:scale(1)}}@keyframes outcome-crest-fall{0%{opacity:0;transform:translateY(-60px) scale(1.3)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes outcome-crest-sag{0%{transform:translateY(0) rotate(0)}to{transform:translateY(10px) rotate(-4deg);filter:drop-shadow(0 0 10px rgb(224 96 92 / .25)) grayscale(.5)}}@keyframes outcome-wings{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@keyframes outcome-crack{to{stroke-dashoffset:0}}@keyframes outcome-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes outcome-word-in{0%{opacity:0;letter-spacing:.7em;filter:blur(6px)}to{opacity:1;letter-spacing:.22em;filter:blur(0)}}@keyframes outcome-shine{0%{background-position:100% 0}60%,to{background-position:-50% 0}}@keyframes outcome-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes outcome-spin{to{rotate:360deg}}html[data-motion=reduce] .outcome *,html[data-motion=reduce] .outcome{animation-name:outcome-fade!important;animation-iteration-count:1!important}html[data-motion=reduce] .outcome-cracks path{stroke-dashoffset:0}@media(prefers-reduced-motion:reduce){.outcome *,.outcome{animation-name:outcome-fade!important;animation-iteration-count:1!important}.outcome-cracks path{stroke-dashoffset:0}}.consent-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:#080e1899}.consent-notice{width:min(560px,100%);max-height:100%;overflow:auto;display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-panel);border:1px solid var(--color-gold);border-radius:var(--radius-panel);box-shadow:0 12px 40px #000000b3}.consent-notice h2,.consent-notice p,.consent-notice ul{margin:0}.consent-notice ul{padding-left:1.2em;display:grid;gap:var(--space-1)}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.fine-tune-panel h3{margin:var(--space-3) 0 0;font-size:1rem}.fine-tune-panel progress{width:100%;accent-color:var(--color-gold)}.fine-tune-panel .fine-tune-ready{color:var(--color-teal)}
