:root{--bg: #f7f4ef;--bg-elevated: #fffdf8;--bg-card: #fffdf5;--border: #111111;--border-light: #111111;--text: #111111;--text-muted: #4a4a4a;--text-dim: #7a7a7a;--accent: #ff4d6d;--accent-soft: color-mix(in srgb, var(--accent) 18%, var(--bg-elevated));--accent-strong: color-mix(in srgb, var(--accent) 72%, #111111);--accent-alt: var(--accent);--surprise: var(--accent);--danger: #c1121f;--success: var(--accent);--rarity-common: var(--text-muted);--rarity-rare: #2bb8e0;--rarity-legendary: #f0c400;--stat-color: var(--accent);--hp-color: var(--stat-color);--atk-color: var(--stat-color);--mana-color: var(--stat-color);--pack-bg: var(--bg-elevated);--pack-flap: var(--accent-soft);--pack-dim: color-mix(in srgb, var(--bg) 55%, transparent);--text-on-bright: #111111;--shadow-color: #111111;--surface-inset: #111111;--radius: 0;--radius-sm: 0;--shadow: 4px 4px 0 var(--shadow-color);--shadow-lg: 7px 7px 0 var(--shadow-color);--transition: .14s cubic-bezier(.2, .8, .2, 1);--font: "Archivo", "Trebuchet MS", sans-serif;--font-display: "Archivo Black", "Impact", sans-serif;--app-pad-top: 3rem}[data-theme=dark]{--bg: #0e0e0e;--bg-elevated: #1a1a1a;--bg-card: #151311;--border: #f2f2f2;--border-light: #f2f2f2;--text: #f5f5f5;--text-muted: #c2c2c2;--text-dim: #949494;--text-on-bright: #111111;--shadow-color: #000000;--surface-inset: #080808;--shadow: 4px 4px 0 var(--shadow-color);--shadow-lg: 7px 7px 0 var(--shadow-color);--pack-dim: #111111}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb,var(--border) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed;background-position:0 0;animation:siteGridDrift 8s linear infinite;color:var(--text);min-height:100vh;line-height:1.5}@keyframes siteGridDrift{0%{background-position:0 0}to{background-position:-28px -28px}}h1,h2,h3,h4,strong{color:var(--text)}h1,.page-header__title{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:1.1}.app{width:100%;max-width:1200px;margin:0 auto;padding:var(--app-pad-top) 1.5rem 4rem;display:flex;flex-direction:column;align-items:center}.app:has(.duel-page){padding-top:.55rem;padding-bottom:.75rem;max-height:100dvh;overflow:hidden}.app>*{width:100%}.page,.team-builder--centered{display:flex;flex-direction:column;align-items:center;text-align:center}.page-header--centered{text-align:center;width:100%}.page-header--centered .page-header__actions{display:flex;justify-content:center;gap:.65rem;margin-top:1.15rem}.overview .page-header__actions{width:min(100%,32rem);margin-left:auto;margin-right:auto}.overview .page-header__actions .btn--primary{flex:2.2;white-space:nowrap}.overview .page-header__actions .btn--ghost{flex:1;white-space:nowrap}.overview .page-header{margin-bottom:1.25rem}.overview .page-header__title{font-size:clamp(2rem,6vw,3rem)}.page-header--centered .page-header__hint{margin-left:auto;margin-right:auto;text-align:center}.app-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;width:100%}.app-shell__toolbar{position:fixed;top:.55rem;right:.75rem;left:.75rem;z-index:900;display:flex;align-items:flex-start;justify-content:flex-end;gap:.5rem;pointer-events:none}.app-shell__toolbar>*{pointer-events:auto}.site-logo--toolbar{margin-right:auto;align-self:center}.theme-toggle.btn,.sfx-toggle.btn,.auth-bar__btn.btn{height:2.5rem;min-height:2.5rem;padding:0 .9rem;font-size:.72rem;line-height:1;box-shadow:var(--shadow)}.theme-toggle{text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--text);background:var(--bg-elevated);flex-shrink:0}.auth-bar{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:0}.auth-bar__form,.auth-bar__session{display:flex;align-items:stretch;min-width:0;height:2.5rem;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.auth-bar__input{width:10.5rem;max-width:36vw;height:100%;padding:0 .7rem;border:none;border-radius:0;background:transparent;color:var(--text);font-family:var(--font);font-size:.8rem;font-weight:600;box-shadow:none}.auth-bar__input:focus{outline:none;background:color-mix(in srgb,var(--accent) 10%,transparent)}.auth-bar__input::placeholder{color:var(--text-dim);font-weight:500}.auth-bar__btn{flex-shrink:0;border:none!important;border-left:3px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;height:100%!important;min-height:0!important}.auth-bar__btn:hover{transform:none!important;background:var(--accent);color:var(--text-on-bright)}.auth-bar__email{display:inline-flex;align-items:center;max-width:10.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:600;color:var(--text);padding:0 .7rem}.auth-bar__status{margin:0;font-size:.7rem;color:var(--text-muted);text-align:right;max-width:16rem}.auth-bar__hint{position:absolute;top:calc(100% + .28rem);left:0;right:0;margin:0;font-size:.65rem;line-height:1.35;color:var(--text-dim);text-align:left;pointer-events:none}.logo-mark{display:block;overflow:visible;filter:drop-shadow(4px 4px 0 var(--shadow-color))}.logo-mark__card{stroke:var(--border);stroke-width:2.5}.logo-mark__card--left,.logo-mark__card--right{fill:var(--bg-elevated)}.logo-mark__card--front{fill:var(--accent)}.logo-mark--hero{width:4.5rem;height:4.5rem;margin:0 auto .75rem;filter:drop-shadow(6px 6px 0 var(--shadow-color))}.logo-mark--header{width:1.75rem;height:1.75rem}.logo-mark--card-back{width:48%;height:auto;max-width:3.75rem;filter:none}.site-logo{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--text);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.site-logo__text{display:none}.page-header__brand-mark{display:flex;justify-content:center}.kofi-support{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:.75rem 0}.kofi-support--footer{margin-top:0;align-items:stretch;width:100%}.kofi-support--footer .kofi-support__prompt,.kofi-support--footer .kofi-support__note{max-width:none}.kofi-support--footer .kofi-support__btn,.kofi-support--outcome .kofi-support__btn{width:100%;white-space:nowrap;justify-content:center}.kofi-support__prompt{margin:0;font-size:.9rem;font-weight:800;color:var(--text-muted);text-align:center;max-width:22rem;text-shadow:none}[data-theme=dark] .kofi-support__prompt{color:var(--text)}.kofi-support--outcome .kofi-support__prompt{color:var(--text);background:var(--bg-elevated);border:2px solid var(--border);padding:.2rem .55rem;box-shadow:2px 2px 0 var(--shadow-color);text-shadow:none}.kofi-support__btn{gap:.45rem}.kofi-support__note{margin:0;font-size:.8rem;font-weight:700;color:var(--text-muted);text-align:center}.kofi-support__icon{display:block;flex-shrink:0}.kofi-support--outcome{margin:.5rem 0 1rem;width:min(100%,14rem)}.page-footer__links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:.75rem}.page-footer__meta{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:0}.page-footer__credit{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.3}.page-footer__version{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.page-footer__links a{color:var(--text-muted);font-size:.85rem}.legal-page__body{max-width:40rem;margin:0 auto;padding:1rem 1.25rem 3rem;line-height:1.55}.legal-page__body h1{margin-top:0}.legal-page__body h2{margin-top:1.5rem;font-size:1.1rem}.legal-page__body ul{margin:.5rem 0 0;padding-left:1.35rem}.legal-page__body li{margin-bottom:.35rem}.how-to-list{padding-left:1.25rem}.how-to-list li{margin-bottom:.65rem}.how-to-page{width:100%;align-items:stretch}.how-to-panel{width:min(100%,42rem);margin:.35rem auto 2.5rem;padding:1.35rem 1.5rem 1.5rem;background:var(--bg-elevated);border:3px solid var(--border);box-shadow:var(--shadow);text-align:left;line-height:1.55}.how-to-panel__header{margin-bottom:1.15rem;padding-bottom:.85rem;border-bottom:3px solid var(--border)}.how-to-panel__title{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,4vw,2.1rem);letter-spacing:-.02em;text-align:center}.how-to-panel .how-to-list{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.7rem;counter-reset:how-to-step}.how-to-panel .how-to-list li{position:relative;margin:0;padding:.85rem 1rem .85rem 3.1rem;background:var(--bg);border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color);counter-increment:how-to-step}.how-to-panel .how-to-list li:before{content:counter(how-to-step);position:absolute;left:.65rem;top:.75rem;display:flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;background:var(--accent);color:var(--text-on-bright);border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color);font-size:.75rem;font-weight:900;line-height:1}.how-to-panel .how-to-list strong{color:var(--text);font-weight:800}.how-to-panel__notes{display:flex;flex-direction:column;gap:.7rem;margin:0;padding-top:1.1rem;border-top:3px solid var(--border)}.how-to-panel__credits{margin-top:1.1rem;padding-top:1.1rem;border-top:3px solid var(--border);color:var(--text-muted);font-size:.82rem;line-height:1.5}.how-to-panel__credits-title{margin:0 0 .4rem;font-size:.95rem}.how-to-panel__credits p{margin:0 0 .4rem}.how-to-panel__credits-list{margin:0;padding-left:1.2rem;columns:2;column-gap:1.5rem}.how-to-panel__credits-list a{color:inherit;font-weight:700}@media(max-width:560px){.how-to-panel__credits-list{columns:1}}.how-to-panel__notes p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.how-to-panel__notes strong{color:var(--text)}.how-to-duel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000;transition:background .2s ease;overflow:auto}.how-to-duel-overlay--in{background:#0000008c}.how-to-duel-panel{margin:auto;max-height:min(88vh,40rem);overflow:auto;opacity:0;transform:scale(.88);transition:opacity .22s cubic-bezier(.34,1.2,.64,1),transform .28s cubic-bezier(.34,1.2,.64,1);box-shadow:6px 6px 0 var(--shadow-color)}.how-to-duel-overlay--in .how-to-duel-panel{opacity:1;transform:scale(1)}.how-to-duel-panel__header{display:flex;align-items:center;justify-content:center;position:relative;gap:.75rem}.how-to-duel-panel__close{position:absolute;right:0;top:50%;transform:translateY(-50%);width:2rem;height:2rem;border:2px solid var(--border);background:var(--bg);color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer;box-shadow:2px 2px 0 var(--shadow-color)}.how-to-duel-panel__close:hover{background:var(--accent);color:var(--text-on-bright)}.duel-unit--selected{outline:3px solid var(--accent);outline-offset:2px}.duel-arena__field--summon-hint{outline:2px dashed var(--accent);outline-offset:4px}.deck-builder__slot--selected,.card--deck-pick{outline:3px solid var(--accent);outline-offset:2px}#outlet{width:100%}.page-header{margin-bottom:3rem}.page-header__brand{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.page-header__logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:3px solid var(--border);background:var(--accent-alt);color:var(--text-on-bright);font-weight:900;font-size:.85rem;letter-spacing:.05em;box-shadow:var(--shadow)}.page-header__title{font-size:clamp(1.75rem,4vw,2.45rem);font-family:var(--font-display);font-weight:400;letter-spacing:-.03em}.page-header__subtitle{color:var(--text-muted);font-size:.95rem;margin-top:.4rem}.page-header__hint{color:var(--text-muted);font-size:.95rem;max-width:520px}.section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-family:var(--font);font-size:.9rem;font-weight:800;cursor:pointer;border:3px solid var(--border);transition:all var(--transition);box-shadow:var(--shadow);text-transform:uppercase;letter-spacing:.04em}.btn--icon{width:2.75rem;height:2.75rem;min-width:2.75rem;padding:0;letter-spacing:0}.btn--icon svg{display:block;flex-shrink:0;filter:drop-shadow(2px 2px 0 var(--shadow-color))}.btn--icon:hover:not(:disabled) svg{filter:drop-shadow(3px 3px 0 var(--shadow-color))}.btn--primary{background:var(--accent);color:var(--text-on-bright)}.btn--primary:hover:not(:disabled){background:var(--border);color:var(--bg);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-color)}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--shadow)}.btn--ghost{background:var(--bg-elevated);color:var(--text);border:3px solid var(--border)}.btn--ghost:hover:not(:disabled){background:var(--accent-alt);color:var(--text-on-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--shadow-color)}.btn--ghost:focus-visible,.btn--primary:focus-visible,.btn--danger:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn--danger{background:var(--danger);color:#fff;border-color:var(--border)}.btn--danger:hover{filter:brightness(1.08);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--shadow-color)}input.btn,textarea.btn,select.btn{color:var(--text);background:var(--bg-elevated);-moz-appearance:none;appearance:none;-webkit-appearance:none}input.btn::placeholder,textarea.btn::placeholder{color:var(--text-dim);opacity:1}.contest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;width:100%}.contest-grid--single{grid-template-columns:minmax(280px,420px);justify-content:center}.contest-grid--empty{display:flex;justify-content:center;align-items:center}.contest-grid--empty .team-builder__complete{margin-left:auto;margin-right:auto;margin-bottom:0;max-width:28rem;text-align:left}.contest-grid--quad{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin:0 auto;width:100%}.contest-card{position:relative;display:block;width:100%;min-height:200px;padding:0;border:4px solid var(--border);border-radius:var(--radius);background-color:var(--bg-elevated);background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;overflow:hidden;font-family:var(--font);text-align:left;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}.contest-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}.contest-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,#111 15%,transparent),color-mix(in srgb,#111 72%,transparent));pointer-events:none}.contest-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;height:100%;padding:1.25rem;color:#fff}.contest-card__tag{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:.2rem .45rem;margin-bottom:.5rem;border:2px solid #fff;background:var(--accent);color:#fff}.contest-card__text{margin-bottom:.35rem}.contest-card__name{font-family:var(--font-display);font-size:1.25rem;font-weight:400;letter-spacing:-.02em;color:#fff;text-shadow:2px 2px 0 #111}.contest-card__native{font-size:.85rem;color:#ffffffd1;margin-top:.15rem;font-weight:600}.contest-card__meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.contest-card__slots{font-size:.75rem;color:#ffffff8c}.event-status{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px}.event-status--pack-ready{background:var(--bg-elevated);color:var(--text);border:2px solid var(--border)}.event-status--pack-opened{background:var(--accent-alt);color:var(--border);border:2px solid var(--border)}.event-status--team-complete{background:var(--accent);color:var(--bg)}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;flex-wrap:wrap;width:100%}.breadcrumb[hidden]{display:none!important}.breadcrumb__back{background:none;border:none;color:var(--text-muted);font-family:var(--font);cursor:pointer;padding:0;margin-right:.5rem;transition:color var(--transition)}.breadcrumb__back:hover{color:var(--text)}.breadcrumb__tag{font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:.2rem .5rem;border:2px solid var(--border);background:var(--accent-alt);color:var(--border)}.breadcrumb__contest{color:var(--text-muted)}.breadcrumb__sep{color:var(--text-dim)}.breadcrumb__event{font-weight:600}.breadcrumb--sticky{position:sticky;top:.55rem;z-index:60;width:100%;margin-top:calc(.55rem - var(--app-pad-top));margin-bottom:.75rem;padding:.4rem .65rem;background:var(--bg-elevated);border:3px solid var(--border);border-bottom:3px solid var(--border);box-shadow:var(--shadow)}.card{position:relative;--card-rarity-color: var(--accent-alt);--card-rarity-glow: transparent;background:var(--bg-card);border:3px solid color-mix(in srgb,var(--card-rarity-color) 55%,var(--border));border-radius:var(--radius);overflow:hidden;cursor:default;transition:transform var(--transition),box-shadow var(--transition);-webkit-user-select:none;user-select:none;box-shadow:3px 3px 0 var(--shadow-color);color:var(--text)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--card-rarity-color);z-index:2}.card[role=button]{cursor:pointer}.card--md{width:148px}.card--sm{width:118px}.card--lg{width:160px}.card:hover:not(.card--dragging):not(.card--disabled){transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--shadow-color)}.card--disabled{opacity:.45;filter:grayscale(.4);cursor:not-allowed}.card--selected{outline:3px solid var(--accent);outline-offset:2px}.card--dragging{opacity:.5;transform:scale(.95)}.card--reveal{animation:cardReveal .5s cubic-bezier(.34,1.56,.64,1) both}.card--pack-emerge{animation:packCardEmerge .75s cubic-bezier(.22,1,.36,1) both}@keyframes cardReveal{0%{opacity:0;transform:translateY(40px) scale(.8) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes packCardEmerge{0%{opacity:0;transform:translateY(48px) translate(calc(var(--deal-x, 0px) * .35)) scale(.72) rotate(var(--deal-rot, 0deg))}60%{opacity:1;transform:translateY(-6px) translate(calc(var(--deal-x, 0px) * .1)) scale(1.03) rotate(calc(var(--deal-rot, 0deg) * .2))}to{opacity:1;transform:translateY(0) translate(0) scale(1) rotate(0)}}.card__surprise{position:absolute;top:6px;right:6px;z-index:2;line-height:1}.stars{color:var(--surprise);font-size:.7rem;letter-spacing:-.05em;text-shadow:0 0 8px rgba(232,197,71,.4)}.stars--1{font-size:.65rem}.stars--2{font-size:.72rem}.stars--3{font-size:.8rem;text-shadow:0 0 12px rgba(232,197,71,.65)}.stars__empty{color:#e8c54740}.card--surprise-1 .card__points,.card--surprise-2 .card__points,.card--surprise-3 .card__points{color:var(--surprise)}.card__portrait{aspect-ratio:3 / 4;position:relative;overflow:hidden;background:var(--surface-inset)}.card__rarity-badge{position:absolute;top:6px;left:6px;z-index:3;padding:.18rem .42rem;font-size:.5rem;font-weight:900;letter-spacing:.08em;color:var(--text-on-bright);background:var(--card-rarity-color);border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color)}.card__mana,.card__atk,.card__hp,.card__stat,.card-detail__stat,.duel-unit__stat,.duel-hero__stat{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;box-shadow:none;background:none;overflow:visible}.card__stat-icon,.card-detail__stat-icon,.duel-unit__stat-icon,.duel-hero__stat-icon{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(2px 2px 0 var(--shadow-color))}.card__stat-icon--light,.card-detail__stat-icon--light,.duel-unit__stat-icon--light,.duel-hero__stat-icon--light{display:block}.card__stat-icon--dark,.card-detail__stat-icon--dark,.duel-unit__stat-icon--dark,.duel-hero__stat-icon--dark,[data-theme=dark] .card__stat-icon--light,[data-theme=dark] .card-detail__stat-icon--light,[data-theme=dark] .duel-unit__stat-icon--light,[data-theme=dark] .duel-hero__stat-icon--light{display:none}[data-theme=dark] .card__stat-icon--dark,[data-theme=dark] .card-detail__stat-icon--dark,[data-theme=dark] .duel-unit__stat-icon--dark,[data-theme=dark] .duel-hero__stat-icon--dark{display:block}.card__stat-value,.card-detail__stat-value,.duel-unit__stat-value,.duel-hero__stat-value{position:relative;z-index:2;font-size:.88rem;font-weight:900;color:var(--border);line-height:1;letter-spacing:-.02em;-webkit-text-stroke:.45px var(--bg);paint-order:stroke fill;text-shadow:-1.5px -1.5px 0 var(--bg),1.5px -1.5px 0 var(--bg),-1.5px 1.5px 0 var(--bg),1.5px 1.5px 0 var(--bg),0 0 4px var(--bg)}.duel-unit__stat-value,.duel-hero__stat-value{font-size:.82rem}.card__stat--mana,.card-detail__stat--mana,.duel-hero__stat--mana{top:4px;right:4px}.card__stat--atk,.card-detail__stat--atk,.duel-unit__stat--atk{bottom:22px;left:4px}.card__stat--hp,.card-detail__stat--hp,.duel-unit__stat--hp{bottom:22px;right:4px}.card-detail__stat--mana{top:12px;right:12px;width:2.85rem;height:2.85rem}.card-detail__stat--atk{bottom:12px;left:12px;width:2.85rem;height:2.85rem}.card-detail__stat--hp{bottom:12px;right:12px;width:2.85rem;height:2.85rem}.card-detail__stat-value{font-size:1.2rem}.card-detail__stat-icon,.duel-hero__stat-icon{filter:drop-shadow(3px 3px 0 var(--shadow-color))}.card--sm .card__stat{width:1.65rem;height:1.65rem}.card--sm .card__stat-value{font-size:.8rem}.card--sm .card__stat--atk,.card--sm .card__stat--hp{bottom:4px}.card__back{width:100%;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.card__back--custom{display:block}.card__back-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.card__back-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:color-mix(in srgb,#ffffff 48%,transparent)}[data-theme=dark] .card__back-veil{background:color-mix(in srgb,#000000 52%,transparent)}.card__back-mark{font-size:.85rem;font-weight:900;letter-spacing:.12em;color:var(--text-on-bright)}.card--face-down{background:var(--accent-alt);overflow:hidden}.card--face-down.card--custom-back{background:var(--bg-elevated)}.card--face-down:before{display:none}.card--face-down .card__back{border:none;background:transparent;box-shadow:none}.card__hp--tick{animation:hpTick .15s ease infinite alternate;background:#ff6b6b!important}.card__hp--damaged{background:#f33!important;color:#fff!important}@keyframes hpTick{0%{transform:scale(1)}to{transform:scale(1.15)}}.card__rarity{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.card__photo{width:100%;height:100%;object-fit:cover;display:block}.card__body{display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-height:2.55rem;padding:.4rem .65rem .45rem;background:var(--bg-card);border-top:2px solid color-mix(in srgb,var(--border) 55%,transparent)}.card--has-passive .card__body{border-top-color:var(--border)}.card__name{margin:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__passive{margin:0;min-height:.85rem;font-size:.58rem;font-weight:700;letter-spacing:.03em;line-height:1.2;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 70%,var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__passive--empty{visibility:hidden}.card__song{font-size:.68rem;color:var(--text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.12rem;line-height:1.25}.card--sm .card__name{font-size:.72rem}.card--sm .card__passive{font-size:.5rem}.card--sm .card__song{font-size:.6rem}.card__type{font-size:.65rem;color:var(--card-type-color);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem;font-weight:600}.card__points{position:absolute;bottom:0;right:0;font-size:.6rem;font-weight:600;color:var(--card-type-color);padding:.3rem .5rem;background:color-mix(in srgb,var(--bg) 75%,transparent);border-top-left-radius:var(--radius-sm)}.card-detail__surprise-hint{font-size:.8rem;color:var(--surprise)}.card-detail__proximity-hint{font-size:.75rem;color:var(--text-dim);line-height:1.4}.card-mini{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;padding:.2rem .5rem;background:var(--bg-card);border-radius:4px}.card-mini__star{color:var(--surprise)}.card-mini__name{font-weight:500}.card-mini__song{color:var(--text-dim);font-style:italic}.card-mini__type{color:var(--text-muted)}.pack-root{min-height:4rem}.pack-opener--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:none;padding:1.25rem;padding-top:max(1.5rem,calc(var(--app-pad-top) + .5rem));padding-bottom:2rem;box-sizing:border-box}.pack-opener__dim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);background-image:linear-gradient(color-mix(in srgb,var(--border) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;background-position:0 0;animation:siteGridDrift 8s linear infinite;z-index:0;pointer-events:none}.pack-opener__stage--shaking{animation:packStageShake .7s ease-in-out}.pack-opener__stage--burst{animation:packStageBurst 1.1s cubic-bezier(.2,.9,.2,1)}@keyframes packStageShake{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-8px,3px) rotate(-1.5deg)}30%{transform:translate(10px,-4px) rotate(2deg)}45%{transform:translate(-7px,5px) rotate(-1deg)}60%{transform:translate(8px,-3px) rotate(1.5deg)}75%{transform:translate(-4px,2px) rotate(-.5deg)}}@keyframes packStageBurst{0%{transform:scale(1)}35%{transform:scale(1.04)}55%{transform:scale(.97)}to{transform:scale(1)}}.pack-opener__fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0}.pack-opener__fx--open{opacity:1;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 55%);animation:packOpenFlash 1.1s ease-out both}.pack-opener__fx--legendary{opacity:1;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--rarity-legendary) 45%,transparent),transparent 58%);animation:packLegendaryFlash 1.4s ease-out both}@keyframes packOpenFlash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes packLegendaryFlash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.pack-opener__stage{position:relative;z-index:1;width:min(100%,58rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}.pack-opener__deal-zone{position:relative;width:100%;min-height:22rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.pack-seal{position:relative;display:flex;flex-direction:column;align-items:stretch;width:min(100%,260px);border:none;box-shadow:none;background:transparent;overflow:visible}.pack-seal__burst{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border:4px solid var(--accent);opacity:0;pointer-events:none;z-index:0}.pack-seal--dramatic .pack-seal__burst{animation:packSealBurstRing 1.1s cubic-bezier(.15,.85,.25,1) both}@keyframes packSealBurstRing{0%{opacity:0;transform:scale(.55)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.55)}}.pack-seal__top{position:relative;width:100%;z-index:3;transform-origin:0% 100%;margin-bottom:-72px;filter:drop-shadow(7px 7px 0 var(--shadow-color))}.pack-seal__top-inner{height:92px;background:var(--accent);border:4px solid var(--border);border-bottom:none;display:flex;align-items:center;justify-content:center}.pack-seal__top-flag,.pack-seal__flag{display:none}.pack-seal__tear-edge{height:14px;background:var(--accent);border-left:4px solid var(--border);border-right:4px solid var(--border);clip-path:polygon(0% 0%,100% 0%,100% 100%,97% 45%,94% 100%,91% 40%,88% 100%,85% 55%,82% 100%,79% 38%,76% 100%,73% 50%,70% 100%,67% 42%,64% 100%,61% 58%,58% 100%,55% 35%,52% 100%,49% 52%,46% 100%,43% 44%,40% 100%,37% 36%,34% 100%,31% 54%,28% 100%,25% 40%,22% 100%,19% 48%,16% 100%,13% 34%,10% 100%,7% 56%,4% 100%,0% 45%)}.pack-seal--opening .pack-seal__top{animation:packRipTop .95s cubic-bezier(.42,0,.58,1) forwards}.pack-seal--opening.pack-seal--dramatic .pack-seal__body{animation:packBodyPopDramatic .85s cubic-bezier(.2,.9,.2,1) forwards}.pack-seal--opening .pack-seal__body{animation:packBodyPop .3s ease forwards .2s}.pack-seal[hidden],.pack-seal--opened{display:none!important}@keyframes packRipTop{0%{transform:translate(0) rotate(0);opacity:1}45%{transform:translate(28%) rotate(10deg);opacity:1}to{transform:translate(140%) rotate(28deg);opacity:0}}@keyframes packBodyPop{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes packBodyPopDramatic{0%{transform:scale(1) translateY(0)}35%{transform:scale(1.08) translateY(-8px) rotate(-2deg)}60%{transform:scale(.96) translateY(4px) rotate(1deg)}to{transform:scale(.2) translateY(40px) rotate(8deg);opacity:0}}.pack-seal__body{position:relative;z-index:1;width:100%;margin-top:0;min-height:330px;padding:3.35rem .85rem 1rem;background:var(--bg-elevated);border:4px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:stretch;gap:.65rem;text-align:center;overflow:hidden}.pack-seal__body-tear{width:calc(100% + 8px);height:14px;margin:-3.35rem -.85rem 0;flex:0 0 auto;background:var(--bg);clip-path:polygon(0% 0%,100% 0%,100% 100%,97% 45%,94% 100%,91% 40%,88% 100%,85% 55%,82% 100%,79% 38%,76% 100%,73% 50%,70% 100%,67% 42%,64% 100%,61% 58%,58% 100%,55% 35%,52% 100%,49% 52%,46% 100%,43% 44%,40% 100%,37% 36%,34% 100%,31% 54%,28% 100%,25% 40%,22% 100%,19% 48%,16% 100%,13% 34%,10% 100%,7% 56%,4% 100%,0% 45%)}.pack-seal__art{position:relative;flex:1 1 auto;min-height:190px;margin:-.85rem .15rem 0;border:3px solid var(--border);background:var(--bg-card);overflow:hidden;box-shadow:2px 2px 0 var(--shadow-color)}.pack-seal__art .card__back{width:100%;height:100%;min-height:190px;aspect-ratio:auto}.pack-seal__art .logo-mark--card-back{width:min(48%,5.5rem);height:auto}.pack-seal__meta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.28rem;padding:0 .15rem}.pack-seal__mark,.pack-seal__top-mark{font-family:var(--font-display);font-size:.85rem;font-weight:400;letter-spacing:.14em;color:var(--text)}.pack-seal__top-mark{color:var(--text-on-bright)}.pack-seal__title{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--text);line-height:1.15;max-width:12rem}.pack-seal__subtitle{font-size:.75rem;color:var(--text-muted);font-weight:600}.pack-seal__count{font-size:.75rem;color:var(--text-dim);margin-top:.25rem;margin-bottom:.5rem}.pack-seal__open{width:100%;margin-top:.4rem;padding-block:.55rem}.pack-reveal{position:relative;width:min(100%,22rem);display:flex;flex-direction:column;align-items:center;gap:.75rem;outline:none;-webkit-user-select:none;user-select:none}.pack-reveal[hidden]{display:none!important}.pack-reveal__progress{margin:0;font-family:var(--font-display);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}.pack-reveal__actions{min-height:3.1rem;display:flex;align-items:center;justify-content:center}.pack-reveal__next{min-width:11rem;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease,visibility .22s}.pack-reveal__next--ready{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.pack-reveal__next:disabled{cursor:default}.pack-reveal__stage{position:relative;width:min(100%,14rem);min-height:19rem;display:flex;align-items:center;justify-content:center;z-index:1}.pack-reveal__card-slot{position:relative;z-index:2;width:100%;display:flex;justify-content:center;perspective:900px}.pack-reveal__card{width:min(100%,13.5rem);transform-style:preserve-3d;transition:none}.pack-reveal__card:hover{transform:none;box-shadow:3px 3px 0 var(--shadow-color)}.pack-reveal--flipping .pack-reveal__card--flip-out{animation:packRevealFlipOut .56s ease forwards}.pack-reveal__card--face{animation:packRevealFlipIn .56s cubic-bezier(.2,.9,.2,1) both}.pack-reveal .card__body,.pack-cards .card__body{text-align:center;align-items:center}.pack-reveal .card__name,.pack-reveal .card__passive,.pack-cards .card__name,.pack-cards .card__passive{text-align:center;width:100%}.pack-reveal__card-fx--rare{animation:packRarePulse .85s ease-out both}.pack-reveal__card-fx--legendary{animation:packLegendarySlam 1s cubic-bezier(.15,.9,.25,1) both}@keyframes packRevealFlipOut{0%{transform:rotateY(0) scale(1);opacity:1}to{transform:rotateY(90deg) scale(.94);opacity:.35}}@keyframes packRevealFlipIn{0%{transform:rotateY(-90deg) scale(.94);opacity:.35}to{transform:rotateY(0) scale(1);opacity:1}}.pack-reveal__glow{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:1;opacity:0;pointer-events:none}.pack-reveal__glow--rare{background:radial-gradient(circle,color-mix(in srgb,var(--rarity-rare) 40%,transparent),transparent 70%);animation:packRareGlow .7s ease-out both}.pack-reveal__glow--legendary{background:radial-gradient(circle,color-mix(in srgb,var(--rarity-legendary) 55%,transparent),transparent 72%);animation:packLegendaryGlow 1.4s ease-out both}@keyframes packRareGlow{0%{opacity:0;transform:scale(.7)}35%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.2)}}@keyframes packLegendaryGlow{0%{opacity:0;transform:scale(.55)}20%{opacity:1;transform:scale(1.1)}70%{opacity:.85;transform:scale(1.25)}to{opacity:0;transform:scale(1.45)}}.pack-reveal__burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.pack-reveal__shard{position:absolute;left:50%;top:50%;width:.55rem;height:2.4rem;background:var(--rarity-legendary);border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color);transform-origin:center bottom;animation:packShardFly 1.2s cubic-bezier(.15,.85,.3,1) both;animation-delay:calc(var(--shard-i, 0) * 18ms);--shard-rot: calc(var(--shard-i, 0) * 30deg)}.pack-reveal__spark{position:absolute;left:50%;top:50%;width:.7rem;height:.7rem;background:var(--accent);border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color);animation:packSparkPop 1s ease-out both;animation-delay:calc(var(--spark-i, 0) * 40ms)}@keyframes packShardFly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--shard-rot)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--shard-rot)) translateY(-7.5rem) scale(1)}}@keyframes packSparkPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(calc(var(--spark-i, 0) * 45deg)) translateY(0)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(calc(var(--spark-i, 0) * 45deg)) translateY(-5.5rem)}}.pack-reveal__rarity{margin:0;padding:.35rem .7rem;border:3px solid var(--border);font-family:var(--font-display);font-size:.85rem;letter-spacing:.08em;box-shadow:var(--shadow);min-height:1.85rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.pack-reveal__rarity[hidden]{visibility:hidden;display:flex!important;border-color:transparent;background:transparent;box-shadow:none;color:transparent;pointer-events:none}.pack-reveal__rarity--rare{background:var(--rarity-rare);color:var(--text-on-bright);animation:packRareBadge .55s ease both}.pack-reveal__rarity--legendary{background:var(--rarity-legendary);color:var(--text-on-bright);animation:packLegendaryBadge .9s cubic-bezier(.2,.9,.2,1) both}@keyframes packRareBadge{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes packLegendaryBadge{0%{opacity:0;transform:translateY(14px) scale(.7) rotate(-4deg)}55%{opacity:1;transform:translateY(-4px) scale(1.12) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes packRarePulse{0%{filter:brightness(1) drop-shadow(0 0 0 transparent)}40%{filter:brightness(1.28) drop-shadow(0 0 12px color-mix(in srgb,var(--rarity-rare) 55%,transparent))}to{filter:brightness(1) drop-shadow(0 0 0 transparent)}}@keyframes packLegendarySlam{0%{filter:brightness(1.1);transform:scale(.94) rotate(-2deg)}45%{filter:brightness(1.35);transform:scale(1.08) rotate(1.5deg)}70%{filter:brightness(1.05);transform:scale(.99) rotate(-.5deg)}to{filter:brightness(1);transform:scale(1) rotate(0)}}.pack-cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.75rem;padding:.25rem 0 0;width:100%;margin:0 auto}.pack-cards[hidden]{display:none!important}.pack-cards--settled{padding-bottom:.25rem;animation:fadeInUp .35s var(--transition) both}.pack-cards .card--md{width:136px;flex:0 0 auto}.pack-opener__cta-bar{position:relative;z-index:1;display:flex;justify-content:center;width:100%;margin-top:0;padding:0;background:transparent}.pack-opener__cta-bar[hidden]{display:none!important}.pack-opener__cta{min-width:14rem;animation:fadeInUp .35s var(--transition) both;box-shadow:var(--shadow-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pack-done{max-width:28rem;margin:3rem auto;padding:1.75rem;text-align:center;background:var(--bg-elevated);border:4px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:.75rem}.pack-done__title{font-family:var(--font-display);font-size:1.5rem;margin:0}.pack-done__copy{margin:0;color:var(--text-muted);font-weight:600;line-height:1.4}.page--packs{min-height:12rem}.team-builder__complete{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-elevated);border:3px solid var(--border);border-radius:var(--radius);margin-bottom:2rem;box-shadow:var(--shadow)}.status-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:calc(100dvh - 9rem);padding:1rem}.status-panel .team-builder__complete{margin:0 auto;max-width:28rem;width:100%;text-align:left}.team-builder__complete-icon{display:flex;align-items:center;justify-content:center;min-width:42px;height:36px;padding:0 .5rem;background:var(--accent-alt);color:var(--border);border:2px solid var(--border);box-shadow:2px 2px 0 var(--border);font-size:.7rem;font-weight:900;letter-spacing:.06em}.team-builder__complete-icon--ok{background:var(--success)}.team-builder__complete-icon--alert{background:var(--surprise)}.team-builder__complete-icon--player,.team-builder__complete-icon--win{background:var(--success)}.team-builder__complete-icon--enemy,.team-builder__complete-icon--loss{background:var(--danger);color:#fff}.team-builder__complete p{font-size:.85rem;color:var(--text-muted)}.team-builder__complete strong{color:var(--text)}.team-builder--complete-view{display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 9rem);gap:1.75rem}.team-complete{display:flex;flex-wrap:nowrap;justify-content:center;gap:1rem;overflow-x:auto;padding:.25rem 0 1rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.team-complete__category{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.65rem;min-width:130px;max-width:140px}.team-complete__type{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--card-type-color);text-align:center;line-height:1.2}.team-complete__slots{display:flex;flex-direction:column;gap:.65rem;width:100%}.slot--compact{padding:.5rem;width:100%}.slot--compact .slot__dropzone{display:flex;justify-content:center}.slot--compact .card--sm{width:100%;max-width:118px}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.team-builder__layout{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}.team-builder__layout--complete{grid-template-columns:1fr;max-width:520px}.team-builder__panel{display:flex;flex-direction:column;gap:1.5rem}.team-builder__panel--slide-left{animation:categorySlideLeft .36s cubic-bezier(.22,1,.36,1) both}.team-builder__panel--slide-right{animation:categorySlideRight .36s cubic-bezier(.22,1,.36,1) both}.team-builder__layout--slide-left{animation:categorySlideLeft .28s ease both}.team-builder__layout--slide-right{animation:categorySlideRight .28s ease both}@keyframes categorySlideLeft{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes categorySlideRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.team-builder__hint{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.category-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1rem;margin-bottom:1.5rem;background:var(--bg-elevated);border:3px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.category-nav__btn{width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:1.1rem;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.category-nav__btn:hover{border-color:var(--border-light);background:var(--bg-elevated)}.category-nav__label{display:flex;align-items:center;gap:.75rem;min-width:0}.category-nav__dot{width:10px;height:10px;border-radius:50%;background:var(--card-type-color);box-shadow:0 0 10px color-mix(in srgb,var(--card-type-color) 55%,transparent);flex-shrink:0}.category-nav__text{min-width:0;flex:1}.category-nav__name{display:block;font-size:1rem;color:var(--card-type-color)}.category-nav__meta{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-nav__step{font-size:.75rem;font-weight:600;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.surprise-hint{display:block;margin-top:.35rem;color:var(--surprise)}.slots-grid{display:flex;flex-direction:column;gap:1rem}.slot{--card-type-color: var(--accent-alt);background:var(--bg-elevated);border:3px dashed var(--border);border-radius:var(--radius);padding:1rem;transition:all var(--transition);box-shadow:var(--shadow)}.slot--filled{border-style:solid;border-color:color-mix(in srgb,var(--card-type-color) 40%,var(--border-light))}.slot--highlight{border-color:color-mix(in srgb,var(--card-type-color) 65%,var(--accent));background:color-mix(in srgb,var(--card-type-color) 10%,var(--bg-elevated))}.slot--dragover{border-color:var(--card-type-color);background:color-mix(in srgb,var(--card-type-color) 14%,var(--bg-elevated));transform:scale(1.01)}.slot--dragover-invalid{border-color:#e85d5d;border-style:solid;background:color-mix(in srgb,#e85d5d 12%,var(--bg-elevated));animation:slotWobble .35s ease}.slot--reject{animation:slotReject .45s ease}@keyframes slotWobble{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes slotReject{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.slot--dragover-invalid .slot__dropzone:after{content:"Wrong card type";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#ff8a8a;background:#000000b8;border-radius:var(--radius-sm);pointer-events:none;z-index:2}.is-dragging-card .slot--empty:not(.slot--dragover):not(.slot--dragover-invalid){opacity:.72}.slot__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.slot__label{font-weight:600;font-size:.9rem}.slot__type{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--card-type-color);padding:.2rem .5rem;border-radius:4px;background:color-mix(in srgb,var(--card-type-color) 14%,transparent)}.slot__dropzone{position:relative;min-height:120px;display:flex;align-items:center;justify-content:center}.slot__placeholder{font-size:.8rem;color:var(--text-dim)}.cards-hand{display:flex;flex-wrap:wrap;gap:1rem;min-height:80px;padding:.5rem;border-radius:var(--radius);transition:background var(--transition),outline var(--transition)}.cards-hand--droppable{background:#ffffff0a;outline:1px dashed var(--border-light);outline-offset:4px}.cards-hand__empty{color:var(--text-muted);font-size:.9rem}.card-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.card-legend__item{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.card-legend__dot{width:8px;height:8px;border-radius:50%;background:var(--card-type-color);box-shadow:0 0 8px color-mix(in srgb,var(--card-type-color) 50%,transparent);flex-shrink:0}.card-legend__item strong{color:var(--card-type-color)}.page-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.page-header__actions{margin-top:1rem}body.has-card-modal .app-shell{pointer-events:none;-webkit-user-select:none;user-select:none}body.has-card-modal .app-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:150;pointer-events:none}.card-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:550;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0000008c;animation:fadeIn .25s ease}.card-detail-overlay[hidden]{display:none!important}.card-detail{position:relative;width:min(360px,92vw);background:transparent;border:none;box-shadow:none;animation:cardDetailIn .3s cubic-bezier(.34,1.2,.64,1);overflow:visible}.card-detail__tilt-scene{perspective:900px;width:100%;padding:1rem}.card-detail__tilt-card{transform-style:preserve-3d;transition:transform .08s ease-out;border:4px solid var(--border);background:var(--bg-card);box-shadow:8px 8px 0 var(--shadow-color);color:var(--text);width:100%;overflow:hidden}.card-detail__visual{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--surface-inset)}@keyframes cardDetailIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.card-detail__close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:32px;height:32px;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:background var(--transition)}.card-detail__close:hover{background:#000000b8;color:#fff}.card-detail__layout{display:grid;grid-template-columns:240px 1fr;gap:0}.card-detail__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.card-detail__surprise{position:absolute;top:12px;right:12px;z-index:1}.card-detail__surprise .stars{font-size:1.1rem}.card-detail__type-badge{position:absolute;top:12px;left:12px;z-index:3;padding:.35rem .65rem;border-radius:4px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-on-bright);background:var(--card-rarity-color, var(--accent-alt));border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color)}.card-detail__info{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;text-align:center}.card-detail__stats{font-size:.95rem;font-weight:800;color:var(--text-muted)}.card-detail__passive-name{margin:.25rem 0 0;font-size:.85rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.card-detail__passive-desc{margin:0;font-size:.82rem;line-height:1.35;color:var(--text-muted)}.card-detail__contest{font-size:.8rem;color:var(--text-muted)}.card-detail__name{font-size:1.35rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.card-detail__song{font-size:1rem;color:var(--text-muted);font-style:italic;margin-top:.2rem}.card-detail__description{font-size:.95rem;color:var(--text-muted);line-height:1.6;flex:1}.card-detail__meta{display:flex;flex-direction:column;gap:.35rem;padding-top:.5rem;border-top:1px solid var(--border)}.card-detail__points{font-size:.85rem;font-weight:600;color:var(--card-type-color)}.card-detail__type-hint{font-size:.8rem;color:var(--text-dim)}.card-detail__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.card-detail__share-note{margin:.5rem 0 0;font-size:.78rem;line-height:1.4;color:var(--text-muted)}.card--preview-source{outline:2px solid var(--accent);outline-offset:3px;transform:scale(1.04);z-index:1;position:relative}.leaderboards-header{margin-bottom:1.5rem}.leaderboards-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.leaderboards-summary__card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.leaderboards-summary__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.leaderboards-summary__value{font-size:1.5rem;font-weight:700}.leaderboards-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.leaderboards-panel__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.leaderboards-name{display:flex;align-items:center;gap:.5rem}.leaderboards-name__label{font-size:.8rem;color:var(--text-muted)}.leaderboards-name__input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.85rem;padding:.4rem .6rem}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.leaderboard-table th,.leaderboard-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.leaderboard-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.leaderboard-table__row--you{background:#ffffff0d}.leaderboard-table__you-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--accent);margin-left:.35rem}.custom-lb-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.custom-lb-empty{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.custom-lb-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.85rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;transition:border-color var(--transition)}.custom-lb-card:hover{border-color:var(--border-light)}.custom-lb-card__name{font-weight:600}.custom-lb-card__meta{font-size:.8rem;color:var(--text-muted)}.join-lb__label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.join-lb__row{display:flex;gap:.5rem}.join-lb__input{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);padding:.6rem .75rem}.join-lb__hint{font-size:.8rem;color:#e87b6b;margin-top:.5rem}.invite-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.invite-panel__hint{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.invite-panel__code{font-size:1.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:1rem}.invite-panel__link-row{display:flex;gap:.5rem}.invite-panel__link{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font);font-size:.8rem;padding:.6rem .75rem}.leaderboards-panel--demo{border-style:dashed}@media(max-width:768px){.app{padding:1.25rem 1rem 3.5rem}.team-builder__layout{grid-template-columns:1fr}.contest-grid:not(.contest-grid--quad):not(.contest-grid--single){grid-template-columns:1fr}.contest-grid--single{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}.contest-grid--quad{gap:.85rem}.card--md{width:120px}.card-detail__layout,.leaderboards-summary{grid-template-columns:1fr}.pack-cards{flex-wrap:wrap;gap:.65rem}.pack-cards .card--md{width:110px}}.collection-grid__cards{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;width:100%;max-width:900px;margin:0 auto}.collection-grid{width:100%;margin-top:2rem}.deck-builder{width:100%;max-width:1100px;margin:0 auto}.deck-builder__hint{text-align:center;color:var(--text-muted);font-weight:700;margin:0 0 1rem}.deck-builder__actions{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.25rem}.deck-builder__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.25rem;align-items:start}.deck-builder__heading{margin:0 0 .75rem;font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.deck-builder__heading span{color:var(--text-muted);font-weight:700}.deck-builder__deck,.deck-builder__collection{border:4px solid var(--border);background:var(--bg-elevated);padding:1rem;box-shadow:var(--shadow)}.deck-builder__slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.deck-builder__slot{display:flex;align-items:center;justify-content:center;min-height:148px;padding:.35rem;border:3px dashed color-mix(in srgb,var(--border) 35%,transparent);background:var(--bg-card);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.deck-builder__slot--dragover{border-color:var(--accent);border-style:solid;background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.deck-builder__slot-empty{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.deck-builder__collection-mask{position:relative;max-height:min(72vh,640px);overflow:hidden;border:3px solid var(--border);background:var(--bg-card)}.deck-builder__collection-mask:before,.deck-builder__collection-mask:after{content:"";position:sticky;left:0;right:0;display:block;height:1.25rem;pointer-events:none;z-index:2}.deck-builder__collection-mask:before{top:0;background:linear-gradient(var(--bg-card),transparent)}.deck-builder__collection-mask:after{bottom:0;margin-top:-1.25rem;background:linear-gradient(transparent,var(--bg-card))}.deck-builder__collection-scroll{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;align-content:flex-start;max-height:min(72vh,640px);overflow-y:auto;padding:.75rem;scrollbar-width:thin}.deck-builder__collection-empty{margin:0;padding:2rem 1rem;text-align:center;color:var(--text-muted);font-weight:700}@media(max-width:900px){.deck-builder__layout{grid-template-columns:1fr}.deck-builder__slots{grid-template-columns:repeat(3,minmax(0,1fr))}}.duel-page{width:100%;height:calc(100dvh - 1.1rem);max-height:calc(100dvh - 1.1rem);display:flex;flex-direction:column;overflow:hidden;gap:.45rem}.duel-page>.breadcrumb{flex:0 0 auto;margin:0 auto .35rem;max-width:min(100%,26rem);position:relative;top:auto;z-index:60}.duel-arena-wrap{width:100%;max-width:1100px;margin:0 auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.duel-arena-wrap>#duel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.duel-layout{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.55rem;--duel-side-width: 7.25rem}.duel-arena{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.4rem;padding:.55rem;border:4px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:auto}.duel-enemy-row{display:grid;grid-template-columns:var(--duel-side-width) minmax(0,1fr) var(--duel-side-width);gap:.55rem;align-items:center}.duel-arena__enemy-hand{grid-column:2;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;align-items:flex-end;min-height:4.5rem;padding:.25rem}.duel-board__play{flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:.4rem}.duel-rail__hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.45rem .4rem;border:3px solid var(--border);background:var(--bg-elevated);color:var(--text);font-weight:900;text-transform:uppercase;box-shadow:var(--shadow);width:var(--duel-side-width);box-sizing:border-box}.duel-rail__hero--enemy{grid-column:3;justify-self:stretch;width:100%;background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.duel-rail__hero--player{width:100%;background:color-mix(in srgb,var(--accent-alt) 10%,var(--bg-elevated))}.duel-deck{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.65rem .35rem .7rem;border:3px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);width:100%;flex:1 1 auto;min-height:8.5rem}.duel-deck__stack{position:relative;width:3.1rem;height:4.25rem}.duel-deck__card{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--border);background:var(--accent);box-shadow:2px 2px 0 var(--shadow-color)}.duel-deck__card:nth-child(1){transform:translate(0)}.duel-deck__card:nth-child(2){transform:translate(3px,-3px)}.duel-deck__card:nth-child(3){transform:translate(6px,-6px)}.duel-deck__card--empty,.duel-deck--empty .duel-deck__card{background:transparent;border-style:dashed;box-shadow:none}.duel-deck__count{font-family:var(--font-display);font-size:1.35rem;line-height:1;color:var(--text)}.duel-arena__enemy-hand .card--sm{width:72px}.duel-arena__player-hand--locked .card--disabled{pointer-events:auto}.duel-arena__player-hand--locked .card[draggable=true]{pointer-events:none}.duel-unit--locked{opacity:.55;filter:grayscale(.25)}.duel-unit--locked.duel-unit--draggable{cursor:not-allowed}.duel-arena__field--locked{pointer-events:none}.duel-arena__field--full{cursor:not-allowed;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--text-dim) 50%,var(--border))}.duel-arena__player-hand{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;align-items:stretch;justify-content:center;width:100%;min-height:0;padding:.35rem;border:3px dashed color-mix(in srgb,var(--border) 55%,transparent);background:color-mix(in srgb,var(--bg-card) 70%,transparent)}.duel-hand-slot{min-height:7.25rem;border:3px dashed color-mix(in srgb,var(--border) 40%,transparent);background:repeating-linear-gradient(-45deg,transparent,transparent 5px,color-mix(in srgb,var(--border) 8%,transparent) 5px,color-mix(in srgb,var(--border) 8%,transparent) 6px);display:flex;align-items:stretch;justify-content:center}.duel-hand-slot--filled{border-style:solid;border-color:transparent;background:transparent}.duel-hand-slot .card{width:100%;max-width:118px}.duel-hand-panel{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.3rem}.duel-hand-hint{width:100%;text-align:center;font-size:.68rem;font-weight:700;color:var(--text-muted);margin:0;line-height:1.2}.duel-arena__hero{display:none}.duel-hero--hit{animation:heroHit .5s ease}@keyframes heroPulse{0%,to{outline-color:var(--accent)}50%{outline-color:var(--accent-strong)}}@keyframes heroHit{0%,to{transform:translate(0) scale(1)}20%{transform:translate(-14px) scale(.96) rotate(-3deg);background:var(--danger)}45%{transform:translate(12px) scale(1.04) rotate(2deg)}70%{transform:translate(-8px) scale(.98) rotate(-1deg)}}.duel-hero__label{font-size:.68rem;letter-spacing:.06em}.duel-hero__hp{font-size:1.25rem;color:var(--success);line-height:1}.duel-hero__mana{position:relative;display:inline-flex}.duel-hero__mana .duel-hero__stat{position:static;width:1.85rem;height:1.85rem}.duel-arena__field{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;align-content:center;min-height:clamp(7.5rem,14dvh,12rem);padding:.55rem;border:4px solid var(--border);background:var(--bg-card);box-shadow:inset 0 0 0 2px var(--accent-alt);transition:box-shadow .15s ease,background .15s ease}.duel-arena__field--enemy{box-shadow:inset 0 0 0 2px var(--accent)}.duel-arena__field--face-target{cursor:pointer;outline:3px dashed var(--accent);animation:heroPulse .8s ease infinite}.duel-arena__field--face-target.duel-unit--drop-target,.duel-arena__field--face-target.duel-field--dragover{background:color-mix(in srgb,var(--accent) 18%,var(--bg-card));box-shadow:inset 0 0 0 4px var(--accent),0 0 24px color-mix(in srgb,var(--accent) 35%,transparent)}.duel-field--dragover{background:color-mix(in srgb,var(--accent-alt) 16%,var(--bg-card));box-shadow:inset 0 0 0 4px var(--accent),0 0 24px color-mix(in srgb,var(--accent) 35%,transparent)}.duel-field--summon-flash{animation:summonFlash .5s ease}@keyframes summonFlash{0%{box-shadow:inset 0 0 0 4px var(--accent-alt),0 0 40px var(--accent-alt)}to{box-shadow:inset 0 0 0 2px var(--accent-alt)}}.duel-arena__center{position:relative;z-index:6;display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;justify-self:center;align-self:center;gap:.4rem .5rem;min-height:2.35rem;margin:.15rem 0;padding:.5rem .85rem;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);font-weight:900;text-transform:uppercase;letter-spacing:.06em;line-height:1.15;white-space:nowrap;box-sizing:border-box;pointer-events:none}.duel-arena__turn{font-size:.85rem;color:var(--accent-alt)}.duel-arena__phase{font-size:.75rem;color:var(--text)}.duel-arena__phase:before{content:"·";margin-right:.45rem;color:var(--text-dim)}.duel-unit{position:relative;display:flex;flex-direction:column;align-items:center;width:100px;padding:0;border:3px solid var(--border);background:var(--bg-card);color:var(--text);font-family:var(--font);font-weight:800;cursor:pointer;box-shadow:4px 4px 0 var(--shadow-color);overflow:hidden;transition:transform .15s ease}.duel-unit__img{width:100%;height:72px;object-fit:cover;display:block}.duel-unit__name{width:100%;padding:.2rem .25rem;font-size:.55rem;text-transform:uppercase;letter-spacing:.04em;background:#000;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-unit__passive{display:block;width:100%;min-height:.95rem;padding:.1rem .2rem .2rem;font-size:.48rem;font-weight:700;letter-spacing:.03em;line-height:1.15;text-transform:uppercase;text-align:center;background:#111;color:color-mix(in srgb,var(--accent) 80%,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-unit__passive--empty{visibility:hidden;background:transparent}.duel-unit:not(.duel-unit--has-passive) .duel-unit__name{border-bottom:none}.duel-unit--warded{opacity:.7;outline:2px dashed color-mix(in srgb,var(--accent-alt) 70%,transparent);outline-offset:1px}.duel-unit--enemy{background:#ffb3c7}.duel-unit--player{background:#b8fff0}.duel-unit--selected{outline:4px solid var(--accent);outline-offset:2px;transform:translate(-2px,-2px) scale(1.05);box-shadow:6px 6px 0 var(--shadow-color)}.duel-unit--exhausted{opacity:.55;filter:grayscale(.35)}.duel-unit--draggable{cursor:grab}.duel-unit--draggable:active{cursor:grabbing}.duel-unit--dragging{opacity:.55}.duel-unit--drop-target{outline:4px dashed var(--accent);outline-offset:3px;transform:translateY(-2px)}.duel-unit--combat-lunge{animation:duelUnitLunge .45s cubic-bezier(.34,1.2,.64,1);z-index:10}.duel-unit--combat-hit{animation:duelUnitHit .45s ease}.duel-unit--combat-hidden{visibility:hidden!important;pointer-events:none!important}.duel-combat-blur{position:fixed;top:0;right:0;bottom:0;left:0;z-index:640;pointer-events:none;background:color-mix(in srgb,var(--bg) 35%,transparent);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);opacity:0;transition:opacity .35s ease,backdrop-filter .45s ease,-webkit-backdrop-filter .45s ease}.duel-combat-blur--on{opacity:1;backdrop-filter:blur(7px) saturate(.85);-webkit-backdrop-filter:blur(7px) saturate(.85)}.duel-combat-blur--out{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}.duel-combat-card{position:fixed;z-index:660;margin:0;box-sizing:border-box;pointer-events:none;transform-origin:center center;will-change:transform;backface-visibility:hidden;box-shadow:8px 8px 0 var(--shadow-color)}.duel-combat-card--staged{box-shadow:10px 10px 0 var(--shadow-color)}.duel-combat-card--impact{filter:brightness(1.35) contrast(1.06);box-shadow:12px 12px 0 var(--shadow-color),0 0 0 3px var(--accent)}.duel-combat-card--eliminated{animation:duelCombatEliminate .65s cubic-bezier(.4,.05,.6,1) forwards}.duel-combat-card--gone{opacity:0;pointer-events:none}@keyframes duelCombatEliminate{0%{opacity:1;filter:brightness(1.22)}35%{opacity:1;filter:brightness(1.4)}to{opacity:0;filter:brightness(.55) grayscale(.55)}}.duel-layout--locked .duel-arena,.duel-layout--locked .duel-dock{pointer-events:none!important;-webkit-user-select:none;user-select:none}.duel-layout--locked .duel-controls .btn:not(.duel-controls__help){pointer-events:none}.duel-damage-pop{position:absolute;top:-6px;left:50%;transform:translate(-50%);z-index:12;font-size:1rem;font-weight:900;color:var(--danger);text-shadow:2px 2px 0 #000;pointer-events:none;animation:duelDamagePop .65s ease forwards}@keyframes duelUnitLunge{0%{transform:translateY(0) scale(1) rotate(0)}35%{transform:translateY(-36px) scale(1.14) rotate(-4deg)}55%{transform:translateY(-42px) scale(1.18) rotate(3deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes duelUnitHit{0%,to{filter:brightness(1);transform:translate(0) rotate(0)}20%{filter:brightness(1.5);transform:translate(10px) rotate(6deg)}45%{filter:brightness(.85);transform:translate(-12px) rotate(-5deg)}70%{filter:brightness(1.2);transform:translate(6px) rotate(3deg)}}@keyframes duelDamagePop{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.5) rotate(-8deg)}20%{opacity:1;transform:translate(-50%) translateY(-8px) scale(1.25) rotate(4deg)}to{opacity:0;transform:translate(-50%) translateY(-36px) scale(1.05) rotate(-2deg)}}.screen-shake{animation:screenShake .42s ease}.screen-shake--heavy{animation:screenShakeHeavy .5s ease}@keyframes screenShake{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-3px,3px)}80%{transform:translate(4px,-2px)}}@keyframes screenShakeHeavy{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-8px,4px) rotate(-.5deg)}35%{transform:translate(10px,-6px) rotate(.6deg)}55%{transform:translate(-7px,5px) rotate(-.4deg)}75%{transform:translate(6px,-4px) rotate(.3deg)}}.duel-unit--attack-lunge{animation:unitLunge .45s ease;z-index:10}.duel-unit--hit{animation:unitHit .45s ease}@keyframes unitLunge{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-24px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes unitHit{0%,to{transform:translate(0);filter:brightness(1)}30%{transform:translate(-6px);filter:brightness(1.8)}60%{transform:translate(6px);filter:brightness(.7)}}.duel-dock{flex:0 0 auto;position:sticky;bottom:0;z-index:40;display:grid;grid-template-columns:minmax(7.5rem,11rem) minmax(0,1fr) var(--duel-side-width);gap:.55rem;align-items:stretch;padding:.55rem;border:4px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.duel-dock__main{display:flex;flex-direction:column;gap:.45rem;min-width:0}.duel-dock__side{display:flex;flex-direction:column;gap:.4rem;align-items:stretch;width:var(--duel-side-width);min-width:var(--duel-side-width)}.duel-controls{display:flex;flex-direction:row;flex-wrap:nowrap;flex-shrink:0;gap:.4rem;align-items:stretch;justify-content:stretch;min-width:0}.duel-controls .btn{min-width:0}.duel-controls__end{flex:1 1 auto}.duel-controls__help{flex:0 0 auto;width:auto;padding-inline:.7rem;font-size:.85rem}.duel-controls__surrender{flex:0 0 auto;width:auto;padding-inline:.85rem}.duel-fx{position:fixed;z-index:300;pointer-events:none}.duel-fx--summon,.duel-fx--summon-card{margin:0;box-sizing:border-box;transform-origin:center center;will-change:transform;backface-visibility:hidden}.duel-fx--summon{width:80px;height:112px;background:var(--accent-alt);border:3px solid var(--border);box-shadow:4px 4px 0 var(--border)}.duel-fx--summon-card{z-index:300;pointer-events:none;box-shadow:6px 6px 0 var(--shadow-color)}.duel-fx--clash{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--surprise);border:4px solid var(--border);animation:clashBurst .55s ease forwards}.duel-fx--slash{width:160px;height:12px;margin:-6px 0 0 -80px;background:var(--danger);border:3px solid var(--border);transform:rotate(-25deg);animation:slashSwipe .55s ease forwards}@keyframes clashBurst{0%{transform:scale(.1) rotate(0);opacity:1}50%{transform:scale(1.8) rotate(18deg);opacity:.9}to{transform:scale(3.2) rotate(32deg);opacity:0}}@keyframes slashSwipe{0%{transform:rotate(-35deg) scaleX(0);opacity:0}25%{opacity:1}to{transform:rotate(-15deg) scaleX(1.8);opacity:0}}.invite-code{display:inline-block;padding:.25rem .5rem;background:#000;color:var(--accent-alt);border:2px solid var(--accent-alt);font-size:.8rem;word-break:break-all}.card--common{--card-rarity-color: var(--rarity-common);--card-rarity-glow: color-mix(in srgb, var(--rarity-common) 35%, transparent)}.card--common .card__body{background:color-mix(in srgb,var(--card-rarity-color) 8%,var(--bg-card))}.card--rare{--card-rarity-color: var(--rarity-rare);--card-rarity-glow: transparent;border-color:var(--card-rarity-color);border-width:4px;box-shadow:4px 4px 0 var(--card-rarity-color)}.card--rare .card__rarity-badge{color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.45)}.card--rare .card__body{background:color-mix(in srgb,var(--card-rarity-color) 12%,var(--bg-card))}.card--rare .card__portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,transparent 38%,rgba(255,255,255,.24) 50%,transparent 62%);pointer-events:none;z-index:1;animation:rarityShimmer 3.2s ease-in-out infinite}.card--legendary{--card-rarity-color: var(--rarity-legendary);--card-rarity-glow: transparent;border-color:var(--card-rarity-color);border-width:4px;box-shadow:4px 4px 0 var(--shadow-color),8px 8px 0 var(--card-rarity-color)}.card--legendary:before{height:8px}.card--legendary .card__rarity-badge{color:var(--text-on-bright);animation:legendaryBadgePulse 2.4s ease-in-out infinite}.card--legendary .card__body{background:color-mix(in srgb,var(--card-rarity-color) 16%,var(--bg-card))}.card--legendary .card__portrait:after{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--rarity-legendary) 35%,transparent) 60deg,transparent 120deg,color-mix(in srgb,var(--rarity-legendary) 28%,transparent) 200deg,transparent 280deg);animation:legendarySpin 7s linear infinite;pointer-events:none;z-index:1}.card-detail--common{--card-rarity-color: var(--rarity-common)}.card-detail--rare{--card-rarity-color: var(--rarity-rare)}.card-detail--legendary{--card-rarity-color: var(--rarity-legendary)}.card-detail--common .card-detail__tilt-card{border-color:var(--rarity-common)}.card-detail--rare .card-detail__tilt-card{border-color:var(--rarity-rare);box-shadow:8px 8px 0 var(--shadow-color),0 0 24px color-mix(in srgb,var(--rarity-rare) 45%,transparent)}.card-detail--legendary .card-detail__tilt-card{border-color:var(--rarity-legendary);border-width:5px;box-shadow:10px 10px 0 var(--shadow-color),0 0 32px color-mix(in srgb,var(--rarity-legendary) 55%,transparent);animation:legendaryCardPulse 2.4s ease-in-out infinite}.card-detail--rare .card-detail__type-badge{background:var(--rarity-rare);color:#fff;border:2px solid var(--border)}.card-detail--legendary .card-detail__type-badge{background:var(--rarity-legendary);color:var(--text-on-bright);border:2px solid var(--border)}@keyframes rarityShimmer{0%,to{opacity:.35;transform:translate(-8%)}50%{opacity:.85;transform:translate(8%)}}@keyframes legendaryCardPulse{0%,to{box-shadow:4px 4px 0 var(--shadow-color),0 0 18px color-mix(in srgb,var(--rarity-legendary) 45%,transparent),0 0 32px color-mix(in srgb,var(--rarity-legendary) 20%,transparent)}50%{box-shadow:4px 4px 0 var(--shadow-color),0 0 28px color-mix(in srgb,var(--rarity-legendary) 75%,transparent),0 0 48px color-mix(in srgb,var(--rarity-legendary) 35%,transparent)}}@keyframes legendaryBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes legendarySpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.duel-combat-active .duel-arena-wrap,body.duel-combat-active .duel-dock,body.duel-combat-active .breadcrumb{pointer-events:none}.duel-combat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s ease}.duel-combat-overlay--in{opacity:1}.duel-combat-overlay--out{opacity:0}.duel-combat-overlay__dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;transition:opacity .45s ease}.duel-combat-overlay__dim--fade{opacity:0}.duel-combat-overlay--out{pointer-events:none}.duel-combat-stage--return .duel-combat-stage__title,.duel-combat-stage--return .duel-combat-stage__damage{opacity:0;transition:opacity .25s ease}.duel-combat-stage--return .duel-combat-stage__cards{position:relative}.duel-combat-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(720px,92vw);transform:scale(.75);transition:transform .4s cubic-bezier(.34,1.4,.64,1)}.duel-combat-stage--highlight{transform:scale(1)}.duel-combat-stage__title{font-size:1.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-alt);text-shadow:3px 3px 0 #000}.duel-combat-stage__cards{display:flex;align-items:center;justify-content:center;gap:2rem;width:100%}.duel-combat-stage .duel-combat-card{box-shadow:8px 8px 0 var(--shadow-color)}.duel-combat-stage--spread .duel-combat-card--left{transform:translate(-90px) rotate(-8deg) scale(1.05)}.duel-combat-stage--spread .duel-combat-card--right{transform:translate(90px) rotate(8deg) scale(1.05)}.duel-combat-stage--clash .duel-combat-card--left{transform:translate(52px) rotate(4deg) scale(1.12);animation:combatShakeLeft .35s ease}.duel-combat-stage--clash .duel-combat-card--right{transform:translate(-52px) rotate(-4deg) scale(1.12);animation:combatShakeRight .35s ease}.duel-combat-stage--damage .duel-combat-card--left,.duel-combat-stage--damage .duel-combat-card--right{filter:brightness(1.3)}.duel-combat-stage__damage{display:flex;justify-content:space-between;width:min(420px,80vw);margin-top:.5rem}.duel-combat-damage{font-size:2rem;font-weight:900;color:var(--danger);text-shadow:3px 3px 0 #000;animation:damagePop .5s cubic-bezier(.34,1.5,.64,1)}@keyframes combatShakeLeft{0%,to{transform:translate(52px) rotate(4deg) scale(1.12)}25%{transform:translate(68px) rotate(8deg) scale(1.15)}75%{transform:translate(38px) rotate(0) scale(1.08)}}@keyframes combatShakeRight{0%,to{transform:translate(-52px) rotate(-4deg) scale(1.12)}25%{transform:translate(-68px) rotate(-8deg) scale(1.15)}75%{transform:translate(-38px) rotate(0) scale(1.08)}}@keyframes damagePop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.create-card-form__row{display:grid;grid-template-columns:96px 1fr;gap:.75rem;align-items:start}.create-card-preview{width:96px;aspect-ratio:3 / 4;object-fit:cover;border:2px solid var(--border);box-shadow:2px 2px 0 var(--shadow-color);background:var(--surface-inset)}.create-card-preview--empty{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-muted);text-align:center;padding:.35rem}.create-card-form__fields{display:grid;gap:.5rem}.create-card-form__select{width:100%;cursor:pointer}.create-card-form__image-actions{display:flex;gap:.5rem}.image-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000a6}.image-search-overlay[hidden]{display:none}.image-search-panel{width:min(720px,96vw);max-height:min(80vh,720px);overflow:auto;background:var(--bg-elevated);border:3px solid var(--border);box-shadow:6px 6px 0 var(--shadow-color);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.image-search-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.image-search-panel__title{font-size:1.1rem;font-weight:900;color:var(--text)}.image-search-panel__close{width:32px;height:32px;border:2px solid var(--border);background:var(--bg-card);color:var(--text);font-size:1.25rem;cursor:pointer}.image-search-panel__controls{display:flex;gap:.5rem}.image-search-panel__hint{font-size:.85rem;color:var(--text-muted)}.image-search-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.image-search-result{position:relative;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);padding:0;background:var(--bg-elevated);cursor:pointer;overflow:hidden;aspect-ratio:3 / 4;transition:transform var(--transition),box-shadow var(--transition)}.image-search-result img{width:100%;height:100%;object-fit:contain;display:block}.image-search-result__source{position:absolute;left:0;right:0;bottom:0;padding:.2rem .35rem;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#000000b8}.image-search-result:hover{transform:translateY(-2px);box-shadow:3px 3px 0 var(--shadow-color)}.create-card-form__image-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.create-card-form__name{text-transform:uppercase;letter-spacing:.04em}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:var(--shadow)}.duel-controls .btn:disabled{box-shadow:var(--shadow)}.duel-turn-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s ease}.duel-turn-banner--in{opacity:1}.duel-turn-banner--out{opacity:0}.duel-turn-banner__panel{padding:1rem 2rem;border:4px solid var(--border);background:var(--bg);box-shadow:8px 8px 0 var(--border);transform:translate(-120vw) scale(.7) rotate(-8deg);transition:transform .45s cubic-bezier(.34,1.4,.64,1)}.duel-turn-banner--in .duel-turn-banner__panel{transform:translate(0) scale(1) rotate(0)}.duel-turn-banner--out .duel-turn-banner__panel{transform:translate(120vw) scale(.85) rotate(8deg)}.duel-turn-banner__label{font-size:1.75rem;font-weight:900;letter-spacing:.14em;color:var(--border)}.duel-turn-banner--player .duel-turn-banner__panel{background:var(--accent-alt)}.duel-turn-banner--enemy .duel-turn-banner__panel{background:var(--accent)}.duel-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:720;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .35s ease}.duel-intro--in{opacity:1}.duel-intro--out{opacity:0}.duel-intro__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 55%,transparent);opacity:0;transition:opacity .35s ease}.duel-intro--in .duel-intro__backdrop{opacity:1}.duel-intro__panel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.4rem 2.4rem;border:4px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);transform:scale(.55) rotate(-6deg);transition:transform .5s cubic-bezier(.34,1.4,.64,1)}.duel-intro--in .duel-intro__panel{transform:scale(1) rotate(0)}.duel-intro--out .duel-intro__panel{transform:scale(1.08) translateY(-12px) rotate(3deg)}.duel-intro__eyebrow{font-family:var(--font-display);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.duel-intro__title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.1rem);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text);text-align:center;max-width:18rem}.duel-intro__fight{margin-top:.25rem;padding:.35rem .9rem;border:3px solid var(--border);background:var(--accent);color:var(--text-on-bright);font-family:var(--font-display);font-size:1.35rem;letter-spacing:.12em;box-shadow:4px 4px 0 var(--shadow-color);animation:duelIntroFightPulse .7s ease .35s both}@keyframes duelIntroFightPulse{0%{transform:scale(.7);opacity:0}55%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.duel-outcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:750;display:flex;align-items:center;justify-content:center;pointer-events:none}.duel-outcome--in{pointer-events:auto}.duel-outcome__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 78%,#111);opacity:0;transition:opacity .35s ease}.duel-outcome--in .duel-outcome__backdrop{opacity:1}.duel-outcome--out .duel-outcome__backdrop{opacity:0;transition-duration:.35s}.duel-outcome__burst{position:absolute;width:320px;height:320px;border:6px solid var(--border);background:var(--accent-soft);transform:rotate(12deg) scale(.4);transition:transform .55s cubic-bezier(.34,1.4,.64,1)}.duel-outcome__burst--alt{background:var(--accent);width:260px;height:260px;transform:rotate(-20deg) scale(.3);transition-delay:.06s}.duel-outcome--in .duel-outcome__burst{transform:rotate(-8deg) scale(1.15)}.duel-outcome--in .duel-outcome__burst--alt{transform:rotate(14deg) scale(1.05)}.duel-outcome__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;max-width:min(92vw,28rem);padding:0 1rem}.duel-outcome__title{margin:0;font-size:clamp(2.75rem,10vw,4.5rem);font-weight:900;letter-spacing:.1em;line-height:1;opacity:0;filter:blur(4px);transform:scale(1.06) translateY(10px);transition:opacity .45s cubic-bezier(.22,1,.36,1),filter .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.34,1.4,.64,1)}.duel-outcome--in .duel-outcome__title{opacity:1;filter:blur(0);transform:scale(1) translateY(0)}.duel-outcome--player .duel-outcome__title{color:#fff;text-shadow:0 0 28px color-mix(in srgb,var(--accent) 70%,transparent),3px 3px 0 var(--border),-1px -1px 0 var(--border),1px -1px 0 var(--border),-1px 1px 0 var(--border)}.duel-outcome--enemy .duel-outcome__title{color:#fff;text-shadow:0 0 24px color-mix(in srgb,var(--danger) 65%,transparent),3px 3px 0 var(--border),-1px -1px 0 var(--border),1px -1px 0 var(--border),-1px 1px 0 var(--border)}.duel-outcome__subtitle{margin:0;font-size:1rem;font-weight:700;color:var(--text);opacity:0;transform:translateY(8px);transition:opacity .4s ease .12s,transform .4s cubic-bezier(.22,1,.36,1) .12s}.duel-outcome--in .duel-outcome__subtitle{opacity:1;transform:translateY(0)}.duel-outcome__actions{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:min(100%,14rem);margin-top:.5rem}.duel-outcome__continue,.duel-outcome__again{width:100%;min-width:0;opacity:0;transform:translateY(12px) scale(.96);transition:opacity .35s ease .22s,transform .4s cubic-bezier(.34,1.4,.64,1) .22s}.duel-outcome--in .duel-outcome__continue,.duel-outcome--in .duel-outcome__again{opacity:1;transform:translateY(0) scale(1)}.duel-outcome--out .duel-outcome__title,.duel-outcome--out .duel-outcome__subtitle,.duel-outcome--out .duel-outcome__continue,.duel-outcome--out .duel-outcome__again{opacity:0;filter:none;transform:translateY(-6px) scale(.98);transition-duration:.25s;transition-delay:0s}.game-overview__record{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;width:min(100%,28rem);margin:.35rem auto 1.35rem;padding:.85rem .75rem;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.game-overview__record-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0}.game-overview__record-value{font-family:var(--font-display);font-size:clamp(1.25rem,4vw,1.65rem);line-height:1;color:var(--text)}.game-overview__record-label{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}@media(max-width:480px){.game-overview__record{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem .5rem}}.game-overview__actions{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;justify-content:center;margin-top:1.5rem;max-width:560px}.game-overview__action-block{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:180px}.game-overview__action{min-width:180px}.game-overview__action-hint{max-width:11.5rem;font-size:.72rem;font-weight:600;line-height:1.3;text-align:center;color:var(--text-muted)}.game-overview__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;margin-left:.35rem;padding:0 .35rem;background:var(--border);color:var(--bg);font-size:.75rem;font-weight:900;border:2px solid var(--border)}.game-overview__footer{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:3px solid var(--border);width:100%;max-width:520px}.game-overview__demo-nudge{width:100%;max-width:520px;margin-top:2rem;padding:1rem 1.25rem;border:3px solid var(--border);background:var(--accent-soft);box-shadow:4px 4px 0 var(--shadow-color);text-align:center}.game-overview__demo-nudge p{margin:0 0 .85rem;font-weight:600}.game-overview__leave{min-width:200px}[data-theme=dark] .btn--ghost{color:var(--text);background:var(--bg-elevated)}[data-theme=dark] .btn--ghost:hover{background:var(--accent-alt);color:var(--text-on-bright)}[data-theme=dark] .page-header__subtitle,[data-theme=dark] .page-header__hint,[data-theme=dark] .section-title,[data-theme=dark] .breadcrumb__contest,[data-theme=dark] .breadcrumb__back{color:var(--text-muted)}[data-theme=dark] .breadcrumb__back:hover{color:var(--text)}[data-theme=dark] .duel-hand-hint,[data-theme=dark] .duel-arena__phase,[data-theme=dark] .card-detail__contest,[data-theme=dark] .card-detail__song,[data-theme=dark] .card-detail__description,[data-theme=dark] .card-detail__type-hint,[data-theme=dark] .create-card-preview--empty,[data-theme=dark] .game-overview__action-hint{color:var(--text-muted)}[data-theme=dark] .page-footer .btn--ghost{color:var(--text)}.duel-log{min-width:0;margin:0;padding:.35rem .45rem;border:3px solid var(--border);background:var(--bg-card);text-align:left;display:flex;flex-direction:column;min-height:100%}.duel-log__title{margin:0 0 .15rem;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.duel-log__list{margin:0;padding-left:.85rem;font-size:.68rem;color:var(--text-muted);max-height:none;flex:1 1 auto;overflow:auto;line-height:1.25}.duel-log__list li{margin-bottom:.08rem}.page-enter{animation:pageSnapIn .22s cubic-bezier(.2,.85,.2,1) both}@keyframes pageSnapIn{0%{opacity:0;transform:translate(5px,5px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.breadcrumb{border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);padding:.45rem .65rem;margin-bottom:1.25rem}.breadcrumb__tag{font-family:var(--font-display);letter-spacing:.06em}.breadcrumb__back:hover{transform:translate(-1px,-1px)}.game-overview__primary{margin:0 0 1.25rem}.game-overview__action--hero{min-width:min(100%,18rem);padding:1rem 1.75rem;font-size:1rem}.game-overview__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;max-width:36rem;margin:0 auto}.game-overview__action-block{display:contents}.game-overview__action-hint{display:none}.game-overview__footer{margin-top:2rem;padding-top:1.25rem;border-top:3px solid var(--border);width:min(100%,28rem)}.page-footer{margin-top:2.5rem;padding:.75rem 1.05rem;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);width:min(100%,calc(16.1rem + 6px));margin-left:auto;margin-right:auto}.kofi-support__btn:hover{background:var(--accent);color:var(--text-on-bright)}.duel-log{background:var(--bg-elevated)}.site-logo__text{font-family:var(--font-display)}.create-hint{margin:0 0 1rem;max-width:36rem;margin-left:auto;margin-right:auto;font-size:.9rem;color:var(--text-muted);line-height:1.45;text-align:center}.create-hint--status{margin-top:.75rem;color:var(--accent-strong);font-weight:700}.create-hint--ready{color:var(--success, var(--accent-strong))}.create-hint--tip{margin-top:-.35rem;margin-bottom:1rem;font-weight:700;color:var(--text)}.create-card-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;text-align:left;width:100%}.create-card-slot{margin:0;min-width:0}.create-card-slot .slot__dropzone{min-height:0;align-items:stretch;justify-content:stretch}.create-card-slot__remove{padding:.25rem .55rem;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--danger)}.create-card-slot__remove:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.create-card-slot .create-card-form__row{grid-template-columns:72px 1fr;gap:.6rem}.create-card-slot .create-card-preview,.create-card-slot .create-card-preview--empty{width:72px}@media(max-width:768px){.create-card-forms{grid-template-columns:1fr}.create-card-slot .create-card-form__row{grid-template-columns:96px 1fr}.create-card-slot .create-card-preview,.create-card-slot .create-card-preview--empty{width:96px}}.create-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;justify-content:center}.create-card-form__hint{margin:.15rem 0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--accent-strong);text-align:left}.create-field-label{display:block;margin:.15rem 0 0;font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text);text-align:left}.create-req{color:var(--danger);font-weight:900}.create-back-title{margin-top:1.25rem}.create-card-back{text-align:left}.create-card-back__row{align-items:flex-start}.create-card-back__preview{flex:0 0 auto;width:5.5rem;pointer-events:none}.create-card-back__empty{width:5.5rem;min-height:7.2rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.72rem;padding:.35rem}.create-card-back__clear{align-self:flex-start;margin-top:.35rem}.collection-page__body{width:100%;display:flex;flex-direction:column;align-items:center}.collection-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem 1rem;width:min(100%,52rem);justify-items:center;margin-top:.5rem}.collection-page__grid--empty{display:flex;justify-content:center;width:min(100%,52rem)}.collection-page__grid--empty .team-builder__complete{margin:0 auto;max-width:28rem;text-align:left}.collection-grid__item{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%;max-width:160px}.collection-grid__meta{margin:0;font-size:.7rem;font-weight:700;color:var(--text-muted);text-align:center;line-height:1.25}@media(max-width:560px){.collection-page__grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1rem .65rem}}@media(max-width:768px){:root{--app-pad-top: 4.25rem}.app-shell__toolbar{flex-wrap:wrap;row-gap:.4rem;align-items:flex-start}.auth-bar__input{width:8.5rem}.theme-toggle.btn{padding:0 .65rem}.duel-arena-wrap{padding-inline:.25rem}.duel-dock{grid-template-columns:minmax(0,1fr) var(--duel-side-width);grid-template-areas:"main side" "log side"}.duel-dock__main{grid-area:main}.duel-log{grid-area:log;max-height:4.5rem}.duel-dock__side{grid-area:side}.duel-controls .btn{min-width:0}.duel-controls__end{flex:1 1 auto}.duel-controls__help{padding-inline:.55rem;font-size:.78rem}.duel-controls__surrender{flex:0 0 auto}.duel-enemy-row{gap:.4rem}.duel-arena__player-hand{grid-template-columns:repeat(6,minmax(3.4rem,1fr));overflow-x:auto}.duel-hand-slot{min-height:6.4rem}.duel-arena__field{min-height:6.25rem}.duel-hand-hint{display:none}}body.pack-overlay-open{overflow:hidden}body.pack-overlay-open .app-shell__toolbar{z-index:95}body.pack-overlay-open .page--packs>.breadcrumb{visibility:hidden}.viewport-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 22%,var(--bg)) 0%,var(--bg) 55%),var(--bg);overflow:auto}.viewport-gate[hidden]{display:none!important}.viewport-gate__panel{width:min(100%,22rem);padding:1.75rem 1.35rem 1.5rem;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);text-align:center}.viewport-gate .logo-mark--gate{width:3.5rem;height:3.5rem;margin-inline:auto}.viewport-gate__brand{margin:.85rem 0 0;font-family:var(--font-display);font-size:clamp(1.15rem,5.5vw,1.45rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--text)}.viewport-gate__title{margin:1rem 0 .5rem;font-size:clamp(1.6rem,7vw,2rem)}.viewport-gate__copy{margin:0 0 1.25rem;color:var(--text-muted);font-size:.95rem;font-weight:600;line-height:1.45}.viewport-gate__continue{width:100%}body.viewport-gate-open{overflow:hidden}@media(prefers-reduced-motion:reduce){body,.pack-opener__dim{animation:none!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.page-enter{animation:none}}
