:root{--dos-bg:#0b1020;--dos-bg-2:#111a33;--dos-panel:#10182d;--dos-panel-2:#17233f;--dos-border:#3dd5ff;--dos-border-dim:#1f6f8f;--dos-text:#d9f7ff;--dos-text-h:#fff6c2;--dos-muted:#7eb6c8;--dos-accent:#ffb703;--dos-accent-2:#ff6b2c;--dos-danger:#ff5d73;--dos-ok:#7dff9a;--text:var(--dos-text);--text-h:var(--dos-text-h);--muted:var(--dos-muted);--bg:var(--dos-bg);--panel-bg:var(--dos-panel-2);--border:var(--dos-border-dim);--accent:var(--dos-accent);--accent-bg:#ffb7031f;--accent-border:#ffb70373;--shadow:#00000073 0 16px 40px -12px;--mono:"VT323", "Courier New", monospace;--pixel:"Press Start 2P", var(--mono);--sans:var(--mono);font:22px/1.35 var(--sans);letter-spacing:.02em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:20px}}#root{box-sizing:border-box;text-align:center;width:100%;max-width:1180px;min-height:100svh;margin:0 auto;padding-inline:clamp(16px,4vw,28px)}body{background:radial-gradient(circle at 15% 10%, #3dd5ff1f, transparent 28rem), radial-gradient(circle at 85% 0%, #ff6b2c24, transparent 24rem), linear-gradient(180deg, var(--dos-bg-2), var(--dos-bg));margin:0}body:before{content:"";opacity:.25;pointer-events:none;z-index:-1;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:4px 4px;position:fixed;inset:0}h1,h2,h3{color:var(--text-h);font-family:var(--pixel);text-shadow:0 0 12px #ffb70333;font-weight:400;line-height:1.5}h1{letter-spacing:.04em;margin:10px 0 16px;font-size:clamp(18px,4vw,28px)}h2{margin:0 0 10px;font-size:clamp(14px,2.8vw,18px)}h3{margin:18px 0 8px;font-size:12px}p{margin:0}.app-shell{align-content:start;justify-items:center;gap:24px;min-height:100svh;padding-block:24px 40px;display:grid}.app-shell--staging{padding-top:52px}.staging-banner{box-sizing:border-box;color:#ffc43deb;letter-spacing:.04em;text-align:center;z-index:100;background:#10182df5;border-bottom:1px dashed #ffc43d73;padding:8px 16px;font-size:16px;position:fixed;top:0;left:0;right:0}.app-shell__loading{color:var(--muted)}.retro-screen{background:linear-gradient(180deg, #17233ff5, #10182dfa), var(--dos-panel);border:2px solid var(--dos-border);box-shadow:inset 0 0 0 1px #3dd5ff40, 0 0 0 2px #000, var(--shadow);box-sizing:border-box;text-align:center;gap:18px;width:100%;max-width:980px;margin-inline:auto;padding:28px;display:grid;position:relative}.retro-screen:before{content:"";pointer-events:none;border:1px solid #3dd5ff33;position:absolute;inset:6px}.retro-screen--title{gap:22px;padding-top:18px}.retro-screen--title h1{margin-bottom:8px}.retro-screen--about,.retro-screen--debug{text-align:left}.retro-screen--about{gap:14px;width:100%;max-width:440px;margin-inline:auto}.retro-screen--about .retro-screen__eyebrow,.retro-screen--about h2,.retro-screen--about .retro-screen__actions{text-align:center}.retro-screen--about h2{margin:0;font-size:11px}.about-screen__content{gap:4px;max-height:46vh;padding-right:4px;font-size:16px;line-height:1.3;display:grid;overflow-y:auto}.about-screen__content p{font-size:16px}.about-screen__content h3{margin:8px 0 2px;font-size:9px}.about-screen__content ol,.about-screen__content ul{gap:3px;margin:0;padding-left:18px;display:grid}.about-screen__content li{font-size:15px;line-height:1.25}.title-screen__header{gap:8px;display:grid}.title-screen__loading{color:var(--dos-accent);font-size:18px}.dragon-balls-hero{filter:drop-shadow(0 8px 18px #00000059);width:100%;max-width:420px;margin:0 auto}.dragon-balls-hero svg{width:100%;height:auto;display:block}.dos-menu{justify-items:start;gap:4px;min-width:min(100%,320px);margin:0 auto;display:grid}.dos-menu__item{color:var(--dos-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:18px 1fr;align-items:center;gap:8px;width:100%;padding:6px 8px;display:grid}.dos-menu__item.is-selected,.dos-menu__item:hover:not(:disabled){color:var(--dos-text-h);background:#3dd5ff1f}.dos-menu__item:disabled{cursor:not-allowed;opacity:.5}.dos-menu__cursor{color:var(--dos-accent);font-weight:700}.retro-footer{border-top:1px dashed #3dd5ff40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:14px;display:flex}.retro-footer__lang{color:var(--dos-muted);align-items:center;gap:8px;font-size:18px;display:flex}.retro-footer__lang button,.retro-footer__debug{color:var(--dos-muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:18px}.retro-footer__lang button.is-active,.retro-footer__lang button:hover,.retro-footer__debug:hover{color:var(--dos-accent)}.retro-footer__sep{opacity:.45}.retro-footer__version{color:var(--dos-muted);letter-spacing:.02em;font-size:18px}.debug-panel__header{justify-content:space-between;align-items:center;display:flex}.retro-screen--deck,.retro-screen--battle,.retro-screen--summary{text-align:left}.retro-screen__eyebrow{color:var(--dos-accent);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:14px}.retro-screen__lead{color:var(--muted);margin:0}.retro-screen__form,.retro-screen__actions,.battle-screen__actions,.battle-screen__items,.summary-screen__stats{flex-wrap:wrap;gap:12px;display:flex}.title-screen__form{text-align:left;grid-template-columns:1fr;gap:10px;width:100%;max-width:320px;margin:0 auto;display:grid}.title-screen__difficulty{max-width:240px}.title-screen__difficulty select{padding:8px 10px;font-size:18px}.retro-screen__actions,.battle-screen__actions{justify-content:center;align-items:center}.deck-screen__draft{background:var(--dos-panel-2);border:2px solid var(--border);text-align:left;gap:6px;padding:12px;display:grid}.deck-screen__draft--player{border-color:#5fd4ff}.deck-screen__draft--opponent{border-color:var(--accent-border);color:var(--accent);background:#241018}.deck-screen__tag{border:1px solid var(--accent-border);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#4a1020;justify-self:start;padding:2px 6px;font-size:10px}.deck-screen__card.is-opponent-pick{border-color:var(--accent-border);filter:grayscale(.85);opacity:.55;position:relative}.deck-screen__readiness{background:var(--dos-panel-2);border:2px solid var(--border);text-align:left;gap:10px;margin-top:8px;padding:12px;display:grid}.deck-screen__readiness-title{letter-spacing:.06em;text-transform:uppercase;font-size:14px}.deck-screen__checks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.deck-screen__check{grid-template-columns:1.2em 1fr auto;align-items:center;gap:8px;display:grid}.deck-screen__check-mark{text-align:center;font-weight:700}.deck-screen__check--ok{color:var(--muted)}.deck-screen__check--ok .deck-screen__check-mark{color:#7ddf8b}.deck-screen__check--pending{color:#f4c430}.deck-screen__check--blocked{color:var(--accent)}.deck-screen__check-progress{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.deck-screen__primary-hint{color:#f4c430;margin:0;font-weight:700}.deck-screen__primary-hint--ready{color:#7ddf8b}.deck-screen__group{gap:16px;display:grid}.deck-screen__section-heading{text-align:left}.deck-screen__section-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deck-screen__section-title--ok{color:inherit}.deck-screen__section-title--ok .deck-screen__check-mark{color:#7ddf8b}.deck-screen__section-title--pending{color:#f4c430}.deck-screen__section-title--blocked{color:var(--accent)}.deck-screen__section-subtitle{color:var(--muted);margin:4px 0 0;font-size:14px}.deck-screen__tier{gap:12px;display:grid}.deck-screen__tier-header{justify-content:space-between;align-items:end;gap:12px;display:flex}.deck-screen__tier-header p{color:var(--muted);margin:4px 0 0;font-size:14px}.deck-screen__card img,.deck-screen__item-art{box-sizing:border-box;object-fit:contain;border-radius:12px;width:100%;height:110px;padding:6px;display:block}.battle-screen__item-frame{border:1px solid var(--border);background:#0d1820;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:4px;display:inline-flex;overflow:hidden}.battle-screen__item-art{object-fit:contain;object-position:center;width:auto;max-width:100%;height:100%;max-height:100%;display:block}.deck-screen__grid,.deck-screen__items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.deck-screen__card,.deck-screen__item{background:var(--dos-panel-2);border:2px solid var(--border);color:inherit;cursor:pointer;text-align:left;border-radius:0;gap:6px;padding:12px;display:grid;overflow:hidden}.deck-screen__card.is-selected,.deck-screen__item.is-selected,.button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.deck-screen__card.is-blocked:not(.is-selected),.deck-screen__item:disabled{cursor:not-allowed;opacity:.45}.battle-screen__item{align-items:center;gap:8px;display:inline-flex}.battle-screen__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.battle-screen__warning{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);border-radius:12px;padding:10px 12px;font-weight:700}.battle-screen__preview h3,.deck-screen h3{margin:0}.summary-screen__stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.summary-screen__stats div{background:var(--panel-bg);border-radius:14px;gap:4px;padding:12px;display:grid}.button,input,select{font:inherit;border-radius:0}.button{background:var(--dos-accent);color:#1a1200;cursor:pointer;font-family:var(--pixel);text-transform:uppercase;border:2px solid #000;padding:12px 16px;font-size:10px;line-height:1.6;transition:filter .16s;box-shadow:inset 0 -3px #00000040}.button:hover:not(:disabled){filter:brightness(1.08)}.button:disabled{cursor:not-allowed;opacity:.5}.button--ghost{background:var(--dos-panel-2);border:2px solid var(--dos-border-dim);box-shadow:none;color:var(--dos-text)}.button--large{min-width:220px;padding:14px 20px;font-size:11px}label{color:var(--muted);gap:6px;font-size:20px;display:grid}input,select{border:2px solid var(--dos-border-dim);color:var(--dos-text-h);background:#0a1224;padding:10px 12px}.character-card--preview{min-height:auto}.character-card__evolution{color:#6f38ff;background:#6f38ff1f;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}.hero,.dashboard,.arena{gap:18px;display:grid}.hero{text-align:left;grid-template-columns:1fr minmax(240px,320px);align-items:end}.hero h1{max-width:760px}.hero p{max-width:680px}.hero__controls{gap:12px;display:grid}.language-toggle,.mode-toggle{background:var(--panel-bg);border:1px solid var(--border);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.mode-toggle button,.language-toggle button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:8px 10px;font-size:14px;font-weight:800}.mode-toggle button.is-active,.language-toggle button.is-active{background:var(--accent-bg);color:var(--text-h)}.eyebrow,.section-heading p{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:800}.dashboard{grid-template-columns:repeat(3,1fr)}.deck-zone{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel,.character-card{background:var(--dos-panel-2);border:2px solid var(--dos-border-dim);border-radius:0;box-shadow:inset 0 0 0 1px #3dd5ff1f}.panel{padding:20px}.stat-card{text-align:left;gap:8px;display:grid}.stat-card span,.character-card__label{color:var(--muted);text-transform:uppercase;font-size:14px;font-weight:700}.stat-card strong{color:var(--text-h);font-size:34px;line-height:1}.hp-bar{background:#221829;border-radius:999px;height:12px;overflow:hidden}.hp-bar div{background:linear-gradient(90deg,#ffcd38,#ff6b2c);height:100%;transition:width .2s}.stat-card--pulse{animation:.5s hp-pulse}@keyframes hp-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 0 0 3px #fb560740}}.deck-pile{text-align:left;gap:14px;display:grid}.deck-pile__header{justify-content:space-between;align-items:center;display:flex}.deck-pile__header div{gap:2px;display:grid}.deck-pile__header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}.deck-pile__header strong{color:var(--text-h);font-size:24px}.deck-pile__stack{cursor:pointer;background:0 0;border:0;justify-self:start;width:130px;height:86px;padding:0;position:relative}.deck-pile__stack:disabled{cursor:default}.deck-pile__stack span{background:linear-gradient(135deg, #ffb703f2, #fb5607e6), var(--panel-bg);border:2px solid #ffffff8c;border-radius:14px;width:104px;height:72px;position:absolute;top:10px;left:0;box-shadow:0 8px 18px -10px #00000029}.deck-pile__list{gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.deck-pile__list li{background:var(--panel-bg);border-radius:12px;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:8px 10px;display:grid}.deck-pile__list span{color:var(--muted);font-size:13px;font-weight:800}.arena{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);align-items:stretch}.character-card{place-items:center;gap:10px;min-height:640px;padding:20px;display:grid}.character-card--empty{color:var(--muted);align-content:center}.character-card--revealing{opacity:0;animation:.65s both card-reveal;transform:scale(.92)translateY(12px)}.character-card--revealed{animation:.32s card-settle}.character-card__close-duel{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}@keyframes card-reveal{to{opacity:1;transform:scale(1)translateY(0)}}@keyframes card-settle{0%{transform:translateY(-4px)}to{transform:translateY(0)}}.character-card__image-wrap{background:radial-gradient(circle at 50% 30%,#ffcd3859,#0000 45%),linear-gradient(#ff702b1f,#6f38ff2e);border-radius:20px;justify-content:center;align-items:end;width:100%;height:300px;display:flex;overflow:hidden}.character-card img{object-fit:contain;max-width:88%;max-height:290px}.character-card h2{margin:6px 0 0}.character-card p{color:var(--muted)}.character-card__stats{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:16px;justify-content:space-between;align-items:center;width:min(100%,260px);padding:12px 14px;display:flex}.character-card__stats strong{color:var(--text-h);font-size:24px}.power-breakdown{gap:8px;width:min(100%,280px);margin:0;display:grid}.power-breakdown div{justify-content:space-between;align-items:center;display:flex}.power-breakdown dt{color:var(--muted);font-size:13px;font-weight:700}.power-breakdown dd{color:var(--text-h);margin:0;font-weight:800}.combat-event{background:var(--panel-bg);border:1px solid var(--border);border-radius:16px;gap:4px;width:min(100%,280px);padding:12px;display:grid}.combat-event strong{color:var(--text-h);font-size:14px}.versus-panel{align-content:center;justify-items:center;gap:14px;display:grid}.versus-panel span{color:var(--accent);font-size:52px;font-weight:900;line-height:1}.leaderboard{text-align:left;gap:16px;display:grid}.debug-panel{text-align:left;gap:14px;display:grid}.debug-panel__content{gap:10px;display:grid}.debug-panel textarea{border:2px solid var(--dos-border-dim);color:var(--dos-text-h);resize:vertical;box-sizing:border-box;background:#0a1224;border-radius:0;width:100%;min-height:260px;padding:14px;font:16px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.leaderboard ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.leaderboard li{background:var(--panel-bg);border-radius:14px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:12px 14px;display:grid}.muted,small{color:var(--muted)}.hero__start-actions{gap:10px;display:grid}select{background:var(--panel-bg);border:1px solid var(--border);color:var(--text-h);font:inherit;border-radius:999px;padding:12px 14px}.card-picker,.stance-selector,.deck-builder,.round-history,.tournament-summary,.rules-panel{text-align:left;gap:16px;display:grid}.card-picker__grid,.stance-selector__grid,.deck-builder__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.card-picker__option,.deck-builder__card,.stance-selector__option{background:var(--panel-bg);border:1px solid var(--border);color:inherit;cursor:pointer;text-align:left;border-radius:18px;gap:6px;padding:12px;transition:border-color .16s,transform .16s;display:grid}.card-picker__option:hover:not(:disabled),.deck-builder__card:hover:not(:disabled),.stance-selector__option:hover:not(:disabled){border-color:var(--accent-border);transform:translateY(-2px)}.deck-builder__card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.card-picker__option img,.deck-builder__card img{object-fit:contain;border-radius:12px;width:100%;height:110px}.deck-builder__summary,.deck-builder__actions,.tournament-summary__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stance-selector__transform{justify-self:start}.round-history ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.round-history li{background:var(--panel-bg);border-radius:14px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:12px 14px;display:grid}.round-history__result{text-transform:uppercase;font-size:13px;font-weight:800}.round-history__result--player,.round-history__result--player1{color:#1f8a4c}.round-history__result--opponent,.round-history__result--player2{color:#c0392b}.round-history__result--draw{color:var(--accent)}.tournament-summary__message{font-size:20px;font-weight:700}.tournament-summary__stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.tournament-summary__stats div{background:var(--panel-bg);border-radius:16px;gap:4px;padding:14px;display:grid}.rules-panel__list{text-align:left;gap:8px;margin:0;padding-left:20px;display:grid}@media (width<=900px){.hero,.arena,.dashboard,.deck-zone{grid-template-columns:1fr}.versus-panel{order:-1}.character-card{min-height:auto}}
