/* The Hundred Seals of Pharonia — play page styles.
   Palette and paper-sheet treatment follow /css/ember-wyrm.css (RPG1999): charcoal + ember red + antique gold chrome,
   aged paper sheet with printed serif labels and pencil values (Patrick Hand, SIL OFL). */
@font-face{font-family:"Patrick Hand";src:url("../fonts/patrick-hand/patrick-hand-latin-400-normal.woff2") format("woff2");font-display:swap}
.hs{--ch:#0d0d10;--ch2:#16161c;--ch3:#1e1e28;--em:#8b1a12;--emd:#5a1210;--emh:#c43a1f;--gold:#a67c2a;--goldb:#d4a84b;--goldd:#6b4e14;--amber:#f0a030;--parch:#e8dfc8;--muted:#a8a29a;
  --r-common:#b9b3a8;--r-uncommon:#62b35e;--r-rare:#4f93dc;--r-epic:#a65fdc;--r-legendary:#e38b2c;--r-relic:#e2bf5a;
  --print:Georgia,"Iowan Old Style","Palatino Linotype","Book Antiqua",serif;--pencil:"Patrick Hand","Segoe Print","Comic Sans MS",cursive;
  max-width:76rem;margin:0 auto;color:var(--parch);font-size:15px}
.hs *{box-sizing:border-box}
.hs h1,.hs h2,.hs h3{font-family:var(--print);color:var(--parch);margin:0}
.hs .kicker{font:700 .68rem/1 var(--print);letter-spacing:.24em;text-transform:uppercase;color:var(--goldb);margin:0 0 .35rem}
.hs .ic{display:inline-block;width:1.1em;height:1.1em;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;vertical-align:-.18em}
.hs .pane{position:relative;background:var(--ch2) url("../images/games/texture-smoke.svg") center/cover;background-blend-mode:soft-light;border:1px solid var(--goldd);border-bottom-color:var(--gold);border-radius:.35rem;
  box-shadow:0 0 0 1px rgba(166,124,42,.22),0 12px 30px rgba(0,0,0,.5),inset 0 0 40px rgba(139,26,18,.12);padding:1rem}
.hs .pane::before,.hs .pane::after{content:"";position:absolute;top:-1px;width:1.8rem;height:1.8rem;background:url("../images/games/chrome-corner.svg") no-repeat center/contain;pointer-events:none;opacity:.9}
.hs .pane::before{left:-1px}.hs .pane::after{right:-1px;transform:scaleX(-1)}
.hs .pane h2{font-size:1.02rem;letter-spacing:.06em;margin-bottom:.6rem;color:var(--goldb)}
.hs .paper{background:#e8dabb url("../images/games/seals/paper-tile.jpg") 0 0/500px auto repeat;color:#3a3a3d;border:1px solid rgba(96,68,38,.55);border-radius:2px;
  box-shadow:inset 0 0 22px rgba(118,78,36,.32),0 3px 6px rgba(0,0,0,.35),0 14px 30px rgba(0,0,0,.62);padding:1.1rem 1.2rem}
.hs .paper .lbl{font:700 .58rem/1.1 var(--print);letter-spacing:.14em;text-transform:uppercase;color:#5b4632}
.hs .paper .pen{font-family:var(--pencil);color:#3a3a3d;text-shadow:0 0 .4px rgba(38,38,42,.55)}
.hs .paper h2,.hs .paper h3{color:#5b4632}
.hs .ex{display:inline-block;font:800 .6rem/1 system-ui;letter-spacing:.12em;color:#111;background:#fde047;padding:.25rem .45rem;border-radius:3px;vertical-align:middle}
.hs .btn{display:inline-flex;align-items:center;gap:.4rem;font:600 .85rem/1 system-ui;padding:.55rem .85rem;border-radius:.3rem;border:1px solid var(--goldd);background:linear-gradient(180deg,var(--ch3),var(--ch));color:var(--parch);cursor:pointer;text-decoration:none}
.hs .btn.primary{background:linear-gradient(180deg,var(--emh),var(--em));border-color:var(--goldb);color:#fff3dc}
.hs .btn[disabled]{opacity:.45}
.hs .muted{color:var(--muted)}
.hs .row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.hs .grid2{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1rem;align-items:start}
@media(max-width:900px){.hs .grid2{grid-template-columns:minmax(0,1fr)}}
.hs .stack>*+*{margin-top:1rem}
/* ——— Global boss HP bar ——— */
.hs .boss-bar{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:center}
.hs .boss-bar .por{grid-row:span 3;width:5.2rem;height:5.2rem;border-radius:50%;border:2px solid var(--goldb);background:#efe6cf url("../images/games/seals/boss-uccello-dragon.jpg") 50% 60%/170% no-repeat;box-shadow:0 0 0 3px var(--emd),0 0 22px rgba(196,58,31,.45)}
.hs .boss-bar .nm{font:700 1.05rem var(--print)}.hs .boss-bar .nm small{display:block;font:italic .78rem var(--print);color:var(--muted)}
.hs .hpbar{position:relative;height:1.35rem;border-radius:.2rem;background:#2a0d0b;border:1px solid var(--goldd);overflow:hidden;box-shadow:inset 0 2px 6px rgba(0,0,0,.6)}
.hs .hpbar>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,#e0512c,#8b1a12 70%,#5a1210)}
.hs .hpbar>b{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(90deg,rgba(255,220,160,.55) 0 2px,transparent 2px 6px);opacity:.7}
.hs .hpbar>span{position:relative;display:block;text-align:center;font:700 .78rem/1.35rem system-ui;color:#fff3dc;text-shadow:0 1px 2px #000}
.hs .hpbar .tick{position:absolute;top:0;bottom:0;width:1px;background:rgba(232,201,106,.35)}
.hs .boss-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}
.hs .boss-meta b{color:var(--parch)}
.hs .live{display:inline-flex;align-items:center;gap:.3rem;color:#ffb38a;font-weight:700}
.hs .live::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#ff5a2a;box-shadow:0 0 8px #ff5a2a}
/* ——— World map ——— */
.hs .banner{position:relative;border-radius:.35rem;overflow:hidden;border:1px solid var(--goldd);min-height:11rem;background:#222 url("../images/games/seals/world-bierstadt.jpg") center 35%/cover;display:flex;align-items:flex-end;padding:1.2rem}
.hs .banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,16,.05),rgba(13,13,16,.88))}
.hs .banner>*{position:relative;z-index:1}
.hs .banner h1{font-size:2rem;text-shadow:0 2px 8px #000}
.hs .banner p{margin:.3rem 0 0;max-width:40rem;color:#e6dcc4;text-shadow:0 1px 4px #000}
.hs .credit{font-size:.62rem;color:#bdb3a0;opacity:.85}
.hs .age{margin-top:.9rem}
.hs .age h3{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--goldb);display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}
.hs .age h3 span{color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:400}
.hs .seals{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.4rem}
.hs .seal{position:relative;aspect-ratio:1;border-radius:.3rem;border:1px solid #3a3226;background:#14141a;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 .95rem var(--print);color:#5f5a52}
.hs .seal .ic{font-size:.85rem;margin-top:.15rem}
.hs .seal.cleared{background:linear-gradient(180deg,#2b2416,#17140e);border-color:var(--goldd);color:var(--goldb)}
.hs .seal.active{background:radial-gradient(circle at 50% 40%,#6e1c12,#2a0d0b);border:2px solid var(--goldb);color:#fff3dc;box-shadow:0 0 0 2px var(--emd),0 0 18px rgba(240,120,40,.55)}
.hs .seal.active::after{content:"";position:absolute;left:8%;right:8%;bottom:8%;height:4px;border-radius:2px;background:linear-gradient(90deg,#e0512c 40%,#2a0d0b 40%)}
.hs .seal.locked{opacity:.6}
.hs .legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-top:.6rem}
.hs .legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;margin-right:.3rem;vertical-align:-.1rem;border:1px solid #3a3226}
.hs .stat-l{display:grid;grid-template-columns:1fr auto;gap:.3rem .6rem;font-size:.85rem}
.hs .stat-l b{text-align:right}
.hs .meter{height:.5rem;border-radius:.25rem;background:#2a2a33;overflow:hidden}.hs .meter i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--amber))}
.hs .unl{list-style:none;margin:0;padding:0;font-size:.84rem}.hs .unl li{display:flex;gap:.5rem;padding:.3rem 0;border-bottom:1px dashed #3a3226}.hs .unl li:last-child{border:0}
/* ——— News feed ——— */
.hs .feed{list-style:none;margin:0;padding:0;font-size:.84rem}
.hs .feed li{display:grid;grid-template-columns:1.4rem 1fr auto;gap:.5rem;padding:.42rem 0;border-bottom:1px solid #2a2a33;align-items:start}
.hs .feed li:last-child{border:0}.hs .feed time{color:var(--muted);font-size:.72rem;white-space:nowrap}
.hs .feed .k-kill{color:var(--goldb)}.hs .feed .k-hit{color:#ffb38a}.hs .feed .k-find{color:#9fd18b}.hs .feed .k-drop{color:var(--r-legendary)}
.hs .feed b.dmg{color:#ffcf8a}
/* ——— Character sheet ——— */
.hs .sheet-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;border-bottom:3px double rgba(72,94,126,.52);padding-bottom:.25rem;margin-bottom:.7rem;flex-wrap:wrap}
.hs .sheet-head .t{font:700 .95rem var(--print);letter-spacing:.22em;text-transform:uppercase;color:#5b4632}
.hs .sheet-head .f{font:italic .7rem var(--print);color:#5b4632;opacity:.85}
.hs .fields{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:.6rem 1rem}
.hs .fld{display:flex;flex-direction:column-reverse;min-width:0}
.hs .fld .pen{border-bottom:1px solid rgba(72,94,126,.52);font-size:1.2rem;line-height:1.2;padding:0 .15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs .fld .lbl{margin-top:.15rem}
.hs .sheet-cols{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:1.2rem;margin-top:1rem}
@media(max-width:900px){.hs .sheet-cols{grid-template-columns:1fr}.hs .fields{grid-template-columns:1fr 1fr}}
.hs .attrs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.hs .attr{border:1.5px solid rgba(91,70,50,.6);border-radius:.25rem;padding:.3rem .4rem;text-align:center;background:rgba(255,251,238,.25)}
.hs .attr .pen{display:block;font-size:1.6rem;line-height:1.05}
.hs .attr small{display:block;font:italic .62rem var(--print);color:#6b5640}
.hs .derived{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.8rem}
.hs .derived td{padding:.18rem .2rem;border-bottom:1px solid rgba(72,94,126,.24)}
.hs .derived td:first-child{font:700 .6rem var(--print);letter-spacing:.1em;text-transform:uppercase;color:#5b4632}
.hs .derived td.pen{font-size:1.05rem;text-align:right}
.hs .derived .cap{font:italic .64rem var(--print);color:#a3302a;text-align:right;white-space:nowrap}
.hs .doll{display:grid;grid-template-columns:minmax(0,1fr) 9rem minmax(0,1fr);gap:.32rem .5rem;align-items:stretch}
.hs .doll .sil{grid-column:2;grid-row:1/span 10;display:flex;align-items:center;justify-content:center;position:relative}
.hs .doll .sil .ic{width:100%;height:100%;min-height:18rem;color:rgba(91,70,50,.22)}
.hs .doll .sil .bl{position:absolute;bottom:.2rem;left:0;right:0;text-align:center;font:italic .6rem var(--print);color:#6b5640}
.hs .slot{display:flex;gap:.4rem;align-items:center;min-width:0;padding:.18rem .3rem;border:1px solid rgba(91,70,50,.35);border-radius:.25rem;background:rgba(255,251,238,.3)}
.hs .doll .L{grid-column:1}.hs .doll .R{grid-column:3}
.hs .slot .sq{flex:none;width:2.1rem;height:2.1rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;background:#2b2620;border:2px solid var(--rc,#777);color:var(--rc,#ccc);box-shadow:0 0 6px color-mix(in srgb,var(--rc) 45%,transparent)}
.hs .slot .sq .ic{font-size:1.25rem}
.hs .slot .tx{min-width:0;line-height:1.1}
.hs .slot .sn{display:block;font:700 .54rem var(--print);letter-spacing:.1em;text-transform:uppercase;color:#6b5640}
.hs .slot .in{display:block;font:600 .74rem system-ui;color:#2f2b28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs .slot .ab{display:block;font:.64rem system-ui;color:#7a3a14;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs .slot.empty .sq{background:transparent;border-style:dashed;border-color:rgba(91,70,50,.45);color:rgba(91,70,50,.45)}
.hs .r-common{--rc:var(--r-common)}.hs .r-uncommon{--rc:var(--r-uncommon)}.hs .r-rare{--rc:var(--r-rare)}.hs .r-epic{--rc:var(--r-epic)}.hs .r-legendary{--rc:var(--r-legendary)}.hs .r-relic{--rc:var(--r-relic)}
.hs .rt{font-weight:700;color:var(--rc)}
.hs .pair{font:italic .62rem var(--print);color:#2f6b2a}
/* Ability bar */
.hs .abar{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.4rem}
.hs .ab-s{position:relative;border-radius:.3rem;padding:.4rem .35rem .35rem;border:1px solid var(--goldd);background:linear-gradient(180deg,#22202a,#121117);min-height:6.6rem;display:flex;flex-direction:column;gap:.15rem;color:var(--parch)}
.hs .ab-s .top{display:flex;justify-content:space-between;align-items:center}
.hs .ab-s .key{font:700 .62rem system-ui;color:var(--muted)}
.hs .ab-s .el{width:2.2rem;height:2.2rem;border-radius:.3rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--rc);color:#fff;background:radial-gradient(circle,var(--elc,#555),#111)}
.hs .ab-s .el .ic{font-size:1.35rem}
.hs .ab-s .an{font:700 .76rem/1.1 var(--print)}
.hs .ab-s .rk{font:600 .62rem system-ui;color:var(--goldb)}
.hs .ab-s .src{font:.6rem/1.15 system-ui;color:var(--muted)}
.hs .ab-s .src b{color:var(--rc);font-weight:600}
.hs .ab-s .cost{margin-top:auto;font:600 .62rem system-ui;color:#9cc3ff}
.hs .ab-s.cd .el{filter:grayscale(.8) brightness(.6)}
.hs .ab-s.cd::after{content:attr(data-cd);position:absolute;top:.4rem;left:.35rem;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;font:800 1rem system-ui;color:#fff;text-shadow:0 1px 3px #000}
.hs .ab-s.lock{border-style:dashed;opacity:.55;align-items:center;justify-content:center;text-align:center;font-size:.7rem;color:var(--muted)}
.hs .ab-s.bench{opacity:.7}
.hs .paper .abar .ab-s{box-shadow:0 2px 4px rgba(0,0,0,.35)}
.hs .e-fire{--elc:#c43a1f}.hs .e-frost{--elc:#2f6fae}.hs .e-storm{--elc:#6c5bd4}.hs .e-phys{--elc:#7a6a55}.hs .e-radiant{--elc:#c9a23a}.hs .e-shadow{--elc:#4a2f5e}.hs .e-nature{--elc:#3f8a3a}
@media(max-width:900px){.hs .abar{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hs .tag{display:inline-block;font:700 .6rem/1 system-ui;letter-spacing:.06em;padding:.22rem .4rem;border-radius:.2rem;background:#2a2a33;color:var(--parch);border:1px solid #3a3a46}
.hs .paper .tag{background:rgba(91,70,50,.12);color:#5b4632;border-color:rgba(91,70,50,.35)}
.hs .bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem}
.hs .bag .slot{background:rgba(255,251,238,.35)}
.hs .bag .slot.locked{opacity:.75}
.hs .bag .req{display:block;font:700 .62rem system-ui;color:#a3302a}
/* ——— Battle ——— */
.hs .arena{position:relative;border-radius:.35rem;overflow:hidden;border:1px solid var(--goldd);background:#1a0f0c url("../images/games/seals/battle-martin.jpg") center/cover;min-height:22rem;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hs .arena::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,16,.55),rgba(13,13,16,.25) 40%,rgba(13,13,16,.9))}
.hs .arena>*{position:relative;z-index:1}
.hs .foe{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.hs .foe .art{width:17rem;max-width:70%;aspect-ratio:898/736;background:url("../images/games/seals/boss-grisvane.png") center/contain no-repeat;filter:drop-shadow(0 10px 16px rgba(0,0,0,.85)) drop-shadow(0 0 18px rgba(240,120,40,.35))}
.hs .foe-art-wrap{width:100%;display:flex;justify-content:center}
.hs .telegraph{background:rgba(90,18,16,.85);border:1px solid var(--emh);border-radius:.3rem;padding:.4rem .7rem;font:italic .85rem var(--print);color:#ffd9c2;text-align:center}
.hs .status-chips{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}
.hs .party{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;grid-column:1/-1}
.hs .pc{background:rgba(13,13,16,.82);border:1px solid var(--goldd);border-radius:.3rem;padding:.5rem .6rem;font-size:.8rem}
.hs .pc .nm{font:700 .9rem var(--print)}
.hs .mini{height:.55rem;border-radius:.2rem;background:#2a2a33;overflow:hidden;margin:.2rem 0}.hs .mini i{display:block;height:100%}
.hs .mini.hp i{background:linear-gradient(90deg,#3f9a3a,#7fd06a)}.hs .mini.mp i{background:linear-gradient(90deg,#2f5fae,#6fa8ff)}
.hs .cmds{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}
.hs .cmds .btn{justify-content:center;padding:.65rem .3rem}
@media(max-width:700px){.hs .cmds{grid-template-columns:repeat(3,1fr)}.hs .party{grid-template-columns:1fr}.hs .arena{min-height:0}}
.hs .log{list-style:none;margin:0;padding:0;font:.82rem/1.35 system-ui;max-height:14rem;overflow:auto}
.hs .log li{padding:.22rem 0;border-bottom:1px solid #24242c}.hs .log .r{color:var(--muted);font-size:.7rem;margin-right:.35rem}
.hs .log .crit{color:#ffcf8a;font-weight:700}.hs .log .bad{color:#ff9c86}.hs .log .good{color:#9fd18b}.hs .log .sys{color:#9cc3ff}
/* ——— Explore map ——— */
.hs .mapwrap{overflow:auto}
.hs .tiles{display:grid;grid-template-columns:repeat(14,minmax(1.65rem,1fr));gap:2px;background:#0b0a0d;padding:2px;border:1px solid var(--goldd);border-radius:.25rem}
.hs .tl{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-size:.95rem}
.hs .tl .ic{width:62%;height:62%}
.hs .tl.fog{background:#15141a repeating-linear-gradient(45deg,#17161c 0 4px,#121116 4px 8px)!important;color:transparent}
.hs .tl.road{background:#6b5a3e}.hs .tl.marsh{background:#33503d}.hs .tl.reed{background:#4d6a3a}.hs .tl.water{background:#25475e}.hs .tl.wood{background:#2f4a2b}.hs .tl.ruin{background:#4c4842}.hs .tl.hill{background:#5d5546}
.hs .tl.seen{filter:brightness(.62) saturate(.7)}
.hs .tl.cand{box-shadow:inset 0 0 0 2px rgba(255,180,80,.75)}
.hs .tl.cand::after{content:"?";position:absolute;right:2px;top:0;font:800 .6rem system-ui;color:#ffcf8a}
.hs .tl.searched{box-shadow:inset 0 0 0 2px rgba(160,160,160,.5)}
.hs .tl.searched::after{content:"✕";position:absolute;right:2px;top:0;font:800 .55rem system-ui;color:#ccc}
.hs .tl.hero{box-shadow:inset 0 0 0 3px #fff3dc,0 0 12px rgba(255,220,150,.8);z-index:2}
.hs .tl.path{outline:2px dashed rgba(255,243,220,.6);outline-offset:-5px}
.hs .tl .pin{position:absolute;inset:auto auto 2px 2px;font:700 .5rem system-ui;color:#fff3dc}
.hs .maplegend{display:flex;gap:.5rem 1rem;flex-wrap:wrap;font-size:.74rem;color:var(--muted);margin-top:.6rem}
.hs .maplegend span{display:inline-flex;align-items:center;gap:.3rem}
.hs .maplegend i{display:inline-block;width:.9rem;height:.9rem;border-radius:2px}
.hs .clues{display:flex;gap:.4rem}.hs .clues .c{flex:1;border:1px solid var(--goldd);border-radius:.25rem;padding:.4rem;font-size:.74rem;background:#121117}
.hs .clues .c.got{border-color:var(--goldb);background:#2b2416}.hs .clues .c b{display:block;color:var(--goldb);font-size:.7rem}
/* ——— Leaderboard ——— */
.hs table.board{width:100%;border-collapse:collapse;font-size:.85rem}
.hs table.board th{font:700 .64rem system-ui;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--goldd)}
.hs table.board td{padding:.42rem .4rem;border-bottom:1px solid #24242c}
.hs table.board td.n{text-align:right;font-variant-numeric:tabular-nums}
.hs table.board tr.you td{background:rgba(166,124,42,.16)}
.hs table.board .rk{font:700 .9rem var(--print);color:var(--goldb);width:2rem}
.hs .lvb{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;border-radius:50%;font:800 .68rem system-ui;background:linear-gradient(180deg,#d4a84b,#6b4e14);color:#1a1206;margin-right:.35rem}
.hs .share{height:.4rem;background:#2a2a33;border-radius:.2rem;overflow:hidden;min-width:3rem}.hs .share i{display:block;height:100%;background:linear-gradient(90deg,#c43a1f,#f0a030)}
.hs .hof{list-style:none;margin:0;padding:0;font-size:.82rem}
.hs .hof li{display:grid;grid-template-columns:2.2rem 1fr;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #24242c}
.hs .hof .sn{font:700 1rem var(--print);color:var(--goldb);text-align:center;border:1px solid var(--goldd);border-radius:.25rem;height:2.2rem;line-height:2.2rem}
.hs .tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.7rem}.hs .tabs a{font:600 .78rem system-ui;padding:.35rem .6rem;border-radius:.25rem;border:1px solid #3a3a46;color:var(--muted);text-decoration:none}.hs .tabs a.on{border-color:var(--goldb);color:var(--goldb);background:#2b2416}
.hs .note-ex{font-size:.72rem;color:var(--muted);margin:.6rem 0 0}
.hs .topbar{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.hs .crumbs{font-size:.8rem;color:var(--muted)}.hs .crumbs a{color:var(--goldb);text-decoration:none}
.hs .vig{display:inline-flex;align-items:center;gap:.35rem;font:700 .82rem system-ui;padding:.35rem .6rem;border:1px solid var(--goldd);border-radius:1rem;background:#121117}
.hs .vig .ic{color:var(--amber)}
@media(max-width:600px){.hs{font-size:14px}.hs .banner h1{font-size:1.45rem}.hs .seals{gap:.25rem}.hs .seal{font-size:.75rem}.hs .seal .ic{font-size:.65rem}.hs .fields{grid-template-columns:1fr 1fr}
 .hs .doll{grid-template-columns:minmax(0,1fr) 3.6rem minmax(0,1fr);gap:.28rem .3rem}.hs .slot .sq{width:1.8rem;height:1.8rem}.hs .slot .in{font-size:.68rem}.hs .slot .ab{font-size:.6rem}
 .hs .boss-bar .por{width:3.6rem;height:3.6rem}.hs .tiles{grid-template-columns:repeat(14,1.45rem)}.hs .paper{padding:.8rem}}

.hs .abar.b5{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:600px){.hs .abar.b5{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ——— Live app additions (not in the mockups) ——— */
.hs .ic{--i:none}
.hs a{color:var(--goldb)}
.hs .boss-bar .por{background-size:cover;background-position:center}
.hs .btn:hover:not([disabled]){border-color:var(--goldb)}
.hs .btn.sm{padding:.35rem .55rem;font-size:.75rem}
.hs .btn.ghost{background:transparent}
.hs .btn.wide{width:100%;justify-content:center}
.hs .warn{border:1px solid var(--emh);background:rgba(90,18,16,.45);border-radius:.3rem;padding:.55rem .75rem;font-size:.84rem}
.hs .okbox{border:1px solid #3f8a3a;background:rgba(40,80,40,.35);border-radius:.3rem;padding:.55rem .75rem;font-size:.84rem}
.hs .preview{border:1px dashed var(--amber);color:#ffd9a0;background:rgba(240,160,48,.1);border-radius:.3rem;padding:.45rem .7rem;font-size:.8rem;margin-bottom:.8rem}
.hs .tabs button{font:600 .78rem system-ui;padding:.35rem .6rem;border-radius:.25rem;border:1px solid #3a3a46;color:var(--muted);background:transparent;cursor:pointer}
.hs .tabs button.on{border-color:var(--goldb);color:var(--goldb);background:#2b2416}
.hs .tabs button .dot{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:#ff5a2a;margin-left:.3rem;vertical-align:.1rem}
.hs-toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:60;max-width:min(36rem,92vw);background:#16161c;border:1px solid var(--goldb);color:var(--parch);border-radius:.4rem;padding:.65rem .9rem;box-shadow:0 10px 30px rgba(0,0,0,.6);font:.86rem/1.35 system-ui}
.hs-toast.err{border-color:var(--emh);color:#ffd9c2}
.hs-toast ul{margin:.2rem 0 0;padding-left:1.1rem}
.hs-modal{position:fixed;inset:0;z-index:55;background:rgba(5,5,8,.72);display:flex;align-items:center;justify-content:center;padding:1rem}
.hs-modal>.pane{max-width:30rem;width:100%;max-height:88vh;overflow:auto}
.hs-modal[hidden],.hs-toast[hidden],.hs [hidden]{display:none!important}
.hs .tl{cursor:pointer;border:0;padding:0;font:inherit}
.hs .tl:focus-visible{outline:2px solid var(--goldb);outline-offset:-2px}
.hs .tl.grass{background:#4b6b34}.hs .tl.market,.hs .tl.camp,.hs .tl.cache,.hs .tl.shrine,.hs .tl.clue,.hs .tl.elite{background:#6b5a3e}
.hs .tl.elite{background:#5a2a22}.hs .tl.shrine{background:#6b6040}.hs .tl.clue{background:#5d5546}
.hs .tl.done{opacity:.55}.hs .tl.lair{box-shadow:inset 0 0 0 3px #ff5a2a,0 0 12px rgba(255,90,42,.7)}
.hs .tl.lair::after{content:"!";position:absolute;right:2px;top:0;font:900 .65rem system-ui;color:#ffcf8a}
.hs .tl.water{cursor:not-allowed}
.hs .tl .hero-i{position:absolute;inset:12%;color:#fff3dc;filter:drop-shadow(0 1px 2px #000)}
.hs .here{display:flex;gap:.6rem;align-items:flex-start}
.hs .here .ic{font-size:1.8rem;color:var(--goldb)}
.hs .acts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}
.hs .kv{display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;font-size:.82rem}.hs .kv b{color:var(--parch)}
.hs .seal{cursor:pointer;text-decoration:none}
.hs .seal.here-s{outline:2px solid #fff3dc;outline-offset:2px}
.hs .seal .lb{position:absolute;top:2px;right:3px;font:800 .5rem system-ui;color:#ffcf8a}
.hs .slot{cursor:pointer;text-align:left;width:100%;font:inherit}
.hs .slot:hover{border-color:rgba(91,70,50,.8)}
.hs .slot .sq .ic{--i:none}
.hs .bag .slot .ops{margin-left:auto;display:flex;gap:.25rem}
.hs .paper .btn{border-color:rgba(91,70,50,.6);background:rgba(255,251,238,.55);color:#3a2a1a}
.hs .paper .btn.primary{background:linear-gradient(180deg,var(--emh),var(--em));color:#fff3dc}
.hs .attr .pm{display:flex;gap:.2rem;justify-content:center;margin-top:.15rem}
.hs .attr .pm button{width:1.5rem;height:1.4rem;border-radius:.2rem;border:1px solid rgba(91,70,50,.6);background:rgba(255,251,238,.6);cursor:pointer;font:700 .8rem system-ui;color:#3a2a1a;padding:0}
.hs .attr .gear{font:.62rem system-ui;color:#2f6b2a}
.hs .portraits{display:flex;gap:.5rem;flex-wrap:wrap}
.hs .portraits button{width:3.2rem;height:3.2rem;border-radius:.35rem;border:2px solid rgba(91,70,50,.45);background:#2b2620;color:#e8dfc8;cursor:pointer;display:flex;align-items:center;justify-content:center}
.hs .portraits button.on{border-color:var(--emh);box-shadow:0 0 0 2px rgba(196,58,31,.35)}
.hs .portraits .ic{font-size:1.8rem}
.hs input.pen-in{font-family:var(--pencil);font-size:1.3rem;border:0;border-bottom:1px solid rgba(72,94,126,.52);background:transparent;color:#3a3a3d;width:100%;padding:.1rem .2rem}
.hs input.pen-in:focus{outline:none;border-bottom-color:var(--em)}
.hs .shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem}
.hs .ware{display:flex;gap:.5rem;align-items:center;border:1px solid #2f2f3a;border-radius:.3rem;padding:.45rem;background:#121117}
.hs .ware .sq{flex:none;width:2.3rem;height:2.3rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;background:#2b2620;border:2px solid var(--rc,#777);color:var(--rc,#ccc)}
.hs .ware .sq .ic{font-size:1.3rem}
.hs .ware .tx{min-width:0;flex:1;line-height:1.2;font-size:.78rem}
.hs .ware .tx b{display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs .ware .tx small{display:block;color:var(--muted);font-size:.7rem}
.hs .ware .req{color:#ff9c86;font-weight:700;font-size:.68rem}
.hs .foe .art{background-size:contain;background-position:center;border-radius:.3rem}
.hs .foe .art.photo{background-size:cover;border:2px solid var(--goldd);aspect-ratio:4/3;width:15rem;filter:drop-shadow(0 10px 16px rgba(0,0,0,.85)) sepia(.15)}
.hs .foe .art.icon{background:none;display:flex;align-items:center;justify-content:center;width:8rem;aspect-ratio:1}
.hs .foe .art.icon .ic{font-size:6rem;color:#e8dfc8}
.hs .foe .nm{font:700 1.15rem var(--print);text-shadow:0 2px 6px #000;text-align:center}
.hs .foe .nm small{display:block;font:italic .78rem var(--print);color:#e6dcc4}
.hs .foe .hpbar{width:min(26rem,100%)}
.hs .ab-s{cursor:pointer;text-align:left;font:inherit}
.hs .ab-s[disabled]{cursor:not-allowed;opacity:.55}
.hs .ab-s .what{font:.6rem/1.15 system-ui;color:#e6dcc4}
.hs .result{font:700 1.05rem var(--print);color:var(--goldb);text-align:center;margin:.3rem 0}
.hs .chip{display:inline-flex;align-items:center;gap:.25rem;font:700 .64rem system-ui;padding:.2rem .4rem;border-radius:.2rem;background:rgba(13,13,16,.8);border:1px solid #3a3a46}
.hs .chip.bad{color:#ff9c86;border-color:#6a2a20}.hs .chip.good{color:#9fd18b;border-color:#2f5a2a}
.hs .credits li{margin:.35rem 0;font-size:.85rem}
.hs .empty{color:var(--muted);font-size:.85rem;padding:.6rem 0}
.hs .gate{text-align:center;padding:1.4rem}
.hs .gate .row{justify-content:center}
.hs .small{font-size:.75rem}
.hs .help{font-size:.76rem;color:var(--muted);margin:.4rem 0 0}
@media(max-width:600px){.hs .foe .art.photo{width:11rem}.hs .cmds .btn{font-size:.75rem}.hs .shop{grid-template-columns:1fr}.hs .bag{grid-template-columns:1fr}}
/* mobile safety: panes and grids never push wider than the screen */
.hs .pane,.hs .grid2>*{min-width:0;max-width:100%}
.hs .mapwrap{max-width:100%;overflow-x:auto}
.hs .clues .c{min-width:0;overflow-wrap:anywhere}
