:root{--bg:#101810;--panel:#1c2a1f;--panel-2:#243626;--line:#3b5a3f;--text:#eef3e6;--muted:#a9b9a3;--accent:#e0a93a;--accent-text:#241a05;--danger:#c8553d;--ok:#6ec26a}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{position:fixed;inset:0}canvas{touch-action:none;image-rendering:pixelated;display:block}.shell{z-index:10;-webkit-overflow-scrolling:touch;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0;overflow:hidden auto}.shell:empty{display:none}.shell.in-game{pointer-events:none;overflow:hidden}.shell.in-game>*{pointer-events:none}h1{letter-spacing:.02em;color:var(--accent);margin:0 0 4px;font-size:1.9rem}h2{margin:12px 0 8px;font-size:1.35rem}h3{margin:0 0 4px;font-size:1.1rem}p{margin:6px 0}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:#ff9a86;min-height:1.2em}.row{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}input{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f1a11;border-radius:8px;margin:10px 0 0;padding:12px 14px;display:block}input:where(:not(.ui-input)):focus-visible,button:where(:not([class*=ui-],[class*=poh-],[class*=battle-])):focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;border:1px solid var(--line);background:var(--panel-2);min-height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:8px;padding:10px 16px}button:where(:not([class*=ui-],[class*=poh-],[class*=battle-])):hover{background:#2d4530}button.primary:where(:not([class*=ui-],[class*=poh-],[class*=battle-])){background:var(--accent);color:var(--accent-text);border-color:#b98420;font-weight:700}button.primary:where(:not([class*=ui-],[class*=poh-],[class*=battle-])):hover{background:#f0bb52}button.danger:where(:not([class*=ui-],[class*=poh-],[class*=battle-])){border-color:var(--danger);color:#ffb3a3}button[disabled]:where(:not([class*=ui-],[class*=poh-],[class*=battle-])){opacity:.5;cursor:default}.admin-page{color:var(--text);background:var(--bg);padding:16px 20px 40px;position:absolute;inset:0;overflow:auto}.admin-page h1{margin:0 0 4px;font-size:1.5rem}.admin-page h2{color:var(--accent);margin:22px 0 8px;font-size:1.05rem}.admin-page input[type=search]{max-width:360px;margin:8px 0}.admin-status{min-height:1.4em;margin:4px 0 8px}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:7px 10px}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.admin-table .admin-id{color:var(--muted);word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:.74rem}.admin-pager{align-items:center;gap:12px;margin-top:14px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.admin-card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:12px 14px;text-decoration:none;display:block}.admin-card:hover{border-color:var(--accent);background:var(--panel-2)}.admin-card h3{margin:0 0 4px;font-size:.98rem}.admin-card p{margin:0}@media (width<=480px){.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}}:root{--ui:2;--u:calc(var(--ui) * 1px);--ink:#3e1f1d;--ink-2:#583126;--wood:#825c2f;--wood-hi:#88682d;--wood-lo:#70492a;--parch:#e5d6a1;--parch-2:#d4b384;--parch-3:#cda677;--tan:#bf9b72;--cream:#f4e6b8;--white:#fff7dc;--gold:#f2c14e;--gold-lo:#c58a1e;--blue:#35649d;--blue-lo:#272d6c;--green:#50a978;--green-lo:#294040;--red:#b82b28;--hp:#d74427;--hp-hi:#ee7a5c;--mp:#37a0df;--mp-hi:#8ed3f7;--xp:#44a13b;--xp-hi:#97dc7c;--text:var(--ink);--text-muted:#6b4a30;--text-on-dark:var(--white);--shade:#140a0694;--font:"Palatino Linotype", "Book Antiqua", Palatino, "Iowan Old Style", "Noto Serif", Georgia, "Times New Roman", serif;--fs-xs:calc(7px + var(--ui) * 2px);--fs-sm:calc(8px + var(--ui) * 2px);--fs:calc(9px + var(--ui) * 2px);--fs-lg:calc(10px + var(--ui) * 3px);--fs-xl:calc(10px + var(--ui) * 5px);--stroke:calc(var(--ui) * .5px);--outline:var(--stroke) 0 0 var(--ink), calc(var(--stroke) * -1) 0 0 var(--ink), 0 var(--stroke) 0 var(--ink), 0 calc(var(--stroke) * -1) 0 var(--ink), var(--stroke) var(--stroke) 0 var(--ink), calc(var(--stroke) * -1) var(--stroke) 0 var(--ink), 0 calc(var(--stroke) * 2) 0 var(--ink);--img-window:url(/assets/ui/frames/window.png);--img-wood:url(/assets/ui/frames/wood.png);--img-cell:url(/assets/ui/frames/cell.png);--img-rarity-uncommon:url(/assets/ui/frames/rarity-uncommon.png);--img-rarity-rare:url(/assets/ui/frames/rarity-rare.png);--img-rarity-epic:url(/assets/ui/frames/rarity-epic.png);--img-rarity-legendary:url(/assets/ui/frames/rarity-legendary.png);--img-ribbon-blue:url(/assets/ui/ribbons/blue.png);--img-ribbon-red:url(/assets/ui/ribbons/red.png);--img-ribbon-green:url(/assets/ui/ribbons/green.png);--img-crest:url(/assets/ui/ribbons/crest.png);--img-divider:url(/assets/ui/ribbons/divider.png);--img-btn-green-normal:url(/assets/ui/buttons/green-normal.png);--img-btn-green-hover:url(/assets/ui/buttons/green-hover.png);--img-btn-green-pressed:url(/assets/ui/buttons/green-pressed.png);--img-btn-green-disabled:url(/assets/ui/buttons/green-disabled.png);--img-btn-red-normal:url(/assets/ui/buttons/red-normal.png);--img-btn-red-hover:url(/assets/ui/buttons/red-hover.png);--img-btn-red-pressed:url(/assets/ui/buttons/red-pressed.png);--img-btn-red-disabled:url(/assets/ui/buttons/red-disabled.png);--img-btn-tan-normal:url(/assets/ui/buttons/tan-normal.png);--img-btn-tan-hover:url(/assets/ui/buttons/tan-hover.png);--img-btn-tan-pressed:url(/assets/ui/buttons/tan-pressed.png);--img-btn-tan-disabled:url(/assets/ui/buttons/tan-disabled.png);--img-stars-gold:url(/assets/ui/victory/stars-gold.png);--img-stars-grey:url(/assets/ui/victory/stars-grey.png);--img-cross:url(/assets/ui/victory/cross.png)}@media (width>=1200px) and (height>=675px){:root{--ui:3}}@media (width>=1600px) and (height>=900px){:root{--ui:4}}@media (width>=2000px) and (height>=1125px){:root{--ui:5}}.ui-icon{width:calc(var(--u) * 16);height:calc(var(--u) * 16);background:var(--i) center / 100% 100% no-repeat;image-rendering:pixelated;flex:none;display:inline-block}.ui-icon--big{width:calc(var(--u) * 32);height:calc(var(--u) * 32)}.ui-i-coin{--i:url(/assets/ui/icons/coin.png)}.ui-i-coin-big{--i:url(/assets/ui/icons/coin-big.png)}.ui-i-gem{--i:url(/assets/ui/icons/gem.png)}.ui-i-star{--i:url(/assets/ui/icons/star.png)}.ui-i-helmet{--i:url(/assets/ui/icons/helmet.png)}.ui-i-shield-heraldic{--i:url(/assets/ui/icons/shield-heraldic.png)}.ui-i-map{--i:url(/assets/ui/icons/map.png)}.ui-i-class-warrior{--i:url(/assets/ui/icons/class-warrior.png)}.ui-i-class-defender{--i:url(/assets/ui/icons/class-defender.png)}.ui-i-class-paladin{--i:url(/assets/ui/icons/class-paladin.png)}.ui-i-class-hunter{--i:url(/assets/ui/icons/class-hunter.png)}.ui-i-class-assassin{--i:url(/assets/ui/icons/class-assassin.png)}.ui-i-class-healer{--i:url(/assets/ui/icons/class-healer.png)}.ui-i-class-wizard{--i:url(/assets/ui/icons/class-wizard.png)}.ui-i-lock{--i:url(/assets/ui/glyphs/lock-light.png)}.ui-i-gear{--i:url(/assets/ui/glyphs/gear-light.png)}.ui-i-x{--i:url(/assets/ui/glyphs/x-light.png)}.ui-i-up{--i:url(/assets/ui/glyphs/up-light.png)}.ui-i-down{--i:url(/assets/ui/glyphs/down-light.png)}.ui-i-left{--i:url(/assets/ui/glyphs/left-light.png)}.ui-i-info{--i:url(/assets/ui/glyphs/info-light.png)}.ui-i-check{--i:url(/assets/ui/glyphs/check-light.png)}.ui-i-lock-dark{--i:url(/assets/ui/glyphs/lock-dark.png)}.shell,.poh-screen,.battle-ui,.ui-kit{font-family:var(--font);font-size:var(--fs);color:var(--text-on-dark);line-height:1.3}.ui-nine{image-rendering:pixelated}:where(.shell,.poh-screen,.battle-ui,.ui-kit) :focus-visible{outline:calc(var(--u) * 1.5) solid #1746a8;outline-offset:var(--u)}.ui-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-muted{color:var(--text-muted)}.ui-small{font-size:var(--fs-sm)}.ui-strong{font-weight:700}.ui-outline{color:var(--white);text-shadow:var(--outline)}.ui-window{box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:var(--fs);border:calc(var(--u) * 6) solid transparent;border-image:var(--img-window) 6 fill / 1 stretch;image-rendering:pixelated;padding:calc(var(--u) * 2);position:relative}.ui-window h1,.ui-window h2,.ui-window h3,.ui-window h4{font-family:var(--font);color:var(--ink)}.ui-window a{color:#1746a8}.ui-window .ui-ribbon{color:var(--white)}.ui-cell{box-sizing:border-box;color:var(--text);border:calc(var(--u) * 5) solid transparent;border-image:var(--img-cell) 5 fill / 1 stretch;image-rendering:pixelated}.ui-cell--tight{border-width:calc(var(--u) * 4);border-image-slice:4 fill}.ui-wood{box-sizing:border-box;color:var(--white);text-shadow:var(--outline);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated}.ui-ribbon{--rb:var(--img-ribbon-blue);box-sizing:border-box;min-height:calc(var(--u) * 14);padding:0 calc(var(--u) * 2);border:solid #0000;border-width:calc(var(--u) * 3) calc(var(--u) * 10);border-image:var(--rb) 3 10 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);letter-spacing:.04em;white-space:nowrap;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.ui-ribbon--red{--rb:var(--img-ribbon-red)}.ui-ribbon--green{--rb:var(--img-ribbon-green)}.ui-btn{--b-n:var(--img-btn-tan-normal);--b-h:var(--img-btn-tan-hover);--b-p:var(--img-btn-tan-pressed);--b-d:var(--img-btn-tan-disabled);--b-ink:#2a140e;--b-shadow:0 var(--stroke) 0 #fff7dc59;justify-content:center;align-items:center;gap:calc(var(--u) * 2);box-sizing:border-box;cursor:pointer;min-height:calc(var(--u) * 22);min-width:calc(var(--u) * 22);padding:0 calc(var(--u) * 2);border:solid #0000;border-width:calc(var(--u) * 3) calc(var(--u) * 4) calc(var(--u) * 4);border-image:var(--b-n) 3 4 4 fill / 1 stretch;image-rendering:pixelated;font:700 var(--fs) / 1.15 var(--font);letter-spacing:.03em;color:var(--b-ink);text-shadow:var(--b-shadow);text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;margin:0;display:inline-flex}.ui-btn.primary,.ui-btn--primary{--b-n:var(--img-btn-green-normal);--b-h:var(--img-btn-green-hover);--b-p:var(--img-btn-green-pressed);--b-d:var(--img-btn-green-disabled);--b-ink:#0f2a1a}.ui-btn.danger,.ui-btn--danger{--b-n:var(--img-btn-red-normal);--b-h:var(--img-btn-red-hover);--b-p:var(--img-btn-red-pressed);--b-d:var(--img-btn-red-disabled);--b-ink:var(--white);--b-shadow:var(--outline)}@media (hover:hover){.ui-btn:not(:disabled):hover{border-image-source:var(--b-h)}}.ui-btn.is-hover:not(:disabled){border-image-source:var(--b-h)}.ui-btn:not(:disabled):active,.ui-btn.is-pressed{border-image-source:var(--b-p);padding-top:var(--u);padding-bottom:0}.ui-btn:disabled,.ui-btn[aria-disabled=true]{border-image-source:var(--b-d);color:#5a5a5a;text-shadow:none;cursor:default}.ui-btn>.ui-icon{margin:calc(var(--u) * -2) 0}.ui-btn--block{width:100%;display:flex}.ui-btn--small{min-height:calc(var(--u) * 18);font-size:var(--fs-sm)}.ui-iconbtn{box-sizing:border-box;cursor:pointer;width:calc(var(--u) * 24);height:calc(var(--u) * 24);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;min-width:44px;min-height:44px;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);font:700 var(--fs) var(--font);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;flex:none;place-items:center;margin:0;padding:0;display:inline-grid;position:relative}.ui-iconbtn--small{width:calc(var(--u) * 20);height:calc(var(--u) * 20)}@media (hover:hover){.ui-iconbtn:not(:disabled):hover{filter:brightness(1.16)}}.ui-iconbtn:not(:disabled):active{filter:brightness(.84);transform:translateY(var(--u))}.ui-iconbtn:disabled{filter:grayscale()brightness(.8);cursor:default}.ui-iconbtn>.ui-icon{pointer-events:none}.ui-iconbtn[data-badge]:after{content:attr(data-badge);top:calc(var(--u) * -6);right:calc(var(--u) * -6);min-width:calc(var(--u) * 9);padding:0 calc(var(--u) * 1.5);background:var(--gold);color:var(--ink);text-shadow:none;font-size:var(--fs-xs);line-height:calc(var(--u) * 9);text-align:center;border:var(--u) solid var(--ink);clip-path:polygon(var(--u) 0, calc(100% - var(--u)) 0, 100% var(--u), 100% calc(100% - var(--u)), calc(100% - var(--u)) 100%, var(--u) 100%, 0 calc(100% - var(--u)), 0 var(--u));position:absolute}.ui-chip{align-items:center;gap:calc(var(--u) * 1);box-sizing:border-box;height:calc(var(--u) * 16);padding:0 calc(var(--u) * 1) 0 0;border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);font:700 var(--fs) var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.ui-chip>.ui-icon{margin:calc(var(--u) * -6) 0 calc(var(--u) * -6) calc(var(--u) * -6)}.ui-chip-value{min-width:2ch}.ui-bar{--c:var(--hp);--c-hi:var(--hp-hi);--pct:100%;box-sizing:border-box;height:calc(var(--u) * 5);background:var(--ink-2);border:var(--u) solid var(--ink);box-shadow:0 var(--u) 0 #140a0659;position:relative;overflow:hidden}.ui-bar--hp{--c:var(--hp);--c-hi:var(--hp-hi)}.ui-bar--mp{--c:var(--mp);--c-hi:var(--mp-hi)}.ui-bar--xp{--c:var(--xp);--c-hi:var(--xp-hi)}.ui-bar-fill{height:100%;width:var(--pct);background:linear-gradient(to bottom, var(--c-hi) 0 var(--u), var(--c) var(--u) 100%);transition:width .25s steps(8,end);display:block}.ui-bar--thin{height:calc(var(--u) * 4)}.ui-badge{box-sizing:border-box;min-width:calc(var(--u) * 9);height:calc(var(--u) * 9);padding:0 calc(var(--u) * 1.5);background:var(--gold);color:var(--ink);text-shadow:none;font:800 var(--fs-xs) / 1 var(--font);border:var(--u) solid var(--ink);clip-path:polygon(var(--u) 0, calc(100% - var(--u)) 0, 100% var(--u), 100% calc(100% - var(--u)), calc(100% - var(--u)) 100%, var(--u) 100%, 0 calc(100% - var(--u)), 0 var(--u));justify-content:center;align-items:center;display:inline-flex}.ui-badge--blue{background:#6fa0e0}.ui-badge--green{background:#86d66e}.ui-badge--red{background:#ee7a5c}.ui-badge--grey{background:var(--parch-3)}.ui-slot{align-content:center;place-items:center;gap:var(--u);text-align:center;box-sizing:border-box;font:700 var(--fs-xs) var(--font);display:grid}.ui-slot--vacant{color:var(--ink)}.ui-slot--locked{color:var(--text-muted);filter:saturate(.6)brightness(.92)}.ui-plus{width:calc(var(--u) * 10);height:calc(var(--u) * 10);display:inline-block;position:relative}.ui-plus:before,.ui-plus:after{content:"";background:var(--wood-lo);box-shadow:var(--u) var(--u) 0 #fff7dc80;position:absolute}.ui-plus:before{left:calc(var(--u) * 4);width:calc(var(--u) * 2);height:100%;top:0}.ui-plus:after{top:calc(var(--u) * 4);height:calc(var(--u) * 2);width:100%;left:0}.ui-tabs{gap:var(--u);flex-wrap:wrap;align-items:flex-end;display:flex}.ui-tab{box-sizing:border-box;cursor:pointer;min-height:calc(var(--u) * 18);padding:0 calc(var(--u) * 3);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--cream);text-shadow:var(--outline);font:700 var(--fs) var(--font);filter:brightness(.82);background:0 0;margin:0}.ui-tab[aria-selected=true]{filter:none;border-image-source:var(--img-cell);color:var(--ink);text-shadow:0 var(--stroke) 0 #fff7dc80}.ui-toast{z-index:30;max-width:min(92vw, calc(var(--u) * 260));box-sizing:border-box;pointer-events:none;text-align:center;padding:calc(var(--u) * 1) calc(var(--u) * 3);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);font:700 var(--fs) / 1.25 var(--font);opacity:0;transform:translate(-50%, calc(var(--u) * 3));transition:opacity .2s,transform .2s;position:absolute;left:50%}.ui-toast.show{opacity:1;transform:translate(-50%)}.ui-dialog{width:min(92vw, calc(var(--u) * 170));padding:calc(var(--u) * 6) calc(var(--u) * 3) calc(var(--u) * 3);text-align:center}.ui-dialog-actions{gap:calc(var(--u) * 2);margin-top:calc(var(--u) * 4);flex-wrap:wrap;justify-content:center;display:flex}.ui-divider{width:calc(var(--u) * 68);max-width:100%;height:calc(var(--u) * 7);margin:calc(var(--u) * 2) auto;background:var(--img-divider) center / 100% 100% no-repeat;image-rendering:pixelated}.ui-crest{width:calc(var(--u) * 86);height:calc(var(--u) * 18);background:var(--img-crest) center / 100% 100% no-repeat;image-rendering:pixelated;margin:0 auto}.ui-input{box-sizing:border-box;width:100%;min-height:calc(var(--u) * 22);padding:0 calc(var(--u) * 2);border:calc(var(--u) * 5) solid transparent;border-image:var(--img-cell) 5 fill / 1 stretch;image-rendering:pixelated;color:var(--ink);font:700 var(--fs) var(--font);caret-color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border-radius:0;margin:0;display:block}.ui-input::placeholder{color:var(--text-muted);opacity:.85}.ui-scroll{scrollbar-width:thin;scrollbar-color:var(--wood) var(--parch-2);-webkit-overflow-scrolling:touch}.ui-scroll::-webkit-scrollbar{width:calc(var(--u) * 4);height:calc(var(--u) * 4)}.ui-scroll::-webkit-scrollbar-track{background:var(--parch-2)}.ui-scroll::-webkit-scrollbar-thumb{background:var(--wood);border:var(--u) solid var(--ink)}@media (prefers-reduced-motion:reduce){.ui-bar-fill,.ui-toast{transition:none}}.ui-portrait{box-sizing:border-box;width:calc(var(--u) * var(--pw,26));height:calc(var(--u) * var(--ph,28));background-image:var(--sheet), linear-gradient(to bottom, #f4e6b8 0%, #e5d6a1 52%, #cda677 100%);background-repeat:no-repeat,no-repeat;background-size:calc(var(--sw,64) * var(--u)) calc(var(--sh,64) * var(--u)), 100% 100%;background-position:calc((var(--hx,32) - var(--pw,26) / 2) * var(--u) * -1) calc(var(--ty,0) * var(--u) * -1), 0 0;image-rendering:pixelated;box-shadow:inset 0 0 0 var(--u) var(--ink), inset calc(var(--u) * 2) calc(var(--u) * 2) 0 #fff7dc59;flex:none;display:block;position:relative}.hud{pointer-events:none;z-index:3;font-family:var(--font);position:absolute;inset:0}.hud>*{pointer-events:none}.hud .ui-iconbtn,.hud .poh-hero-card{pointer-events:auto}.poh-hud-left{top:max(calc(var(--u) * 4), env(safe-area-inset-top));left:max(calc(var(--u) * 4), env(safe-area-inset-left));align-items:flex-start;gap:calc(var(--u) * 3);max-width:calc(100vw - var(--hud-actions-w,110px) - 24px);flex-direction:column;display:flex;position:absolute}.poh-hud-actions{top:max(calc(var(--u) * 4), env(safe-area-inset-top));right:max(calc(var(--u) * 4), env(safe-area-inset-right));gap:calc(var(--u) * 2);grid-template-columns:repeat(2,auto);display:grid;position:absolute}.poh-location{min-width:0;max-width:100%;font-size:var(--fs);overflow:hidden}.poh-location-region{color:var(--cream);white-space:pre;flex:none;font-weight:600}.poh-location-area{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=480px){.poh-location-region{display:none}}.poh-hud-wallet{align-items:center;gap:calc(var(--u) * 5);padding-left:calc(var(--u) * 5);display:flex}.poh-hud-wallet .status{align-items:center;gap:calc(var(--u) * 1.5);color:var(--white);text-shadow:var(--outline);font:700 var(--fs-xs) var(--font);display:inline-flex}.poh-hud-wallet .dot{width:calc(var(--u) * 4);height:calc(var(--u) * 4);border:var(--u) solid var(--ink);box-sizing:content-box;background:#6ec26a;border-radius:0}.poh-hud-wallet .dot[data-status=dirty],.poh-hud-wallet .dot[data-status=saving]{background:var(--gold)}.poh-hud-wallet .dot[data-status=error],.poh-hud-wallet .dot[data-status=conflict]{background:var(--hp)}@media (width<=480px){.poh-hud-wallet .status #save-status{display:none}}.poh-hero-bar{z-index:3;gap:calc(var(--u) * 2);pointer-events:none;--card-w:34;--card-h:54;display:flex;position:absolute}.poh-hero-bar>*{pointer-events:auto}.poh-hero-card{align-items:center;gap:calc(var(--u) * 2);box-sizing:border-box;width:calc(var(--u) * var(--card-w));height:calc(var(--u) * var(--card-h));cursor:pointer;border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-align:center;font:700 var(--fs-xs) / 1 var(--font);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;flex-direction:column;flex:none;margin:0;padding:0;display:flex;position:relative}@media (hover:hover){.poh-hero-card:hover{filter:brightness(1.12)}}.poh-hero-card:active{transform:translateY(var(--u));filter:brightness(.9)}.poh-hero-card .poh-hero-portrait{--pw:26;--ph:28}.poh-hero-level{left:calc(var(--u) * -3);bottom:calc(var(--u) * -3);z-index:2;position:absolute}.poh-hero-level,.poh-sp-badge,.poh-row-tag{box-sizing:border-box;min-width:calc(var(--u) * 9);height:calc(var(--u) * 9);padding:0 calc(var(--u) * 1);background:var(--gold);color:var(--ink);text-shadow:none;font:800 calc(var(--u) * 4.5) / 1 var(--font);border:var(--u) solid var(--ink);white-space:nowrap;clip-path:polygon(var(--u) 0, calc(100% - var(--u)) 0, 100% var(--u), 100% calc(100% - var(--u)), calc(100% - var(--u)) 100%, var(--u) 100%, 0 calc(100% - var(--u)), 0 var(--u));justify-content:center;align-items:center;display:inline-flex}.poh-row-tag{right:var(--u);bottom:var(--u);min-width:calc(var(--u) * 8);z-index:1;color:var(--white);padding:0;position:absolute}.poh-row-tag.poh-row-front{background:#c8553d}.poh-row-tag.poh-row-back{background:#3b78c4}.poh-sp-badge{top:calc(var(--u) * -6);left:calc(var(--u) * -6);z-index:2;background:#ffd75e;position:absolute}.poh-hero-class-icon{top:calc(var(--u) * -7);right:calc(var(--u) * -7);z-index:2;filter:drop-shadow(0 var(--u) 0 #140a068c);position:absolute}.poh-hero-info{gap:calc(var(--u) * 2);width:calc(var(--u) * 26);flex-direction:column;min-width:0;display:flex}.poh-hero-name-row{min-width:0;display:block}.poh-hero-name{box-sizing:border-box;width:100%;height:calc(var(--u) * 9);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:calc(var(--u) * 7);background:var(--parch-2);color:var(--ink);text-shadow:none;font-weight:800;font-size:calc(var(--u) * 5);letter-spacing:0;border:var(--u) solid var(--ink);border-top-color:var(--parch-3);padding:0;display:block;overflow:hidden}.poh-xpbar{height:calc(var(--u) * 4);display:block}.poh-xpbar-fill{height:100%;display:block}.poh-hero-card.poh-slot-vacant,.poh-hero-card.poh-slot-locked{justify-content:center;gap:calc(var(--u) * 2);color:var(--ink);text-shadow:none;border-width:calc(var(--u) * 5);border-image:var(--img-cell) 5 fill / 1 stretch}.poh-slot-locked{filter:saturate(.6)brightness(.9)}.poh-slot-label{font-weight:800;font-size:var(--fs-xs)}@media (orientation:portrait){.poh-hero-bar{left:50%;bottom:max(calc(var(--u) * 4), env(safe-area-inset-bottom));flex-direction:row;max-width:calc(100vw - 8px);overflow:visible;transform:translate(-50%)}.poh-hud-actions{--hud-actions-w:calc(var(--u) * 52)}}@media (orientation:landscape) and (height<=599px){.poh-hero-bar{left:max(calc(var(--u) * 4), env(safe-area-inset-left));top:max(calc(var(--u) * 4), env(safe-area-inset-top));gap:calc(var(--u) * 2);flex-direction:column}.poh-hud-left{left:calc(max(calc(var(--u) * 4), env(safe-area-inset-left)) + var(--u) * 26 + 8px);max-width:calc(100vw - var(--hud-actions-w,110px) - var(--u) * 26 - 40px)}.poh-hud-actions{--hud-actions-w:calc(var(--u) * 100);grid-template-columns:repeat(4,auto)}}@media (orientation:landscape) and (height<=599px),(orientation:portrait) and (width<=359px){.poh-hero-bar{--card-w:26;--card-h:33}:root{--dock-h:0px}.poh-hero-card .poh-hero-portrait{--pw:18;--ph:19}.poh-hero-card .poh-hero-info{width:calc(var(--u) * 18)}.poh-hero-card .poh-hero-name-row{display:none}.poh-hero-card .poh-sp-badge{top:calc(var(--u) * -5);left:auto;right:calc(var(--u) * -5)}.poh-hero-card .poh-hero-class-icon{display:none}.poh-hero-card.poh-slot-vacant,.poh-hero-card.poh-slot-locked{border-width:calc(var(--u) * 4);border-image-slice:4 fill}.poh-hero-card .poh-hero-level{font-size:calc(var(--u) * 5);left:calc(var(--u) * -4);top:calc(var(--u) * -4);bottom:auto}}@media (orientation:portrait) and (width<=359px){:root{--dock-h:calc(var(--u) * 33)}}@media (orientation:landscape) and (height>=600px){.poh-hero-bar{left:max(calc(var(--u) * 6), env(safe-area-inset-left));bottom:max(calc(var(--u) * 6), env(safe-area-inset-bottom));flex-direction:row}.poh-hud-left{top:max(calc(var(--u) * 6), env(safe-area-inset-top));left:max(calc(var(--u) * 6), env(safe-area-inset-left))}.poh-hud-actions{top:max(calc(var(--u) * 6), env(safe-area-inset-top));right:max(calc(var(--u) * 6), env(safe-area-inset-right));--hud-actions-w:calc(var(--u) * 100);grid-template-columns:repeat(4,auto)}}:root{--dock-h:0px}@media (orientation:portrait){:root{--dock-h:calc(var(--u) * 54)}}.toast{z-index:30;width:max-content;max-width:min(92vw, calc(var(--u) * 260));box-sizing:border-box;pointer-events:none;text-align:center;left:50%;bottom:calc(max(calc(var(--u) * 4), env(safe-area-inset-bottom)) + var(--dock-h,0px) + calc(var(--u) * 4));padding:calc(var(--u) * 1) calc(var(--u) * 3);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);font:700 var(--fs) / 1.25 var(--font);opacity:0;transform:translate(-50%, calc(var(--u) * 3));transition:opacity .2s,transform .2s;position:absolute}.toast.show{opacity:1;transform:translate(-50%)}@media (orientation:landscape) and (height>=600px){.toast{bottom:calc(max(calc(var(--u) * 6), env(safe-area-inset-bottom)) + var(--u) * 4);left:calc(max(calc(var(--u) * 6), env(safe-area-inset-left)) + var(--u) * 189);transform:translate(0, calc(var(--u) * 3))}.toast.show{transform:none}}@media (orientation:landscape) and (height<=599px){.toast{bottom:max(calc(var(--u) * 4), env(safe-area-inset-bottom))}}.area-intro{transform:translate(-50%, calc(var(--u) * -3));text-align:center;opacity:0;pointer-events:none;z-index:2;padding:0 calc(var(--u) * 6);font-family:var(--font);width:max-content;max-width:92vw;transition:opacity .3s,transform .3s;position:absolute;top:14%;left:50%}.area-intro.show{opacity:1;transform:translate(-50%)}.area-intro:before,.area-intro:after{content:"";width:calc(var(--u) * 68);max-width:70vw;height:calc(var(--u) * 7);background:var(--img-divider) center / 100% 100% no-repeat;image-rendering:pixelated;filter:drop-shadow(0 var(--u) 0 #140a0699);margin:0 auto;display:block}.area-intro-num{margin-top:calc(var(--u) * 1);font-size:var(--fs-sm);letter-spacing:.32em;color:var(--gold);text-shadow:var(--outline);font-weight:700}.area-intro-name{margin:calc(var(--u) * 1) 0;font-size:var(--fs-xl);letter-spacing:.1em;color:var(--white);text-shadow:var(--outline);font-weight:800}.area-intro-rec{margin-bottom:calc(var(--u) * 1);font-size:var(--fs-sm);letter-spacing:.1em;color:var(--cream);text-shadow:var(--outline);font-weight:700}.area-intro-rec:empty,:is(body:has(.battle-ui) .hud,body:has(.battle-ui) .poh-hero-bar){display:none}@media (prefers-reduced-motion:reduce){.toast,.area-intro{transition:none}}.poh-screen{z-index:50;box-sizing:border-box;padding:max(calc(var(--u) * 10), env(safe-area-inset-top)) max(calc(var(--u) * 5), env(safe-area-inset-right)) max(calc(var(--u) * 5), env(safe-area-inset-bottom)) max(calc(var(--u) * 5), env(safe-area-inset-left));color:var(--text);background:#140a069e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.poh-screen-panel{--win-w:calc(var(--ui) * 200px + 200px);width:100%;max-width:var(--win-w);max-height:100%;padding:calc(var(--u) * 7) calc(var(--u) * 3) calc(var(--u) * 3);outline:none;flex-direction:column;display:flex}.poh-screen-panel[data-size=narrow]{--win-w:calc(var(--u) * 170)}.poh-screen-header{display:contents}.poh-screen-title{top:calc(var(--u) * -9);z-index:2;width:max-content;max-width:calc(100% - var(--u) * 34);font-size:var(--fs-lg);text-overflow:ellipsis;margin:0;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.poh-screen-close{top:calc(var(--u) * -10);right:calc(var(--u) * -6);z-index:3;position:absolute}.poh-screen-body{min-height:0;padding:calc(var(--u) * 2);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wood) var(--parch-2);flex:1;overflow:hidden auto}.poh-screen-body::-webkit-scrollbar{width:calc(var(--u) * 4)}.poh-screen-body::-webkit-scrollbar-track{background:var(--parch-2)}.poh-screen-body::-webkit-scrollbar-thumb{background:var(--wood);border:var(--u) solid var(--ink)}.poh-screen-body h3{margin:0 0 calc(var(--u) * 1);font-size:var(--fs-lg)}.poh-screen-body h4{margin:calc(var(--u) * 4) 0 calc(var(--u) * 2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.poh-screen-body p{margin:calc(var(--u) * 2) 0}.poh-section{margin:calc(var(--u) * 4) 0 calc(var(--u) * 2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.poh-back{min-height:calc(var(--u) * 18);margin-bottom:calc(var(--u) * 2)}.poh-menu-list{gap:calc(var(--u) * 2);grid-template-columns:1fr;display:grid}.poh-menu-item{justify-content:flex-start;gap:calc(var(--u) * 3);text-align:left}.poh-menu-item-label{flex:1;min-width:0}.poh-menu-item-hint{opacity:.85;text-align:right;flex:0 auto;max-width:50%;margin-left:auto;font-weight:600;line-height:1.1}@media (orientation:landscape){.poh-menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.poh-menu-item{flex-wrap:wrap;row-gap:0}.poh-menu-item-hint{box-sizing:border-box;max-width:none;margin:calc(var(--u) * -3) 0 0;padding-left:calc(var(--u) * 19);text-align:left;flex:1 0 100%}}.poh-empty-state{justify-content:center;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 10) calc(var(--u) * 4);text-align:center;flex-direction:column;display:flex}.poh-empty-state .ui-icon{filter:brightness(.5)sepia()saturate(1.4)hue-rotate(-12deg);opacity:.85}.poh-settings-row{justify-content:space-between;align-items:center;gap:calc(var(--u) * 4);padding:calc(var(--u) * 3) 0;border-bottom:var(--u) solid var(--parch-3);display:flex}.poh-settings-row:last-of-type{border-bottom:0}.poh-volume{width:min(50%, calc(var(--u) * 60));accent-color:var(--gold,#c9973a);min-height:calc(var(--u) * 8)}.poh-route-head{text-align:center;margin-bottom:calc(var(--u) * 3)}.poh-route{grid-template-columns:repeat(auto-fill, minmax(calc(var(--u) * 46), 1fr));gap:calc(var(--u) * 5) calc(var(--u) * 2);margin:0;padding:0;list-style:none;display:grid}@media (orientation:landscape){.poh-route{grid-template-columns:repeat(4,minmax(0,1fr))}}.poh-route-node{align-items:center;gap:var(--u);text-align:center;flex-direction:column;min-width:0;display:flex;position:relative}.poh-route-medallion{width:calc(var(--u) * 43);height:calc(var(--u) * 43);background:var(--medallion) center / 100% 100% no-repeat;image-rendering:pixelated;display:block;position:relative}.poh-route-num{top:calc(var(--u) * -2);left:calc(var(--u) * -2);z-index:1;position:absolute}.poh-route-name{font-weight:800;font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.15}.poh-route-meta{line-height:1.15}.poh-route-current .poh-route-medallion{filter:drop-shadow(var(--u) 0 0 var(--gold-lo)) drop-shadow(calc(var(--u) * -1) 0 0 var(--gold-lo)) drop-shadow(0 var(--u) 0 var(--gold-lo)) drop-shadow(0 calc(var(--u) * -1) 0 var(--gold-lo)) drop-shadow(var(--u) 0 0 var(--gold)) drop-shadow(calc(var(--u) * -1) 0 0 var(--gold)) drop-shadow(0 var(--u) 0 var(--gold)) drop-shadow(0 calc(var(--u) * -1) 0 var(--gold))}.poh-route-current .poh-route-meta{color:#8a4b00;font-weight:800}.poh-route-locked .poh-route-medallion{filter:grayscale()brightness(.68)contrast(.9)}.poh-route-locked .poh-route-name{color:var(--text-muted)}.poh-route-next .poh-route-medallion{filter:grayscale(.85)brightness(.8)}.modal{z-index:60;padding:calc(var(--u) * 10) calc(var(--u) * 5) calc(var(--u) * 5);background:#140a069e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal.hidden{display:none}.shell.in-game .modal,.shell.in-game .modal *{pointer-events:auto}.ui-dialog-title{top:calc(var(--u) * -9);width:max-content;max-width:calc(100% - var(--u) * 10);position:absolute;left:50%;transform:translate(-50%)}.ui-dialog h3{margin:0}.poh-screen-body .row{align-items:center;gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 3);flex-wrap:wrap;display:flex}.poh-chips{gap:var(--u);flex-wrap:wrap;justify-content:flex-start;display:flex}.poh-chip{box-sizing:border-box;height:calc(var(--u) * 8);padding:0 calc(var(--u) * 2);background:var(--parch-3);color:var(--ink);border:var(--u) solid var(--ink);font:800 calc(var(--u) * 4.5) / 1 var(--font);white-space:nowrap;clip-path:polygon(var(--u) 0, calc(100% - var(--u)) 0, 100% var(--u), 100% calc(100% - var(--u)), calc(100% - var(--u)) 100%, var(--u) 100%, 0 calc(100% - var(--u)), 0 var(--u));align-items:center;display:inline-flex}.poh-chip-active{background:#9fd28a}.poh-chip-sp{background:var(--gold)}.poh-rarity-common{background:#d8d0b4}.poh-rarity-uncommon{background:#9fe08a}.poh-rarity-rare{background:#86b4f0}.poh-rarity-epic{background:#cf9bff}.poh-rarity-legendary{background:#ffc46b}.poh-hero-grid{grid-template-columns:repeat(auto-fill, minmax(calc(var(--u) * 46), 1fr));gap:calc(var(--u) * 3);margin:calc(var(--u) * 2) 0;display:grid}.poh-collection-card{align-items:center;gap:calc(var(--u) * 2);box-sizing:border-box;padding:calc(var(--u) * 1) calc(var(--u) * 1) calc(var(--u) * 2);cursor:pointer;border:calc(var(--u) * 5) solid transparent;border-image:var(--img-cell) 5 fill / 1 stretch;image-rendering:pixelated;color:var(--ink);text-align:center;font:inherit;text-shadow:none;background:0 0;flex-direction:column;margin:0;display:flex;position:relative}.poh-collection-card[data-rarity=uncommon],.poh-collection-card[data-rarity=rare],.poh-collection-card[data-rarity=epic],.poh-collection-card[data-rarity=legendary]{background:var(--tan)}.poh-collection-card[data-rarity=uncommon]{border-image-source:var(--img-rarity-uncommon)}.poh-collection-card[data-rarity=rare]{border-image-source:var(--img-rarity-rare)}.poh-collection-card[data-rarity=epic]{border-image-source:var(--img-rarity-epic)}.poh-collection-card[data-rarity=legendary]{border-image-source:var(--img-rarity-legendary)}@media (hover:hover){.poh-collection-card:hover{filter:brightness(1.08)}}.poh-collection-card:active{transform:translateY(var(--u))}.poh-collection-card[data-active=true]{outline:calc(var(--u) * 1) solid var(--gold-lo);outline-offset:calc(var(--u) * -1)}.poh-collection-info{align-items:center;gap:var(--u);flex-direction:column;width:100%;min-width:0;display:flex}.poh-collection-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;font-size:var(--fs);display:block;overflow:hidden}.poh-collection-class{justify-content:center;align-items:center;gap:var(--u);text-align:center;flex-wrap:wrap;display:inline-flex}.poh-collection-class .ui-icon{margin:calc(var(--u) * -2) 0}.poh-slot-hero .poh-collection-class,.poh-detail-title .poh-collection-class{text-align:left;flex-wrap:nowrap;justify-content:flex-start}.poh-collection-card .poh-chips{justify-content:center}.poh-collection-card .poh-hero-level,.poh-detail-head .poh-hero-level{left:calc(var(--u) * -1);bottom:calc(var(--u) * -1)}.poh-detail-head{gap:calc(var(--u) * 4);align-items:flex-start;display:flex}.poh-detail-title{gap:calc(var(--u) * 1.5);flex-direction:column;flex:1;min-width:0;display:flex}.poh-detail-title h3{margin:0}.poh-xpbar-wide{width:100%;max-width:calc(var(--u) * 90);height:calc(var(--u) * 6);display:block}.poh-points{margin:calc(var(--u) * 3) 0 calc(var(--u) * 2);padding:calc(var(--u) * 1) calc(var(--u) * 1)}.poh-points-line{align-items:baseline;gap:calc(var(--u) * 2);flex-wrap:wrap;display:flex}.poh-points-label{color:var(--text-muted);font-size:var(--fs-sm);min-width:calc(var(--u) * 34)}.poh-points-value{font-size:var(--fs-lg);color:#8a4b00}.poh-stat-rows{gap:calc(var(--u) * 2);margin:calc(var(--u) * 3) 0;flex-direction:column;display:flex}.poh-stat-row{padding:calc(var(--u) * 1)}.poh-stat-top{align-items:center;gap:calc(var(--u) * 2);flex-wrap:wrap;display:flex}.poh-stat-name{min-width:calc(var(--u) * 16);height:calc(var(--u) * 10);font-size:var(--fs-sm)}.poh-stat-count{min-width:calc(var(--u) * 10);font-size:var(--fs-lg);font-weight:800}.poh-stat-staged{color:#2c7a1f;font-weight:800}.poh-stat-buttons{gap:calc(var(--u) * 2);margin-left:auto;display:flex}.poh-stat-buttons .ui-btn{min-width:calc(var(--u) * 22);padding:0 calc(var(--u) * 1)}.poh-derived{flex-direction:column;display:flex}.poh-derived-row{justify-content:space-between;gap:calc(var(--u) * 3);padding:calc(var(--u) * 1) 0;border-bottom:var(--u) dotted var(--parch-3);font-size:var(--fs);display:flex}.poh-derived-changed{color:#2c7a1f;font-weight:800}.poh-squad-info{padding:calc(var(--u) * 1);margin-bottom:calc(var(--u) * 3)}.poh-slot-list{gap:calc(var(--u) * 2);flex-direction:column;display:flex}.poh-slot-row{align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 1);display:flex}.poh-slot-row-locked{filter:saturate(.6)brightness(.93)}.poh-slot-num{flex:none;align-self:flex-start}.poh-slot-hero{gap:var(--u);flex-direction:column;flex:1;min-width:0;display:flex}.poh-slot-actions{gap:calc(var(--u) * 2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.poh-row-toggle{min-width:calc(var(--u) * 30)}.poh-row-toggle.poh-row-front{--b-ink:#7a1f15}.poh-row-toggle.poh-row-back{--b-ink:#1c3f7a}.poh-swap-target{width:auto;min-width:calc(var(--u) * 40);max-width:calc(var(--u) * 64)}.poh-formation{margin:calc(var(--u) * 4) 0;gap:calc(var(--u) * 2);flex-direction:column;display:flex}.poh-formation-row{align-items:center;gap:calc(var(--u) * 2);display:flex}.poh-formation-label{width:calc(var(--u) * 24);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;flex:none;font-weight:800;line-height:1.1}.poh-formation-row.poh-row-front .poh-formation-label{color:#7a1f15}.poh-formation-row.poh-row-back .poh-formation-label{color:#1c3f7a}.poh-formation-heroes{gap:var(--u);display:flex}.poh-formation-slot{box-sizing:border-box;width:calc(var(--u) * 24);height:calc(var(--u) * 26);flex:none;place-items:center;display:grid}.poh-formation-slot.is-empty{filter:saturate(.5)brightness(.96);opacity:.8}@media (width<=480px){.poh-slot-row{flex-wrap:wrap}.poh-slot-actions{justify-content:flex-start;width:100%}}.poh-wallet{align-items:center;gap:calc(var(--u) * 8);margin:0 0 calc(var(--u) * 3);padding-left:calc(var(--u) * 6);display:flex}.poh-price{align-items:center;gap:var(--u);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;display:inline-flex}.poh-price .ui-icon,.poh-btn-price .ui-icon{margin:calc(var(--u) * -4) 0}.poh-price-coin{color:#8a4b00}.poh-price-gem{color:#1c4f9a}.poh-btn-price{align-items:center;gap:var(--u);display:inline-flex}.poh-tavern-timer{margin:calc(var(--u) * 2) 0 calc(var(--u) * 3)}.poh-tavern-message{margin:calc(var(--u) * 3) 0;padding:calc(var(--u) * 2) calc(var(--u) * 3);border:var(--u) solid #3f6f2a;color:#1f4a12;background:#d8e6b0;font-weight:700}.poh-offer-list{gap:calc(var(--u) * 2);margin:calc(var(--u) * 3) 0;flex-direction:column;display:flex}.poh-offer{align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 1);display:flex}.poh-offer-claimed,.poh-offer-soldOut{opacity:.6}.poh-offer[data-rarity=uncommon],.poh-offer[data-rarity=rare],.poh-offer[data-rarity=epic],.poh-offer[data-rarity=legendary]{background:var(--tan);border-width:calc(var(--u) * 5);border-image-slice:5}.poh-offer[data-rarity=uncommon]{border-image-source:var(--img-rarity-uncommon)}.poh-offer[data-rarity=rare]{border-image-source:var(--img-rarity-rare)}.poh-offer[data-rarity=epic]{border-image-source:var(--img-rarity-epic)}.poh-offer[data-rarity=legendary]{border-image-source:var(--img-rarity-legendary)}.poh-offer .poh-collection-info{flex:1;width:auto;min-width:0}.poh-offer-info{align-items:flex-start}.poh-offer-info .poh-chips{justify-content:flex-start}.poh-offer-buy{align-items:flex-end;gap:calc(var(--u) * 2);flex-direction:column;margin-left:auto;display:flex}.poh-offer-price-col{align-items:flex-end;gap:var(--u);flex-direction:column;min-width:0;display:flex}.poh-offer-need{text-align:right;line-height:1.2}@media (width<=480px){.poh-offer{flex-wrap:wrap}.poh-offer-buy{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.poh-offer-price-col{align-items:flex-start}}.shell:not(.in-game){background:radial-gradient(ellipse at 50% 38%, #140a0600 0%, #140a069e 100%), repeating-linear-gradient(45deg, #86ad4d 0 calc(var(--u) * 8), #8fb654 calc(var(--u) * 8) calc(var(--u) * 16))}.screen{box-sizing:border-box;max-width:calc(var(--ui) * 130px + 300px);padding:calc(var(--u) * 6) calc(var(--u) * 5) calc(var(--u) * 8);margin:0 auto}.screen.center{justify-content:center;align-items:center;min-height:100%;display:flex}.screen .bar{justify-content:space-between;align-items:center;gap:calc(var(--u) * 3);margin-bottom:calc(var(--u) * 2);padding:0;display:flex}.screen .who{font-weight:700}.ui-title-block{width:100%;max-width:calc(var(--u) * 170);flex-direction:column;align-items:center;display:flex}.ui-title{font-size:var(--fs-xl);min-height:calc(var(--u) * 22);margin:0}.ui-title--small{width:max-content;max-width:100%;margin:calc(var(--u) * 3) auto;font-size:var(--fs-lg);min-height:calc(var(--u) * 18);display:flex}.ui-title-block .ui-crest{margin-bottom:calc(var(--u) * -3);z-index:1;filter:drop-shadow(0 var(--u) 0 #140a0699);position:relative}.ui-auth-form{width:100%;padding:calc(var(--u) * 6) calc(var(--u) * 4) calc(var(--u) * 4);margin-top:calc(var(--u) * -3);color:var(--text)}.ui-auth-form .ui-input+.ui-input{margin-top:calc(var(--u) * 2)}.ui-error{min-height:1.3em;margin:calc(var(--u) * 2) 0 0;color:#8c1d14;font-weight:700}.ui-error:empty{min-height:0;margin:0}.slots{gap:calc(var(--u) * 10) calc(var(--u) * 4);margin-top:calc(var(--u) * 10);grid-template-columns:1fr;display:grid}@media (width>=720px){.slots{grid-template-columns:repeat(3,1fr)}}.slot{padding:calc(var(--u) * 9) calc(var(--u) * 4) calc(var(--u) * 4);min-height:calc(var(--u) * 60);text-align:left;color:var(--text);position:relative}.ui-slot-title{top:calc(var(--u) * -9);width:max-content;font-size:var(--fs);margin:0;position:absolute;left:50%;transform:translate(-50%)}.slot-empty{justify-content:center;align-items:center;gap:calc(var(--u) * 3);flex-direction:column;display:flex}.ui-slot-empty-text{margin:0}.ui-slot-body{align-items:center;gap:calc(var(--u) * 4);display:flex}.ui-slot-portrait{flex:none;place-items:center;padding:0;display:grid}.ui-slot-info{min-width:0}.ui-slot-info p{margin:var(--u) 0}.ui-slot-hero{font-weight:800;font-size:var(--fs-lg)}.slot .ui-dialog-actions{margin-top:calc(var(--u) * 3);justify-content:flex-start}.ui-newgame{padding:calc(var(--u) * 5) calc(var(--u) * 4) calc(var(--u) * 4);color:var(--text)}.heroes{grid-template-columns:repeat(auto-fill, minmax(calc(var(--u) * 38), 1fr));gap:calc(var(--u) * 3);margin:calc(var(--u) * 3) 0;display:grid}.hero{box-sizing:border-box;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 1) calc(var(--u) * 1) calc(var(--u) * 2);cursor:pointer;text-align:center;color:var(--ink);font:inherit;text-shadow:none;touch-action:manipulation;background:0 0;flex-direction:column;margin:0;display:flex}@media (hover:hover){.hero:hover{filter:brightness(1.08)}}.hero{position:relative}.hero[aria-pressed=true]{outline:calc(var(--u) * 2) solid var(--gold-lo);outline-offset:calc(var(--u) * -2)}.hero[aria-pressed=true]:before,.hero[aria-pressed=true]:after{content:"";box-sizing:border-box;pointer-events:none;image-rendering:pixelated;position:absolute}.hero[aria-pressed=true]:before{z-index:1;top:calc(var(--u) * -3);right:calc(var(--u) * -3);width:calc(var(--u) * 14);height:calc(var(--u) * 14);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch}.hero[aria-pressed=true]:after{z-index:2;top:calc(var(--u) * -4);right:calc(var(--u) * -4);width:calc(var(--u) * 16);height:calc(var(--u) * 16);background:url(/assets/ui/glyphs/check-light.png) 50%/100% 100% no-repeat}.hero-name{font-weight:800;font-size:var(--fs)}.battle-ui{z-index:5;pointer-events:none;font-family:var(--font);color:var(--white);position:absolute;inset:0}.battle-panel{top:max(calc(var(--u) * 4), env(safe-area-inset-top));gap:calc(var(--u) * 2);width:calc(var(--u) * 62);max-height:calc(100% - var(--u) * 8);flex-direction:column;display:flex;position:absolute;overflow:hidden}.battle-panel-player{left:max(calc(var(--u) * 4), env(safe-area-inset-left))}.battle-panel-enemy{right:max(calc(var(--u) * 4), env(safe-area-inset-right))}.battle-card{box-sizing:border-box;gap:var(--u);width:100%;min-width:0;padding:0 var(--u) var(--u);border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--white);text-shadow:var(--outline);flex-direction:column;display:flex}.battle-card-head{justify-content:space-between;align-items:baseline;gap:calc(var(--u) * 2);min-width:0;font-weight:800;font-size:var(--fs-sm);line-height:1.1;display:flex}.battle-panel-enemy .battle-card-head{flex-direction:row-reverse}.battle-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.battle-card-lvl{color:var(--gold);font-size:var(--fs-xs);flex:none}.battle-bar{height:calc(var(--u) * 7)}.battle-bar.ui-bar--thin{height:calc(var(--u) * 4)}.battle-bar-fill{transition:width .25s steps(8,end)}.battle-bar-text{padding:0 var(--u);font:800 calc(var(--u) * 4) / 1 var(--font);color:var(--white);text-shadow:var(--outline);justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.battle-bar-text-mp{display:none}.battle-card-dead{filter:grayscale()brightness(.62)}.battle-card-meta{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--cream);text-shadow:var(--outline);overflow:hidden}.battle-card-telegraph{gap:var(--u);flex-direction:column;display:flex}.battle-card-telegraph:empty{display:none}.battle-telegraph{gap:0 calc(var(--u) * 2);padding:var(--u) calc(var(--u) * 2);border:var(--u) solid #ff9a7a;font-size:var(--fs-xs);background:#7e1812b8;flex-wrap:wrap;align-items:baseline;line-height:1.15;display:flex}.battle-telegraph-name{color:#ffc0a8;letter-spacing:.05em;text-transform:uppercase;font-weight:800}.battle-telegraph-text{color:var(--white);text-shadow:none}.battle-ui[data-phase=battle] .battle-card-meta,.battle-ui[data-phase=battle] .battle-card-telegraph,.battle-ui[data-phase=result] .battle-card-meta,.battle-ui[data-phase=result] .battle-card-telegraph{display:none}.battle-fight-btn{left:50%;bottom:max(calc(var(--u) * 6), env(safe-area-inset-bottom));pointer-events:auto;min-width:calc(var(--u) * 50);position:absolute;transform:translate(-50%)}.battle-fight-btn:not(:disabled):active{transform:translate(-50%)}.battle-ui[data-phase=battle] .battle-fight-btn,.battle-ui[data-phase=result] .battle-fight-btn,.battle-topbar{display:none}.battle-ui[data-phase=battle] .battle-topbar{display:contents}.battle-round{top:max(calc(var(--u) * 4), env(safe-area-inset-top));box-sizing:border-box;min-height:calc(var(--u) * 16);padding:0 calc(var(--u) * 2);white-space:nowrap;border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;font:800 var(--fs-sm) var(--font);text-shadow:var(--outline);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.battle-speed{left:50%;bottom:max(calc(var(--u) * 6), env(safe-area-inset-bottom));gap:calc(var(--u) * 2);pointer-events:auto;display:flex;position:absolute;transform:translate(-50%)}.battle-speed-btn{box-sizing:border-box;min-width:44px;min-height:44px;padding:0 calc(var(--u) * 2);cursor:pointer;touch-action:manipulation;border:calc(var(--u) * 4) solid transparent;border-image:var(--img-wood) 4 fill / 1 stretch;image-rendering:pixelated;color:var(--cream);font:800 var(--fs) var(--font);text-shadow:var(--outline);filter:brightness(.8);background:0 0;margin:0}.battle-speed-btn.active{filter:none;border-image-source:var(--img-cell);color:var(--ink);text-shadow:0 var(--stroke) 0 #fff7dc80}@media (hover:hover){.battle-speed-btn:not(.active):hover{filter:brightness(1.1)}}.battle-result{z-index:2;box-sizing:border-box;pointer-events:auto;padding:calc(var(--u) * 12) calc(var(--u) * 5) calc(var(--u) * 5);background:#140a069e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.battle-result.hidden{display:none}.battle-result{overscroll-behavior:contain;overflow-y:auto}.battle-result-card{width:min(100%, calc(var(--u) * 130));padding:calc(var(--u) * 9) calc(var(--u) * 4) calc(var(--u) * 4);text-align:center;color:var(--ink);margin:auto}.battle-result-headline{top:calc(var(--u) * -9);width:max-content;font-size:var(--fs-lg);margin:0;position:absolute;left:50%;transform:translate(-50%)}.battle-result-art{margin:0 auto calc(var(--u) * 2);image-rendering:pixelated;background:50%/100% 100% no-repeat}.battle-result-art-victory{width:calc(var(--u) * 61);height:calc(var(--u) * 28);background-image:var(--img-stars-gold)}.battle-result-art-tie{width:calc(var(--u) * 61);height:calc(var(--u) * 28);background-image:var(--img-stars-grey)}.battle-result-art-defeat{width:calc(var(--u) * 25);height:calc(var(--u) * 25);background-image:var(--img-cross)}.battle-result-coin{justify-content:center;align-items:center;gap:calc(var(--u) * 2);margin:0 0 calc(var(--u) * 2);font-weight:800;font-size:var(--fs-lg);color:#8a4b00;display:flex}.battle-result-exp{margin:0 0 calc(var(--u) * 2)}.battle-result-hero{justify-content:center;gap:calc(var(--u) * 2);margin:var(--u) 0;font-size:var(--fs);display:flex}.battle-result-name{font-weight:800}.battle-result-gain{color:#2c7a1f;font-weight:800}.battle-result-levelup{margin:0 0 calc(var(--u) * 3)}.battle-result-levelup-row{margin:var(--u) 0;padding:calc(var(--u) * 1.5) calc(var(--u) * 2);background:var(--gold);color:var(--ink);border:var(--u) solid var(--ink);font-weight:800;font-size:var(--fs-sm);clip-path:polygon(var(--u) 0, calc(100% - var(--u)) 0, 100% var(--u), 100% calc(100% - var(--u)), calc(100% - var(--u)) 100%, var(--u) 100%, 0 calc(100% - var(--u)), 0 var(--u))}.battle-continue-btn{min-width:calc(var(--u) * 50)}@media (prefers-reduced-motion:reduce){.battle-bar-fill{transition:none}}
