:root{--bg:#f2f2f0;--surface:#fff;--surface-2:#f7f7f5;--text:#1d1d1b;--muted:#6b6b66;--border:#d4d4cf;--accent:#1d1d1b;--accent-soft:#1d1d1b14;--accent-contrast:#fff;--danger:#c0392b;--draw:#d9822b;--success:#2a8048;--warning-bg:#fff4d6;--warning-text:#7a5600;--sq-light:#eeeed2;--sq-dark:#9fb07a;--mark-selected:#f6db4cbf;--mark-last:#f6db4c59;--mark-move:#14141447;--mark-target:#5c9fb2;--mark-veil:#1212148c;--mark-target-hover:#5c9fb252;--mark-target-chosen:#5c9fb280;--mark-preview:#5c9fb259;--mark-check:#dc2828bf;--fx-frozen:#2f9be8;--fx-magnet:#3f6df2;--fx-forbid:#e5484d;--fx-guard:#f0b000;--fx-bonus:#9b51e8;--fx-control:#12a58f;--fx-shared:#e0459b;--fx-trap:#f07f1a;--fx-reaction:#d24f7a;--family-modifier:#2e9e62;--family-replacement:#e07a35;--family-effect:#22b0d2;--rarity-common:#3b82e0;--rarity-strong:#9b5de5;--rarity-rare:#e8b020;--radius:6px;--art-zoom:1.15;--gap:12px;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#18181a;--surface:#222225;--surface-2:#2a2a2e;--text:#ececea;--muted:#a0a09a;--border:#3b3b40;--accent:#ececea;--accent-soft:#ececea1a;--accent-contrast:#18181a;--warning-bg:#3a3218;--warning-text:#f2d48a;--danger:#e5534b;--draw:#f0a04b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:112.5%}h1,h2,h3,strong,b,th{font-weight:500}body{background:var(--bg);min-height:100vh;margin:0}button,input,select{font:inherit;color:inherit}.app{max-width:1400px;margin:0 auto;padding:0 16px 24px}.topbar{align-items:center;gap:12px;min-height:48px;padding:6px 0;display:flex}.topbar h1{margin:0;font-size:1.1rem}.topbar-title{line-height:0;display:flex}.logo{background:var(--text);-webkit-mask:var(--logo) no-repeat 0 0 / 100% 100%;-webkit-mask:var(--logo) no-repeat 0 0 / 100% 100%;mask:var(--logo) no-repeat 0 0 / 100% 100%;display:block}.logo-full{--h:84px;height:var(--h);width:calc(var(--h) * 1645 / 791);margin:10px 0 4px}@media (max-width:480px){.logo-full{--h:68px}.topbar{justify-content:center;position:relative}.topbar-slot,.topbar-exit{margin:0;position:absolute;top:6px;right:0}}.logo-text{--h:16px;height:var(--h);width:calc(var(--h) * 2014 / 214)}.topbar-home{cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:500;line-height:1;display:inline-flex}.topbar-home .logo{transition:opacity .15s}.topbar-home:hover .logo{opacity:.75}.topbar-slot{gap:8px;margin-left:auto;display:flex}.game{--player-bars:108px;--board-size:min(100%, calc(100dvh - 300px - var(--player-bars) - var(--notice-h,0px)), 760px);flex-direction:column;align-items:center;gap:12px;display:flex}.board-column,.side{width:var(--board-size);min-width:280px}.side{flex-direction:column;gap:12px;display:flex}.game-actions{gap:8px;display:flex}.game-action{border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:.85rem;display:inline-flex}.game-action span{color:var(--muted);transition:color .15s}.game-action.is-draw:hover:not(:disabled){border-color:var(--draw);background:var(--draw);color:#1d1d1b}.game-action.is-resign:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}.game-action.is-draw:hover:not(:disabled) span,.game-action.is-resign:hover:not(:disabled) span{color:inherit}.game-action.is-takeback:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.game-action.icon-only{flex:none;width:44px;padding:9px 0;font-size:1rem}.draw-offer{background:var(--accent-soft);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;font-size:.85rem;display:flex}.draw-offer-actions{gap:6px;display:flex}.draw-offer-actions .btn{border-radius:7px;padding:5px 12px}.board-column{flex-direction:column;gap:6px;display:flex}.player-bar{height:48px;color:var(--muted);align-items:center;gap:12px;display:flex}.player-bar.is-active{color:var(--text)}.player-id{flex-direction:column;gap:2px;min-width:0;display:flex}.player-line{align-items:center;gap:8px;line-height:1.2;display:flex}.player-detail{color:var(--muted);font-size:.8rem}.player-captured{align-items:center;gap:6px;height:20px;padding-left:1px;display:flex}.captured-group{display:flex}.captured-group img{object-fit:contain;width:20px;height:20px}.captured-group img+img{margin-left:-11px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .captured-b img{filter:drop-shadow(0 0 1px #ffffff8c)}}.player-advantage{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.clock{border-radius:var(--radius);background:var(--surface-2);min-width:88px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;margin-left:auto;padding:4px 12px;font-size:1.15rem}.clock.is-active{background:var(--text);color:var(--bg)}.clock.is-active.is-low{background:var(--danger);color:#fff}.clock.is-low:not(.is-active){color:var(--danger)}.btn.icon{padding:2px 10px;font-size:1rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.panel-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.85rem}.panel-subtitle{margin:12px 0 4px;font-size:.85rem}.menu{text-align:center;flex-direction:column;align-items:center;max-width:520px;margin:0 auto 40px;display:flex}@media (min-width:900px) and (min-aspect-ratio:7/10){.menu{--topbar-h:110px;min-height:100dvh;margin:calc(-1 * var(--topbar-h)) auto -24px;justify-content:center;padding:24px 0}}.menu-hand{width:100%;height:150px;margin-bottom:40px;position:relative}.menu-hand-card{aspect-ratio:5/7;border:1px solid var(--border);background:var(--surface);transform-origin:50% 160%;width:92px;transform:translateX(-50%) translateX(calc(var(--i) * 44px)) rotate(calc(var(--i) * 9deg)) translateY(calc(var(--i) * var(--i) * 3px));border-radius:8px;transition:transform .25s;position:absolute;bottom:0;left:50%;overflow:hidden;box-shadow:0 6px 18px #00000040}.menu-hand{opacity:0;transition:opacity .35s}.menu-hand.is-ready{opacity:1}.menu-hand-card img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));display:block}.menu-hand:hover .menu-hand-card{transform:translateX(-50%) translateX(calc(var(--i) * 54px)) rotate(calc(var(--i) * 11deg)) translateY(calc(var(--i) * var(--i) * 3px - 6px))}.menu-title{letter-spacing:.01em;margin:0;font-size:1.6rem}.menu-tagline{max-width:400px;color:var(--muted);margin:10px 0 0;font-size:.9rem;line-height:1.6}.menu-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;margin:0 0 8px;padding:0;font-size:.7rem;font-weight:500;display:block}.menu-field{width:100%;margin-top:32px}.menu-name{background:var(--surface-2);border:1px solid #0000;border-radius:10px;width:100%;padding:12px 14px;font-size:1rem;transition:border-color .15s}.menu-name:focus{border-color:var(--accent);outline:none}.time-controls{border:0;width:100%;margin:20px 0 0;padding:0}.time-controls-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-control-icon{width:1em;height:1em;display:block}.time-custom{justify-content:center;align-items:center;gap:10px;margin-top:10px;animation:.15s ease-out fade-down;display:flex}.time-custom label{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.time-custom input{background:var(--surface-2);text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;border:1px solid #0000;border-radius:10px;width:64px;padding:8px 10px;font-size:1rem}.time-custom input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-custom input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-custom input:focus{border-color:var(--accent);outline:none}.time-custom-plus{color:var(--muted)}.time-control{background:var(--surface-2);color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 4px 10px;transition:background .15s,color .15s,border-color .15s,transform .15s;display:flex;position:relative}.time-control:hover{color:var(--text);transform:translateY(-1px)}.time-control input{opacity:0;pointer-events:none;position:absolute}.time-control-value{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1}.time-control-kind{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.time-control.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.time-control.is-selected .time-control-value{color:var(--accent)}.time-control:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.color-choices{border:0;width:100%;margin:20px 0 0;padding:0}.color-choices-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.color-choice-icon{width:30px;height:30px;display:block;position:relative}.color-choice-icon img{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.color-choice-icon.is-random img:first-child{clip-path:inset(0 50% 0 0)}.color-choice-icon.is-random img:last-child{clip-path:inset(0 0 0 50%)}.menu-advanced{text-align:left;width:100%;margin-top:20px}.menu-advanced summary{color:var(--muted);cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;font-weight:500;list-style:none;display:flex}.menu-advanced summary::-webkit-details-marker{display:none}.menu-advanced summary:before{content:"▸";transition:transform .15s}.menu-advanced[open] summary:before{transform:rotate(90deg)}.menu-advanced summary:hover{color:var(--text)}.menu-advanced-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:.7rem}.menu-error{width:100%;margin-top:16px}.menu-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:28px;display:grid}.menu-invite .menu-choice{grid-column:1/-1}.menu-invite-code{color:var(--text);letter-spacing:.08em}.menu-join{grid-column:1/-1;animation:.15s ease-out fade-down}@keyframes fade-down{0%{opacity:0;transform:translateY(-4px)}}.menu-choice.is-open{box-shadow:inset 0 0 0 1px var(--accent)}.menu-join input{text-align:center;border-radius:10px}.menu-join input::placeholder{letter-spacing:.04em;text-transform:none}.menu-join .menu-choice{flex:none}.menu-resume{border-radius:10px;grid-column:1/-1;padding:10px 12px}.btn.menu-resume{background:var(--success);color:#fff;font-weight:500}.btn.menu-resume:hover:not(:disabled){background:var(--success);filter:brightness(1.1)}.topbar-exit{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px;transition:color .15s;display:inline-flex}.topbar-exit:hover{color:var(--text)}.card-settings{margin-top:12px}.card-settings-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-settings-summary{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.card-settings-rarity{text-transform:uppercase;letter-spacing:.08em;color:var(--rarity);margin:18px 0 8px;font-size:.7rem;font-weight:500}.card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 8px;margin:0;padding:0;list-style:none;display:grid}.card-pick{flex-direction:column;gap:6px;display:flex}.card-pick-face{aspect-ratio:5/7;border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:flex-end;padding:0;transition:filter .2s,opacity .2s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #00000040}.card-pick-face:hover{transform:translateY(-2px)}.card-pick-face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-pick-face img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));position:absolute;top:0;bottom:0;left:0;right:0}.card-pick-name{text-align:center;color:#fff;text-shadow:0 1px 2px #0006;width:100%;padding:14px 3px 6px;font-size:.6rem;line-height:1.15;position:relative}.card-pick.is-off .card-pick-face{filter:grayscale();opacity:.3;box-shadow:none}.card-pick-weight{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.card-pick-weight button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:1}.card-pick-weight button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.card-pick-weight button:disabled{opacity:.3;cursor:default}.card-pick.is-off .card-pick-odds{color:var(--muted)}.menu-choice{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 12px;display:flex}.menu-choice-label{font-size:1rem;font-weight:500}.btn.primary.menu-choice:hover{filter:brightness(1.08)}.menu-rules{grid-column:1/-1;justify-self:center;margin-top:6px}@media (max-width:520px){.menu-actions{grid-template-columns:1fr}}@media (max-width:480px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-hand{height:120px;margin-bottom:48px}.menu-hand-card{width:74px}.time-controls-grid{gap:6px}.time-control-value{font-size:1rem}}.muted{color:var(--muted)}.small{font-size:.8rem}.danger{color:var(--danger);font-weight:500}.warning{background:var(--warning-bg);color:var(--warning-text);border-radius:var(--radius);margin:6px 0;padding:6px 8px}.btn{background:var(--surface-2);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:6px 12px;transition:background .15s,color .15s}.btn:hover:not(:disabled){background:var(--border)}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--muted);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-contrast)}.btn.primary:hover:not(:disabled){background:var(--accent);opacity:.88}.btn.small{padding:3px 8px;font-size:.8rem}.actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.actions.vertical{flex-direction:column}.kv{grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 8px;font-size:.9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.swatch{vertical-align:-1px;border:1px solid #555;border-radius:50%;width:12px;height:12px;display:inline-block}.swatch-w{background:#fff}.swatch-b{background:#222}.room-code{letter-spacing:.15em;font-size:1.1rem;font-weight:500}.effects-list{gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.side{position:relative}.app:has(.notice-slot:not(:empty)){--notice-h:48px}.notice-slot:not(:empty){padding-top:8px}.status-toast{background:var(--accent);color:var(--accent-contrast);text-align:center;border-radius:10px;padding:10px 48px;font-size:.85rem;font-weight:500;animation:.2s ease-out banner-in;position:relative}.status-toast strong{font-weight:700}.status-toast-close{width:28px;height:28px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:1.2rem;line-height:1;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.status-toast-close:hover{opacity:1}.status-toast.is-warning{background:var(--warning-bg);color:var(--warning-text)}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}}.room-wait{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:4px 0 2px;display:flex}.room-wait-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:2px 4px 2px 12px;font-size:1.6rem;transition:background .15s;display:inline-flex}.room-wait-code:hover{background:var(--surface-2)}.room-wait-copy{letter-spacing:.04em;min-width:4.5em;color:var(--muted);font-size:.7rem}.turn-dot{background:var(--border);border-radius:50%;flex:none;width:10px;height:10px;transition:background .2s,box-shadow .2s}.player-bar.is-active .turn-dot{background:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--text) 18%, transparent)}.check-tag{background:var(--danger);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:500}.turn-tag.is-check{background:var(--danger);color:#fff}.board{aspect-ratio:1;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative}.board-banner{background:var(--accent);color:var(--accent-contrast);white-space:nowrap;border-radius:4px 4px 0 0;padding:2px 8px;font-size:.8rem;position:absolute;top:-1px;left:50%;transform:translate(-50%,-100%)}.sq{cursor:pointer;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative;container-type:size}.sq.light{background:var(--sq-light)}.sq.dark{background:var(--sq-dark)}.sq:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:1}.coord{color:#00000080;pointer-events:none;font-size:11px;font-weight:500;position:absolute}.coord.rank{top:2px;left:3px}.coord.file{bottom:1px;right:3px}.piece{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.sq.can-drag{cursor:grab;touch-action:none}.board.is-dragging,.board.is-dragging .sq{cursor:grabbing}.sq.is-drag-source .piece{opacity:.3}.drag-ghost{z-index:30;pointer-events:none;will-change:transform;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.sq.m-last{box-shadow:inset 0 0 0 100vmax var(--mark-last)}.sq.m-selected{box-shadow:inset 0 0 0 100vmax var(--mark-selected)}.sq.m-check{background:var(--mark-check)}.sq.m-move:after{content:"";background:var(--mark-move);border-radius:50%;width:28%;height:28%;position:absolute}.sq.m-capture:after{content:"";border:4px solid var(--mark-move);border-radius:50%;position:absolute;top:4%;bottom:4%;left:4%;right:4%}.board.is-targeting .sq:not(.m-target):not(.m-target-chosen){cursor:not-allowed}.board.is-targeting .sq:not(.m-target):not(.m-target-chosen):before{content:"";z-index:2;background:var(--mark-veil);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.sq.m-target:hover{box-shadow:inset 0 0 0 100vmax var(--mark-target-hover)}.sq.m-target:not(:has(.piece)):after{content:"";background:var(--mark-target);opacity:.6;border-radius:50%;width:28%;height:28%;position:absolute}.sq.m-target-chosen{box-shadow:inset 0 0 0 100vmax var(--mark-target-chosen)}.sq.m-preview{box-shadow:inset 0 0 0 100vmax var(--mark-preview)}.sq.fx-frozen,.fx-layer-frozen,.fx-c-frozen,.sq.fx-trapped,.fx-layer-trapped,.fx-c-trapped{--c:var(--fx-frozen)}.sq.fx-magnet,.fx-layer-magnet,.fx-c-magnet,.sq.aura-magnet{--c:var(--fx-magnet)}.sq.fx-repulsor,.fx-layer-repulsor,.fx-c-repulsor,.sq.aura-repulsor,.fx-layer-forbiddenSquare,.fx-c-forbiddenSquare{--c:var(--fx-forbid)}.sq.fx-guarded,.fx-layer-guarded,.fx-c-guarded{--c:var(--fx-guard)}.sq.fx-movementBonus,.fx-layer-movementBonus,.fx-c-movementBonus{--c:var(--fx-bonus)}.sq.fx-forcedMarch,.fx-layer-forcedMarch,.fx-c-forcedMarch,.fx-c-cardLock{--c:var(--fx-control)}.sq.fx-shared,.fx-layer-shared,.fx-c-shared{--c:var(--fx-shared)}.fx-layer-trap,.fx-c-trap{--c:var(--fx-trap)}.fx-layer{pointer-events:none;background:var(--fx-tint,color-mix(in srgb, var(--c) 24%, transparent));box-shadow:inset 0 0 0 5cqw var(--c);place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.sq.m-selected .fx-layer,.sq.m-last .fx-layer,.sq.m-target:hover .fx-layer,.sq.m-target-chosen .fx-layer,.sq.m-preview .fx-layer,.sq.m-pending .fx-layer{--fx-tint:transparent}.fx-icon{width:30%;height:30%;color:var(--c);opacity:.85;grid-area:1/1;place-self:start end;margin:8cqw}.fx-on-square .fx-icon{opacity:.9;place-self:center;width:60%;height:60%;margin:0}.sq .fx-layer~.fx-layer .fx-icon{display:none}.sq[class*=\ aura-]:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 45%, transparent) 0 3cqw, transparent 3cqw 10cqw), color-mix(in srgb, var(--c) 16%, transparent);position:absolute;top:0;bottom:0;left:0;right:0}.sq.m-pending{box-shadow:inset 0 0 0 4px var(--fx-reaction)}.hand-cards{justify-content:center;gap:10px;display:flex}.game:not(.is-wide) .hand-cards>*{flex:1 1 0;min-width:0;max-width:132px}.card-slot{aspect-ratio:5/7;border:2px dashed var(--border);border-radius:10px;flex:0 132px;min-width:0;max-height:190px}.play-card{aspect-ratio:5/7;cursor:pointer;background:0 0;border:0;flex:0 132px;max-height:190px;padding:0;position:relative}.play-card-face{--card-shadow:0 3px 10px #00000047;border:2px solid var(--border);text-align:center;background:var(--surface);width:100%;height:100%;box-shadow:inset 0 0 0 1px #00000059, var(--card-shadow);border-radius:10px;justify-content:center;align-items:center;padding:10px;display:flex}.play-card-face .card-name{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;max-width:100%;font-size:1.05rem;line-height:1.2}.play-card-face.has-art{border:none;align-items:flex-end;padding:0;position:relative;overflow:hidden}.play-card-art{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));position:absolute;top:0;bottom:0;left:0;right:0}.play-card-face.has-art .card-name{color:#fff;text-shadow:0 1px 2px #0006;width:100%;max-width:none;padding:18px 6px 10px;font-size:.85rem;position:relative}.play-card-face{transition:transform .15s,box-shadow .15s}.play-card:not(.is-disabled):hover .play-card-face{--card-shadow:0 8px 18px #00000059;transform:translateY(-3px)}.play-card:focus-visible .play-card-face{--card-shadow:0 8px 18px #00000059;transform:translateY(-3px)}.play-card:focus{outline:none}.play-card.is-disabled{cursor:default}.play-card-back{z-index:3;opacity:0;pointer-events:none;border-radius:8px;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;transform:rotateY(180deg);box-shadow:0 10px 24px #00000059}.play-card-back img{object-fit:cover;width:100%;height:100%;display:block}.draw-pile{aspect-ratio:5/7;--edge:#1b8ea8;flex:0 132px;max-height:190px;position:relative}.draw-pile-top,.draw-pile:before,.draw-pile:after{background:var(--edge);border:1px solid #00000040;border-radius:8px;position:absolute;top:0;bottom:8px;left:0;right:8px}.draw-pile:before,.draw-pile:after{content:""}.draw-pile:before{transform:translate(8px,8px)}.draw-pile:after{transform:translate(4px,4px)}.draw-pile-top{z-index:1;justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.draw-pile-back{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.draw-pile-count{color:#fff;font-variant-numeric:tabular-nums;margin-bottom:6%;font-size:1.1rem;font-weight:600;position:relative}.draw-pile.is-empty:before,.draw-pile.is-empty:after{display:none}.draw-pile.is-empty .draw-pile-top{border:1px dashed var(--border);background:0 0;align-items:center}.draw-pile.is-empty .draw-pile-count{color:var(--muted);margin:0}.play-card.is-disabled .play-card-face{--card-shadow:none}.play-card.is-disabled .play-card-art{filter:grayscale();opacity:.4}.play-card.is-disabled .card-name{opacity:.55}.card{text-align:left;border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.card:hover,.card.is-selected{border-color:var(--accent)}.card.is-disabled{background:var(--surface-2)}.card.is-disabled .card-name,.card.is-disabled .card-text{opacity:.45}.card-name{font-weight:500}.card-category{text-transform:uppercase;letter-spacing:.03em;color:var(--accent);font-size:.7rem}.card-text{font-size:.8rem}.card-reason{color:var(--warning-text);background:var(--warning-bg);border-radius:4px;margin-top:auto;padding:2px 4px;font-size:.75rem}.card-panel{flex-direction:column;gap:20px;display:flex}.card-panel-back{border:1px solid var(--border);background:var(--surface-2);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;align-self:flex-start;place-items:center;margin-bottom:-8px;font-size:1.15rem;line-height:1;transition:background .15s,border-color .15s;display:grid}.card-panel-back:hover{border-color:var(--accent);background:var(--accent-soft)}.card-panel-back:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.card-panel-head{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.card-panel-art{aspect-ratio:5/7;border:1px solid var(--border);border-radius:8px;flex:none;width:min(40%,140px);overflow:hidden}.card-panel-art img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));display:block}.card-panel-title{margin:0;font-size:1.2rem;font-weight:500}.card-panel-desc{color:var(--muted);margin:8px 0 0;font-size:.85rem;line-height:1.6}.card-panel-blocked{color:var(--danger);margin:0;font-size:.85rem;line-height:1.5}.card-panel-blocked,.card-panel-actions{border-top:1px solid var(--border);padding-top:20px}.card-panel-actions{flex-direction:column;gap:8px;display:flex}.card-panel-main{gap:8px;display:flex}.card-panel-main .btn{flex:1}.btn.success{background:var(--success);color:#fff}.btn.success:hover:not(:disabled){filter:brightness(1.1)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.1)}.btn.block{width:100%;padding:10px 12px;font-weight:500}.btn.primary:disabled,.btn.success:disabled{opacity:1;background:var(--surface-2);color:var(--muted)}.btn.ghost{color:var(--muted);background:0 0;padding:6px 8px;font-size:.85rem}.btn.ghost:hover:not(:disabled){color:var(--text)}.hint{min-height:1.4em;margin:4px 0;font-size:.9rem}.modal-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface);border-radius:10px;width:100%;max-width:420px;padding:20px}.modal h2{margin-top:0}.promo-choices{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.btn.promo{background:var(--sq-light);color:#222;flex-direction:column;align-items:center;gap:2px;display:flex}.btn.promo .piece{width:52px;height:52px;position:static}.history{margin:32px 0 24px}.history-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:12px;display:flex}.history-header h2{margin:0;font-size:1.1rem}.history-empty{color:var(--muted);margin:0;font-size:.9rem}.history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.history-table th,.history-table td{text-align:left;vertical-align:top;padding:8px 12px}.history-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding-top:0;font-size:.75rem}.history-table tbody tr{border-top:1px solid var(--border)}.history-table tbody th{width:3em;color:var(--muted);padding-right:0;font-weight:400}.history-table td{width:50%}.h-card,.h-move{display:block}.h-card{color:var(--tag-color);font-size:.85rem}.h-card-targets,.h-card.is-discard{color:var(--muted)}.h-move{font-weight:500}.rules{grid-template-columns:1fr;max-width:1080px;margin:16px auto 48px;display:grid}.rules-body{min-width:0;max-width:760px;margin:0 auto;line-height:1.6}.rules-hero{margin:8px 0}.rules-title{margin:0;font-size:1.6rem}.rules-lead{color:var(--muted);margin:10px 0 0;font-size:1rem}.rules-section{padding:32px 0 0;scroll-margin-top:16px}.rules-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-size:.75rem}.rules-section p{margin:0}.rules-text{color:var(--muted);font-size:.9rem;margin-top:12px!important}.rules-list,.rules-howto,.rules-keypoints{font-size:.95rem}.rules-list{margin:0;padding-left:1.1em}.rules-list li+li{margin-top:6px}.rules-keypoints{counter-reset:kp;grid-template-columns:repeat(2,1fr);gap:16px 24px;margin:0;padding:0;list-style:none;display:grid}.rules-keypoints li{counter-increment:kp;grid-template-columns:auto 1fr;align-items:baseline;gap:12px;display:grid}.rules-keypoints li:before{content:counter(kp);color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.4rem;line-height:1}.rules-steps{counter-reset:step;margin:0;padding:0;list-style:none}.rules-steps li{counter-increment:step;padding:0 0 22px 44px;position:relative}.rules-steps li:before{content:counter(step);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:.85rem;display:grid;position:absolute;top:0;left:0}.rules-steps li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:34px;bottom:6px;left:13.5px}.rules-steps li:last-child{padding-bottom:0}.rules-step-title{font-weight:500}.rules-step-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-left:8px;font-size:.65rem}.rules-steps p{color:var(--muted);margin-top:4px;font-size:.9rem}.rules-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--text);align-items:center;gap:6px;font-size:.7rem;font-weight:500;display:inline-flex}.rules-tag:before{content:"";background:var(--tag-color);border-radius:50%;width:8px;height:8px}.tag-moveModifier{--tag-color:var(--family-modifier)}.tag-moveReplacement{--tag-color:var(--family-replacement)}.tag-effect{--tag-color:var(--family-effect)}.tag-reaction{--tag-color:var(--fx-reaction)}.rarity-common{--rarity:var(--rarity-common)}.rarity-strong{--rarity:var(--rarity-strong)}.rarity-rare{--rarity:var(--rarity-rare)}.rarity-tag{--tag-color:var(--rarity)}.rules-families{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;display:grid}.rules-family{border-top:2px solid var(--tag-color);padding-top:12px}.rules-family p{color:var(--muted);margin-top:8px;font-size:.85rem}.rules-card-group{margin-top:28px}.rules-card-group h4{margin:0 0 4px}.rules-cards{grid-template-columns:repeat(2,1fr);gap:0 28px;display:grid}.rules-card{border-bottom:1px solid var(--border);grid-template-columns:76px 1fr;align-items:start;gap:16px;padding:16px 0;display:grid}.rules-card-art{aspect-ratio:5/7;border:1px solid var(--border);background:var(--surface);border-radius:6px;display:block;overflow:hidden}.rules-card-art img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));display:block}.rules-card-art.no-art{text-align:center;color:var(--muted);place-items:center;padding:4px;font-size:.7rem;display:grid}.rules-card-body h5{margin:0;font-size:1rem;font-weight:500}.rules-card-rule{font-size:.85rem;line-height:1.5;margin-top:2px!important}.rules-howto{margin:0;padding-left:1.3em}.rules-howto li+li{margin-top:6px}.rules-howto li::marker{color:var(--accent)}.rules-golden{border-left:3px solid var(--accent);padding-left:14px;font-size:1.1rem}.rules-defs{grid-template-columns:max-content 1fr;gap:10px 20px;margin:20px 0 0;font-size:.9rem;display:grid}.rules-defs dt{font-weight:500}.rules-defs dd{color:var(--muted);margin:0}.rules-badges{flex-direction:column;gap:8px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.rules-badges li{align-items:center;gap:12px;display:flex}.rules-fx-icon{width:22px;height:22px;color:var(--c);flex:none}.rules-back{margin-top:40px}@media (max-width:640px){.rules-keypoints,.rules-families,.rules-cards{grid-template-columns:1fr}.rules-defs{grid-template-columns:1fr;gap:2px}.rules-defs dd+dt{margin-top:10px}}.join-form{gap:8px;display:flex}.join-form input:focus{box-shadow:inset 0 0 0 1px var(--accent);outline:none}.join-form input{border-radius:var(--radius);background:var(--surface-2);text-transform:uppercase;letter-spacing:.1em;border:0;flex:1;min-width:0;padding:7px 9px}.debug-toggle{z-index:10;position:fixed;bottom:12px;right:12px}.debug-panel{background:var(--surface);border:2px dashed var(--danger);border-radius:var(--radius);z-index:15;width:min(380px,100vw - 24px);max-height:calc(100vh - 24px);padding:10px;font-size:.85rem;position:fixed;bottom:12px;right:12px;overflow-y:auto}.debug-panel header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.debug-panel fieldset{background:var(--surface-2);border-radius:var(--radius);border:0;margin:0 0 8px;padding:6px 8px}.debug-panel .row{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.debug-panel select,.debug-panel input{background:var(--surface);border:0;border-radius:4px;padding:3px 5px}.debug-hand{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:2px;padding:0 2px 0 8px;display:inline-flex}.chip button{cursor:pointer;background:0 0;border:0;padding:0 4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.splash{z-index:100;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:56px;padding:24px;transition:opacity .5s,visibility .5s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.splash.is-leaving{opacity:0;visibility:hidden}.splash .logo-full{--h:84px}.card-loader{--w:clamp(68px, 20vw, 116px);--step:.85s;width:calc(var(--w) * 4.6);max-width:100%;height:calc(var(--w) * 1.75);opacity:0;transition:opacity .4s;position:relative}.card-loader.is-ready{opacity:1}.card-loader-card{width:var(--w);margin:calc(var(--w) * -.7) 0 0 calc(var(--w) * -.5);aspect-ratio:5/7;border:1px solid var(--border);background:var(--surface);opacity:0;transform-origin:50% 120%;animation:card-loader-flow calc(var(--step) * 7) infinite;animation-delay:calc(var(--i) * var(--step) * -1);will-change:transform, filter, opacity;border-radius:10px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 10px 28px #00000059}.card-loader-card img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom,1.15));display:block}@keyframes card-loader-flow{0%{transform:translateX(calc(var(--w) * 2.04)) translateY(45px) rotate(27deg) scale(.8);filter:brightness(.5);opacity:0;z-index:7;animation-timing-function:cubic-bezier(.65,0,.35,1)}6.43%{transform:translateX(calc(var(--w) * 1.36)) translateY(20px) rotate(18deg) scale(.86);filter:brightness(.58);opacity:1;z-index:8}14.29%{transform:translateX(calc(var(--w) * 1.36)) translateY(20px) rotate(18deg) scale(.86);filter:brightness(.58);opacity:1;z-index:8;animation-timing-function:cubic-bezier(.65,0,.35,1)}20.71%{transform:translateX(calc(var(--w) * .68)) translateY(5px) rotate(9deg) scale(.96);filter:brightness(.78);opacity:1;z-index:9}28.57%{transform:translateX(calc(var(--w) * .68)) translateY(5px) rotate(9deg) scale(.96);filter:brightness(.78);opacity:1;z-index:9;animation-timing-function:cubic-bezier(.65,0,.35,1)}35%{transform:translateX(calc(var(--w) * 0)) translateY(-12px) rotate(0deg) scale(1.12);filter:brightness();opacity:1;z-index:10}42.86%{transform:translateX(calc(var(--w) * 0)) translateY(-12px) rotate(0deg) scale(1.12);filter:brightness();opacity:1;z-index:10;animation-timing-function:cubic-bezier(.65,0,.35,1)}49.29%{transform:translateX(calc(var(--w) * -.68)) translateY(5px) rotate(-9deg) scale(.96);filter:brightness(.78);opacity:1;z-index:9}57.14%{transform:translateX(calc(var(--w) * -.68)) translateY(5px) rotate(-9deg) scale(.96);filter:brightness(.78);opacity:1;z-index:9;animation-timing-function:cubic-bezier(.65,0,.35,1)}63.57%{transform:translateX(calc(var(--w) * -1.36)) translateY(20px) rotate(-18deg) scale(.86);filter:brightness(.58);opacity:1;z-index:8}71.43%{transform:translateX(calc(var(--w) * -1.36)) translateY(20px) rotate(-18deg) scale(.86);filter:brightness(.58);opacity:1;z-index:8;animation-timing-function:cubic-bezier(.65,0,.35,1)}77.86%{transform:translateX(calc(var(--w) * -2.04)) translateY(45px) rotate(-27deg) scale(.8);filter:brightness(.5);opacity:0;z-index:7}to{transform:translateX(calc(var(--w) * -2.04)) translateY(45px) rotate(-27deg) scale(.8);filter:brightness(.5);opacity:0;z-index:7}}@media (max-width:480px){.splash .logo-full{--h:68px}}@media (prefers-reduced-motion:reduce){.card-loader-card{animation:none}.card-loader-card:nth-child(3){opacity:1;filter:brightness(.78);transform:translateX(calc(var(--w) * -.68)) translateY(5px) rotate(-9deg) scale(.96)}.card-loader-card:nth-child(4){opacity:1;z-index:2;transform:translateY(-12px)scale(1.12)}.card-loader-card:nth-child(5){opacity:1;filter:brightness(.78);transform:translateX(calc(var(--w) * .68)) translateY(5px) rotate(9deg) scale(.96)}}@media (max-width:760px),(max-aspect-ratio:7/10){.app{padding:0 max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.game{--board-size:100%}.board-column,.side{min-width:0}.hand-cards{scroll-snap-type:x mandatory;justify-content:center;padding:14px 0 6px;display:flex;overflow-x:auto}.play-card,.draw-pile{scroll-snap-align:start;flex:1 1 0;min-width:72px;max-width:104px}.play-card-face.has-art .card-name{display:none}.card-panel-head{flex-direction:row}.card-panel-back{order:-2}.card-panel-actions{border-top:0;border-bottom:1px solid var(--border);order:-1;padding-top:0;padding-bottom:20px}.card-panel-intro{flex:1;min-width:0}.coord{font-size:8px}}.game.is-wide{--avail-w:calc(min(100vw, 1400px) - 64px);--board-size:min(calc(100dvh - 84px - var(--notice-h,0px)), calc(var(--avail-w) - 300px), 1000px);--side-width:clamp(300px, calc(var(--avail-w) - var(--board-size)), 520px);flex-direction:row;justify-content:center;align-items:flex-start;gap:32px}.game.is-wide .side{width:var(--side-width);min-width:0;height:var(--board-size)}.game.is-wide .side-main{flex:1;min-height:0;padding:14px 4px;overflow-y:auto;container-type:size}.game.is-wide .hand-cards{--card-h:min(calc((100cqh - 12px) / 2), calc((100cqw - 12px) / 2 * 7 / 5), 260px);grid-template-columns:repeat(2, calc(var(--card-h) * 5 / 7));grid-template-rows:repeat(2, var(--card-h));place-content:center;gap:12px;height:100%;display:grid}.game.is-wide .play-card,.game.is-wide .draw-pile{max-height:none}.game.is-wide .draw-pile{height:var(--card-h);grid-area:2/2}.game.is-wide .play-card-face .card-name{font-size:clamp(.6rem, calc(var(--card-h) * .075), .95rem);-webkit-hyphens:manual;hyphens:manual}@media (orientation:landscape) and (max-height:500px){.app{padding:0 max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left))}.topbar{min-height:36px;padding:2px 0}.game.is-wide{--avail-w:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));--board-size:min(calc(100dvh - 48px - var(--notice-h,0px)), calc(var(--avail-w) - 300px));gap:20px}.game.is-wide .side-main{padding:10px 4px 6px}.game.is-wide .hand-cards{--card-h:min(calc(100cqh - 4px), calc((100cqw - 36px) / 4 * 7 / 5), 200px);grid-template-columns:repeat(4, calc(var(--card-h) * 5 / 7));grid-template-rows:var(--card-h);padding:0;display:grid;overflow:visible}.game.is-wide .play-card,.game.is-wide .draw-pile{flex:none;min-width:0;max-width:none}.game.is-wide .draw-pile{grid-area:1/4}}.play-card.rarity-rare .play-card-face{--card-shadow:0 0 10px color-mix(in srgb, var(--rarity-rare) 45%, transparent), 0 3px 10px #00000047}.play-card.rarity-rare:not(.is-disabled):hover .play-card-face{--card-shadow:0 0 14px color-mix(in srgb, var(--rarity-rare) 60%, transparent), 0 8px 18px #00000059}.play-card.is-selected .play-card-face,.play-card.is-selected:not(.is-disabled):hover .play-card-face{--card-shadow:0 0 0 3px var(--accent), 0 8px 18px #00000059;transform:translateY(-3px)}.play-card-face{flex-direction:column;gap:6px;position:relative}.play-card-face.has-art{justify-content:flex-end;align-items:stretch}.card-panel-tags{flex-wrap:wrap;gap:4px 14px;margin:0 0 6px;display:flex}.reaction-bar{border-left:2px solid var(--fx-reaction);min-height:32px;color:var(--muted);flex:none;align-items:center;gap:10px;padding:2px 4px 2px 10px;font-size:.8rem;animation:.15s ease-out fade-in;display:flex}.reaction-bar-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.reaction-bar-text strong{color:var(--text);font-weight:500}.reaction-bar-pass{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 10px}.reaction-bar-pass:hover{background:var(--surface-2);color:var(--text)}.reaction-bar-pass:focus-visible{background:var(--surface-2);color:var(--text)}@keyframes fade-in{0%{opacity:0}}.h-card.is-countered{text-decoration:line-through}.h-card-note{color:var(--muted);font-size:.75rem;display:block}.h-card-note.is-counter{color:var(--fx-reaction)}.h-move+.h-move:before{content:"↪ ";color:var(--muted);font-weight:400}.menu-hand-card.no-art{align-items:flex-end;padding:8px 6px;display:flex}.menu-hand-name{writing-mode:vertical-rl;letter-spacing:.04em;white-space:nowrap;font-size:.75rem;transform:rotate(180deg)}.rules-card-art.no-art{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-size:.62rem}.rules-card-body .rules-tag{margin-top:2px}.debug-effects{flex-wrap:wrap}.card-lock{z-index:2;aspect-ratio:1;border:4px solid var(--danger);pointer-events:none;border-radius:50%;width:46%;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.card-lock:after{content:"";background:var(--danger);height:4px;margin-top:-2px;position:absolute;top:50%;left:-4px;right:-4px;transform:rotate(-45deg)}.play-card.is-disabled .play-card-face>.card-lock{opacity:1}.card-reveal{z-index:6;pointer-events:none;perspective:1200px;animation:card-reveal-veil var(--reveal-duration,3.2s) ease both;background:#080a0e9e;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.card-reveal-card{aspect-ratio:5/7;width:34%;transform-style:preserve-3d;animation:card-reveal-whirl var(--reveal-duration,3.2s) cubic-bezier(.2, .8, .25, 1) both;position:relative}.card-reveal-face{border:3px solid var(--border);background:var(--surface);-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 18px 40px #00000080}.card-reveal-face.is-back{border-color:#0000;transform:rotateY(180deg)}.card-reveal-face img{object-fit:cover;width:100%;height:100%;transform:scale(var(--art-zoom));position:absolute;top:0;bottom:0;left:0;right:0}.card-reveal-card.rarity-rare .card-reveal-face:not(.is-back){box-shadow:0 0 24px color-mix(in srgb, var(--rarity-rare) 55%, transparent), 0 18px 40px #00000080}.card-reveal-name{text-align:center;padding:10px;font-size:max(.9rem,min(2.4vmin,1.25rem));position:relative}.card-reveal-face.has-art{align-items:flex-end}.card-reveal-face.has-art .card-reveal-name{color:#fff;text-shadow:0 1px 2px #0006;width:100%;padding:28px 8px 14px}@keyframes card-reveal-veil{0%{opacity:0}7%,90%{opacity:1}to{opacity:0}}@keyframes card-reveal-whirl{0%{opacity:0;transform:translate(-90%,70%)rotate(-160deg)rotateY(540deg)scale(.35)}22%{opacity:1;transform:translate(0)rotate(6deg)rotateY(-12deg)scale(1.06)}30%,90%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8%)scale(1.04)}}@media (prefers-reduced-motion:reduce){.card-reveal-card{animation-name:card-reveal-veil}}
