:root {
    color-scheme: dark;
    --bg: #0b0b0f;
    --panel: rgba(255, 255, 255, 0.03);
    --panel-strong: #111119;
    --text: #eaeaf0;
    --muted: #b3b3c6;
    --border: rgba(255, 255, 255, 0.12);
    --border-strong: rgba(255, 255, 255, 0.16);
    --accent: #9ad1ff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a {
    color: inherit;
}

.site-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    background: rgba(11, 11, 15, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-nav__left,
.site-nav__right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.site-logo {
    font-weight: 800;
    text-decoration: none;
    letter-spacing: 0.02em;
}

.site-nav__links {
    display: flex;
    gap: 12px;
}

.site-nav__links a {
    font-size: 13px;
    opacity: 0.85;
    text-decoration: none;
}

.site-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 20px 60px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    text-decoration: none;
    cursor: pointer;
    font-size: 13px;
}

.btn-primary {
    background: rgba(90, 160, 255, 0.15);
    border-color: rgba(90, 160, 255, 0.4);
}

.btn.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.btn-ghost {
    background: transparent;
}

.input {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
}

.panel {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: var(--panel);
    padding: 16px;
}

.hero {
    display: grid;
    gap: 16px;
    padding: 28px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(135deg, rgba(90, 160, 255, 0.12), rgba(255, 255, 255, 0.03));
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    margin-bottom: 18px;
}

.hero h1 {
    margin: 0;
    font-size: 32px;
}

.hero p {
    margin: 0;
    opacity: 0.85;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.landing-grid {
    margin-top: 28px;
}

.how-it-works {
    margin-top: 20px;
}

.how-steps {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.how-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
}

.how-step h3 {
    margin: 0 0 4px 0;
    font-size: 14px;
}

.list-muted {
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    line-height: 1.6;
}

.notice {
    font-size: 13px;
    color: var(--muted);
}

.badge {
    display: inline-block;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
}

.badge-status {
    border-color: rgba(90, 160, 255, 0.5);
}

.badge-format {
    opacity: 0.85;
}

.deck-header {
    position: sticky;
    top: 56px;
    background: rgba(11, 11, 15, 0.9);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px;
    z-index: 10;
}

.deck-header h1 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
}

.deck-controls,
.deck-form-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.deck-input {
    flex: 1 1 220px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
}

.deck-button {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    cursor: pointer;
}

.deck-status {
    margin-top: 10px;
    font-size: 13px;
    color: #b7e3b7;
}

.deck-create {
    margin-top: 12px;
    display: grid;
    gap: 8px;
}

.deck-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    padding: 16px;
}

.deck-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
}

.deck-title {
    font-weight: 700;
    margin-bottom: 6px;
}

.deck-meta {
    font-size: 12px;
    opacity: 0.85;
    line-height: 1.4;
}

.deck-badge {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
}

.deck-detail {
    min-height: 100vh;
    background: #0b0b0f;
    color: #eaeaf0;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    padding: 16px;
}

.deck-actions {
    margin-top: 16px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    position: sticky;
    top: 60px;
    background: rgba(11, 11, 15, 0.92);
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    z-index: 5;
}

.deck-status {
    margin-top: 8px;
    font-size: 12px;
    opacity: 0.9;
    color: #b7e3b7;
}

.deck-status--error {
    color: #ffb4b4;
}

.deck-status--success {
    color: #b7e3b7;
}

.deck-errors {
    margin: 8px 0 0 0;
    padding-left: 18px;
    line-height: 1.6;
    color: #ffb4b4;
}

.login-root {
    min-height: calc(100vh - 70px);
    display: grid;
    place-items: center;
    padding: 24px;
}

.login-card {
    width: min(420px, 100%);
    padding: 24px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.login-card h1 {
    margin: 0 0 8px 0;
    font-size: 22px;
}

.login-card p {
    margin: 0 0 16px 0;
    opacity: 0.8;
}

.login-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.login-input {
    flex: 1 1 220px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
}

.login-button {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    cursor: pointer;
}

.login-status {
    margin-top: 10px;
    font-size: 13px;
    color: #b7e3b7;
}

.login-links {
    margin-top: 16px;
    font-size: 13px;
}

.login-links a {
    color: var(--accent);
    text-decoration: none;
}

.user-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    opacity: 0.9;
}

.user-badge button {
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    border-radius: 8px;
    padding: 4px 8px;
    cursor: pointer;
}

.dashboard-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.dashboard-card h2 {
    margin: 0 0 8px 0;
    font-size: 16px;
}

.recent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 12px;
}

.recent-list {
    display: grid;
    gap: 8px;
}

.recent-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.recent-main {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.recent-main a {
    text-decoration: none;
    font-weight: 600;
}

.recent-time {
    font-size: 12px;
    color: var(--muted);
    white-space: nowrap;
}
.pve-setup{display:grid;gap:1rem;max-width:760px}.pve-setup label{display:grid;gap:.4rem}.pve-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pve-status{display:flex;justify-content:space-between;margin-bottom:1rem}.pve-zone{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.8rem;min-height:5rem}.pve-card{display:grid;gap:.2rem;width:125px;min-height:70px;padding:.65rem;border:1px solid var(--border,#555);border-radius:8px;background:rgba(255,255,255,.04)}.pve-card small{opacity:.7}.pve-card.is-tapped{transform:rotate(4deg);opacity:.7}.pve-actions{display:flex;flex-wrap:wrap;gap:.6rem}@media(max-width:800px){.pve-board{grid-template-columns:1fr}}
.pve-attacker-picker{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.pve-attacker-picker label{display:flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border:1px solid var(--border,#555);border-radius:8px}
.pve-card{width:170px;min-height:0;padding:.25rem;cursor:pointer;color:var(--text);text-align:center}.pve-card img{display:block;width:100%;height:auto;border-radius:6px}.pve-card span{padding:.25rem;font-weight:700}.pve-card-preview{position:relative;max-width:min(92vw,720px);max-height:94vh;padding:3rem .75rem .75rem;border:1px solid var(--border,#555);border-radius:12px;background:#111218}.pve-card-preview::backdrop{background:rgba(0,0,0,.82)}.pve-card-preview img{display:block;max-width:100%;max-height:86vh;margin:auto}.pve-preview-close{position:absolute;right:.75rem;top:.65rem}@media(max-width:800px){.pve-card{width:145px}}
.pve-card.is-holo,.pve-card.is-reverse-holo{position:relative;overflow:hidden;border-color:#8de8ff;box-shadow:0 0 12px #7ee8ff55}.pve-card.is-holo::after,.pve-card.is-reverse-holo::after{content:"";position:absolute;inset:-45%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,#fff8 45%,#7deaff88 49%,#ef8dff77 54%,transparent 62%);mix-blend-mode:screen;transform:rotate(9deg)}.pve-card.is-full-art{border-color:#ffe08a;box-shadow:0 0 16px #ffd36a66}
.pve-card.is-selected{outline:3px solid #ffd66f;outline-offset:2px;box-shadow:0 0 24px #ffd66f99}
.pve-card.is-play-intent{outline:3px solid #ffd66f;outline-offset:2px;box-shadow:0 0 24px #ffd66f99}.pve-card.is-mana-source{border-color:#7bc6ff;box-shadow:0 0 0 2px #7bc6ff88,0 0 18px #4baeff55}.pve-card.is-target-selected{outline:3px solid #e38cff;outline-offset:2px;box-shadow:0 0 22px #cf65ff88}
.pve-revealed-hand{margin-top:.65rem;padding-top:.5rem;border-top:1px solid #3b3b44}.pve-revealed-hand .pve-zone{margin-top:.4rem}
.pve-priority{position:sticky;top:3.2rem;z-index:20;margin:0 0 .45rem;padding:.55rem 1rem;border:2px solid;border-radius:9px;text-align:center;font-size:1.05rem;font-weight:900;letter-spacing:.055em;box-shadow:0 4px 18px #0008}.pve-priority.is-yours{color:#111;background:#f1ca63;border-color:#fff0a6;animation:pve-priority-pulse 1.8s ease-in-out infinite}.pve-priority.is-opponent{color:#d8dbe6;background:#292c36;border-color:#555b6d}.pve-priority.is-ended{color:#d8dbe6;background:#22242b;border-color:#444957}@keyframes pve-priority-pulse{0%,100%{box-shadow:0 4px 18px #0008,0 0 0 0 #f1ca6355}50%{box-shadow:0 4px 18px #0008,0 0 0 5px #f1ca6318}}@media(prefers-reduced-motion:reduce){.pve-priority.is-yours{animation:none}}
.pve-priority-row{position:sticky;top:3.2rem;z-index:20;display:flex;align-items:stretch;gap:.45rem;margin:0 0 .45rem}.pve-priority-row .pve-priority{position:static;flex:1;margin:0}.pve-priority-row>#pve-end-turn{min-width:7rem;font-weight:800}.pve-priority-row>#pve-end-turn:disabled{opacity:.45;cursor:not-allowed}
.pve-auto-pass{display:flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border:1px solid var(--border,#555);border-radius:8px;background:#15171e;font-size:.78rem;font-weight:800;cursor:pointer}.pve-auto-pass small{display:block;color:#aaa;font-size:.65rem;font-weight:500}.pve-auto-pass:has(input:checked){border-color:#d4b65d;background:#302713;color:#ffe6a0}
.pve-match-reference{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin:-.45rem 0 .4rem;color:var(--muted);font-size:.82rem}.pve-match-reference input{width:22rem;max-width:55vw;padding:.35rem .5rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.pve-match-reference .btn{padding:.35rem .65rem}
.pve-action-log{margin:.5rem 0 0;padding-left:1.4rem;color:var(--muted);font-size:.9rem}.pve-action-log li{margin:.2rem 0}
.pve-setup[hidden],#pve-game[hidden]{display:none!important}
.pve-lan-controls{display:grid;grid-template-columns:1fr auto minmax(120px,.45fr) auto;gap:.55rem;align-items:center}.pve-lan-controls input{min-width:0;padding:.55rem .65rem;border:1px solid var(--border,#555);border-radius:7px;background:#1b1c21;color:var(--text);text-transform:uppercase}@media(max-width:650px){.pve-lan-controls{grid-template-columns:1fr}.pve-lan-controls>span{display:none}}
.pve-status{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:0;padding:.55rem .8rem;border:1px solid var(--border,#555);background:#111218;box-shadow:0 3px 12px rgba(0,0,0,.35)}
.pve-status>strong{text-align:center}.pve-status>span:nth-child(3){text-align:right}.pve-status #pve-result{grid-column:1/-1;text-align:center;color:#9fd4ae}
.pve-table{display:grid;gap:.55rem;margin-top:.55rem}.pve-player-side{display:grid;grid-template-columns:minmax(92px,9vw) minmax(0,1fr) minmax(92px,9vw);gap:.6rem;align-items:stretch}.pve-player-side,.pve-center-lane,.pve-hand-zone,.pve-log{padding:.55rem;border:1px solid var(--border,#555);border-radius:10px;background:rgba(255,255,255,.025)}
.pve-pile-zone{display:flex;min-width:0;flex-direction:column}.pve-pile-zone h3,.pve-hand-zone h2{margin:0 0 .35rem;font-size:.85rem}.pve-pile,.pve-deck-pile{position:relative;display:flex;min-height:132px;flex:1;align-items:center;justify-content:center;border:1px dashed var(--border,#555);border-radius:8px;background:rgba(0,0,0,.16)}.pve-pile>.pve-card{width:min(82px,100%);margin:0}.pve-pile>strong,.pve-deck-pile>strong{position:absolute;right:.3rem;bottom:.2rem;padding:.1rem .35rem;border-radius:999px;background:#111218;font-size:.75rem}.pve-card-back{display:flex;width:72px;aspect-ratio:5/7;align-items:center;justify-content:center;padding:.4rem;border:2px solid #806c3d;border-radius:7px;background:#151820;color:#d5bd79;text-align:center;font-size:.62rem;font-weight:700}
.pve-pile.is-browsable{border-color:#b89a52;box-shadow:inset 0 0 0 1px #b89a5233}.pve-pile.is-browsable:hover{background:#b89a5214}.pve-graveyard-dialog{width:min(94vw,1100px);max-width:none}.pve-graveyard-dialog h2{margin:0}.pve-graveyard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));max-height:72vh;overflow:auto}.pve-graveyard-grid .pve-card{width:100%}
.pve-battlefield{display:grid;grid-template-rows:auto minmax(112px,1fr) auto minmax(112px,1fr);min-width:0}.pve-row-label{display:flex;align-items:center;color:var(--muted);font-size:.78rem;font-weight:700}.pve-permanent-row{flex-wrap:nowrap;align-items:center;min-height:112px;margin:0;padding:.25rem;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(255,255,255,.06)}
.pve-card-stack{--stack-count:1;position:relative;flex:0 0 calc(86px + (var(--stack-count) - 1)*7px);height:126px}.pve-card-stack>.pve-card{position:absolute;left:calc(var(--stack-index)*7px);top:calc(var(--stack-index)*2px);z-index:calc(var(--stack-index) + 1);width:86px;margin:0;padding:.15rem;background:#161820;box-shadow:0 1px 5px rgba(0,0,0,.55)}.pve-card-stack>.pve-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.pve-card-stack>.pve-card span{padding:.1rem;font-size:.68rem}.pve-stack-count{position:absolute;right:0;top:0;z-index:10;padding:.1rem .3rem;border-radius:999px;background:#315d82;color:white;font-size:.68rem;font-weight:700}
.pve-center-lane{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:.75rem;align-items:center;min-height:74px}.pve-center-lane .pve-zone{min-height:42px;margin:.25rem 0 0}.pve-center-lane .pve-card{width:70px}.pve-center-actions{min-width:0}.pve-center-actions .notice{margin:0 0 .35rem}.pve-actions{max-height:160px;overflow:auto}.pve-hand-zone{min-width:0}.pve-hand-zone .pve-zone{flex-wrap:nowrap;justify-content:center;min-height:110px;margin:0;overflow-x:auto}.pve-hand-zone .pve-card{flex:0 0 92px;width:92px;padding:.15rem}.pve-hand-zone .pve-card span{font-size:.7rem}.pve-log{padding:.35rem .65rem}.pve-log summary{cursor:pointer;font-weight:700}
@media(max-width:900px){.pve-status{position:static;grid-template-columns:1fr}.pve-status>strong,.pve-status>span:nth-child(3){text-align:left}.pve-player-side{grid-template-columns:72px minmax(0,1fr) 72px}.pve-center-lane{grid-template-columns:1fr}.pve-card-stack{height:112px}.pve-card-stack>.pve-card{width:76px}.pve-battlefield{grid-template-rows:auto minmax(100px,1fr) auto minmax(100px,1fr)}}
.pve-card-preview{width:min(94vw,1050px);max-width:none}.pve-preview-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(220px,1fr);gap:1rem;align-items:start}.pve-preview-actions{display:flex;flex-direction:column;gap:.65rem;padding:.8rem;border:1px solid var(--border,#555);border-radius:10px;background:rgba(255,255,255,.035)}.pve-preview-actions:empty{display:none}.pve-preview-actions>.btn{width:100%}
.pve-priority-row{padding-right:17rem}.pve-priority-row>#pve-end-turn,.pve-priority-row>#pve-concede{position:fixed;bottom:1rem;z-index:45;min-width:8rem;padding:.8rem 1rem;font-weight:900;box-shadow:0 5px 22px #000b}.pve-priority-row>#pve-end-turn{right:1rem;border-color:#f1ca63;background:#2b2517;color:#ffe8a5}.pve-priority-row>#pve-concede{right:10rem}.pve-priority-row>#pve-end-turn:disabled,.pve-priority-row>#pve-concede:disabled{opacity:.55}
@media(max-width:800px){.pve-preview-layout{grid-template-columns:1fr}.pve-preview-actions{position:sticky;bottom:0}.pve-priority-row{padding-right:0}.pve-priority-row>#pve-end-turn{right:.65rem;bottom:.65rem}.pve-priority-row>#pve-concede{right:9.65rem;bottom:.65rem}}
.pve-player-side{grid-template-columns:62px minmax(0,1fr);gap:.45rem}.pve-pile-zone{align-self:start;text-align:center}.pve-pile-zone h3{font-size:.72rem}.pve-pile{height:104px;min-height:0;flex:none;padding:.2rem}.pve-pile>.pve-card{width:48px;margin:auto;padding:.08rem}.pve-pile>.pve-card span{font-size:.55rem;padding:.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pve-battlefield{width:100%}
@media(max-width:700px){.pve-player-side{grid-template-columns:54px minmax(0,1fr)}.pve-pile{height:92px}.pve-pile>.pve-card{width:42px}}
.pve-inactivity{position:sticky;top:3.2rem;z-index:30;margin:.4rem 0;padding:.55rem .8rem;border:2px solid #e9994a;border-radius:9px;background:#3a2414;color:#ffd7a8;text-align:center;font-weight:900}.pve-chat{padding:.55rem;border:1px solid var(--border,#555);border-radius:10px;background:rgba(255,255,255,.025)}.pve-chat h2{margin:0 0 .35rem;font-size:.9rem}.pve-chat-messages{max-height:120px;overflow:auto;padding:.35rem;border-radius:7px;background:rgba(0,0,0,.18)}.pve-chat-messages p{margin:.2rem 0;overflow-wrap:anywhere}.pve-chat form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.4rem}.pve-chat input{min-width:0}
.feedback-page{max-width:900px;margin:2rem auto}.feedback-form{display:grid;gap:.8rem}.feedback-form label{display:grid;gap:.35rem}.feedback-form textarea{min-height:130px}.feedback-list{display:grid;gap:.7rem}.feedback-item{padding:.75rem;border:1px solid var(--border,#444);border-radius:8px;background:rgba(0,0,0,.14)}.feedback-item p{white-space:pre-wrap}.feedback-item>div{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.feedback-item input{width:82px}
.pve-battlefield{grid-template-rows:auto minmax(146px,1fr) minmax(146px,1fr);row-gap:.65rem}.pve-permanent-row{min-height:146px;padding:.7rem .35rem;align-items:flex-start}.pve-card-stack{height:138px}.pve-card-stack>.pve-card span{display:block;min-height:2.2em;line-height:1.05;white-space:normal}.pve-card-stack.is-type-start{margin-left:.8rem}
@media(max-width:900px){.pve-battlefield{grid-template-rows:auto minmax(136px,1fr) minmax(136px,1fr);row-gap:.5rem}.pve-permanent-row{min-height:136px;padding:.55rem .25rem}.pve-card-stack{height:130px}.pve-card-stack.is-type-start{margin-left:.5rem}}
.pve-result-dialog{width:min(90vw,620px);padding:2.2rem;border:2px solid #777;border-radius:18px;background:#111218;color:var(--text);text-align:center;box-shadow:0 24px 90px #000}.pve-result-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(3px)}.pve-result-dialog h2{margin:.25rem 0 .65rem;font-size:clamp(2.8rem,9vw,5.5rem);letter-spacing:.08em}.pve-result-kicker{font-weight:900;letter-spacing:.22em}.pve-result-dialog.is-victory{border-color:#74d496;box-shadow:0 0 55px #4bc77a44}.pve-result-dialog.is-victory h2,.pve-result-dialog.is-victory .pve-result-kicker{color:#8ce8aa}.pve-result-dialog.is-defeat{border-color:#d66d6d;box-shadow:0 0 55px #d64f4f44}.pve-result-dialog.is-defeat h2,.pve-result-dialog.is-defeat .pve-result-kicker{color:#f08b8b}.pve-result-dialog.is-draw{border-color:#8b91a5}.pve-result-buttons{display:flex;justify-content:center;gap:.7rem;margin-top:1.4rem}.profile-deck-stats{margin-top:1rem}.profile-stats-table{width:100%;border-collapse:collapse}.profile-stats-table th,.profile-stats-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border,#555);text-align:right}.profile-stats-table th:first-child,.profile-stats-table td:first-child{text-align:left}.profile-stats-table th{color:var(--muted)}
.pve-table.has-custom-playmat {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(rgba(8, 9, 12, .38), rgba(8, 9, 12, .5)), var(--player-playmat);
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(216, 185, 105, .58);
  border-radius: 16px;
  padding: 12px;
  box-shadow: inset 0 0 45px rgba(0, 0, 0, .48), 0 8px 30px rgba(0, 0, 0, .3);
}
.pve-table.has-custom-playmat::before{content:"Playmat · " attr(data-playmat-name);position:absolute;right:.7rem;bottom:.55rem;z-index:12;padding:.22rem .55rem;border:1px solid #d8b96977;border-radius:999px;background:#0c0d12cc;color:#ead595;font-size:.68rem;font-weight:800;letter-spacing:.04em;pointer-events:none}
.pve-player-summary{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0}.pve-player-summary>#you-stats{min-width:0}.pve-avatar{--avatar-hair:#56351f;--avatar-outfit:#9b7a42;position:relative;display:inline-grid;flex:0 0 42px;width:42px;height:42px;place-items:center;overflow:hidden;border:2px solid #e3c46f;border-radius:50%;background:radial-gradient(circle at 50% 35%,#313540 0 44%,var(--avatar-outfit) 45% 100%);box-shadow:0 0 0 2px #171820,0 0 14px #d8b96944;font-size:1.7rem;line-height:1}.pve-avatar::after{content:"";position:absolute;left:7px;right:7px;top:2px;height:7px;border-radius:70% 70% 35% 35%;background:var(--avatar-hair);opacity:.92}.pve-avatar[data-hair-style="long"]::after,.pve-avatar[data-hair-style="braids"]::after{left:4px;right:4px;height:15px;border-radius:70% 70% 45% 45%}.pve-avatar[data-hair-style="shaved"]::after{height:3px;opacity:.55}
.pve-life-counter{position:relative;display:grid;flex:0 0 62px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;min-height:48px;padding:.25rem .42rem;border:2px solid #cba64e;border-radius:12px;background:radial-gradient(circle at 50% 20%,#55431e,#17150f 72%);box-shadow:inset 0 0 0 1px #f4d77d44,0 2px 10px #0009;color:#f7dfa0;text-align:center}.pve-life-counter small{grid-column:1/-1;font-size:.55rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.pve-life-counter strong{font-family:Georgia,serif;font-size:1.35rem;line-height:1}.pve-life-counter>span{font-size:.9rem}

html[data-life-counter="obsidian"] .pve-life-counter{border-color:#8f88a5;background:radial-gradient(circle at 50% 20%,#454052,#0d0d12 72%);box-shadow:inset 0 0 0 1px #c8b9e844,0 0 15px #684c9577}html[data-life-counter="obsidian"] #you-life-total{color:#d7c8f2;text-shadow:0 0 10px #8060ad}
html[data-life-counter="prismatic"] .pve-life-counter{border-color:#e5d276;background:linear-gradient(135deg,#20394b,#4d214e 55%,#59491b);box-shadow:inset 0 0 0 1px #fff1a655,0 0 16px #cf82ff66}html[data-life-counter="prismatic"] #you-life-total{color:#fff1a6;text-shadow:1px 0 #62d9ff,-1px 0 #f06cff}
@media(max-width:900px){.pve-player-summary{justify-content:flex-start;flex-wrap:wrap}.pve-avatar{flex-basis:38px;width:38px;height:38px}.pve-life-counter{flex-basis:58px}}
.confirmation-dialog{width:min(92vw,520px);padding:0;border:1px solid #c8a858;border-radius:16px;background:#121319;color:var(--text);box-shadow:0 24px 90px #000}.confirmation-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}.confirmation-dialog form{display:grid;gap:.8rem;padding:1.5rem}.confirmation-dialog h2,.confirmation-dialog p{margin:0}.confirmation-dialog .tutorial-kicker{color:#dabb69;font-size:.72rem;font-weight:900;letter-spacing:.18em}.confirmation-note{padding:.7rem;border:1px solid rgba(218,187,105,.24);border-radius:9px;background:rgba(218,187,105,.07);color:var(--muted)}.confirmation-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:.35rem}.deck-button-danger{border-color:#c96464!important;background:#3a1d22!important;color:#ffd7d7!important}.deck-button-danger:hover{background:#54252c!important}
