.z3rpg.z3rpg{position:relative;--bg:#14213d;--fg:#dfe6f0;--dim:#8d9ab0;--accent:#ffcf5c;--rule:rgba(223,230,240,.14);
 --font:"IBM Plex Mono","JetBrains Mono","Cascadia Mono",ui-monospace,Menlo,Consolas,monospace;
 display:flex;flex-direction:column;height:var(--z3rpg-h,calc(100vh - 24px));min-height:420px;max-width:100%;margin:12px 0;
 background:var(--bg);color:var(--fg);font:15px/1.6 var(--font);border-radius:4px;overflow:hidden;text-align:left;text-transform:none;letter-spacing:normal}
.z3rpg.z3rpg *,.z3rpg.z3rpg *:before,.z3rpg.z3rpg *:after{box-sizing:border-box}
.z3rpg.z3rpg[data-theme=amber]{--bg:#1a1003;--fg:#ffb641;--dim:#a8782b;--accent:#ffe0a3;--rule:rgba(255,182,65,.18)}
.z3rpg.z3rpg[data-theme=green]{--bg:#06140a;--fg:#5cf07a;--dim:#2f9a48;--accent:#c8ffd2;--rule:rgba(92,240,122,.18)}
.z3rpg.z3rpg[data-theme=blue]{--bg:#2c2a8e;--fg:#c9c6ff;--dim:#8d89e0;--accent:#ffffff;--rule:rgba(201,198,255,.2)}
.z3rpg.z3rpg[data-theme=paper]{--bg:#fbf8f0;--fg:#222019;--dim:#716b5c;--accent:#1f4e8c;--rule:rgba(34,32,25,.15)}
.z3rpg.z3rpg[data-theme=sepia]{--bg:#f1e3c2;--fg:#3b2a14;--dim:#7d6647;--accent:#9b3412;--rule:rgba(59,42,20,.18)}
.z3rpg.z3rpg[data-theme=contrast]{--bg:#000;--fg:#fff;--dim:#c8c8c8;--accent:#ffe600;--rule:rgba(255,255,255,.35)}
.z3rpg.z3rpg[data-theme=forest]{--bg:#1c3322;--fg:#e6f0dc;--dim:#98b38c;--accent:#f2c230;--rule:rgba(230,240,220,.16)}
.z3rpg.z3rpg[data-font=typewriter]{--font:"Courier New",Courier,"Nimbus Mono PS",monospace}
.z3rpg.z3rpg[data-font=sans]{--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.z3rpg.z3rpg[data-font=humanist]{--font:"Trebuchet MS","Gill Sans","Gill Sans MT","Lucida Grande",Calibri,sans-serif}
.z3rpg.z3rpg[data-font=serif]{--font:Georgia,Cambria,"Times New Roman",serif}
.z3rpg.z3rpg[data-font=book]{--font:"Palatino Linotype",Palatino,"Book Antiqua","URW Palladio L",serif}
.z3rpg.z3rpg[data-font=clear]{--font:Verdana,Tahoma,"DejaVu Sans",sans-serif}
.z3rpg.z3rpg[data-font=friendly]{--font:"Comic Sans MS","Comic Sans","Chalkboard SE","Comic Neue",cursive,sans-serif}
.z3rpg.z3rpg[data-size=small]{font-size:13px}
.z3rpg.z3rpg[data-size=large]{font-size:18px}
.z3rpg.z3rpg[data-size=xlarge]{font-size:21px}
.z3rpg.z3rpg[data-width=narrow]{max-width:640px;margin-left:auto;margin-right:auto}
.z3rpg.z3rpg[data-width=medium]{max-width:820px;margin-left:auto;margin-right:auto}
.z3rpg.z3rpg[data-width=wide]{max-width:1040px;margin-left:auto;margin-right:auto}
.z3rpg.z3rpg.has-side[data-width=narrow]{max-width:1140px}
.z3rpg.z3rpg.has-side[data-width=medium]{max-width:1320px}
.z3rpg.z3rpg.has-side[data-width=wide]{max-width:1540px}

/* sidebar colours: attribute bars, good/bad standing. Retro terminal themes stay single-colour. */
.z3rpg.z3rpg{--good:#6fdc9a;--bad:#ff8a80;--c1:#ff8f8f;--c2:#7db8ff;--c3:#7ee0a3;--c4:#ffd166;--c5:#c7a0ff;--c6:#ffa65c}
.z3rpg.z3rpg[data-theme=paper],.z3rpg.z3rpg[data-theme=sepia]{--good:#1e7d4c;--bad:#b3261e;--c1:#c0392b;--c2:#1f6fb8;--c3:#1e8a52;--c4:#a8740a;--c5:#7a4bbd;--c6:#c25b12}
.z3rpg.z3rpg[data-theme=amber],.z3rpg.z3rpg[data-theme=green]{--good:var(--accent);--bad:#ff6a4d;--c1:var(--accent);--c2:var(--accent);--c3:var(--accent);--c4:var(--accent);--c5:var(--accent);--c6:var(--accent)}
.z3rpg.z3rpg[data-theme=contrast]{--good:#3dff7a;--bad:#ff5c5c;--c1:#ff6b6b;--c2:#5cc8ff;--c3:#3dff7a;--c4:#ffe600;--c5:#d59bff;--c6:#ffa033}
/* title-bar chips */
.z3rpg.z3rpg .z3rpg-stats{display:flex;align-items:center;gap:1.1em}
.z3rpg.z3rpg .z3rpg-chip{display:inline-flex;align-items:center;gap:.4em;font-weight:600}
.z3rpg.z3rpg .z3rpg-chip svg{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.z3rpg.z3rpg.is-narrow .z3rpg-chip.opt,.z3rpg.z3rpg.is-compact .z3rpg-chip.opt{display:none}

/* theme reset: stop the site theme restyling anything inside the game */
.z3rpg.z3rpg h4,.z3rpg.z3rpg p,.z3rpg.z3rpg ul,.z3rpg.z3rpg li,.z3rpg.z3rpg aside,.z3rpg.z3rpg label{margin:0;padding:0;border:0;background:none;text-transform:none;letter-spacing:normal;float:none}
.z3rpg.z3rpg ul{list-style:none}
.z3rpg.z3rpg button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;cursor:pointer;font:inherit;color:inherit;line-height:1.5;text-transform:none;letter-spacing:normal}
.z3rpg.z3rpg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* title bar */
.z3rpg.z3rpg .z3rpg-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5em;padding:.3em 1em;background:var(--fg);color:var(--bg);font-weight:600;white-space:nowrap;flex:none}
.z3rpg.z3rpg .z3rpg-room{flex:1;overflow:hidden;text-overflow:ellipsis}
.z3rpg.z3rpg .z3rpg-bar.bar-tight .z3rpg-chip.opt{display:none}
.z3rpg.z3rpg .z3rpg-bar.bar-tight .z3rpg-stats{gap:.7em}
.z3rpg.z3rpg .z3rpg-bar.bar-wrap{flex-wrap:wrap;row-gap:.25em}
.z3rpg.z3rpg .z3rpg-btn{flex:none;margin:0;padding:.05em .55em;background:transparent;color:inherit;border:1.5px solid currentColor;border-radius:4px;font-size:.85em;line-height:1.5;opacity:.85}
.z3rpg.z3rpg .z3rpg-btn:hover,.z3rpg.z3rpg .z3rpg-btn[aria-expanded=true],.z3rpg.z3rpg .z3rpg-btn[aria-pressed=true]{opacity:1;background:var(--bg);color:var(--fg);border-color:var(--bg)}
.z3rpg.z3rpg .z3rpg-sidebtn,.z3rpg.z3rpg .z3rpg-packbtn{margin:0}
.z3rpg.z3rpg.is-narrow .z3rpg-bar{flex-wrap:wrap;row-gap:.25em}

/* body: two sidebars and the play column. Only the play column scrolls. */
.z3rpg.z3rpg .z3rpg-body{flex:1;display:flex;min-height:0;position:relative}
.z3rpg.z3rpg .z3rpg-col{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}
.z3rpg.z3rpg .z3rpg-side{flex:0 0 clamp(236px,19vw,288px);width:clamp(236px,19vw,288px);display:flex;flex-direction:column;gap:.55em;padding:.6em .65em;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;font-size:.88em;background:var(--bg)}
.z3rpg.z3rpg .z3rpg-side::-webkit-scrollbar{display:none}
.z3rpg.z3rpg .z3rpg-side.left{border-right:1px solid var(--rule)}
.z3rpg.z3rpg .z3rpg-side.right{border-left:1px solid var(--rule)}
.z3rpg.z3rpg.no-side .z3rpg-side.left,.z3rpg.z3rpg.no-pack .z3rpg-side.right{display:none}
.z3rpg.z3rpg .z3rpg-card{flex:none;border:1px solid var(--rule);border-radius:9px;padding:.5em .6em .6em;min-width:0;background:rgba(127,127,127,.07)}
.z3rpg.z3rpg .z3rpg-card.grow{flex:1 1 5em;min-height:5.5em;display:flex;flex-direction:column}
.z3rpg.z3rpg .z3rpg-side.no-here .z3rpg-here,.z3rpg.z3rpg .z3rpg-side.no-skills .z3rpg-skillcard,.z3rpg.z3rpg .z3rpg-side.no-notes .z3rpg-card.grow{display:none}
.z3rpg.z3rpg .z3rpg-card h4,.z3rpg.z3rpg .z3rpg-side h4{display:flex;align-items:center;gap:.5em;margin:0 0 .5em;font:inherit;font-size:.76em;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-card h4>span{flex:1;min-width:0}
.z3rpg.z3rpg .z3rpg-card h4 svg{flex:none;width:1.9em;height:1.9em;padding:.38em;border-radius:7px;background:var(--rule);color:var(--accent);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.z3rpg.z3rpg .z3rpg-hb{flex:none;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--fg);font-size:1.05em}
.z3rpg.z3rpg .z3rpg-hb:empty{display:none}
/* shared bits */
.z3rpg.z3rpg .z3rpg-chipic{flex:none;display:grid;place-items:center;width:2em;height:2em;border-radius:7px;background:color-mix(in srgb,var(--c,var(--accent)) 20%,transparent);color:var(--c,var(--accent))}
.z3rpg.z3rpg .z3rpg-chipic svg,.z3rpg.z3rpg .z3rpg-sic svg,.z3rpg.z3rpg .z3rpg-ho i svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.z3rpg.z3rpg .z3rpg-xpbar{height:.75em;margin:.55em 0 .2em;background:var(--rule);border-radius:99px;overflow:hidden}
.z3rpg.z3rpg .z3rpg-xpbar.thin{height:.45em;margin:.4em 0 0}
.z3rpg.z3rpg .z3rpg-xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--c,var(--accent)) 70%,var(--bg)),var(--c,var(--accent)));border-radius:99px;transition:width .5s ease}
.z3rpg.z3rpg .z3rpg-none{color:var(--dim);font-style:italic}
/* map card: a landscape window, never a tall strip */
.z3rpg.z3rpg .z3rpg-maphead{display:flex;align-items:center;justify-content:space-between;gap:.5em;margin-bottom:.45em}
.z3rpg.z3rpg .z3rpg-maphead h4{margin:0;flex:1}
.z3rpg.z3rpg .z3rpg-mapbtn{margin:0;padding:0 .6em;background:transparent;color:var(--accent);border:1px solid var(--rule);border-radius:99px;font-size:.78em;line-height:1.8}
.z3rpg.z3rpg .z3rpg-mapbtn:hover{border-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-mapcard{flex:1 1 11em;min-height:7em;max-height:17em;display:flex;flex-direction:column}
.z3rpg.z3rpg .z3rpg-map{flex:1;min-height:0;overflow:auto;border:1px solid var(--rule);border-radius:7px;scrollbar-width:none;cursor:zoom-in;background-color:rgba(0,0,0,.14);background-image:radial-gradient(var(--rule) 1px,transparent 1.2px);background-size:14px 14px}
.z3rpg.z3rpg .z3rpg-map::-webkit-scrollbar{display:none}
.z3rpg.z3rpg .z3rpg-map svg{display:block;margin:auto}
.z3rpg.z3rpg .z3rpg-mapsvg .ln{stroke:var(--dim);stroke-width:2.5;stroke-linecap:round;opacity:.7}
.z3rpg.z3rpg .z3rpg-mapsvg .st{stroke:var(--dim);stroke-width:2;stroke-dasharray:3 3;opacity:.7}
.z3rpg.z3rpg .z3rpg-mapsvg .q{fill:var(--dim);font-size:10px;text-anchor:middle}
.z3rpg.z3rpg .z3rpg-mapsvg .n{fill:var(--bg);stroke:var(--dim);stroke-width:2}
.z3rpg.z3rpg .z3rpg-mapsvg .n.here{stroke:var(--accent);stroke-width:3.5;fill:color-mix(in srgb,var(--accent) 22%,var(--bg))}
.z3rpg.z3rpg .z3rpg-mapsvg .pulse{fill:none;stroke:var(--accent);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:z3rpg-pulse 2s ease-out infinite}
@keyframes z3rpg-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.z3rpg.z3rpg .z3rpg-mapsvg .pulse{animation:none;opacity:.35}}
.z3rpg.z3rpg .z3rpg-mapsvg .ic{font-size:13px;text-anchor:middle}
.z3rpg.z3rpg .z3rpg-mapsvg .lb{fill:var(--fg);font-size:10px;text-anchor:middle;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.z3rpg.z3rpg .z3rpg-mapsvg .lb.here{fill:var(--accent);font-weight:700}
/* surroundings: compass + who/what is here */
.z3rpg.z3rpg .z3rpg-herebox{display:flex;align-items:center;gap:.6em}
.z3rpg.z3rpg .z3rpg-compass{flex:none;width:4.6em;height:4.6em}
.z3rpg.z3rpg .z3rpg-compass .ring{fill:none;stroke:var(--rule);stroke-width:1.5}
.z3rpg.z3rpg .z3rpg-compass path.off{fill:var(--rule)}
.z3rpg.z3rpg .z3rpg-compass path.on{fill:var(--accent)}
.z3rpg.z3rpg .z3rpg-compass .nt{fill:var(--dim);font-size:8px;font-weight:700;text-anchor:middle;font-family:system-ui,sans-serif}
.z3rpg.z3rpg .z3rpg-compass .hub{fill:var(--bg);stroke:var(--dim);stroke-width:1}
.z3rpg.z3rpg .z3rpg-herelist{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2em}
.z3rpg.z3rpg .z3rpg-ho{display:flex;align-items:center;gap:.45em;min-width:0}
.z3rpg.z3rpg .z3rpg-ho i{flex:none;font-style:normal;width:1.4em;text-align:center;line-height:1}
.z3rpg.z3rpg .z3rpg-ho.npc i{color:var(--accent)}
.z3rpg.z3rpg .z3rpg-ho.way i{color:var(--dim)}
.z3rpg.z3rpg .z3rpg-ho span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-ho.more{color:var(--dim);padding-left:1.9em}
.z3rpg.z3rpg .z3rpg-ho img{width:1.3em;height:1.3em;object-fit:cover;border-radius:3px}
/* character card: portrait inside an XP ring */
.z3rpg.z3rpg .z3rpg-char{display:flex;align-items:center;gap:.75em;min-width:0;margin-bottom:.35em}
.z3rpg.z3rpg .z3rpg-picwrap{position:relative;flex:none;width:4.1em;height:4.1em}
.z3rpg.z3rpg .z3rpg-ring{position:absolute;inset:0;width:100%;height:100%}
.z3rpg.z3rpg .z3rpg-ring circle{fill:none;stroke-width:3}
.z3rpg.z3rpg .z3rpg-ring .bg{stroke:var(--rule)}
.z3rpg.z3rpg .z3rpg-ring .fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.z3rpg.z3rpg .z3rpg-pic{position:absolute;inset:13%;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:var(--accent);background:var(--rule)}
.z3rpg.z3rpg .z3rpg-pic img{width:100%;height:100%;object-fit:cover;display:block}
.z3rpg.z3rpg .z3rpg-pic svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.z3rpg.z3rpg .z3rpg-lv{position:absolute;left:50%;bottom:-.45em;transform:translateX(-50%);padding:0 .5em;border-radius:99px;background:var(--accent);color:var(--bg);font-weight:800;font-size:.72em;line-height:1.55;letter-spacing:.05em;white-space:nowrap;border:2px solid var(--bg)}
.z3rpg.z3rpg .z3rpg-cmeta{flex:1;min-width:0}
.z3rpg.z3rpg .z3rpg-who{font-weight:700;font-size:1.12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-role{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-charcard .z3rpg-xpbar{margin-top:.8em}
.z3rpg.z3rpg .z3rpg-xplabel{display:flex;justify-content:space-between;gap:.5em;color:var(--dim);font-size:.9em}
.z3rpg.z3rpg .z3rpg-xplabel b{color:var(--fg);font-weight:700}
/* attributes: icon, segmented bar, value */
.z3rpg.z3rpg .z3rpg-attrs{display:flex;flex-direction:column;gap:.5em}
.z3rpg.z3rpg .z3rpg-attr{display:flex;align-items:center;gap:.6em}
.z3rpg.z3rpg .z3rpg-am{flex:1;min-width:0}
.z3rpg.z3rpg .z3rpg-am>span{display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-attr>b{flex:none;min-width:1.4em;text-align:right;font-size:1.3em;line-height:1;color:var(--c,var(--accent))}
.z3rpg.z3rpg .z3rpg-seg{display:flex;gap:2px;margin-top:.3em}
.z3rpg.z3rpg .z3rpg-seg i{flex:1;height:.55em;border-radius:2px;background:var(--rule)}
.z3rpg.z3rpg .z3rpg-seg i.on{background:var(--c,var(--accent))}
.z3rpg.z3rpg .z3rpg-attr .z3rpg-xpbar{margin:.3em 0 0}
/* skills */
.z3rpg.z3rpg .z3rpg-skill{display:flex;align-items:center;gap:.5em;padding:.14em 0}
.z3rpg.z3rpg .z3rpg-sic{flex:none;display:grid;place-items:center;color:var(--accent);opacity:.9}
.z3rpg.z3rpg .z3rpg-sn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-skill .pips{display:flex;gap:2px;flex:none;font-style:normal}
.z3rpg.z3rpg .z3rpg-skill .pips i{width:.36em;height:.8em;border-radius:2px;background:var(--rule)}
.z3rpg.z3rpg .z3rpg-skill .pips i.on{background:var(--accent)}
.z3rpg.z3rpg .z3rpg-skill>b{flex:none;width:1.3em;text-align:right;font-weight:700}
/* equipment slots */
.z3rpg.z3rpg .z3rpg-slots{display:grid;grid-template-columns:1fr 1fr;gap:.4em}
.z3rpg.z3rpg .z3rpg-slot{display:flex;align-items:center;gap:.5em;min-width:0;padding:.4em .45em;border:1px dashed var(--rule);border-radius:8px;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-slot.on{border:1px solid var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.z3rpg.z3rpg .z3rpg-sico{flex:none;display:grid;place-items:center;width:2.2em;height:2.2em;border-radius:7px;background:var(--rule);font-size:1.15em;line-height:1}
.z3rpg.z3rpg .z3rpg-slot.on .z3rpg-sico{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.z3rpg.z3rpg .z3rpg-sico svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.z3rpg.z3rpg .z3rpg-sico img,.z3rpg.z3rpg .z3rpg-it img{width:1.4em;height:1.4em;object-fit:cover;border-radius:3px}
.z3rpg.z3rpg .z3rpg-sname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}
.z3rpg.z3rpg .z3rpg-sname small{display:block;font-size:.76em;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}
/* pack: a grid of item tiles, empty cells included */
.z3rpg.z3rpg .z3rpg-pack{display:grid;grid-template-columns:repeat(4,1fr);gap:.4em}
.z3rpg.z3rpg .z3rpg-it{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1em;min-width:0;aspect-ratio:1/1;padding:.15em;border:1px solid var(--rule);border-radius:8px;text-align:center;background:rgba(127,127,127,.08)}
.z3rpg.z3rpg .z3rpg-it.empty{border-style:dashed;background:none;opacity:.55}
.z3rpg.z3rpg .z3rpg-it b{font-size:1.6em;line-height:1.1;font-weight:400}
.z3rpg.z3rpg .z3rpg-it span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7em;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-it.worn{border-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-it.worn:after{content:"";position:absolute;top:.3em;right:.3em;width:.55em;height:.55em;border-radius:50%;background:var(--accent)}
/* quests */
.z3rpg.z3rpg .z3rpg-q{padding:.35em 0 .5em;border-bottom:1px dotted var(--rule)}
.z3rpg.z3rpg .z3rpg-q:last-child{border:0;padding-bottom:0}
.z3rpg.z3rpg .z3rpg-qh{display:flex;align-items:center;gap:.55em}
.z3rpg.z3rpg .z3rpg-qt{flex:1;min-width:0;line-height:1.3}
.z3rpg.z3rpg .z3rpg-qt strong{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-qt small{display:block;color:var(--dim);font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-qh em{flex:none;font-style:normal;font-weight:700;color:var(--accent)}
.z3rpg.z3rpg .z3rpg-q.failed{--c:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-q.failed .z3rpg-qh em{color:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-q.failed .z3rpg-qt strong{text-decoration:line-through;opacity:.7}
.z3rpg.z3rpg .z3rpg-xpbar.mana{--c:#5b9bd5}
.z3rpg.z3rpg .z3rpg-states{display:flex;flex-wrap:wrap;gap:.3em;margin:.5em 0 .1em}
.z3rpg.z3rpg .z3rpg-state{font-size:.72em;padding:.15em .55em;border-radius:99px;border:1px solid var(--rule);color:var(--dim)}
.z3rpg.z3rpg .z3rpg-state.bad{color:var(--bad,#c0504d);border-color:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-spells{display:grid;gap:.3em}
.z3rpg.z3rpg .z3rpg-spell{display:flex;align-items:center;gap:.5em;width:100%;padding:.3em .5em;background:transparent;border:1px solid var(--rule);border-radius:7px;color:var(--fg);font:inherit;cursor:pointer;text-align:left}
.z3rpg.z3rpg .z3rpg-spell:hover{border-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-spell.off{opacity:.5}
.z3rpg.z3rpg .z3rpg-spell b{font-weight:400}
.z3rpg.z3rpg .z3rpg-spell span{flex:1}
.z3rpg.z3rpg .z3rpg-spell em{font-style:normal;font-size:.75em;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-ho.foe i,.z3rpg.z3rpg .z3rpg-ho.foe span{color:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-xpbar.hp{--c:var(--good)}
.z3rpg.z3rpg .z3rpg-xpbar.hp.low{--c:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-hplabel{font-size:.78em;color:var(--dim);margin-top:.5em;letter-spacing:.06em}
.z3rpg.z3rpg .z3rpg-chip.low{color:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-grp button.danger{border-color:var(--bad,#c0504d);color:var(--bad,#c0504d)}
.z3rpg.z3rpg .z3rpg-fig{margin:0 0 1em;text-align:center}
.z3rpg.z3rpg .z3rpg-fig img{max-width:100%;max-height:34vh;border-radius:8px;border:1px solid var(--rule);object-fit:contain}
.z3rpg.z3rpg .z3rpg-q.done{--c:var(--good)}
.z3rpg.z3rpg .z3rpg-q.done .z3rpg-qh em{color:var(--good)}
.z3rpg.z3rpg .z3rpg-q.done .z3rpg-qt strong{text-decoration:line-through;text-decoration-color:var(--dim);opacity:.8}
/* standing: bars that grow from the centre, red one way and green the other */
.z3rpg.z3rpg .z3rpg-rep{display:grid;grid-template-columns:1fr auto;gap:0 .5em;padding:.2em 0 .3em}
.z3rpg.z3rpg .z3rpg-rep span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.z3rpg.z3rpg .z3rpg-rep b{font-weight:700;min-width:2em;text-align:right;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-rep b.pos{color:var(--good)}
.z3rpg.z3rpg .z3rpg-rep b.neg{color:var(--bad)}
.z3rpg.z3rpg .z3rpg-rbar{grid-column:1/-1;position:relative;height:.55em;margin-top:.3em;background:var(--rule);border-radius:99px}
.z3rpg.z3rpg .z3rpg-rbar:before{content:"";position:absolute;left:50%;top:-.15em;bottom:-.15em;width:2px;margin-left:-1px;background:var(--dim);opacity:.7;border-radius:2px}
.z3rpg.z3rpg .z3rpg-rbar i{position:absolute;top:0;bottom:0;border-radius:99px}
.z3rpg.z3rpg .z3rpg-rbar i.pos{left:50%;background:var(--good);border-radius:0 99px 99px 0}
.z3rpg.z3rpg .z3rpg-rbar i.neg{right:50%;background:var(--bad);border-radius:99px 0 0 99px}
.z3rpg.z3rpg .z3rpg-rbar u{position:absolute;top:50%;width:.95em;height:.95em;margin:-.475em 0 0 -.475em;border-radius:50%;border:2px solid var(--bg);text-decoration:none}
.z3rpg.z3rpg .z3rpg-rbar u.pos{background:var(--good)}
.z3rpg.z3rpg .z3rpg-rbar u.neg{background:var(--bad)}
.z3rpg.z3rpg .z3rpg-notes{flex:1;min-height:0;width:100%;margin:0;padding:.45em .55em;resize:none;background:rgba(0,0,0,.12);color:var(--fg);border:1px solid var(--rule);border-radius:7px;font:inherit;line-height:1.4;outline:0;box-shadow:none}
.z3rpg.z3rpg .z3rpg-notes:focus{border-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-notes::placeholder{color:var(--dim);opacity:.8}
/* when height is short, tighten everything */
.z3rpg.z3rpg .z3rpg-side.tight{gap:.35em;padding:.4em .5em;font-size:.82em}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-card{padding:.35em .5em .45em}
.z3rpg.z3rpg .z3rpg-side.tight h4{margin-bottom:.3em}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-attrs{gap:.3em}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-skill{padding:.04em 0}
.z3rpg.z3rpg .z3rpg-side.tight [data-p=skills]{display:grid;grid-template-columns:1fr 1fr;column-gap:.8em}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-skill .pips{display:none}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-skill>b{color:var(--accent)}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-pack{grid-template-columns:repeat(6,1fr)}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-it span{display:none}
.z3rpg.z3rpg .z3rpg-side.tight .z3rpg-it b{font-size:1.3em}

/* library: pick a game */
.z3rpg-lib.z3rpg-lib{--bg:#0e1830;--card:#14213f;--fg:#e6ecf6;--dim:#93a3bf;--accent:#ffcf5c;--line:#243558;--btnline:#2c3d63;font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--fg);border-radius:14px;padding:2em 2em 2.2em;margin:12px 0;box-sizing:border-box;text-align:left;text-transform:none;letter-spacing:normal}
.z3rpg-lib.z3rpg-lib *,.z3rpg-lib.z3rpg-lib *:before,.z3rpg-lib.z3rpg-lib *:after{box-sizing:border-box}
.z3rpg-lib.z3rpg-lib a{text-decoration:none;box-shadow:none;border-bottom:0}
.z3rpg-lib.z3rpg-lib .z3rpg-libhead{display:flex;justify-content:space-between;align-items:flex-end;gap:1em 1.5em;flex-wrap:wrap;margin:0 0 1.4em;padding:0}
.z3rpg-lib.z3rpg-lib .z3rpg-libeyebrow{margin:0 0 .35em;font:500 .74em ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.z3rpg-lib.z3rpg-lib h2{margin:0;padding:0;border:0;background:none;font:inherit;font-size:2.15em;line-height:1.15;font-weight:700;color:var(--fg);text-transform:none;letter-spacing:-.01em}
.z3rpg-lib.z3rpg-lib .z3rpg-libhead p{margin:.4em 0 0;color:var(--dim)}
.z3rpg-lib.z3rpg-lib .z3rpg-libtools{display:flex;gap:.65em;align-items:center;flex-wrap:wrap}
.z3rpg-lib.z3rpg-lib .z3rpg-import{margin:0;display:inline-flex}
.z3rpg-lib.z3rpg-lib .z3rpg-import label{cursor:pointer}
.z3rpg-lib.z3rpg-lib .z3rpg-libnote{display:flex;align-items:center;gap:.6em;width:fit-content;margin:0 0 1.2em;padding:.6em .9em;border-radius:10px;background:rgba(88,179,104,.12);border:1px solid rgba(88,179,104,.35);color:#9be0a8;font-size:.92em}
.z3rpg-lib.z3rpg-lib .z3rpg-libnote svg,.z3rpg-lib.z3rpg-lib .z3rpg-libbtn svg{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.z3rpg-lib.z3rpg-lib .z3rpg-libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4em;align-items:stretch}
.z3rpg-lib.z3rpg-lib .z3rpg-libcard{display:flex;flex-direction:column;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.z3rpg-lib.z3rpg-lib .z3rpg-libcard:hover{transform:translateY(-2px);border-color:var(--ac);box-shadow:0 12px 28px -16px rgba(0,0,0,.7)}
.z3rpg-lib.z3rpg-lib .z3rpg-libstrip{height:6px;background:var(--ac);flex:none}
.z3rpg-lib.z3rpg-lib .z3rpg-libart{position:relative;aspect-ratio:16/9;background:#0a1226;border-bottom:3px solid var(--ac);flex:none}
.z3rpg-lib.z3rpg-lib .z3rpg-libart img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;margin:0;border:0;border-radius:0}
.z3rpg-lib.z3rpg-lib .z3rpg-libart em{position:absolute;top:.8em;right:.8em}
.z3rpg-lib.z3rpg-lib .z3rpg-libbody{display:flex;flex-direction:column;gap:.7em;padding:1.35em 1.35em 1.3em;flex:1}
.z3rpg-lib.z3rpg-lib .z3rpg-libtop{display:flex;align-items:center;justify-content:space-between;gap:.5em}
.z3rpg-lib.z3rpg-lib .z3rpg-libico{display:grid;place-items:center;width:2.9em;height:2.9em;border-radius:12px;background:#1e2f55;color:var(--ac)}
.z3rpg-lib.z3rpg-lib .z3rpg-libico svg{width:1.45em;height:1.45em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.z3rpg-lib.z3rpg-lib em.z3rpg-pill{font:600 .7em ui-monospace,Menlo,Consolas,monospace;font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:.35em .9em;border-radius:99px;background:var(--accent);color:#1a1405}
.z3rpg-lib.z3rpg-lib em.z3rpg-pill.warn{background:#14213f;border:1px solid var(--ac);color:var(--ac)}
.z3rpg-lib.z3rpg-lib h3{margin:0;padding:0;border:0;background:none;font:inherit;font-size:1.4em;line-height:1.25;font-weight:700;color:var(--fg);text-transform:none;letter-spacing:normal}
.z3rpg-lib.z3rpg-lib .by{margin:-.35em 0 0;font-size:.86em;color:var(--dim)}
.z3rpg-lib.z3rpg-lib .desc{flex:1;margin:0;font-size:.95em;line-height:1.6;color:#b4c1d8}
.z3rpg-lib.z3rpg-lib .meta{display:flex;flex-wrap:wrap;gap:.3em 1.1em;padding-top:.9em;border-top:1px solid var(--line);font:.8em ui-monospace,Menlo,Consolas,monospace;color:var(--dim)}
.z3rpg-lib.z3rpg-lib .meta span{display:inline-flex;align-items:center;gap:.4em}
.z3rpg-lib.z3rpg-lib .meta svg{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.z3rpg-lib.z3rpg-lib .act{display:flex;flex-wrap:wrap;gap:.55em;align-items:center}
.z3rpg-lib.z3rpg-lib .z3rpg-del{display:inline-flex;margin:0}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:2.8em;padding:0 1.2em;border-radius:10px;border:1px solid var(--btnline);background:transparent;color:var(--fg);font:inherit;font-size:.92em;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn.play{flex:1 1 auto;background:var(--accent);border-color:var(--accent);color:#1a1405;font-weight:700}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn.primary{background:var(--accent);border-color:var(--accent);color:#1a1405;font-weight:700}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn.icon{width:2.8em;padding:0}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn.danger{border-color:#5a2f35;color:#e5868b}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn:hover{filter:brightness(1.18)}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn.danger:hover{background:#c0504d;border-color:#c0504d;color:#fff;filter:none}
.z3rpg-lib.z3rpg-lib .z3rpg-libbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.z3rpg-lib.z3rpg-lib .z3rpg-libnone{margin:1em 0;color:var(--dim);font-style:italic}
@media (max-width:520px){.z3rpg-lib.z3rpg-lib{padding:1.2em}.z3rpg-lib.z3rpg-lib .z3rpg-libgrid{grid-template-columns:1fr}.z3rpg-lib.z3rpg-lib h2{font-size:1.7em}}
.z3rpg.z3rpg a.z3rpg-btn{display:inline-flex;align-items:center;text-decoration:none;color:inherit;cursor:pointer}

/* full map */
.z3rpg.z3rpg .z3rpg-big{position:absolute;top:0;bottom:0;left:0;right:0;z-index:4;display:flex;flex-direction:column;background:var(--bg);transform:translateX(-102%);transition:transform .32s ease;visibility:hidden}
.z3rpg.z3rpg .z3rpg-big.is-open{transform:none;visibility:visible}
.z3rpg.z3rpg .z3rpg-bighead{display:flex;align-items:center;gap:1em;padding:.55em 1em;border-bottom:1px solid var(--rule)}
.z3rpg.z3rpg .z3rpg-bighead b{flex:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8em;color:var(--dim)}
.z3rpg.z3rpg .z3rpg-bigclose{white-space:nowrap;margin:0;padding:.1em .8em;background:var(--accent);color:var(--bg);border:0;border-radius:4px;font-weight:600}
.z3rpg.z3rpg .z3rpg-bigbox{flex:1;overflow:auto;display:flex}
.z3rpg.z3rpg .z3rpg-bigbox svg{margin:auto;display:block;flex:none}
@media (prefers-reduced-motion:reduce){.z3rpg.z3rpg .z3rpg-big{transition:none}}

/* narrow window: sidebars slide over the story; full screen: roomier */
.z3rpg.z3rpg.is-narrow .z3rpg-side{position:absolute;top:0;bottom:0;z-index:3;width:min(270px,85%);box-shadow:0 0 18px rgba(0,0,0,.4)}
.z3rpg.z3rpg.is-narrow .z3rpg-side.left{left:0}
.z3rpg.z3rpg.is-narrow .z3rpg-side.right{right:0}
.z3rpg.z3rpg.is-full{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483000;width:100vw;max-width:none!important;height:100vh!important;height:100dvh!important;margin:0!important;border-radius:0}
.z3rpg.z3rpg:fullscreen{width:100vw;max-width:none!important;height:100vh!important;margin:0!important;border-radius:0}
.z3rpg.z3rpg.is-full .z3rpg-out,.z3rpg.z3rpg:fullscreen .z3rpg-out{padding-left:0;padding-right:0}
.z3rpg.z3rpg.is-full .z3rpg-out>*,.z3rpg.z3rpg:fullscreen .z3rpg-out>*{width:90%;max-width:none;margin-left:auto;margin-right:auto}
.z3rpg.z3rpg.is-full .z3rpg-side:not(.is-narrow *),.z3rpg.z3rpg:fullscreen .z3rpg-side{flex-basis:min(300px,20vw);width:min(300px,20vw)}

/* play column */
.z3rpg.z3rpg .z3rpg-out{flex:1;overflow-y:auto;padding:1.1em 1.25em .4em;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-color:var(--dim) transparent}
.z3rpg.z3rpg .z3rpg-p{margin:0 0 1em}
.z3rpg.z3rpg .z3rpg-cmd{color:var(--accent);margin:0 0 .5em}
.z3rpg.z3rpg .z3rpg-note{color:var(--accent);margin:0 0 1em;padding-left:.8em;border-left:2px solid var(--accent)}
.z3rpg.z3rpg .z3rpg-err{color:#ff8a80}
.z3rpg.z3rpg.is-over .z3rpg-end{color:var(--accent)}
.z3rpg.z3rpg .z3rpg-libtools{display:flex;gap:.6em;align-items:center;flex-wrap:wrap}
.z3rpg.z3rpg .z3rpg-import{margin:0}
.z3rpg.z3rpg .z3rpg-import label{cursor:pointer}
.z3rpg.z3rpg .z3rpg-end{color:var(--accent);text-align:center;letter-spacing:.3em;font-weight:700}
.z3rpg.z3rpg .z3rpg-chips{flex:none;display:flex;flex-wrap:wrap;gap:.3em 1.1em;padding:.2em 1.25em .6em;font-size:.82em;white-space:normal;max-height:7em;overflow-y:auto;scrollbar-width:thin}
.z3rpg.z3rpg.hide-chips .z3rpg-chips{display:none}
.z3rpg.z3rpg .z3rpg-chips:empty{display:none}
.z3rpg.z3rpg .z3rpg-grp{display:flex;flex-wrap:wrap;align-items:center;gap:.3em}
.z3rpg.z3rpg .z3rpg-grp>small{font-size:.8em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-right:.2em}
.z3rpg.z3rpg .z3rpg-chips button{padding:.05em .65em;background:transparent;border:1px solid var(--rule);border-radius:4px;color:var(--fg);line-height:1.7}
.z3rpg.z3rpg .z3rpg-chips button:hover{border-color:var(--accent);color:var(--accent)}
.z3rpg.z3rpg .z3rpg-chips button.choice{border-color:var(--accent);color:var(--accent)}
.z3rpg.z3rpg .z3rpg-chips button.choice:hover{background:var(--accent);color:var(--bg)}
.z3rpg.z3rpg .z3rpg-in{display:flex;align-items:center;gap:.6em;margin:0;padding:.65em 1.25em .85em;border-top:1px solid var(--rule)}
.z3rpg.z3rpg .z3rpg-prompt{color:var(--accent);font-weight:600;cursor:text}
.z3rpg.z3rpg .z3rpg-in input{flex:1;min-width:0;height:auto;margin:0;padding:.15em 0;appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;color:var(--fg)!important;font:inherit;caret-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-in input::placeholder{color:var(--dim);opacity:.7}
.z3rpg.z3rpg:focus-within{box-shadow:0 0 0 2px var(--accent)}
.z3rpg.z3rpg.is-busy .z3rpg-prompt{opacity:.35}
.z3rpg.z3rpg.is-over .z3rpg-prompt{color:var(--dim)}
@media (max-width:600px){.z3rpg.z3rpg{font-size:14px}.z3rpg.z3rpg[data-size=large]{font-size:16px}.z3rpg.z3rpg[data-size=xlarge]{font-size:18px}.z3rpg.z3rpg .z3rpg-in input{font-size:16px}.z3rpg.z3rpg .z3rpg-out{padding:.9em .9em .3em}.z3rpg.z3rpg .z3rpg-in{padding:.6em .9em .75em}.z3rpg.z3rpg .z3rpg-chips{padding:.2em .9em .5em}}
.z3rpg.z3rpg .z3rpg-debug{position:absolute;right:8px;bottom:8px;z-index:30;width:min(300px,86%);max-height:70%;overflow:auto;background:var(--bg);border:1px dashed var(--accent);border-radius:8px;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--fg);opacity:.96}
.z3rpg.z3rpg .z3rpg-debug summary{cursor:pointer;padding:5px 9px;color:var(--accent);font-weight:700}
.z3rpg.z3rpg .dbg-body{padding:0 9px 8px}.z3rpg.z3rpg .dbg-h{margin:7px 0 2px;color:var(--dim);text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.z3rpg.z3rpg .dbg-r{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rule);padding:1px 0}.z3rpg.z3rpg .dbg-r b{font-weight:600;text-align:right;word-break:break-word}
/* 7.0: battle screen, portraits, menu, travel */
.z3rpg.z3rpg .z3rpg-stage{flex:none;padding:.5em 1.25em 0}
.z3rpg.z3rpg .z3rpg-stage[hidden]{display:none}
.z3rpg.z3rpg .z3rpg-por{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.6em;height:2.6em;border:2px solid var(--rule);border-radius:10px;background:color-mix(in srgb,var(--bg) 88%,var(--fg));overflow:hidden;font-size:1em}
.z3rpg.z3rpg .z3rpg-por.big{width:4.4em;height:4.4em;font-size:1.05em;border-color:var(--accent)}
.z3rpg.z3rpg .z3rpg-por img{width:100%;height:100%;object-fit:cover;display:block}
.z3rpg.z3rpg .z3rpg-por b{font-size:1.9em;line-height:1;font-weight:400}
.z3rpg.z3rpg .z3rpg-por.big b{font-size:2.4em}
.z3rpg.z3rpg .z3rpg-battle{border:2px solid var(--accent);border-radius:12px;padding:.65em .8em;background:color-mix(in srgb,var(--bg) 92%,var(--accent));display:flex;flex-direction:column;gap:.5em}
.z3rpg.z3rpg .bt-title{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78em;color:var(--accent)}
.z3rpg.z3rpg .bt-foes{display:flex;flex-wrap:wrap;gap:.6em 1.2em}
.z3rpg.z3rpg .bt-foe{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:.7em;min-width:13em;flex:1 1 13em;align-items:center}
.z3rpg.z3rpg .bt-foe .z3rpg-por{grid-row:1/4}
.z3rpg.z3rpg .bt-foe b{align-self:end}
.z3rpg.z3rpg .bt-foe small,.z3rpg.z3rpg .bt-me small{color:var(--dim);font-size:.78em}
.z3rpg.z3rpg .bt-me{display:flex;flex-wrap:wrap;gap:.2em 1.2em;align-items:center;border-top:1px solid var(--rule);padding-top:.45em}
.z3rpg.z3rpg .bt-me>span{font-weight:700}
.z3rpg.z3rpg .bt-me>div{min-width:8em;flex:1 1 8em}
.z3rpg.z3rpg .bt-me em{font-style:normal;color:var(--dim);font-size:.82em;flex-basis:100%}
.z3rpg.z3rpg .z3rpg-xpbar.foe i{background:#c0504d}
.z3rpg.z3rpg .z3rpg-xpbar.hp i{background:#58b368}
.z3rpg.z3rpg .z3rpg-xpbar.mp i{background:#5b8def}
.z3rpg.z3rpg .bt-menu,.z3rpg.z3rpg .bt-sub{display:flex;flex-wrap:wrap;gap:.4em}
.z3rpg.z3rpg .bt-menu button,.z3rpg.z3rpg .bt-sub button,.z3rpg.z3rpg .mn-row button{font:inherit;font-size:.9em;padding:.4em .9em;margin:0;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--fg);cursor:pointer;min-height:2.4em}
.z3rpg.z3rpg .bt-menu button:hover,.z3rpg.z3rpg .bt-menu button.on,.z3rpg.z3rpg .bt-sub button:hover,.z3rpg.z3rpg .mn-row button:hover{background:var(--accent);color:var(--bg)}
.z3rpg.z3rpg .bt-sub{border-top:1px dashed var(--rule);padding-top:.45em}
.z3rpg.z3rpg .bt-sub button.off,.z3rpg.z3rpg .mn-row button.off{opacity:.45;cursor:not-allowed}
.z3rpg.z3rpg .bt-sub button.danger{border-color:#c0504d}
.z3rpg.z3rpg .z3rpg-talkbox{display:flex;gap:.8em;align-items:center;border:1px solid var(--rule);border-radius:12px;padding:.5em .8em;background:color-mix(in srgb,var(--bg) 94%,var(--fg))}
.z3rpg.z3rpg .z3rpg-talkbox small{display:block;color:var(--dim);font-size:.8em}
.z3rpg.z3rpg .z3rpg-menu{position:absolute;inset:0;z-index:6;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);padding:.8em}
.z3rpg.z3rpg .z3rpg-menu.is-open{display:flex}
.z3rpg.z3rpg .mn-panel{width:min(34em,100%);max-height:100%;display:flex;flex-direction:column;background:var(--bg);border:2px solid var(--accent);border-radius:14px;overflow:hidden}
.z3rpg.z3rpg .mn-head{display:flex;justify-content:space-between;align-items:center;padding:.6em .9em;border-bottom:1px solid var(--rule)}
.z3rpg.z3rpg .mn-x{font:inherit;padding:.25em .9em;border:0;border-radius:6px;background:var(--accent);color:var(--bg);font-weight:600;cursor:pointer}
.z3rpg.z3rpg .mn-tabs{display:flex;gap:.2em;padding:.4em .6em;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.z3rpg.z3rpg .mn-tabs button{font:inherit;font-size:.88em;padding:.3em .8em;border:1px solid transparent;border-radius:99px;background:transparent;color:var(--dim);cursor:pointer}
.z3rpg.z3rpg .mn-tabs button.on{border-color:var(--accent);color:var(--accent)}
.z3rpg.z3rpg .mn-body{padding:.7em .9em;overflow:auto;min-height:12em}
.z3rpg.z3rpg .mn-card{display:flex;gap:.8em;align-items:center;margin-bottom:.6em}
.z3rpg.z3rpg .mn-card small,.z3rpg.z3rpg .mn-row small,.z3rpg.z3rpg .mn-qq small{display:block;color:var(--dim);font-size:.8em}
.z3rpg.z3rpg .mn-body h5{margin:.9em 0 .2em;font-size:.75em;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.z3rpg.z3rpg .mn-row{display:flex;gap:.7em;align-items:center;padding:.4em 0;border-bottom:1px solid var(--rule)}
.z3rpg.z3rpg .mn-row>span:nth-child(2){flex:1}
.z3rpg.z3rpg .mn-row em{font-style:normal;color:var(--dim);font-size:.8em}
.z3rpg.z3rpg .mn-none{color:var(--dim);font-size:.9em}
.z3rpg.z3rpg .mn-qq{padding:.5em 0;border-bottom:1px solid var(--rule);font-size:.9em}
.z3rpg.z3rpg .mn-qq.done{opacity:.6}
.z3rpg.z3rpg .mn-map{overflow:auto;max-height:60vh;min-height:10em}
.z3rpg.z3rpg .z3rpg-mapsvg g[data-room]{cursor:pointer}
.z3rpg.z3rpg .z3rpg-mapsvg g[data-room]:hover .n{stroke:var(--accent);stroke-width:2.5}
.z3rpg.z3rpg .z3rpg-mapsvg g[data-room]:focus-visible .n{stroke:var(--accent);stroke-width:2.5}
@media (max-width:620px){.z3rpg.z3rpg .bt-foe{min-width:100%}}
.z3rpg.z3rpg .z3rpg-tip{position:absolute;z-index:40;max-width:min(300px,80%);padding:.55em .8em;background:var(--bg);color:var(--fg);border:1px solid var(--accent);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.45);font-size:.85em;line-height:1.45;pointer-events:none;white-space:normal}
.z3rpg.z3rpg .z3rpg-tip[hidden]{display:none}
.z3rpg.z3rpg .z3rpg-tip b{display:block;color:var(--accent)}
.z3rpg.z3rpg .z3rpg-tip span{display:block;margin-top:.2em;white-space:pre-line}
.z3rpg.z3rpg [data-tip]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}