@font-face{font-family:Zenter SP Demo Black;src:url(/fonts/ZenterSPDemo-Black.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;font-family:Zenter SP Demo Black,Trebuchet MS,Segoe UI,sans-serif;background:#070a11;color:#eef3ff;--line: rgba(179, 157, 255, .34);--line-strong: rgba(179, 157, 255, .76);--panel: rgba(13, 18, 28, .72);--panel-strong: rgba(16, 22, 34, .9);--text-soft: rgba(231, 235, 255, .74)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100dvh;background:radial-gradient(circle at top,rgba(100,121,255,.1),transparent 30%),linear-gradient(180deg,#0a0e17,#05070c)}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,430px);margin:0 auto;min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));display:grid;gap:16px}.surface{background:linear-gradient(180deg,#141824e0,#090c14eb);border:1px solid var(--line);border-radius:28px;box-shadow:0 22px 44px #00000047,inset 0 1px #ffffff08}.surface-shell{background:#0b0f188f;border:1px solid rgba(185,165,255,.3);border-radius:24px;box-shadow:inset 0 1px #ffffff08}.main-menu{position:relative;overflow:hidden;min-height:80dvh;padding:16px;display:grid;grid-template-rows:auto auto 1fr;gap:18px;isolation:isolate}.video-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.video-stage__glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 24%,rgba(132,112,255,.24),transparent 18%),radial-gradient(circle at 50% 60%,rgba(77,166,255,.12),transparent 28%),linear-gradient(180deg,#ffffff05,#04081033)}.video-stage__label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#e2e6ff24;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem}.menu-topbar,.hero-focus,.menu-actions,.inventory-screen__content{position:relative;z-index:1}.menu-topbar{display:grid;grid-template-columns:84px 1fr 84px;align-items:center;gap:10px}.menu-title{margin:0;text-align:center;font-size:clamp(1.6rem,6vw,2.45rem);line-height:.95;letter-spacing:.06em;color:#f1ebff;text-shadow:0 0 24px rgba(130,106,255,.18)}.top-slot,.menu-button,.menu-panel,.hero-avatar,.hero-nameplate,.player-tag{border:1px solid var(--line-strong);background:#0a0e1857;color:#f2efff}.top-slot{min-height:54px;border-radius:16px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.hero-focus{display:grid;justify-items:center;gap:10px;padding-top:20px}.hero-avatar{width:214px;aspect-ratio:1 / 1;overflow:hidden;border-radius:0;display:grid;place-items:center;font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;border:none;background:transparent;box-shadow:none}.hero-avatar img{width:100%;height:100%;object-fit:contain}.hero-nameplate{min-width:184px;max-width:76%;min-height:32px;padding:7px 16px;border-radius:10px;display:grid;place-items:center;font-weight:700;text-align:center}.player-tag{min-width:122px;min-height:24px;padding:5px 12px;border-radius:8px;display:grid;place-items:center;font-size:.78rem;text-transform:lowercase}.menu-actions{display:grid;align-content:end;gap:14px;padding:6px 0}.menu-button,.menu-panel{width:100%;border-radius:20px;text-align:center}.menu-button{min-height:64px;font-size:1rem;font-weight:700}.menu-button--primary{min-height:68px}.menu-panel{min-height:188px;display:grid;place-items:center;font-size:1rem}.inventory-screen{position:relative;overflow:hidden;min-height:86dvh;padding:14px;isolation:isolate}.inventory-screen__content{display:grid;gap:14px}.inventory-topbar{display:flex;justify-content:flex-start}.inventory-back{width:88px}.inventory-deck,.inventory-catalog,.inventory-shop{padding:12px}.inventory-catalog{padding:10px 8px 8px}.inventory-deck__summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#ecf1ff}.inventory-deck__count{font-size:.56rem;font-weight:700;letter-spacing:.04em}.inventory-deck__status{font-size:.48rem;color:var(--text-soft);text-align:right}.inventory-deck__status--syncing{color:#9bdcff}.inventory-deck__status--saved{color:#9cf4b4}.inventory-deck__status--error{color:#ffabab}.inventory-deck__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.inventory-deck__slot,.inventory-deck__all-slot{min-height:0;border-radius:0;background:transparent;border:none;display:grid;place-items:center;padding:0;overflow:visible}.inventory-toggle,.inventory-tab,.inventory-pager__button{border:1px solid rgba(187,166,255,.24);background:#141927b8;color:#edf0ff}.inventory-toggle{width:100%;min-height:34px;margin-top:10px;border-radius:12px;font-size:.64rem}.inventory-deck__all{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.inventory-deck-modal{width:min(100%,430px);max-height:calc(100dvh - 34px - env(safe-area-inset-bottom));padding:16px 14px 14px;display:grid;gap:14px;overflow:hidden}.inventory-deck-modal__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow-y:auto;padding-right:2px}.inventory-toggle--modal{margin-top:0}.inventory-catalog__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.inventory-tab{min-height:38px;border-radius:14px;font-weight:700;font-size:.64rem}.inventory-tab--active{background:#745cff47;border-color:#c1b5ff6b}.inventory-filter{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.inventory-filter__button,.inventory-filter__option{border:1px solid rgba(187,166,255,.24);background:#141927b8;color:#edf0ff}.inventory-filter__button{min-width:96px;min-height:34px;border-radius:12px;font-weight:700;letter-spacing:.08em;font-size:.58rem}.inventory-filter__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:4;min-width:150px;padding:6px;border-radius:14px;border:1px solid rgba(187,166,255,.24);background:#0a0e18f0;box-shadow:0 12px 24px #0000003d;display:grid;gap:6px}.inventory-filter__option{min-height:34px;border-radius:10px;text-align:left;padding:0 12px;font-size:.56rem}.inventory-filter__current{color:var(--text-soft);font-size:.5rem;text-align:right}.inventory-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:0}.inventory-catalog__empty{min-height:420px;display:grid;place-items:center;text-align:center;color:var(--text-soft)}.inventory-pager{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.58rem}.inventory-pager__button{min-width:72px;min-height:34px;border-radius:12px;font-size:.58rem}.inventory-shop{min-height:220px;display:grid;place-items:center}.inventory-card{width:100%}.inventory-card--interactive{cursor:pointer}.inventory-card__frame{position:relative;width:100%;aspect-ratio:2 / 3;border-radius:16px;overflow:hidden;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3));--mana-x: 12.3%;--mana-y: 11.8%;--attack-x: 12.7%;--attack-y: 87.2%;--hp-x: 87.4%;--hp-y: 87.2%;--slot-size: 14%;--stat-font-size: clamp(.9rem, 2.6vw, 1.3rem)}.inventory-card__art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.inventory-card__stat-slot{position:absolute;width:var(--slot-size);aspect-ratio:1 / 1;display:grid;place-items:center;z-index:2}.inventory-card__stat-slot--mana{left:calc(var(--mana-x) - (var(--slot-size) / 2));top:calc(var(--mana-y) - (var(--slot-size) / 2))}.inventory-card__stat-slot--attack{left:calc(var(--attack-x) - (var(--slot-size) / 2));top:calc(var(--attack-y) - (var(--slot-size) / 2))}.inventory-card__stat-slot--hp{left:calc(var(--hp-x) - (var(--slot-size) / 2));top:calc(var(--hp-y) - (var(--slot-size) / 2))}.inventory-card__stat{font-family:Zenter SP Demo Black,Georgia,Times New Roman,serif;font-size:var(--stat-font-size);font-weight:900;line-height:1;color:#fff1cc;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 4px 10px rgba(0,0,0,.95)}.inventory-card__count-badge,.inventory-card__deck-action,.inventory-card__catalog-action{position:absolute;z-index:3}.inventory-card__count-badge{top:6%;left:50%;transform:translate(-50%);min-width:28%;padding:3px 8px;border-radius:999px;background:#090d15d6;border:1px solid rgba(205,191,255,.44);color:#f3edff;text-align:center;font-size:clamp(.5rem,1.8vw,.74rem);font-weight:800;letter-spacing:.04em}.inventory-card__deck-action,.inventory-card__catalog-action{width:19%;aspect-ratio:1 / 1;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(214,224,255,.34);background:#080c13d6;color:#eff4ff;font-size:clamp(.72rem,2vw,1rem);line-height:1}.inventory-card__deck-action:disabled,.inventory-card__catalog-action:disabled{opacity:.42;cursor:not-allowed}.inventory-card__deck-action--remove{top:4%;right:4%}.inventory-card__catalog-action{left:50%;bottom:5%;transform:translate(-50%);width:22%;background:#3083afe0;border-color:#9ce0ff8a;color:#04111a;font-weight:900}.inventory-card__text-slot{position:absolute;left:12%;right:12%;top:56%;bottom:auto;z-index:2;display:grid;justify-items:stretch}.inventory-card--grid .inventory-card__text-slot,.inventory-card--deck .inventory-card__text-slot{display:none}.inventory-card__description{padding:0;border-radius:0;background:transparent;min-height:18%;font-size:clamp(.42rem,1.35vw,.63rem);line-height:1.18;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.45);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.inventory-card--deck .inventory-card__frame{--slot-size: 14.8%;--stat-font-size: clamp(.9rem, 2vw, 1.24rem)}.inventory-card--deck{width:118%;margin-left:-9%;margin-right:-9%}.inventory-card--deck .inventory-card__count-badge{top:4.5%;min-width:34%;padding:5px 10px;font-size:clamp(.62rem,1.7vw,.88rem)}.inventory-card--deck .inventory-card__deck-action{width:21%;font-size:clamp(.84rem,2vw,1.08rem)}.card-viewer{width:min(100%,430px);max-height:calc(100dvh - 10px - env(safe-area-inset-bottom));padding:0;position:relative;display:grid;place-items:center;align-self:center;background:transparent;border:none;box-shadow:none}.card-viewer__close{position:absolute;top:18px;right:6px;z-index:5;width:42px;height:42px;border-radius:999px;border:1px solid rgba(214,224,255,.34);background:#080c13d6;color:#eff4ff;font-size:1.1rem}.card-viewer__frame{position:relative;width:min(100%,404px);aspect-ratio:2 / 3;border-radius:22px;overflow:hidden;filter:drop-shadow(0 18px 28px rgba(0,0,0,.32));--viewer-mana-x: 13%;--viewer-mana-y: 14%;--viewer-attack-x: 14%;--viewer-attack-y: 90%;--viewer-hp-x: 87%;--viewer-hp-y: 90%;--viewer-slot-size: 23%}.card-viewer__art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.card-viewer__anchor{position:absolute;width:var(--viewer-slot-size);aspect-ratio:1 / 1;display:grid;place-items:center;z-index:2}.card-viewer__anchor--mana{left:calc(var(--viewer-mana-x) - (var(--viewer-slot-size) / 2));top:calc(var(--viewer-mana-y) - (var(--viewer-slot-size) / 2))}.card-viewer__anchor--attack{left:calc(var(--viewer-attack-x) - (var(--viewer-slot-size) / 2));top:calc(var(--viewer-attack-y) - (var(--viewer-slot-size) / 2))}.card-viewer__anchor--hp{left:calc(var(--viewer-hp-x) - (var(--viewer-slot-size) / 2));top:calc(var(--viewer-hp-y) - (var(--viewer-slot-size) / 2))}.card-viewer__stat{font-family:Zenter SP Demo Black,Georgia,Times New Roman,serif;font-size:clamp(4.2rem,11.4vw,6.8rem);font-weight:900;line-height:1;color:#fff1cc;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 5px 12px rgba(0,0,0,.95)}.card-viewer__description,.card-viewer__combat,.card-viewer__name,.card-viewer__race{position:absolute;z-index:2;color:#fff;font-family:Zenter SP Demo Black,Georgia,Times New Roman,serif;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.96),0 0 10px rgba(0,0,0,.52)}.card-viewer__description{left:13%;right:13%;top:60.5%;min-height:14%;font-size:clamp(.8rem,2vw,1rem);line-height:1.18;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.card-viewer__combat{left:11%;right:11%;top:73%;font-size:clamp(.66rem,1.6vw,.86rem);line-height:1.15;letter-spacing:.03em}.card-viewer__name{left:18%;right:18%;top:83.2%;font-size:clamp(1.02rem,2.8vw,1.34rem);font-weight:800;text-transform:uppercase}.card-viewer__race{left:22%;right:22%;top:89.2%;font-size:clamp(.76rem,2vw,.96rem);letter-spacing:.04em}.dev-panel{padding:18px}.section-head{position:relative;display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head__title--centered{position:absolute;left:50%;transform:translate(-50%);width:max-content;display:grid;justify-items:center}.section-head h2{margin:0;letter-spacing:.02em}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#89dcff}.status-pill{padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.status-pill--ok{background:#36ad742e;color:#96ffbf}.status-pill--idle{background:#8497b829;color:#d9e4ff}.field{display:grid;gap:8px}.field span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#d8e4ffb8}.field input{width:100%;padding:14px 16px;border:1px solid rgba(162,190,232,.18);border-radius:14px;background:#06090fb8;color:#f5f8ff}.quick-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 16px}.chip,.primary-button,.secondary-button,.picker-close,.hero-card{padding:4px 2px 8px;border-radius:0;background:transparent;border:none;color:#f1f4ff;text-align:center}.chip{padding:10px 14px;border-radius:14px;background:#4d75a82e;color:#dce9ff}.primary-button{width:100%;padding:15px 18px;border-radius:14px;background:linear-gradient(135deg,#2f8ec6,#5ec2db);color:#061018;font-weight:800}.secondary-button{width:100%;margin-top:10px;padding:13px 18px;border-radius:14px;background:#6272a72e;color:#dce8ff;border:1px solid rgba(157,173,231,.18);font-weight:700}.chip:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed}.error-text{margin:12px 0 0;color:#ff9f9f}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:end center;padding:18px 14px calc(22px + env(safe-area-inset-bottom));background:#05080e94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.picker{width:min(100%,430px);padding:18px;max-height:calc(100dvh - 36px - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden}.picker-close{margin-left:auto;padding:9px 12px;border-radius:12px;background:#616b8e2e;color:#e5ebff}.hero-select-overlay{place-items:start center;padding-top:calc(80px + env(safe-area-inset-top))}.hero-select{width:min(100%,430px);padding:18px;max-height:calc(100dvh - 36px - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;animation:hero-select-drop .22s ease-out}.hero-select__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.hero-select__header .eyebrow{margin-bottom:0}.hero-select__body{padding-top:56px}.hero-select__empty{min-height:360px;display:grid;place-items:center;text-align:center;color:#e5ecffcc;font-size:.88rem;line-height:1.4}.hero-select__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.hero-select-card{width:100%;padding:0;border:none;background:transparent}.hero-select-card__frame{position:relative;display:block;width:100%;aspect-ratio:520 / 780;overflow:hidden;border-radius:20px;border:1px solid rgba(190,171,255,.22);background:linear-gradient(180deg,#ffffff0a,#03060c2e),#080b13db;box-shadow:0 14px 28px #00000047,inset 0 1px #ffffff0d}.hero-select-card__art,.hero-viewer__art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-select-card__art{object-fit:cover}.hero-select-card__anchor,.hero-viewer__anchor{position:absolute;z-index:2;display:flex;align-items:center}.hero-select-card__anchor--name,.hero-viewer__anchor--name{left:10%;right:10%;top:50%;justify-content:center;transform:translateY(-50%)}.hero-select-card__anchor--attack,.hero-viewer__anchor--attack{left:6%;bottom:10%;justify-content:flex-start}.hero-select-card__anchor--hp,.hero-viewer__anchor--hp{right:3%;bottom:10%;justify-content:flex-end}.hero-select-card__name,.hero-viewer__name,.hero-select-card__stat,.hero-viewer__stat{color:#fff1cc;text-align:center;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 4px 10px rgba(0,0,0,.94)}.hero-select-card__name,.hero-viewer__name{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;background:#050910b8;border:1px solid rgba(208,222,255,.18);max-width:100%;width:100%;white-space:nowrap;overflow:hidden}.auto-fit-text__content{display:block;white-space:nowrap;line-height:1}.hero-select-card__stat{font-size:clamp(1.2rem,3vw,1.65rem);line-height:1}.hero-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:31;display:grid;place-items:center;padding:18px 14px calc(22px + env(safe-area-inset-bottom));background:#04070cb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-viewer{position:relative;width:min(100%,430px);padding:14px;animation:hero-select-drop .22s ease-out}.hero-viewer__close{width:100%;min-height:42px;margin-bottom:12px;border-radius:14px;border:1px solid rgba(185,166,255,.22);background:#141927b8;color:#edf0ff}.hero-viewer__frame{position:relative;width:100%;aspect-ratio:520 / 780;overflow:hidden;border-radius:22px;border:1px solid rgba(190,171,255,.22);background:#080b13e6}.hero-viewer__art{object-fit:cover}.hero-viewer__future{position:absolute;top:10%;width:14%;height:28%;border-radius:18px;border:1px dashed rgba(203,217,255,.18);background:#070a102e;z-index:1}.hero-viewer__future--left{left:4%}.hero-viewer__future--right{right:4%}.hero-viewer__name{font-size:.88rem}.hero-viewer__stat{font-size:clamp(2rem,5vw,2.85rem);line-height:1}.hero-viewer__choose{position:absolute;left:50%;bottom:5%;z-index:3;transform:translate(-50%);min-width:42%;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(151,227,255,.34);background:linear-gradient(135deg,#3985a8f0,#49c0d8eb);color:#04111a;font-weight:900}.hero-viewer__choose:disabled{opacity:.6;cursor:not-allowed}.hero-viewer__error{margin:12px 4px 0;color:#ffb5b5;text-align:center;font-size:.84rem}@keyframes hero-select-drop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
