:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#1f1c18;--card:#121216d1;--edge:#ffffff1a;--panel:#2a2620;--panel-edge:#3b352c;--raised:#3a342b;--raised-hover:#463f34;--raised-edge:#4d4537;--text:#ece6da;--muted:#a8a196;--gold:#d9b45a;--gold-light:#f4e2a6;--frame-edge:#8a7550;--frame-fill:#322d25;--frame-shadow:0 0 0 1px #080604e6, 0 18px 56px #000000bf, inset 0 1px 0 #ffffff0f;--stone:url(/screens/stone.png) 0 0 / 100px 100px;--light-stone:linear-gradient(#fff, #fff), var(--stone);--ground:linear-gradient(#0e0b08db, #0e0b08db), var(--light-stone);--map-glow:radial-gradient(circle at 50% 50%, #14110de0, #000000e0 80%);--map-shade:radial-gradient(ellipse at 50% 50%, transparent 50%, #0009);--ui:"Inter", "Segoe UI", system-ui, sans-serif;--display:"Cinzel", "Trajan Pro", "Palatino Linotype", Palatino, "URW Palladio L", "P052", Georgia, serif}body{background:var(--page);color:var(--text);font-family:var(--ui);margin:0}.app{height:100vh;overflow:hidden}.screen{height:100%}.panel,.dialog{background:var(--card);border:1px solid var(--edge);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:4px;box-shadow:0 8px 24px #00000073}.dialog{background:var(--panel);border-color:var(--panel-edge);-webkit-backdrop-filter:none;backdrop-filter:none}.button{width:100%;height:34px;color:var(--text);font:600 13px var(--ui);letter-spacing:.02em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:3px;padding:0 16px;transition:background .15s,border-color .15s}.button:hover{background:#ffffff1f;border-color:#ffffff47}.button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.button:active{transform:translateY(1px)}.button.primary{background:var(--gold);color:#2a1f08;border-color:var(--gold)}.button.primary:hover{background:#e4c16c;border-color:#e4c16c}.button.danger{color:#fff;background:#b5483a;border-color:#b5483a}.button.danger:hover{background:#c95647;border-color:#c95647}.button:disabled{opacity:.4;pointer-events:none}button u{text-underline-offset:2px}.main-menu{background:var(--ground);background-blend-mode:normal, difference;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.main-menu .version{color:var(--muted);font:12px var(--ui);font-variant-numeric:tabular-nums;letter-spacing:.04em;position:absolute;bottom:12px;right:16px}.main-menu .stage{width:600px;height:400px;image-rendering:pixelated;background:url(/screens/title.png);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 0 0 1px #0b0b0d,0 0 0 4px #4a4a52,0 0 0 5px #0b0b0d,0 16px 40px #0009}.main-menu .panel{box-sizing:border-box;flex-direction:column;align-items:center;gap:28px;width:256px;padding:24px 20px 0;display:flex;position:relative}.main-menu h1{flex-direction:column;align-items:center;gap:8px;margin:0;font-weight:400;display:flex}.main-menu .name{font:600 40px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(var(--gold-light), var(--gold) 60%, #a77c2c);color:#0000;filter:drop-shadow(0 2px 2px #0009);-webkit-background-clip:text;background-clip:text}.main-menu .colon{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.main-menu .subtitle{color:var(--muted);font:500 9px var(--ui);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;display:flex}.main-menu .subtitle:before,.main-menu .subtitle:after{content:"";opacity:.6;background:currentColor;width:14px;height:1px}.main-menu .play{flex-direction:column;gap:8px;width:100%;margin:0;display:flex}.main-menu .play input{box-sizing:border-box;width:100%;height:32px;color:var(--text);border:1px solid var(--raised-edge);font:13px var(--ui);background:#00000059;border-radius:3px;padding:0 10px}.main-menu .play input::placeholder{color:var(--muted)}.main-menu .play input:focus{border-color:var(--gold);outline:none}.main-menu .play .button{margin-top:4px}.main-menu .status{justify-content:center;align-items:center;height:38px;display:flex}.main-menu .spinner{border:2px solid #ffffff26;border-top-color:var(--gold);box-sizing:border-box;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#e08a7a;margin:0;font-size:12px}.dialog-screen{box-sizing:border-box;background:var(--ground);background-blend-mode:normal, difference;justify-content:center;align-items:center;height:100%;padding:48px;display:flex}.dialog{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;max-width:860px;height:100%;max-height:640px;margin:0;padding:28px 32px;font-size:14px;display:flex}.dialog h2,.sheet h2{color:var(--gold-light);font:600 24px var(--display);letter-spacing:.06em;margin:0}.dialog header{align-items:center;gap:8px;display:flex}.dialog header h2{margin-right:auto}.dialog header .button{width:auto;min-width:96px}.dialog footer,.sheet footer{align-items:center;gap:8px;margin-top:auto;display:flex}.dialog footer .button,.sheet footer .button{width:auto;min-width:96px}.dialog footer .button:first-child{margin-right:auto}.dialog footer .error{flex:1;line-height:1.3}.choice{height:40px;color:var(--text);font:500 14px var(--ui);cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:3px;padding:0 14px;transition:background .15s,border-color .15s}.choice:hover{background:#ffffff17}.choice:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.choice.selected{border-color:var(--gold);background:#d9b45a24}.party-selector .player-bar{border-bottom:1px solid var(--panel-edge);background:#00000038;border-radius:4px 4px 0 0;grid-template-columns:1fr auto 1fr;align-items:center;margin:-28px -32px -8px;padding:6px 8px;display:grid}.party-selector .game{color:var(--gold-light);font:600 14px var(--display);letter-spacing:.06em;padding-left:10px}.party-selector .game .version{color:var(--muted);font:12px var(--ui);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-left:4px}.party-selector .player{color:var(--muted);font:13px var(--ui)}.party-selector .player strong{color:var(--text);font-weight:600}.party-selector .settings{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-self:end;place-items:center;padding:0;display:grid}.party-selector .settings:hover{color:var(--text);background:#ffffff0f}.party-selector .settings[aria-pressed=true]{color:var(--gold-light);border-color:var(--gold);background:#d9b45a1f}.party-selector .settings .icon{fill:currentColor;width:20px;height:20px}.settings-list{flex-direction:column;gap:10px;max-width:640px;display:flex}.settings-list h3{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:0}.settings-list .setting{border:1px solid var(--panel-edge);background:#ffffff08;border-radius:3px;align-items:center;gap:16px;padding:12px 14px;display:flex}.settings-list .about{flex:1}.settings-list strong{color:var(--text);font-size:14px}.settings-list .about p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.4}.settings-list .setting .button{flex:none;width:auto;min-width:96px}.settings-list .done{color:#9fd16a;margin:0;font-size:13px}.dialog .hint{color:var(--muted);margin:-12px 0 0;line-height:1.5}.characters{box-sizing:border-box;flex-direction:column;flex:1;align-self:center;gap:4px;width:100%;max-width:640px;min-height:0;padding-left:40px;display:flex;overflow-y:auto}.character-row{flex-shrink:0;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;display:grid}.character-row .delete{width:32px;height:32px;color:var(--muted);font:20px/1 var(--ui);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:0;transition:opacity .15s}.character-row:hover .delete,.character-row:focus-within .delete{opacity:1}.character-row .delete:hover{color:#e08a7a;background:#e08a7a1a;border-color:#e08a7a66}.character-row .delete:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.character{text-align:left;grid-template-columns:32px minmax(0,1fr) minmax(0,1.2fr) 5.5em;align-items:center;gap:12px;padding-left:3px;display:grid}.character .what,.character .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character .where{text-align:right;font-variant-numeric:tabular-nums}.choice.character:disabled{opacity:.4}.character small{color:var(--muted);font-size:13px}.characters .empty{color:var(--muted);margin:auto}.creator{flex:1;grid-template-columns:232px minmax(0,1.15fr) minmax(0,1fr);gap:24px;min-height:0;display:grid;overflow-y:auto}.dialog .label,.sheet h3,.window h3,.world .box h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.identity{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field input{height:40px;color:var(--text);font:15px var(--ui);background:#0000004d;border:1px solid #ffffff24;border-radius:3px;padding:0 12px}.field input:focus{border-color:var(--gold);outline:none}.races,.options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.options{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column}.identity .choice{text-transform:capitalize;height:36px;padding:0 6px;font-size:13px}.races .choice{flex-direction:column;align-items:center;gap:2px;height:auto;padding:5px 6px 6px;display:flex}.choice:disabled{opacity:.3;pointer-events:none}.box{border:1px solid var(--edge);background:#00000038;border-radius:4px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.box .empty{color:var(--muted);text-align:center;margin:auto 0;line-height:1.4}.stat{grid-template-columns:minmax(0,1fr) 28px 32px 28px 44px;align-items:center;height:40px;display:grid}.stat .name{text-transform:capitalize;padding-right:8px}.stat output{text-align:center;font:600 16px var(--ui);font-variant-numeric:tabular-nums}.stat .range{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.step{width:28px;height:28px;color:var(--text);font:600 16px/1 var(--ui);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:3px;padding:0;transition:background .15s,border-color .15s}.step:hover{background:#ffffff1f;border-color:#ffffff47}.step:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.step:disabled{opacity:.25;pointer-events:none}.stats .left{border-top:1px solid var(--edge);color:var(--muted);align-items:baseline;gap:8px;margin:auto 0 0;padding-top:12px;display:flex}.stats .left strong{color:var(--gold-light);font-variant-numeric:tabular-nums;font-size:20px}.guilds ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.guilds li{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;display:flex}.guilds li.open{color:var(--text);font-weight:600}.guilds li.alignment span{opacity:.7;font-style:italic}.guilds small{text-align:right;font-size:11px}.overlay{z-index:2;position:fixed;inset:0}.dialog-layer{box-sizing:border-box;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.dialog-layer:focus{outline:none}.sheet{background:var(--frame-fill);border:1px solid var(--frame-edge);max-width:100%;max-height:100%;box-shadow:var(--frame-shadow);box-sizing:border-box;border-radius:4px;flex-direction:column;gap:20px;padding:28px 32px;display:flex}.windows{z-index:1;pointer-events:none;position:fixed;inset:0}.window{background:var(--frame-fill);border:1px solid var(--frame-edge);max-height:calc(100vh - 24px);box-shadow:var(--frame-shadow);pointer-events:auto;border-radius:4px;flex-direction:column;display:flex;position:absolute;top:0;left:0}.window header{border-bottom:1px solid var(--frame-edge);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#00000038;border-radius:3px 3px 0 0;align-items:center;gap:12px;padding:8px 8px 8px 18px;display:flex}.window header:active{cursor:grabbing}.window h2{color:var(--gold-light);font:600 18px var(--display);letter-spacing:.04em;margin:0 auto 0 0}.window .close,.sheet .close{width:30px;height:30px;color:var(--muted);font:20px/1 var(--ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:0}.window .close:hover,.sheet .close:hover{color:var(--text);background:#ffffff14}.window .close:focus-visible,.sheet .close:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.window .body{min-height:0;padding:16px 20px 20px;overflow:auto}.window section{flex-direction:column;gap:10px;display:flex}.window .note{color:var(--muted);margin:0;font-size:13px}.tabs{gap:4px;display:flex}.character-tabs{margin-bottom:14px}.tab{height:28px;color:var(--muted);border:1px solid var(--panel-edge);font:600 12px var(--ui);cursor:pointer;background:0 0;border-radius:14px;padding:0 12px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--gold-light);border-color:var(--gold);background:#d9b45a24}.tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.companion-list .companions{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.companion-list .companion{border:1px solid var(--panel-edge);background:#0000002e;border-radius:4px;align-items:flex-start;gap:12px;padding:10px;display:flex}.companion-list .picture{image-rendering:pixelated;background:#0000004d;border-radius:3px;flex-shrink:0}.companion-list .dead .picture{filter:grayscale()brightness(.75)}.companion-list .about{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.companion-list .naming{align-items:baseline;gap:8px;min-height:24px;display:flex}.companion-list .name{color:var(--text);font:600 14px var(--ui);cursor:text;background:0 0;border:0;border-bottom:1px dashed #0000;padding:0}.companion-list .name:hover{border-bottom-color:var(--muted)}.companion-list .name-field{box-sizing:border-box;width:190px;height:24px;color:var(--text);border:1px solid var(--gold);font:600 14px var(--ui);background:#00000059;border-radius:3px;padding:0 6px}.companion-list .name-field:focus{outline:none}.companion-list small{color:var(--muted);font-size:12px}.companion-list .hits{align-items:center;gap:8px;display:flex}.companion-list .hits .bar{background:#00000073;border-radius:3px;width:120px;height:5px;overflow:hidden}.companion-list .hits .fill{background:#c4513f;height:100%;display:block}.companion-list .monster-facts{color:var(--text);margin:4px 0 0;padding:0;font-size:12px;line-height:1.5;list-style:none}.companion-list .knows{font-style:italic}.companion-list .orders{flex-direction:column;gap:6px;display:flex}.companion-list .orders .button{width:auto;min-width:88px;height:30px;padding:0 12px}.window .character-panel{width:496px;max-height:calc(100vh - 150px);padding-right:6px;position:relative;overflow-y:auto}.character-panel .character-page.covered{visibility:hidden}.character-panel .tab-page{padding-right:6px;position:absolute;inset:0;overflow-y:auto}.window .body:has(>.character-panel){overflow:hidden}.character-head{border-bottom:1px solid var(--edge);align-items:center;gap:16px;padding-bottom:16px;display:flex}.character-head .portrait{background:var(--raised);border:1px solid var(--raised-edge);border-radius:4px;padding:4px}.character-head .who{flex-direction:column;gap:4px;display:flex}.character-head strong{font-size:16px}.character-head small{color:var(--muted);font-size:13px}.character-sheet{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:40px;padding:16px 0;display:grid}.equipment{--slot:42px}.doll{grid-template-columns:var(--slot) 96px var(--slot);grid-template-rows:repeat(5, var(--slot));grid-template-areas:"neck head cloak""armor figure sash""weapon figure shield""wrists figure hands""ring waist feet";gap:6px 14px;margin:0;padding:0;list-style:none;display:grid}.doll .figure{grid-area:figure;justify-content:center;display:flex}.doll .figure svg{fill:#ffffff0d;stroke:#ffffff1f;stroke-width:1.5px;height:100%}.equipment .place{justify-self:center}.doll-row{grid-template-columns:repeat(4, var(--slot));width:calc(2 * var(--slot) + 124px);justify-content:space-between;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.equipment .slot{width:var(--slot);height:var(--slot);color:var(--muted);box-sizing:border-box;font:600 9px var(--ui);letter-spacing:.02em;background:#00000040;border:1px dashed #ffffff29;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.equipment .slot.held{background:var(--raised);border:1px solid var(--raised-edge);cursor:pointer}.equipment .slot.held:hover{border-color:#fff6}.equipment .slot.cursed{border-color:#c4513f;box-shadow:inset 0 0 0 1px #c4513f}.equipment .slot.picked,.equipment .slot:focus-visible{outline:2px solid var(--gold-light);outline-offset:1px}.equipment .place.fits .slot{border:1px solid var(--gold)}.equipment .place.over .slot{background:var(--raised-hover);border-color:var(--gold-light)}.equipment .slot>*{pointer-events:none}.equipment img{width:32px;height:32px;image-rendering:pixelated;display:block}.equipment .mark,.equipment .charges{font:700 10px/1 var(--ui);text-shadow:0 1px 1px #000,0 0 2px #000;position:absolute}.equipment .mark{color:var(--gold-light);top:2px;left:3px}.equipment .charges{color:var(--text);font-variant-numeric:tabular-nums;bottom:2px;right:3px}.equipment .error{max-width:calc(2 * var(--slot) + 124px);color:#e8907c;margin:8px 0 0;font-size:12px}.sheet-side{flex-direction:column;gap:4px;display:flex}.character-panel h3{margin-bottom:10px}.sheet-section{border-top:1px solid var(--edge);margin-top:4px;padding-top:16px}.character-panel .facts{gap:5px 16px;font-size:13px}.character-panel .facts dd{font-weight:600}.facts.ratings{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.facts.ratings dt:nth-of-type(2n){margin-left:24px}.facts.ratings dd.none{color:var(--muted);font-weight:400}.facts.attributes dd.peak{color:#fff;font-weight:800}.resistances{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 20px;margin:0;font-size:12px;display:grid}.resistances div{justify-content:space-between;gap:8px;display:flex}.resistances dt{color:var(--muted)}.resistances dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.resistances .none dt,.resistances .none dd{color:#a8a1968c;font-weight:400}.facts{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:6px 16px;margin:0 0 16px;display:grid}.facts dt{color:var(--muted)}.facts dd{text-align:right;margin:0}.memberships{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.memberships li{border:1px solid var(--panel-edge);background:#0003;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.memberships li.current{border-color:var(--gold);background:#d9b45a14}.memberships .about{flex-direction:column;display:flex}.memberships .name{color:var(--muted);font-size:14px}.memberships .current .name{color:var(--text);font-weight:600}.memberships small{color:var(--gold);font-size:11px;font-weight:600}.memberships .rank{color:var(--muted);font-size:12px}.crest,.portrait{image-rendering:pixelated;flex-shrink:0}.window header .gold{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.window header:has(.bag-count) h2{margin-right:0}.window header .bag-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:13px}.window .body:has(>.inventory){padding:10px}.inventory .item-slots{--icon:48px;--gutter:0px}.inventory .error{color:#e8907c;margin:8px 0 0;font-size:12px}.item-slots{--icon:32px;--gutter:3px;grid-template-columns:repeat(var(--columns,8), auto);justify-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.item-slots .slot{width:calc(var(--icon) + 2 * var(--gutter) + 2px);height:calc(var(--icon) + 2 * var(--gutter) + 2px);color:var(--text);border:1px solid var(--panel-edge);box-sizing:border-box;font:inherit;background:#00000040;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.item-slots .slot.held{background:var(--raised);border-color:var(--raised-edge)}.item-slots button.slot.held{cursor:pointer}.item-slots button.slot.held:hover{border-color:#fff6}.item-slots button.slot:disabled,.item-slots .slot>*{pointer-events:none}.item-slots li.over .slot{border-color:var(--gold-light);background:var(--raised-hover)}.item-slots button.slot:focus-visible,.item-slots .slot.picked{outline:2px solid var(--gold-light);outline-offset:1px}.item-slots img{width:var(--icon);height:var(--icon);image-rendering:pixelated;display:block}.item-slots .mark,.item-slots .charges{font:700 10px/1 var(--ui);text-shadow:0 1px 1px #000,0 0 2px #000;pointer-events:none;position:absolute}.item-slots .mark{color:var(--gold-light);top:2px;left:3px}.item-slots .charges{font-variant-numeric:tabular-nums;bottom:2px;right:3px}.store{grid-template-rows:auto minmax(0,1fr);grid-template-columns:410px minmax(0,1fr);gap:10px 24px;width:734px;height:min(500px,100vh - 110px);display:grid}.store>.categories{grid-column:1/-1}.category:focus-visible,.shelf-row:focus-visible,.alignment:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shelves{flex-direction:column;gap:10px;min-height:0;display:flex}.categories{flex-wrap:wrap;gap:4px;display:flex}.category{height:28px;color:var(--muted);border:1px solid var(--panel-edge);font:600 12px var(--ui);cursor:pointer;background:0 0;border-radius:14px;padding:0 10px}.category:hover{color:var(--text)}.category[aria-pressed=true]{color:var(--gold-light);border-color:var(--gold);background:#d9b45a24}.shelf-head,.shelf-row{grid-template-columns:32px minmax(0,1fr) 84px;align-items:center;gap:10px;display:grid}.shelf-head{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;padding:0 11px 0 7px}.shelf-head>span:first-child{grid-column:2}.counts{text-align:center;font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,1fr);display:grid}.counts .none{color:var(--muted);opacity:.5}.shelf{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.shelf-row{width:100%;color:var(--text);font:13px var(--ui);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:3px 10px 3px 6px}.shelf-row:hover{background:#ffffff0d}.shelf-row[aria-pressed=true]{border-color:var(--gold);background:#d9b45a24}.shelf-row img{image-rendering:pixelated;display:block}.shelf-row .name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf-row .name.usable{color:var(--text);font-weight:700}.shelf-row .price{color:var(--gold-light);font-variant-numeric:tabular-nums;text-align:right}.shelves .empty,.counter .empty{color:var(--muted);margin:0;font-size:13px}.counter{flex-direction:column;gap:14px;min-height:0;display:flex;overflow-y:auto}.item-card{align-items:flex-start;gap:14px;display:flex}.item-card img{border:1px solid var(--panel-edge);image-rendering:pixelated;background:#0000004d;border-radius:3px;flex-shrink:0;padding:4px}.item-card .about{flex-direction:column;gap:3px;display:flex}.item-card strong{font-size:15px}.item-card small{color:var(--muted);font-size:12px}.alignments{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.alignment{background:var(--raised);color:var(--text);border:1px solid var(--raised-edge);font:600 12px var(--ui);cursor:pointer;border-radius:3px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;display:flex}.alignment small{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.alignment[aria-checked=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.alignment:disabled{opacity:.35;cursor:default}.realign{flex-direction:column;gap:6px;display:flex}.realign .alignments{grid-template-columns:repeat(3,1fr)}.deal{justify-content:space-between;align-items:center;gap:12px;display:flex}.deal>.button:only-child{margin-left:auto}.deal .button{width:auto;min-width:96px}.counter .why{color:var(--muted);margin:-4px 0 0;font-size:12px}.confinement .shelf-head,.confinement .shelf-row{grid-template-columns:32px minmax(0,1fr) 66px}.confinement .counts,.confinement .alignments{grid-template-columns:repeat(3,1fr)}.companion-slots h3{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.companion-slots .slots{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.companion-slot{background:var(--raised);min-width:0;height:70px;color:var(--text);border:1px solid var(--raised-edge);font:12px var(--ui);cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;display:flex}.companion-slot img{image-rendering:pixelated;display:block}.companion-slot small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.companion-slot[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.companion-slot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.companion-slot.empty{color:var(--muted);cursor:default;background:#00000040}.companion-slot.dead img{filter:grayscale();opacity:.5}.bank{grid-template-columns:minmax(0,1fr) auto;gap:24px;width:760px;max-height:calc(100vh - 110px);display:grid}.bank .item-slots{--icon:48px;--gutter:0px}.bank .account,.bank .vault{flex-direction:column;gap:12px;min-height:0;display:flex}.bank .status{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.bank .status strong{color:var(--text)}.bank .label{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase}.move-gold{flex-direction:column;gap:4px;display:flex}.move-gold .fields{gap:4px;display:flex}.move-gold input{min-width:0;height:28px;color:var(--text);border:1px solid var(--raised-edge);font:13px var(--ui);font-variant-numeric:tabular-nums;background:#0000004d;border-radius:3px;flex:1;padding:0 8px}.move-gold input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.move-gold .order:last-child{min-width:86px}.bank .order:disabled{opacity:.45;cursor:default}.window header:has(.auto-deposit) h2{margin-right:0}.auto-deposit{color:var(--muted);cursor:pointer;align-items:center;gap:6px;margin-right:auto;font-size:13px;display:flex}.auto-deposit input{accent-color:var(--gold);margin:0}.bank .pools{flex-wrap:wrap;gap:4px;display:flex}.bank .pools .label{width:100%}.bank .error{color:#e8907c;margin:0;font-size:12px}.spellbook{flex-direction:column;gap:14px;display:flex}.spellbook .icon,.order-choice .icon{image-rendering:pixelated;flex-shrink:0}.spellbook h3{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.spellbook ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.spellbook li{cursor:grab;align-items:center;gap:10px;display:flex}.spellbook .about{flex-direction:column;flex:1;min-width:0;display:flex}.spellbook strong{color:var(--text);font-size:13px}.spellbook li.unavailable strong{color:var(--muted)}.spellbook small{color:var(--muted);font-size:12px}.spellbook .why{color:#e8907c}.spellbook .how{color:var(--muted);font-size:12px}.spellbook li.lacking .icon{filter:grayscale();opacity:.5}.spellbook li.lacking small{opacity:.7}.spellbook .needs{color:#e8907c;font:600 12px var(--ui);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase;flex:none}.spellbook .order:disabled{opacity:.45;cursor:default}.combat-orders{flex-direction:column;gap:6px;display:flex}.combat-orders h3{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:10px 0 0}.cast-order{box-sizing:border-box;cursor:pointer}.cast-order[aria-disabled=true]{cursor:default;opacity:.6}.cast-order .about{flex:1;min-width:0}.cast-order .spell-pick{max-width:45%;height:32px;color:var(--text);border:1px solid var(--panel-edge);font:13px var(--ui);background:#00000040;border-radius:3px;flex:none;padding:0 8px}.order-choice{width:100%;color:var(--text);border:1px solid var(--panel-edge);font:inherit;text-align:left;cursor:pointer;background:#0003;border-radius:3px;align-items:center;gap:10px;padding:7px 12px;display:flex}.order-choice:hover{border-color:#ffffff47}.order-choice[aria-checked=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#d9b45a1a}.order-choice:focus-visible{outline:none}.order-choice:disabled{cursor:default}.order-choice:disabled:not([aria-checked=true]){border-color:var(--panel-edge)}.order-choice:disabled .icon,.order-choice:disabled strong{opacity:.5}.order-choice .about{flex-direction:column;gap:1px;display:flex}.order-choice strong{font-size:13px}.order-choice small{color:var(--muted);font-size:12px}.order-choice .why{color:#e8907c}.spellbook .empty,.spellbook .error{margin:0;font-size:13px}.spellbook .error{color:#e8907c}.guild-hall{grid-template-columns:236px minmax(0,1fr);gap:20px;width:720px;max-height:calc(100vh - 110px);display:grid}.guild-list{flex-direction:column;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.guild-row{width:100%;color:var(--text);font:13px var(--ui);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:3px 10px 3px 4px;display:flex}.guild-row:hover{background:#ffffff0d}.guild-row:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.guild-row[aria-pressed=true]{border-color:var(--gold);background:#d9b45a24}.guild-row.closed .name{color:var(--muted)}.guild-row.closed .crest{opacity:.55}.guild-row .active{color:var(--gold);font:600 10px var(--ui);letter-spacing:.08em;text-transform:uppercase}.guild-row .level{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.guild-visit{border-left:1px solid var(--panel-edge);flex-direction:column;gap:14px;min-height:0;padding-left:20px;display:flex;overflow-y:auto}.guild-head{align-items:center;gap:14px;display:flex}.guild-visit h3{color:var(--gold-light);font:600 18px var(--display);margin:0}.guild-visit .greeting{color:var(--muted);margin:4px 0 0;font-size:13px;font-style:italic}.guild-visit .master{color:var(--gold-light);margin:4px 0 0;font-size:13px}.guild-head>.button{flex:none;align-self:flex-start;width:auto;margin-left:auto}.guild-log{border-top:1px solid var(--panel-edge);contain:size;flex-direction:column;flex:1 1 0;gap:8px;min-height:140px;padding-top:12px;display:flex}.guild-log h4{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:0}.guild-log:hover .event-log{scrollbar-color:#ffffff40 transparent}.guild-visit .rank{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.guild-visit .rank strong{font-size:15px}.guild-visit .rank span{color:var(--muted);font-size:13px}.guild-visit .experience{flex-direction:column;gap:6px;font-size:13px;display:flex}.guild-visit .experience .bar{background:#00000059;border-radius:3px;height:6px;overflow:hidden}.guild-visit .experience .fill{background:var(--gold);height:100%;display:block}.guild-visit .experience .numbers{font-variant-numeric:tabular-nums}.guild-visit .pinned{color:#e8907c}.guild-visit .quest{align-items:center;gap:12px;display:flex}.guild-visit .quest p{color:var(--gold-light);flex:1;margin:0;font-size:13px}.guild-visit .quest .button{flex:none;width:auto}.requirements{grid-template-columns:repeat(6,1fr);gap:4px;margin:0;display:grid}.requirements>div{background:var(--raised);border:1px solid var(--raised-edge);border-radius:3px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;display:flex}.requirements dt{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase}.requirements dd{font:600 15px var(--ui);font-variant-numeric:tabular-nums;margin:0}.requirements .low{border-color:#c4513f}.guild-visit .who{margin:0;font-size:13px}.guild-visit .who .label{width:84px;color:var(--muted);display:inline-block}.guild-visit .error{color:#e8907c;margin:0;font-size:12px}.context-menu{z-index:10;background:var(--panel);border:1px solid var(--raised-edge);border-radius:4px;flex-direction:column;min-width:160px;max-width:260px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000080}.context-menu:focus{outline:none}.context-menu button{color:var(--text);font:13px var(--ui);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 12px;display:flex}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{background:#ffffff14;outline:none}.context-menu button:disabled{color:var(--muted);cursor:default}.context-menu small{color:var(--muted);font-size:12px;line-height:1.35}.tooltip{z-index:11;background:var(--panel);border:1px solid var(--raised-edge);max-width:280px;color:var(--muted);font:13px/1.35 var(--ui);pointer-events:none;border-radius:4px;flex-direction:column;gap:2px;padding:8px 12px;display:flex;position:fixed;box-shadow:0 8px 24px #00000080}.tooltip.line{width:max-content;max-width:320px;color:var(--text)}.tooltip.line .paragraph+.paragraph{margin-top:8px}.tooltip strong{color:var(--text);margin-bottom:2px;font-size:15px}.hanging{text-indent:-12px;white-space:pre-line;padding-left:12px}.hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sheet.stats{width:880px}.sheet-body{flex-direction:column;gap:32px;min-height:0;display:flex;overflow-y:auto}.sheet section{flex-direction:column;gap:10px;display:flex}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.stats-table th,.stats-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:5px 8px}.stats-table thead th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.stats-table abbr{text-decoration:none}.stats-table th:first-child{text-align:left}.stats-table tbody th{font-weight:600}.stats-table .picked{background:#d9b45a1f}.stats-table thead .picked{color:var(--gold-light)}.window .body:has(>.party-table){padding:12px 14px 14px}.party-table{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:420px;font-size:13px}.party-table th,.party-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:5px 10px}.party-table thead th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.party-table .number{text-align:right}.party-table tbody tr{cursor:pointer}.party-table tbody tr:last-child td{border-bottom:none}.party-table tbody tr:hover{background:#ffffff0d}.party-table tbody tr.current{background:#d9b45a24}.party-table tbody tr.current .name{color:var(--gold-light);font-weight:600}.party-table .spells{color:#8fb0ee}.party-table .status.ailing{color:#9fd16a;font-weight:600}.party-table tr.dead td{color:var(--muted)}.party-table tr.dead .status{color:#e0604a;font-weight:600}.shortcuts{flex-direction:column;gap:16px;width:500px;font-size:13px;display:flex}.shortcuts h3{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.shortcuts dl{flex-direction:column;gap:6px;margin:0;display:flex}.shortcuts .shortcut{grid-template-columns:200px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.shortcuts dt{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.shortcuts dd{color:var(--text);margin:0}.shortcuts kbd{background:var(--raised);min-width:14px;color:var(--text);border:1px solid var(--raised-edge);font:600 12px var(--ui);text-align:center;border-bottom-width:2px;border-radius:3px;padding:1px 6px}.shortcuts .or{color:var(--muted);font-size:11px}.help{width:560px;height:min(460px,100vh - 160px);color:var(--text);flex-direction:column;gap:12px;font-size:13px;line-height:1.5;display:flex;overflow-y:auto}.help .lead{color:var(--gold-light);margin:0}.help ol,.help ul{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.help .more{border-top:1px solid var(--panel-edge);color:var(--muted);margin:auto 0 0;padding-top:10px}.help .link{color:var(--gold-light);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.sheet .note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.sheet footer{justify-content:flex-end}.sheet.confirm{width:420px}.sheet.confirm .message{color:var(--muted);margin:0;line-height:1.5}.sheet.confirm footer .error{margin-right:auto}.offset .ways{gap:12px;margin-top:16px;display:flex}.offset .way{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.offset .way .label{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase}.offset .way input{height:28px;color:var(--text);border:1px solid var(--raised-edge);font:13px var(--ui);font-variant-numeric:tabular-nums;background:#0000004d;border-radius:3px;padding:0 8px}.offset .way input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.offset .way small{color:var(--muted);font-size:11px}.pin-note input{box-sizing:border-box;width:100%;height:30px;color:var(--text);border:1px solid var(--raised-edge);font:13px var(--ui);background:#0000004d;border-radius:3px;margin-top:14px;padding:0 8px}.pin-note input:focus{border-color:var(--gold);outline:none}.sheet.pin-note footer .delete{margin-right:auto}.party-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.party-card{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--panel-edge);font:13px var(--ui);text-align:left;cursor:pointer;border-radius:4px;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:7px 12px 7px 10px;transition:border-color .15s;display:grid}.party-card:hover{border-color:#ffffff47}.party-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.party-card>*{grid-column:2}.party-card .portrait{grid-area:1/1/span 3;align-self:center}.party-card.dead{opacity:.6}.party-card.dead .portrait{filter:grayscale()}.party-cards li{position:relative}.party-cards .conditions{align-items:center;gap:4px;margin-left:6px;display:flex;position:absolute;top:0;bottom:0;left:100%}.party-cards .conditions img{image-rendering:pixelated}.party-cards .companions{gap:4px;margin:4px 0 0 10px;padding:0;list-style:none;display:flex}.party-cards .companions li{background:var(--panel);border:1px solid var(--panel-edge);pointer-events:auto;border-radius:3px;flex-direction:column;gap:2px;padding:2px;display:flex}.party-cards .companions img{image-rendering:pixelated;display:block}.party-cards .companions .bar{background:#0006;border-radius:2px;height:3px;overflow:hidden}.party-cards .companions .fill{background:#c4513f;height:100%;display:block}.party-cards .companions li.body img{filter:grayscale()brightness(.75)}.party-cards .companions li.dead img{filter:grayscale();opacity:.5}.party-card .guild.dead{color:#e0604a;font-weight:600}.party-card .guild.ailing{color:#9fd16a;font-weight:600}.party-card.current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.party-card.over{border-color:var(--gold-light);background:var(--raised-hover)}.party-card .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.party-card .name{font-size:14px;font-weight:600}.party-card .name .ready{color:var(--gold)}.party-card .guild{color:var(--muted);font-size:12px}.points{grid-template-columns:20px 1fr 56px;align-items:center;gap:8px;display:grid}.points .label{color:var(--muted);letter-spacing:.06em;font-size:10px;font-weight:700}.points .bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.points .fill{border-radius:3px;height:100%;display:block}.points.hits .fill{background:#c4513f}.points.spells .fill{background:#4f7fd6}.points .value{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.world{box-sizing:border-box;grid-template:"cards encounter.""log. ."minmax(0,1fr)"log actions."/minmax(300px,480px) 1fr minmax(300px,480px);gap:16px;height:100%;padding:16px 16px 0;display:grid;position:relative}.world .box{z-index:1;background:var(--panel);border-color:var(--panel-edge);box-shadow:0 8px 24px #00000073}.world .party-cards{z-index:1;pointer-events:none;grid-area:cards;align-self:start;width:300px;min-height:304px}.world .party-card,.world .party-cards .conditions img{pointer-events:auto}.world .box.log{box-sizing:border-box;opacity:.8;grid-area:log;place-self:end start;width:min(100%,420px);height:min(100%,42vh);min-height:120px;margin-bottom:16px;transition:opacity .2s}.world .box.log:hover{opacity:1}.world .box.log{padding-right:8px}.log-title{color:var(--text);border-bottom:2px solid var(--gold);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;align-self:flex-start;margin:0;padding:0 0 3px}.log-shown{flex-direction:column;flex:1;min-height:0;display:flex}.world.city{background:var(--ground);background-blend-mode:normal, difference}.city-phase{grid-area:1/2/3/3;justify-content:safe center;align-items:center;min-height:0;display:flex;container-type:size}.plan{flex:none;width:max(100cqi,600px);height:100cqb;overflow:visible}.plan .backdrop{opacity:.5}.plan .place{cursor:pointer;transform-box:fill-box;transform-origin:50% 40%;outline:none;transition:transform .15s}.plan .place .ring{fill:#0e0c09;stroke:#0e0c09;stroke-width:9px;stroke-linejoin:round}.plan .place .edge{fill:none;stroke:var(--frame-edge);stroke-width:2.5px;stroke-linejoin:round;transition:stroke .15s}.plan .place image{transition:filter .15s}.plan .place .name{fill:var(--text);stroke:#100d0a;stroke-width:5px;stroke-linejoin:round;paint-order:stroke;font:600 17px var(--display);letter-spacing:.03em;text-anchor:middle;transition:fill .15s}.plan .place .key{text-decoration:underline}.plan .place:hover,.plan .place:focus-visible{transform:scale(1.05)}.plan .place:hover .edge,.plan .place:focus-visible .edge,.plan .place[aria-pressed=true] .edge{stroke:var(--gold);filter:drop-shadow(0 0 4px #d9b45ab3)}.plan .place:hover image,.plan .place:focus-visible image{filter:brightness(1.12)}.plan .place:hover .name,.plan .place:focus-visible .name,.plan .place[aria-pressed=true] .name{fill:var(--gold-light)}@media (prefers-reduced-motion:reduce){.plan .place{transition:none}}.dungeon-phase{display:contents}.world .map{z-index:0;background:var(--map-glow), var(--light-stone);background-blend-mode:normal, difference;position:absolute;inset:0;overflow:hidden}.world .map:after{content:"";background:var(--map-shade);pointer-events:none;position:absolute;inset:0}.map .map-tip .note{max-width:240px;color:var(--gold-light);white-space:normal;overflow-wrap:anywhere;margin-top:2px;font-size:12px;font-weight:400;display:block}.map .map-tip{z-index:1;color:var(--text);font:600 11px var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#000000d9;border:1px solid #ffffff2e;border-radius:3px;padding:3px 6px;position:absolute;transform:translate(-50%,calc(-100% - 4px))}.world .encounter{z-index:1;pointer-events:none;grid-area:encounter;grid-template-rows:minmax(88px,auto) auto;align-self:start;row-gap:24px;min-width:0;display:grid}.world .monster-groups{flex-wrap:wrap;grid-row:1;justify-content:flex-start;gap:12px 24px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.world .round{isolation:isolate;pointer-events:auto;grid-row:2;justify-self:start;width:min(100%,400px);transition:opacity .3s,visibility .3s;position:relative}.world .round-card{box-sizing:border-box;background:var(--panel);border:1px solid var(--panel-edge);border-radius:4px;flex-direction:column;max-height:220px;padding:10px 8px 10px 12px;display:flex;box-shadow:0 8px 24px #00000073}.world .round.gone{opacity:0;visibility:hidden;pointer-events:none}.monster-groups li{flex:200px;max-width:240px;position:relative}.world.dungeon .party-cards li:before,.world.dungeon .monster-groups li:before,.world.dungeon .round:before{content:"";z-index:-1;background:var(--map-shade) fixed, var(--map-glow) fixed, var(--light-stone) fixed;background-blend-mode:normal, normal, difference;pointer-events:none;position:absolute;inset:-36px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000),linear-gradient(#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000),linear-gradient(#0000,#000 24px calc(100% - 24px),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.world.dungeon .monster-groups li:before,.world.dungeon .round:before{left:-16px}.world.dungeon .round:before{top:-24px}.monster-groups .group{background:var(--panel);width:100%;height:88px;color:var(--text);border:1px solid var(--panel-edge);box-sizing:border-box;font:inherit;text-align:left;pointer-events:auto;border-radius:4px;align-items:center;gap:10px;padding:8px 10px 8px 8px;display:flex;position:relative;box-shadow:0 8px 24px #00000073}.monster-groups .hostile{color:#fff;display:block;position:absolute;top:8px;right:8px}.monster-groups .hostile.elite{filter:drop-shadow(0 0 2px #ffcd64f2)drop-shadow(0 0 6px #f0b446b3);top:5px;right:5px;overflow:visible}.monster-groups .hostile.elite .bones path{fill:none;stroke:#e9e1cf;stroke-width:2.6px;stroke-linecap:round}.monster-groups .hostile.elite .bones circle{fill:#e9e1cf}.monster-groups .group{cursor:pointer}.monster-groups .group:hover{border-color:#ffffff4d}.monster-groups .group.aimed{border-color:#e8907c;box-shadow:inset 0 0 0 1px #e8907c,0 8px 24px #00000073}.monster-groups .group.aimed.peaceful{border-color:#fff;box-shadow:inset 0 0 0 1px #fff,0 8px 24px #00000073}.monster-groups .group.elite{border-color:#f0c45ccc;box-shadow:0 0 0 1px #f0c45c4d,0 0 20px #f0b446b3,0 8px 24px #00000073}.monster-groups .group.elite:hover{border-color:#fad678}.monster-groups .group.elite.aimed{border-color:#e8907c;box-shadow:inset 0 0 0 1px #e8907c,0 0 20px #f0b446bf,0 8px 24px #00000073}.monster-groups .group.elite.aimed.peaceful{border-color:#fff;box-shadow:inset 0 0 0 1px #fff,0 0 20px #f0b446bf,0 8px 24px #00000073}.monster-groups .group:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.group-hits{background:#ffffff1a;border-radius:2px;flex:1;height:4px;display:block;overflow:hidden}.group-hits .fill{background:#c4513f;height:100%;transition:width .3s;display:block}.monster-groups .treasure-card{flex:0 180px;align-self:flex-start}.monster-groups .container{cursor:default;gap:8px;height:68px;padding:6px 10px 6px 6px}.monster-groups .container:hover{border-color:var(--panel-edge)}.monster-groups .container .name{color:var(--gold-light);margin-right:0}.monster-groups .container .marks{color:var(--gold-light);letter-spacing:.1em}.treasure-error{color:#e8907c;white-space:nowrap;background:#000000d9;border-radius:3px;margin:0;padding:3px 8px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.orders{align-items:center;gap:4px;display:flex}.order{background:var(--raised);height:34px;color:var(--text);border:1px solid var(--raised-edge);font:600 12px var(--ui);cursor:pointer;border-radius:3px;padding:0 14px}.order:hover{background:var(--raised-hover)}.order[aria-checked=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.order:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.monster-groups .picture{flex-shrink:0}.monster-groups img{image-rendering:pixelated;border-radius:2px;display:block}.monster-groups .unknown{box-sizing:border-box;width:60px;height:60px;color:var(--muted);font:600 24px var(--display);background:#00000059;border:1px dashed #fff3;border-radius:2px;place-items:center;display:grid}.monster-groups .strength{align-items:center;gap:8px;margin-top:2px;display:flex}.monster-groups .count{color:#fff;min-width:2.25em;font:700 16px/18px var(--ui);font-variant-numeric:tabular-nums;text-align:right;flex:none}.monster-groups .count.alone{visibility:hidden}.monster-groups .who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.monster-groups .name{color:#e8907c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-right:24px;font-size:14px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.monster-groups .peaceful .name{color:#fff}.monster-groups .elite .name{font-weight:800}.monster-groups small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.location-slot{width:0;min-width:100%}.location-bar{box-sizing:border-box;text-shadow:0 1px 3px #000,0 0 6px #000;white-space:nowrap;align-items:center;gap:12px;min-height:42px;padding:0 9px 6px;display:flex}.location-bar .here{overflow-clip-margin:4px;flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:clip}.location-bar .here>*{flex-shrink:0}.location-bar .order.cast{text-overflow:ellipsis;max-width:180px;overflow:hidden}.location-bar .location-name .amount{color:var(--text);font-variant-numeric:tabular-nums;font-weight:400}.location-bar .location-name{color:var(--muted);font:600 13px var(--ui);padding:0 4px}.location-bar .location-name.hazard{color:#e8907c}.location-bar .location-name.dead{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.location-bar .where{color:var(--muted);font:600 13px var(--ui);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;padding:0 6px}.location-bar .where-menu{flex:none;margin-left:auto;position:relative}.location-bar .where-menu .where{cursor:pointer;background:0 0;border:none;border-radius:3px;height:28px;margin:0}.location-bar .where-menu .where:hover,.location-bar .where-menu .where[aria-expanded=true]{color:var(--text);background:#ffffff0f}.location-bar .where-menu .where:focus-visible{outline:none}.map-menu{min-width:190px}.map-menu button[role=menuitem]{align-items:center;gap:16px;display:flex}.map-menu kbd{color:var(--muted);font:600 12px var(--ui);margin-left:auto}.level-pick{height:32px;color:var(--text);font:13px var(--ui);align-items:center;gap:6px;padding:0 4px 0 12px;display:flex}.level-pick .label{margin-right:auto}.dropup .level-pick .step,.library .level-pick .step{width:26px;height:26px;font:600 15px/1 var(--ui);text-align:center;background:#ffffff0f;padding:0}.level-pick .shown{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}.map-explored{height:28px;color:var(--text);font:13px var(--ui);align-items:center;gap:12px;padding:0 12px;display:flex}.map-explored .label{margin-right:auto}.map-explored .count{color:var(--muted);font-variant-numeric:tabular-nums}.location-bar .button{background:var(--raised);border-color:var(--raised-edge);width:auto}.location-bar .button:hover{background:var(--raised-hover)}.map-view{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(circle closest-side,#000 35%,#0006 100%);mask-image:radial-gradient(circle closest-side,#000 35%,#0006 100%)}.map-view.panning{cursor:grabbing}.map-view.on-pin,.level-map.on-pin{cursor:pointer}.map-view.pinning,.level-map.pinning{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 22.5c-1.3-3.6-6.2-6.2-6.2-11.3a6.2 6.2 0 1 1 12.4 0c0 5.1-4.9 7.7-6.2 11.3z' fill='%23d8473a' stroke='%23fff' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='11.2' r='2.3' fill='%23fff'/%3E%3C/svg%3E") 12 23,crosshair}.map-plane{will-change:transform;position:absolute;top:0;left:0}.map-plane>.automap.still{will-change:transform}.automap{width:var(--span);height:var(--span);pointer-events:none;display:block;position:absolute;top:0;left:0;overflow:visible}.automap .grid{fill:none;stroke:#ffffff06;stroke-width:1px;vector-effect:non-scaling-stroke}.automap .floor{fill:url(#automap-floor);stroke:#ffffff0b;stroke-width:1px;vector-effect:non-scaling-stroke}.automap .floor-stone{fill:color-mix(in srgb, #2d2a25, #2a1713 calc(var(--depth,0) * 1%))}.automap .joint{fill:none;stroke:#00000059;stroke-width:.45px}.automap .wall{stroke:#cfc6b0;stroke-width:var(--wall,3px);stroke-linecap:square;vector-effect:non-scaling-stroke}.automap .wall-joints{stroke:#958b76;stroke-width:var(--wall,3px);stroke-dasharray:1 8;vector-effect:non-scaling-stroke}.map-view.thin .wall-joints,.level-map.thin .wall-joints{display:none}.automap .wall-shadows{filter:blur(calc(var(--wall,3px) / 2))}.automap .wall-shadows path{stroke:#000000b3;stroke-width:calc(var(--wall,3px) * 2.3);stroke-linecap:square;vector-effect:non-scaling-stroke}.automap .door{fill:url(#automap-wood);stroke:#24170a;stroke-width:1px;shape-rendering:crispedges;vector-effect:non-scaling-stroke}.automap .wood-light{stop-color:#a8783c}.automap .wood-dark{stop-color:#6e4a22}.automap .stairs{fill:#e9e4d8}.automap .detail{pointer-events:none}.automap .rubble path,.automap .rubble circle{fill:#e9e4d824;stroke:#00000080;stroke-width:.3px}.automap .bones circle{fill:#ded4bc73}.automap .bones .bone{fill:none;stroke:#ded4bc73;stroke-width:.7px}.automap .cobweb path{fill:none;stroke:#e9e4d838;stroke-width:.25px}.automap .torch .glow{fill:url(#automap-torch-glow)}.automap .light{mix-blend-mode:screen;pointer-events:none}.automap .light path{fill:url(#automap-light)}.automap .light-middle{stop-color:#ffcf8f;stop-opacity:.2}.automap .light-near{stop-color:#ffcf8f;stop-opacity:.12}.automap .light-far{stop-color:#ffcf8f;stop-opacity:.04}.automap .light-edge{stop-color:#ffcf8f;stop-opacity:0}.automap .torch-glow-middle{stop-color:#f0a040;stop-opacity:.35}.automap .torch-glow-edge{stop-color:#f0a040;stop-opacity:0}.automap .torch .bracket{fill:#2a1d10}.automap .torch .flame{fill:#f6b44e;stroke:#c8641e;stroke-width:.25px}.automap .tint.water{fill:#4682d261}.automap .tint.quicksand{fill:#be965061}.automap .haze ellipse{fill:#e1e1dc33}.automap .tint.rock{fill:#4a463e}.automap .mark{stroke-width:1px;vector-effect:non-scaling-stroke}.automap.pins .head{fill:#d8473a;stroke:#3b130e;stroke-width:1px;vector-effect:non-scaling-stroke}.automap.pins .dot{fill:#fbeedd}.automap.pins .shadow{fill:#00000080}.automap.pins .drop{transform-box:fill-box;transform-origin:50% 100%;animation:.4s cubic-bezier(.3,1.4,.6,1) both pin-drop}@keyframes pin-drop{0%{opacity:0;transform:translateY(-8px)scale(1.4)}to{opacity:1;transform:none}}.automap .mark.pit .wall{stroke:none}.automap .mark.pit .north{fill:#141310}.automap .mark.pit .west{fill:#1b1916}.automap .mark.pit .east{fill:#2e2b26}.automap .mark.pit .south{fill:#3a362f}.automap .mark.pit .bottom{fill:#050505}.automap .mark.pit .edges{fill:none;stroke:#e9e4d88c;stroke-width:.35px}.automap .mark.pit .rim{fill:none;stroke:#e9e4d8;stroke-width:1px;vector-effect:non-scaling-stroke}.automap .mark.chute{fill:#0d0c0a;stroke:#a8823c;stroke-width:2px}.automap .mark.teleporter path{fill:none;stroke:#b49cf0;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;animation:18s steps(72,end) infinite automap-whirl}@keyframes automap-whirl{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.automap .mark.teleporter path{animation:none}}.automap .door.secret{fill:#7d7461}.automap .anti-magic{fill:url(#automap-anti-magic);pointer-events:none}.automap .hatch{stroke:#b096e652;stroke-width:.7px}.automap .studs circle{fill:#a8843f;stroke:#0009;stroke-width:.35px}.automap .facing{fill:none;stroke:#ded0aabf;stroke-width:.8px;stroke-linecap:round;stroke-linejoin:round}.automap .sign path{fill:none;stroke-linecap:round;stroke-linejoin:round}.automap .sign.rotator path{stroke:#7fcfc4;stroke-width:.9px}.automap .sign.extinguish .flame{fill:#1c1a17;stroke:#a39b8c;stroke-width:.7px}.automap .sign.extinguish .strike{stroke:#a39b8c;stroke-width:.9px}.automap .ahead{opacity:.5}.automap .hovered{fill:none;stroke:#e9e4d8a6;stroke-width:1px;vector-effect:non-scaling-stroke}.automap .party.elsewhere{opacity:.35}.automap .party .dot,.automap .party path{fill:#f0f;stroke:#f0f;stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.automap .glow-middle{stop-color:#f0f;stop-opacity:.28}.automap .glow-edge{stop-color:#f0f;stop-opacity:0}.event-log{scrollbar-width:thin;scrollbar-color:transparent transparent;flex-direction:column;flex:1;gap:6px;min-height:0;margin:0;padding:0 4px 0 0;font-size:13px;line-height:1.45;list-style:none;display:flex;overflow-y:auto}.box:hover .event-log{scrollbar-color:#ffffff40 transparent}.event-log .empty{color:var(--muted)}.event-log .combat{padding-left:20px;position:relative}.event-log .combat:before{content:"";background:#ffffff24;width:2px;position:absolute;top:0;bottom:0;left:8px}.event-log .combat+.combat:before{top:-6px}.event-log .separator{border-top:1px solid var(--panel-edge);flex:none;height:0;margin-left:20px;padding:0}.event-log .separator:before{left:-12px}.event-log .named-character{color:#fff;font-weight:700}.event-log .named-monster{color:#e8907c;font-weight:700}.event-log .named-item{color:var(--gold-light);font-weight:700}.actions{z-index:1;flex-direction:column;grid-area:actions;justify-self:center;display:flex;position:relative}.experience-bar{align-items:flex-end;height:12px;display:flex}.experience-bar .track{background:var(--panel);border:1px solid var(--panel-edge);border-bottom:none;border-radius:4px 4px 0 0;flex:1;height:4px;overflow:hidden}.experience-bar .fill{background:var(--gold);height:100%;display:block}.experience-bar.pinned .fill{background:#e8907c}.action-bar{background:var(--panel);border:1px solid var(--panel-edge);border-width:0 1px;gap:16px;padding:8px;display:flex}.location-slot+.action-bar{border-top-width:1px;border-radius:4px 4px 0 0}.action-bar .group{gap:6px;display:flex}.action{background:var(--raised);width:46px;height:46px;color:var(--text);border:1px solid var(--raised-edge);font:600 15px var(--ui);cursor:pointer;border-radius:5px;padding:0;transition:background .15s,border-color .15s}.action:hover{background:var(--raised-hover);border-color:#ffffff47}.action:focus-visible{outline:none}.action.tool{color:#e8dcc0;place-items:center;display:grid}.action.tool .icon{fill:currentColor;width:28px;height:28px}.action.tool[aria-pressed=true]{border-color:var(--gold);color:var(--gold-light);background:#221e19;box-shadow:inset 0 2px 5px #000000b3,0 0 0 1px #d9b45a59}.action.tool[aria-pressed=true]:hover{background:#2a251e}.action.tool[aria-pressed=true] .icon{transform:translateY(1px)}.action.slot{place-items:center;display:grid;position:relative}.action.slot>*{pointer-events:none}.action.slot img{image-rendering:pixelated}.action.slot .key{color:var(--text);text-shadow:0 1px 2px #000,0 0 2px #000;font-size:11px;position:absolute;top:1px;left:4px}.action.empty{color:var(--muted);cursor:default;background:#1a1815;border-color:#0000004d}.action.empty:hover{background:#1f1c18;border-color:#ffffff14}.action.slot.empty .key{color:var(--muted);text-shadow:none}.action.unavailable img{opacity:.4;filter:grayscale()}.action.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.action.over{background:var(--raised-hover);border-color:var(--gold-light);border-style:solid}.action-bar .menu{position:relative}.dropup{background:var(--panel);border:1px solid var(--raised-edge);border-radius:4px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 8px 24px #00000080}.dropup button{height:32px;color:var(--text);font:13px var(--ui);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 12px}.dropup button[role=menuitemcheckbox]{justify-content:space-between;align-items:center;gap:12px;display:flex}.dropup button[role=menuitemcheckbox][aria-checked=true]:after{content:"✓";color:var(--gold)}.dropup button:hover,.dropup button:focus-visible{background:#ffffff14;outline:none}.dropup button:disabled{color:var(--muted);opacity:.5;cursor:default;background:0 0}.dropup hr{border:none;border-top:1px solid var(--edge);width:100%;margin:4px 0}.morgue{grid-template-columns:minmax(0,1fr) 260px;gap:24px;width:760px;max-height:calc(100vh - 110px);display:grid}.morgue .the-dead ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.morgue .the-dead li{border:1px solid var(--edge);background:#0000002e;border-radius:3px;align-items:center;gap:12px;padding:8px 10px;display:flex}.morgue .portrait{filter:grayscale()brightness(.8);image-rendering:pixelated;flex:none}.morgue .about{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;display:flex}.morgue .about small{color:var(--muted);font-size:12px}.morgue .about .why,.morgue .rescuers .why{color:#e08a7a}.morgue .raises{flex-direction:column;flex:none;gap:6px;display:flex}.morgue .rescuers .field{flex-direction:column;gap:4px;display:flex}.morgue .rescuers .label{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase}.morgue .rescuers select,.morgue .rescuers input{height:32px;color:var(--text);border:1px solid var(--panel-edge);font:13px var(--ui);background:#00000040;border-radius:3px;padding:0 8px}.morgue .coordinates{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.morgue .coordinates input{box-sizing:border-box;width:100%}.morgue .rescuers strong{color:var(--text)}.seer{flex-direction:column;gap:14px;width:440px;display:flex}.seer .note{color:var(--muted);margin:0;font-size:13px}.seer .question{align-items:flex-end;gap:8px;display:flex}.seer .field{flex:1;gap:4px}.seer .label{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase}.seer select,.seer input{height:32px;color:var(--text);border:1px solid var(--panel-edge);font:13px var(--ui);background:#00000040;border-radius:3px;padding:0 8px}.seer .question .button{width:auto;min-width:80px}.seer .says{border-left:2px solid var(--gold);background:#00000038;border-radius:0 3px 3px 0;margin:0;padding:10px 14px}.seer .says blockquote{color:var(--text);font:italic 14px/1.5 var(--ui);margin:0}.seer .says figcaption{color:var(--muted);margin-top:6px;font-size:12px}.seer .why{color:#e08a7a;margin:-8px 0 0;font-size:12px}.library{grid-template-columns:240px 360px;gap:20px;height:min(560px,100vh - 110px);display:grid}.window .body:has(>.library){overflow:hidden}.library.dungeon{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px;width:620px}.dungeon-head{justify-content:space-between;align-items:center;display:flex}.dungeon-head .level-pick{padding:0}.dungeon-head .level-pick .label{margin-right:6px}.dungeon-head .note-tool{color:var(--text);align-items:center;gap:10px;font-size:13px;display:flex}.dungeon-head .note-tool .button{width:auto;height:28px;padding:0 12px}.dungeon-head .explored{color:var(--text);font-size:13px}.dungeon-head .explored .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:8px}.level-map{background:#00000040;border-radius:3px;min-height:0;position:relative;overflow:hidden}.library .index{min-height:0}.library .search{height:32px;color:var(--text);border:1px solid var(--panel-edge);font:13px var(--ui);background:#00000040;border-radius:3px;padding:0 10px}.library .search:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.library .entries{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.library .entry-name{width:100%;color:var(--text);font:13px var(--ui);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:10px;padding:4px 8px;display:flex}.library .entry-name:hover{background:#ffffff0d}.library .entry-name[aria-pressed=true]{border-color:var(--gold);background:#d9b45a1f}.library .entry-name:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.library .entry-name img{image-rendering:pixelated;border-radius:2px;flex:none}.library .entry{min-height:0;overflow-y:auto}.library .entry-head{align-items:center;gap:14px;display:flex}.library .entry-head img{image-rendering:pixelated;border-radius:3px}.library .entry-head img.item{box-sizing:border-box;background:#00000040;padding:14px}.library .entry-head h3{color:var(--gold-light);font:600 17px var(--display);letter-spacing:.03em;text-transform:none}.library .entry-head small{color:var(--muted);font-size:12px}.library h4{color:var(--muted);font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 0}.library .facts{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:flex}.library .sightings{font-variant-numeric:tabular-nums;gap:2px}.library .spell-classes ul{margin:0 0 8px;padding:0;list-style:none}.library .spell-classes h4{z-index:1;background:var(--frame-fill);margin:0;padding:6px 8px 4px;position:sticky;top:0}.library .entry-name .level{color:var(--muted);margin-left:auto;font-size:12px}.library .entry-head img.spell{box-sizing:border-box;background:#00000040;padding:14px}.library .lore{color:var(--text);margin:0;font-size:13px;font-style:italic;line-height:1.5}.library .for{margin:0;font-size:13px;line-height:1.4}.hall{grid-template-columns:repeat(2,minmax(0,380px));gap:24px;display:grid}.hall .records{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hall .record{border:1px solid var(--edge);background:#0000002e;border-radius:3px;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.hall .record.ours{border-color:var(--gold);background:#d9b45a14}.hall .about{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hall .title{color:var(--gold-light);font:600 14px var(--display);letter-spacing:.03em}.hall .holder{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.hall .ours .holder{color:var(--gold)}.hall .when,.hall .value small{color:var(--muted);font-size:12px}.hall .when{white-space:nowrap}.hall .value{text-align:right;flex-direction:column;flex:none;align-items:flex-end;max-width:45%;display:flex}.hall .value strong{font-variant-numeric:tabular-nums;font-size:20px}.hall .value.creature{flex-direction:row;align-items:center;gap:8px}.hall .value.creature strong{font-size:14px}.hall .value img{image-rendering:pixelated;border-radius:3px}@media (width<=1400px){.action-bar{gap:10px}.action-bar .group{gap:4px}.action{width:38px;height:38px}.action.slot img{width:28px;height:28px}.action.tool .icon{width:23px;height:23px}}
