@font-face{font-family:League;src:url(/assets/League-D5gmVnCL.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}*{letter-spacing:0;font-family:League,Arial Black,system-ui,-apple-system,Segoe UI,Arial,sans-serif}:root{--bg:#0a0c1a;--bg2:#0f1123;--ink:#fff;--muted:#ffffffb3;--hero:#3b82f6;--villain:#ef4444;--loss:#6b7280;--victory:#10b981;--line:#ffffff1f;--lineHero:#3b82f680;--panel:#ffffff0a;--panelDeep:#0a0c1abf;--r:16px;--shadow:0 14px 28px #00000080;--hero-glow:#3b82f62e;--hero-glow2:#ef44441f;--glow:0 0 14px #3b82f633;--glowHero:0 0 16px #3b82f640}body.theme-hero{--bg:#0a0c1a;--bg2:#0f1123;--hero:#3b82f6;--villain:#ef4444;--loss:#6b7280;--victor:#10b981;--hero-glow:#3b82f633;--hero-glow2:#ef44441a;--glow:0 0 14px #3b82f638;--glowHero:0 0 16px #3b82f647}body.theme-villain{--bg:#1a0a0a;--bg2:#2d0f0f;--hero:#ef4444;--villain:#3b82f6;--loss:#6b7280;--victor:#10b981;--hero-glow:#ef444438;--hero-glow2:#3b82f614;--glow:0 0 14px #ef444440;--glowHero:0 0 16px #ef44444d}body.theme-loss{--bg:#0a0a0a;--bg2:#141414;--hero:#6b7280;--villain:#4b5563;--loss:#3b82f6;--victor:#ef4444;--hero-glow:#6b728026;--hero-glow2:#4b55631a;--glow:0 0 14px #6b728033;--glowHero:0 0 16px #6b728038}body.theme-victory{--bg:#0a1a0f;--bg2:#0f2314;--hero:#10b981;--villain:#ef4444;--loss:#6b7280;--victor:#3b82f6;--hero-glow:#10b98138;--hero-glow2:#ef444414;--glow:0 0 14px #10b98140;--glowHero:0 0 16px #10b9814d}*{box-sizing:border-box}html,body{height:100%}body{color:var(--ink);background:radial-gradient(900px 420px at 20% 10%, var(--hero-glow), transparent 60%), radial-gradient(700px 360px at 85% 18%, var(--hero-glow2), transparent 58%), radial-gradient(640px 420px at 50% 95%, #ffffff08, transparent 62%), linear-gradient(135deg, var(--bg), var(--bg2));background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}p{line-height:1.55}.muted{color:var(--muted)}h1{letter-spacing:2px;text-transform:uppercase;text-shadow:2px 2px #0000004d;background:linear-gradient(135deg, var(--hero), var(--victor));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .55rem;font-size:2rem}h2{letter-spacing:1px;text-transform:uppercase;color:#ffffffeb;text-shadow:0 2px #00000040;border-left:4px solid var(--hero);margin:1rem 0 .5rem;padding-left:12px;font-size:1.1rem}.app{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;width:min(980px,92vw);margin:0 auto;padding:1.1rem 0 2.2rem}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);background:linear-gradient(#0a0c1aa6,#0a0c1ae6);padding:.95rem;font-size:.8rem}.topbar{z-index:1000;background:radial-gradient(520px 120px at 20% 30%, var(--hero-glow), transparent 60%), radial-gradient(520px 120px at 80% 30%, var(--hero-glow2), transparent 60%), #0a0c1af2;border-bottom:3px solid var(--hero);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:.8rem;padding:.72rem 1rem;display:flex;position:relative}.brand-title{letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg, var(--hero), var(--victor));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:900}.brand-sub{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-style:normal}.nav{flex-wrap:wrap;gap:.45rem;display:flex}.nav-link{background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:30px;padding:.42rem .9rem;font-size:.85rem;font-weight:700;transition:all .15s}.nav-link:hover{border-color:var(--hero);box-shadow:var(--glow);background:#3b82f61a}.nav-link.active{border-color:var(--hero);box-shadow:var(--glow);background:#3b82f626}.nav-button{appearance:none;font:inherit}.button,.button-lite,button{border:1px solid var(--hero);color:var(--ink);cursor:pointer;background:linear-gradient(135deg,#3b82f61f,#10b98114);border-radius:30px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #0003}.button:hover,.button-lite:hover{background:linear-gradient(135deg, var(--hero), var(--victor));border-color:#0000;transform:translateY(-1px);box-shadow:0 6px 20px #3b82f64d}.backrow{margin-bottom:.9rem}.backrow a{border:1px solid var(--hero);background:#0006;border-radius:30px;align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:.85rem;display:inline-flex}.panel{border-radius:var(--r);background:radial-gradient(600px 180px at 20% 0%, var(--hero-glow), transparent 62%), radial-gradient(600px 180px at 85% 0%, var(--hero-glow2), transparent 62%), linear-gradient(180deg, #ffffff0d, #ffffff05);border:1px solid #ffffff1a;padding:.95rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff08,0 16px 34px #0006}.panel:before{content:"";border-radius:calc(var(--r) - 8px);pointer-events:none;opacity:.6;border:1px dashed #ffffff14;position:absolute;inset:10px}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:.95rem;display:grid}.card{border-radius:var(--r);box-shadow:var(--shadow);background:radial-gradient(520px 160px at 50% 0,#ffffff0d,#0000 62%),linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff1a;transition:all .2s;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--hero), var(--victor));opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--hero);box-shadow:0 16px 34px #00000080, var(--glowHero);transform:translateY(-2px)}.card:hover:before{opacity:1}.thumb{background:#0000004d;border:1px solid #ffffff1f;border-radius:14px;height:150px;margin:12px;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.card:hover .thumb img{transform:scale(1.03)}.card-body{background:var(--panelDeep);border:1px solid #ffffff14;border-radius:14px;margin:0 12px 12px;padding:.75rem .8rem}.card-title{letter-spacing:.5px;font-size:1rem;font-weight:900}.maps-grid{grid-template-columns:repeat(auto-fit,minmax(200px,220px));justify-content:center;gap:1rem;display:grid}.maps-grid .card{border-radius:16px;height:180px;overflow:hidden}.maps-grid .card img{object-fit:cover;width:100%;height:100%;display:block}.maps-grid .thumb{height:170px;margin:10px}.maps-grid .card-body{margin:0 10px 10px;padding:.65rem .7rem}.maps-grid .card-title{font-size:.9rem}.portrait-create-card{background:radial-gradient(circle at 50% 30%,#3b82f638,#0000 55%),linear-gradient(#ffffff0f,#ffffff05);border:3px dashed #3b82f68c;width:210px;height:300px;display:block;position:relative;overflow:hidden}.portrait-create-inner{color:#ffffffd1;text-shadow:0 10px 30px #00000073;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;font-size:8rem;font-weight:900;display:flex}.portrait-create-card:hover{border-color:var(--victor);background:radial-gradient(circle at 50% 30%,#3b82f64d,#0000 55%),linear-gradient(#ffffff14,#ffffff08)}.portrait-grid{flex-wrap:wrap;align-items:flex-start;gap:1.6rem;margin-top:1rem;display:flex}.portrait-card{border:3px solid var(--hero);width:210px;height:300px;box-shadow:var(--shadow);background:#00000080;transition:all .2s;display:block;overflow:hidden}.portrait-card img{object-fit:cover;-webkit-user-select:none;user-select:none;will-change:transform;width:100%;height:100%;display:block}.portrait-card:hover{box-shadow:0 26px 50px #0000008c, var(--glowHero);border-color:var(--victor);z-index:10;transform:rotate(0)scale(1.06)translateY(-6px)}.portrait-card:first-child{--tilt:-10deg;transform:rotate(-10deg)}.portrait-card:nth-child(2){--tilt:-4deg;transform:rotate(-4deg)}.portrait-card:nth-child(3){--tilt:6deg;transform:rotate(6deg)}.portrait-card:nth-child(4){--tilt:10deg;transform:rotate(10deg)}.portrait-card:nth-child(5){--tilt:-7deg;transform:rotate(-7deg)}.detail{grid-template-columns:1.1fr .9fr;align-items:start;gap:.9rem;display:grid}.artbox{border-radius:var(--r);box-shadow:var(--shadow);background:#0000004d;border:1px solid #ffffff1a;padding:.75rem}.artbox img{border:1px solid #ffffff1f;border-radius:14px;width:100%;display:block}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.2rem;display:grid}.stat{background:#0000004d;border:1px solid #ffffff1a;border-radius:14px;padding:.6rem .65rem}.stat-label{color:#ffffffa6;text-transform:uppercase;letter-spacing:.8px;font-size:.7rem;font-weight:700}.stat-value{margin-top:.15rem;font-size:1.1rem;font-weight:900}.inventory-list{gap:.4rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.inventory-item{background:#0000004d;border:1px solid #ffffff1a;border-radius:14px;padding:.5rem .6rem}.inventory-qty{color:var(--hero);margin-right:.45rem;font-weight:900}.inventory-name{font-weight:700}.inventory-notes{color:#fff9;font-size:.8rem;font-style:italic}.lightbox-thumb{cursor:pointer;background:0 0;border:none;width:100%;padding:0}.lightbox-overlay{z-index:1200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox-panel{border-radius:var(--r);border:1px solid var(--hero);background:#0a0c1af5;width:min(860px,94vw);max-height:88vh;padding:12px;position:relative;overflow:auto;box-shadow:0 26px 60px #0009}.lightbox-close{border:1px solid var(--hero);cursor:pointer;background:#0009;border-radius:30px;padding:.3rem .7rem;position:absolute;top:9px;right:9px}.lightbox-image{border:1px solid #ffffff1a;border-radius:14px;width:100%;display:block}.video{aspect-ratio:16/9;width:100%;margin-top:.7rem}.video iframe{background:#000;border:1px solid #ffffff1a;border-radius:14px;width:100%;height:100%;box-shadow:0 12px 20px #0003}.dice-float,.theme-float{z-index:999;border-radius:var(--r);border:1px solid var(--hero);width:230px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c1af5;position:fixed;bottom:14px;overflow:hidden}.dice-float{left:14px}.theme-float{right:14px}.dice-head,.theme-head{border-bottom:2px solid var(--hero);background:#3b82f61f;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.dice-title,.theme-title{letter-spacing:.5px;font-weight:900}.dice-row{gap:.55rem;padding:.65rem .65rem .2rem;display:flex}.dice-label{color:#fffc;gap:.3rem;width:100%;font-size:.8rem;display:grid}.dice-label select,.dice-label input{color:var(--ink);background:#0006;border:1px solid #ffffff1f;border-radius:12px;padding:.35rem .5rem}.dice-roll-btn,.theme-btn{border:1px solid var(--hero);width:100%;color:var(--ink);cursor:pointer;background:#3b82f61a;border-radius:30px;padding:.45rem .6rem;font-weight:700}.dice-roll-btn:hover,.theme-btn:hover{border-color:var(--hero);background:linear-gradient(135deg, var(--hero), var(--victor));box-shadow:var(--glowHero)}.theme-btn.active{border-color:var(--hero);background:linear-gradient(135deg, var(--hero), var(--victor))}.dice-results{border-top:1px solid #ffffff1a;padding:.65rem}.dice-total{margin-bottom:.45rem;font-size:.9rem;font-weight:700}.dice-list{flex-wrap:wrap;gap:.32rem;display:flex}.dice-chip{border:1px solid var(--hero);background:#3b82f61f;border-radius:30px;min-width:32px;padding:.2rem .45rem;font-weight:900}.theme-body{grid-template-columns:1fr 1fr;gap:.45rem;padding:.6rem;display:grid}.illus-full{width:100vw;margin-left:calc(50% - 50vw)}.illus-page{grid-template-columns:260px minmax(0,1fr);align-items:stretch;min-height:calc(100vh - 72px);display:grid;overflow:hidden}.illus-side{border-right:1px solid var(--hero);background:#0a0c1af5;padding:.75rem;font-size:.8rem;overflow-y:auto}.illus-side-head{border-bottom:2px solid var(--hero);gap:.25rem;margin-bottom:.5rem;padding-bottom:.5rem;display:grid}.illus-side-head h3{color:var(--hero);margin:0;font-size:.85rem;font-weight:900}.illus-block{background:#0000004d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:.65rem;padding:.6rem}.illus-block-title{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem;font-size:.7rem;font-weight:900}.board-switch{gap:.3rem;display:flex}.board-btn{color:var(--ink);cursor:pointer;background:#0006;border:1px solid #ffffff1f;border-radius:30px;flex:1;padding:.35rem .4rem;font-size:.7rem;font-weight:700}.board-btn.active{border-color:var(--hero);background:#3b82f633}.illus-actions{gap:.4rem;margin-top:.5rem;display:grid}.illus-actions button{padding:.35rem .5rem;font-size:.7rem}.swatches{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.swatch{border:2px solid var(--hero);cursor:pointer;border-radius:30px;width:28px;height:28px}.react-colorful{margin-top:.25rem;width:100%!important;height:160px!important}.react-colorful__saturation{border-radius:10px 10px 0 0}.react-colorful__hue{border-radius:0 0 10px 10px;height:14px!important}.color-readout{color:var(--muted);margin-top:.4rem;font-size:.7rem}.illus-canvas-wrap{background:#fff;min-height:calc(100vh - 72px);overflow:hidden}.illus-canvas{touch-action:none;background:#fff;width:100%;height:100%;display:block}@media (width<=980px){.illus-full{width:auto;margin-left:0}.illus-page{grid-template-columns:1fr}.illus-canvas-wrap{min-height:70vh}.illus-side{border-right:none;border-bottom:2px solid var(--hero);padding:.6rem}}@media (width<=900px){.detail{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.theme-float{width:230px;bottom:260px;left:14px}.theme-body{grid-template-columns:1fr}}@media (width<=700px){.maps-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.maps-grid .thumb{height:145px}.portrait-card{width:190px;height:275px}}@media (width<=520px){.dice-float{width:210px}}form input,form textarea{letter-spacing:normal;text-transform:none;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}button{font-family:inherit}.admin-field{gap:.35rem;margin-bottom:.85rem;display:grid}.admin-field input,.admin-field textarea{width:100%}.theme-float,.dice-float,.dice-roller,.theme-switcher{z-index:20}.scene-page{padding:1rem}.scene-layout{grid-template-columns:1fr;gap:1rem;display:grid}.scene-layout.with-drawer{grid-template-columns:1fr 320px}.scene-main{width:100%}.scene-drawer{height:fit-content;position:sticky;top:90px}.scene-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.scene-status-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.scene-pill{background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.scene-pill-live{background:#10b98126;border:1px solid #10b98199}.scene-stage{min-height:70vh;position:relative;overflow:hidden}.scene-map-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;background:#0000004d;width:100%;max-height:80vh;display:block}.scene-token{cursor:default;z-index:5;background:#00000080;border:3px solid #ffffff80;border-radius:999px;width:64px;height:64px;transition:transform .1s;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.scene-token.movable{cursor:grab}.scene-token.active{z-index:3;border:4px solid #ffd778f2;width:70px;height:70px}.scene-token.online{box-shadow:0 0 0 4px #10b98133,0 8px 20px #00000059}.scene-token-image-wrap{border-radius:999px;width:100%;height:100%;overflow:hidden}.scene-token-image{object-fit:cover;pointer-events:none;width:100%;height:100%}.scene-token-presence{border:2px solid #0a0c1a;border-radius:999px;width:14px;height:14px;position:absolute;top:-6px;right:-6px}.scene-token-presence.online{background:#10b981}.scene-token-presence.offline{background:#fff6}.scene-token-roll{z-index:50;color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#28ffaceb;border:1px solid #ffffff29;border-radius:999px;max-width:240px;padding:.35rem .65rem;font-size:.78rem;font-weight:800;line-height:1;animation:3.5s forwards sceneRollFloat;position:absolute;bottom:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 22px #00000059}.scene-stack{flex-direction:column;gap:.6rem;display:flex}.scene-section{margin-top:1rem}.scene-mini-panel{padding:.7rem}.scene-mini-title{font-size:.95rem}.scene-player-row{justify-content:space-between;align-items:center;display:flex}.scene-player-main{flex-direction:column;display:flex}.scene-player-badges{align-items:center;gap:.4rem;display:flex}.scene-online-badge{background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:.2rem .45rem;font-size:.75rem}.scene-online-badge.online{background:#10b98133}.scene-order-badge{background:#ffd77826;border:1px solid #ffd77899;border-radius:999px;padding:.2rem .45rem;font-size:.75rem}.scene-turn-row{justify-content:space-between;align-items:center;display:flex}.scene-turn-main{flex-direction:column;display:flex}.scene-order-input{color:#fff;background:#0006;border:1px solid #fff3;border-radius:6px;width:50px;padding:.2rem}.scene-admin-actions{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}@media (width<=900px){.scene-layout.with-drawer{grid-template-columns:1fr}.scene-drawer{position:relative;top:0}}.scene-turn-card{cursor:grab}.scene-turn-card.dragging{opacity:.55;transform:scale(.98)}.scene-turn-side{align-items:center;gap:.45rem;display:flex}.scene-drag-handle{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:1rem;line-height:1}.scene-token-roll{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#000000d9;border-radius:999px;max-width:220px;padding:.25rem .5rem;font-size:.75rem;animation:3.5s forwards sceneRollFloat;position:absolute;bottom:75px;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes sceneRollFloat{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.95)}15%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}70%{opacity:1;transform:translate(-50%)translateY(-10px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-24px)scale(.98)}}.content.content-scene{width:min(1450px,98vw)}.scene-stage{min-height:82vh;position:relative}.scene-map-image{object-fit:contain;width:100%;max-height:88vh;display:block}.scene-roll-feed{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0a0c1ae0;border:1px solid #ffffff1f;border-radius:18px;width:250px;max-height:320px;position:absolute;top:18px;left:18px;overflow:hidden;box-shadow:0 16px 36px #00000059}.scene-roll-feed-title{letter-spacing:.4px;background:#3b82f61f;border-bottom:1px solid #ffffff14;padding:.65rem .8rem;font-weight:900}.scene-roll-feed-empty{color:var(--muted);padding:.8rem;font-size:.84rem}.scene-roll-feed-list{flex-direction:column;gap:.45rem;padding:.65rem;display:flex}.scene-roll-feed-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:.55rem .65rem;animation:4.2s forwards sceneRollFeedIn}.scene-roll-feed-name{color:#fffffff5;margin-bottom:.2rem;font-size:.78rem;font-weight:900}.scene-roll-feed-text{color:var(--muted);word-break:break-word;font-size:.8rem;line-height:1.3}@keyframes sceneRollFeedIn{0%{opacity:0;transform:translateY(10px)scale(.98)}10%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.98)}}@media (width<=900px){.content.content-scene{width:98vw}.scene-roll-feed{width:100%;max-height:none;margin-bottom:.85rem;position:static}}.scene-roll-feed-total{color:#fff;margin-bottom:.18rem;font-size:.95rem;font-weight:900}.scene-roll-feed-results{color:#ffffffb3;margin-top:.22rem;font-size:.74rem}.scene-roll-feed-item.crit-success{background:#10b9811f;border:1px solid #10b981b3;box-shadow:0 0 18px #10b98173}.scene-roll-feed-item.crit-fail{background:#ef44441f;border:1px solid #ef4444b3;box-shadow:0 0 18px #ef444473}.scene-roll-feed-item.crit-success .scene-roll-feed-total{color:#10b981}.scene-roll-feed-item.crit-fail .scene-roll-feed-total{color:#ef4444}.sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.8rem;display:grid}@media (width<=900px){.sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.sheet-grid{grid-template-columns:1fr}}.admin-field select,.admin-field input[type=file]{width:100%;color:var(--ink);background:#00000059;border:1px solid #ffffff1f;border-radius:12px;padding:.55rem .7rem}
