:root{--ink:#111419;--panel:#191d24;--panel-2:#212732;--panel-3:#2a3140;--line:#333c4b;--text:#ece6d6;--muted:#98a1ad;--brass:#d1a64e;--brass-dim:#8a6d33;--blood:#d9483b;--heal:#45b86b;--warn:#e3a33a;--temp:#5fa8e8;--arcane:#8f7cf0;--player:#45b86b;--npc:#d1a64e;--monster:#d9483b;--f-display:"Alegreya SC", "Palatino Linotype", Palatino, Georgia, serif;--f-body:"Alegreya Sans", "Segoe UI", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--r:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--text);font:15px/1.45 var(--f-body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;letter-spacing:.01em;margin:0;font-weight:700}h3{color:var(--brass);letter-spacing:.06em;font-size:14px}.icon{flex:none}.pad{padding:0 16px}.pad-x{padding-left:16px;padding-right:16px}.pre{white-space:pre-wrap;color:var(--text);margin:0}.error{color:#ff8b80;margin:0;font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:11px;font-weight:700}.sub{color:var(--muted);font-size:13px}.loading{height:100%;font-family:var(--f-display);color:var(--brass);place-items:center;font-size:20px;display:grid}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{background:var(--ink);border:1px solid var(--line);border-radius:6px;outline:none;width:100%;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--brass-dim)}textarea{resize:vertical;line-height:1.4}input[type=number]{font-family:var(--f-mono);font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--brass);width:100%}input[type=checkbox]{accent-color:var(--brass);width:16px;height:16px}input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:30px;height:30px;padding:0}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}.btn{border:1px solid var(--line);background:var(--panel-2);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-3);border-color:#485366}.btn.small{padding:5px 10px;font-size:13px}.btn.big{justify-content:center;padding:11px 18px;font-size:16px}.btn.primary{background:var(--brass);color:#1a1407;border-color:var(--brass);font-weight:700}.btn.primary:hover:not(:disabled){background:#e2b85f;border-color:#e2b85f}.btn.ghost{background:0 0}.btn.danger{color:#ffb1a9;border-color:#7a2c26}.btn.danger:hover:not(:disabled){background:#4a1d1a}.btn.danger.small:not(.ghost){color:#fff;background:#5a201c}.btn.heal{color:#a4e9ba;border-color:#2c6a40}.btn.heal:hover:not(:disabled){background:#1b3d26}.icon-btn{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.icon-btn.sm{width:28px;height:28px}.icon-btn.toggle.on{color:var(--brass);background:#d1a64e24;border-color:#d1a64e59}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:340px minmax(0,1fr) auto;height:100%;display:grid}.topbar{padding:8px max(16px, env(safe-area-inset-right,0px)) 8px max(16px, env(safe-area-inset-left,0px));background:var(--panel);border-bottom:1px solid var(--line);z-index:30;grid-column:1/-1;align-items:center;gap:12px;min-width:0;display:flex}.brand{font-family:var(--f-display);letter-spacing:.04em;color:var(--brass);align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.brand-mark{border:3px solid var(--brass);width:22px;height:22px;box-shadow:inset 0 0 0 3px var(--panel), inset 0 0 0 9px var(--blood);border-radius:50%}.spacer{flex:1}.session-picker{min-width:0;position:relative}.session-btn{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:auto auto;align-items:center;column-gap:8px;max-width:360px;padding:2px 10px;display:grid}.session-btn:hover:not(:disabled){border-color:var(--line);background:var(--panel-2)}.session-btn .eyebrow{grid-column:1/-1}.session-btn b{font-family:var(--f-display);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.save-state{color:var(--muted);font-size:12px;font-family:var(--f-mono);white-space:nowrap}.role-chip{border:1px solid var(--line);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.role-chip.gm{color:var(--brass);border-color:var(--brass-dim)}.role-chip.player{color:var(--player);border-color:#2c6a40}.only-narrow,.side-reveal{display:none}.session-menu{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);z-index:50;width:min(420px,100vw - 32px);max-height:75vh;padding:6px 0;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 50px #0000008c}.session-menu section{border-bottom:1px solid var(--line);gap:8px;padding:12px 16px;display:grid}.session-menu section:last-child{border-bottom:0}.ses-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ses-list li{border-radius:6px;align-items:center;gap:6px;display:flex}.ses-list li.on{background:#d1a64e1f}.ses-list li>button:first-child{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:7px 10px;display:grid}.ses-list li>button:first-child:hover{background:var(--panel-2);border-radius:6px}.sidebar{background:var(--panel);border-right:1px solid var(--line);z-index:20;flex-direction:column;grid-area:2/1;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--line);padding:0 8px;display:flex}.tab{color:var(--muted);letter-spacing:.03em;background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px 8px;font-size:12px;font-weight:700;display:flex}.tab:hover{color:var(--text)}.tab.on{color:var(--brass);border-bottom-color:var(--brass)}.tab-body{flex:1;min-height:0;overflow:auto}.panel{flex-direction:column;gap:12px;padding:14px 0 24px;display:flex}.panel-head{justify-content:space-between;align-items:flex-end;gap:10px;padding:0 16px;display:flex}.panel-title{color:var(--text);letter-spacing:.02em;font-size:19px}.search{align-items:center;display:flex;position:relative}.search .icon{color:var(--muted);pointer-events:none;position:absolute;left:26px}.search input{padding-left:34px!important}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip.on{color:var(--text);background:var(--panel-3);border-color:#4a5466}.chip .count{font-family:var(--f-mono);color:var(--muted);font-size:11px}.chip-x{color:var(--muted);background:0 0;border:0;padding:0;display:inline-grid}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.row>*{flex:120px;min-width:0}.row.tight{align-items:center;gap:8px}.empty{color:var(--muted);justify-items:start;gap:10px;padding:18px 16px;display:grid}.avatar{background:var(--panel-3);box-shadow:0 0 0 2px var(--ring), 0 0 0 3px #0009;border-radius:50%;flex:none;display:inline-block;position:relative}.avatar img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.avatar.fit-full img{border-radius:0}.avatar.no-ring{box-shadow:0 0 0 1px #0009}.avatar.fit-full.no-ring{box-shadow:none;background:0 0}.avatar.dim{filter:grayscale()brightness(.6)}.kind-chip{letter-spacing:.08em;text-transform:uppercase;vertical-align:1px;border-radius:4px;margin-right:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.k-player{color:var(--player);background:#45b86b24}.k-npc{color:var(--npc);background:#d1a64e24}.k-monster{color:#ff8b80;background:#d9483b29}.form-picker{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.form-picker .label{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:700}.form-chips{flex-wrap:wrap;gap:6px;display:flex}.form-chip{color:inherit;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12px;display:inline-flex}.form-chip:hover{border-color:#ffffff59}.form-chip.on{border-color:var(--brass,#d1a64e);background:#d1a64e24}.form-picker.compact{padding:0 0 8px}.forms-edit{flex-direction:column;gap:8px;margin-top:6px;display:flex}.forms-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.form-item{border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:4px;display:flex}.form-item.on{background:#d1a64e14;border-color:#d1a64e80}.form-item input{flex:1;min-width:0}.form-thumb{cursor:pointer;background:0 0;border:0;padding:0;line-height:0}.form-main{letter-spacing:.08em;text-transform:uppercase;color:var(--brass,#d1a64e);font-size:10px;font-weight:700}.k-object{color:#c4cee0;background:#96aacd29}.turn-bar{border:1px solid var(--line);border-radius:var(--r);background:var(--ink);align-items:center;gap:6px;margin:0 16px;padding:6px;display:flex}.turn-read{text-align:center;flex:1;min-width:0}.turn-read b{font-family:var(--f-display);text-overflow:ellipsis;white-space:nowrap;font-size:16px;display:block;overflow:hidden}.token-list,.lib-list,.map-list{margin:0;padding:0;list-style:none}.token-row{border-left:3px solid #0000;align-items:center;gap:6px;padding:4px 12px 4px 8px;display:flex}.token-row.active{border-left-color:var(--brass);background:#d1a64e14}.token-row.sel .token-row-main{background:var(--panel-3)}.token-row.hidden-tok{opacity:.6}.token-row-main{text-align:left;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:12px;min-width:0;padding:6px 8px;display:flex}.token-row-main:hover{background:var(--panel-2)}.token-row-text{flex:1;gap:3px;min-width:0;display:grid}.token-row-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.init-input{text-align:center;flex:none;width:54px!important;padding:5px 4px!important}.lib-row{cursor:grab;border-bottom:1px solid #333c4b80;align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex}.lib-row.monster{cursor:default}.lib-row:hover{background:var(--panel-2)}.lib-actions{flex:none;align-items:center;gap:0;display:flex}.lib-row .token-row-text b{white-space:normal;line-height:1.2}.sub.mono{font-family:var(--f-mono);font-size:11.5px}.cr-badge{text-align:center;width:42px;height:42px;font-family:var(--f-mono);border:1px solid var(--line);background:var(--ink);color:var(--brass);border-radius:50%;flex:none;place-content:center;font-size:13px;font-weight:700;line-height:1;display:grid}.cr-badge small{color:var(--muted);letter-spacing:.1em;margin-bottom:2px;font-size:8px;display:block}.online{gap:6px;display:grid}.online-row{align-items:center;gap:8px;display:flex}.online-row span{flex:1}.map-list{gap:14px;padding:0 16px;display:grid}.map-card{border:1px solid var(--line);border-radius:var(--r);background:var(--ink);overflow:hidden}.map-card.active{border-color:var(--brass-dim);box-shadow:0 0 0 1px var(--brass-dim)}.map-thumb{aspect-ratio:16/9;background:#000;border:0;width:100%;max-width:100%;padding:0;display:block;position:relative}.map-thumb img{object-fit:cover;width:100%;height:100%;display:block}.map-active{background:var(--brass);color:#1a1407;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.map-meta{gap:4px;padding:10px 12px;display:grid}.map-actions{align-items:center;gap:4px;margin-top:4px;display:flex}.map-tag-filter{margin:10px 0 12px}.map-tag-filter .chip{cursor:pointer}.chip-more{border-style:dashed}.map-tags{flex-wrap:wrap;gap:4px;display:flex}.map-tag{border:1px solid var(--line);background:var(--panel-3);color:var(--muted);cursor:pointer;border-radius:99px;padding:1px 8px;font-size:12px;line-height:18px}.map-tag:hover{color:var(--text);border-color:#4a5466}.map-tag.on{color:var(--ink);background:var(--brass);border-color:var(--brass)}.tag-input{border:1px solid var(--line);background:var(--ink);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.tag-input:focus-within{border-color:var(--brass-dim)}.tag-input input{outline:none;flex:140px;min-width:100px;background:0 0!important;border:0!important;padding:4px 2px!important}.tag-pill{background:var(--panel-3);border:1px solid #4a5466;border-radius:99px;align-items:center;gap:4px;padding:2px 6px 2px 10px;font-size:13px;display:inline-flex}.tag-suggest{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tag-suggest .field-hint{margin-right:2px}.grid-preview{background:#000;border-radius:6px;margin:0 auto;position:relative;overflow:hidden}div.grid-preview>img,div.grid-preview>svg{border-radius:0;width:100%;height:100%;max-height:none;display:block;position:absolute;inset:0}.dropzone.filled{min-height:0;padding:6px}.dropzone.filled .grid-preview{max-width:100%}.grid-fields{gap:8px;display:grid}.grid-detect{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.grid-detect-note{color:var(--muted);flex:220px;font-size:13px}.grid-detect-note.found{color:var(--heal,#7fd18b)}.grid-detect-note.running{color:var(--brass)}.hpbar{background:#0b0d10;border:1px solid #000;border-radius:4px;height:14px;position:relative;overflow:hidden}.hpbar-fill,.token-hp-fill{background:var(--heal);transition:width .25s;position:absolute;inset:0 auto 0 0}.hp-bloodied .hpbar-fill,.hp-bloodied .token-hp-fill{background:var(--warn)}.hp-critical .hpbar-fill,.hp-critical .token-hp-fill,.hp-down .hpbar-fill{background:var(--blood)}.hpbar-temp{background:repeating-linear-gradient(45deg, var(--temp) 0 4px, #3a76ad 4px 8px);position:absolute;inset:0 0 0 auto}.hpbar-text{text-align:center;font:700 10px/12px var(--f-mono);color:#fff;text-shadow:0 1px 2px #000;display:block;position:relative}.stage{grid-area:2/2;min-width:0;min-height:0;position:relative}.board-wrap{position:absolute;inset:0}.board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:radial-gradient(circle at 50% 40%,#1d222b,#0c0e12 75%);position:absolute;inset:0;overflow:hidden}.board:active{cursor:grabbing}.empty-board{color:var(--muted);place-items:center;display:grid}.world{transform-origin:0 0;position:absolute;top:0;left:0}.world.moving{will-change:transform}.map-img,.token-art,.avatar img{image-rendering:auto}.map-img{pointer-events:none;max-width:none;display:block;box-shadow:0 30px 80px #0009}.grid{pointer-events:none;position:absolute;top:0;left:0}.drag-origin{pointer-events:none;border:2px dashed #d1a64ecc;border-radius:50%;position:absolute}.drag-distance{z-index:6;color:var(--brass);font:700 1em/1 var(--f-mono);pointer-events:none;white-space:nowrap;border:1px solid var(--brass-dim);background:#0a0c0fe0;border-radius:6px;padding:.35em .6em;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 14px #0009}.token{touch-action:none;cursor:pointer;place-items:center;display:grid;position:absolute}.token.movable{cursor:grab}.token.dragging{cursor:grabbing;z-index:5}.token-disc{width:var(--disc);height:var(--disc);box-shadow:0 0 0 var(--ringw) var(--ring), 0 0 0 calc(var(--ringw) + 2px) #000000b3, 0 calc(var(--disc) * .06) calc(var(--disc) * .12) #0009;background:#222;border-radius:50%;transition:transform .12s,filter .2s;position:relative}.token-art{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.token.fit-full .token-art{border-radius:0}.token.fit-full .token-disc{background:#14161c8c}.token.no-ring .token-disc{box-shadow:0 calc(var(--disc) * .06) calc(var(--disc) * .12) #0009}.token.no-ring.fit-full .token-disc,.token.no-ring.fit-full.dragging .token-disc{box-shadow:none;background:0 0}.token.no-ring.fit-full .token-art{filter:drop-shadow(0 calc(var(--disc) * .04) calc(var(--disc) * .05) #000000b3)}.token.no-ring.selected .token-disc{outline-width:max(2px, calc(var(--disc) * .02));outline-offset:max(3px, calc(var(--disc) * .03))}.token:hover .token-disc{transform:scale(1.04)}.token.dragging .token-disc{box-shadow:0 0 0 var(--ringw) var(--ring), 0 0 0 calc(var(--ringw) + 2px) #000000b3, 0 calc(var(--disc) * .15) calc(var(--disc) * .3) #000000b3;transform:scale(1.08)}.token.selected .token-disc{outline:calc(var(--ringw) * .7) dashed var(--brass);outline-offset:calc(var(--ringw) * 1.8)}.token.active-turn:before{content:"";width:calc(var(--disc) * 1.28);height:calc(var(--disc) * 1.28);pointer-events:none;background:radial-gradient(circle,#d1a64e00 55%,#d1a64e8c 70%,#d1a64e00 72%);border-radius:50%;animation:2.2s ease-in-out infinite pulse;position:absolute}@keyframes pulse{50%{opacity:.6;transform:scale(1.06)}}.token.is-hidden .token-disc{opacity:.45}.token.is-down .token-disc{filter:grayscale()brightness(.55)}.token.is-down:after{content:"";width:calc(var(--disc) * .6);height:calc(var(--disc) * .6);background:linear-gradient(45deg, transparent 44%, var(--blood) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--blood) 44% 56%, transparent 56%);pointer-events:none;position:absolute}.token-hp{left:50%;top:calc((100% - var(--disc)) / 2 - 2px);pointer-events:none;background:#08090ce6;border:1px solid #000;border-radius:3px;position:absolute;overflow:hidden;transform:translate(-50%,-100%)}.token-hp-temp{background:var(--temp);width:18%;position:absolute;inset:0 0 0 auto}.token-badge{right:calc((100% - var(--disc)) / 2);top:calc((100% - var(--disc)) / 2);background:var(--brass);color:#1a1407;min-width:1.6em;height:1.6em;font:700 1em/1.6em var(--f-mono);text-align:center;pointer-events:none;border-radius:99px;padding:0 .3em;position:absolute;box-shadow:0 0 0 2px #000}.token-hidden{left:calc((100% - var(--disc)) / 2);top:calc((100% - var(--disc)) / 2);color:var(--text);pointer-events:none;background:#000;border-radius:50%;padding:.25em;display:grid;position:absolute}.token-name{top:calc(50% + var(--disc) / 2 + var(--ringw) + 3px);white-space:nowrap;opacity:0;pointer-events:none;background:#0a0c0fd9;border-radius:4px;padding:.1em .55em;font-weight:700;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%)}.token:hover .token-name,.token.selected .token-name,.token.dragging .token-name{opacity:1}.board-toolbar{left:50%;bottom:max(14px, env(safe-area-inset-bottom,0px));z-index:10;justify-items:center;gap:8px;max-width:calc(100% - 24px);display:grid;position:absolute;transform:translate(-50%)}.toolbar-row{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#191d24f0;border-radius:10px;align-items:center;gap:4px;padding:5px 8px;display:flex;box-shadow:0 10px 30px #00000080}.zoom-range{width:120px}.zoom-read{font:700 12px var(--f-mono);color:var(--muted);text-align:center;width:46px}.tb-sep{background:var(--line);width:1px;height:22px;margin:0 4px}.map-settings{border:1px solid var(--line);background:#191d24f7;border-radius:10px;gap:10px;width:min(340px,100vw - 40px);padding:14px 16px;display:grid;box-shadow:0 16px 40px #0000008c}.slider{gap:2px;display:grid}.slider-top{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.slider-top b{font-family:var(--f-mono);color:var(--text);font-size:12px}.slider.inline{flex:140px}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.seg{flex-wrap:wrap;gap:6px;display:flex}.swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.swatch{width:26px;height:26px;box-shadow:0 0 0 1px var(--line);border:2px solid #0009;border-radius:50%;padding:0}.swatch.sm{width:22px;height:22px}.swatch.on{box-shadow:0 0 0 2px var(--ink), 0 0 0 4px var(--brass)}.swatch-none{background:var(--ink) linear-gradient(135deg, transparent 45%, #b6423a 45% 55%, transparent 55%);border-color:#5a6375}.fit-seg button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;padding:5px 10px;font-size:13px}.fit-seg button.on{color:var(--text);border-color:var(--brass-dim);background:#d1a64e1f}.fit-seg.small button{padding:3px 8px;font-size:12px}.seg-pick button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.seg-pick button:hover{color:var(--text);border-color:#485366}.seg-pick button[aria-checked=true]{background:var(--brass);border-color:var(--brass);color:#1a1407;font-weight:700}.seg-pick button[aria-checked=true]:before{content:"";border:2px solid;border-width:0 2px 2px 0;width:5px;height:9px;margin:-2px 2px 0 0;transform:rotate(45deg)}.details{background:var(--panel);border-left:1px solid var(--line);z-index:20;grid-area:2/3;width:360px;padding-bottom:28px;overflow:auto}.details section{border-bottom:1px solid #333c4b99;gap:10px;padding:14px 16px;display:grid}.details-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--panel-2), var(--panel));align-items:flex-start;gap:14px;padding:16px 12px 14px 16px;display:flex}.details-head .avatar{margin:3px}.avatar-col{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0}.avatar-btn:hover .avatar,.avatar-btn:focus-visible .avatar{box-shadow:0 0 0 2px var(--ring), 0 0 0 5px #ffffff47}.avatar-btn:focus-visible{outline:none}.avatar-edit-link{white-space:nowrap;font-size:11px;line-height:1.2}.details-title{flex:1;gap:4px;min-width:0;display:grid}.details-title h2,.name-input{font-weight:700;font-family:var(--f-display)!important;font-size:21px!important}.name-input{margin-left:-4px;background:0 0!important;border-color:#0000!important;padding:0 4px!important}.name-input:hover,.name-input:focus{border-color:var(--line)!important}.details-title .sub{margin:0}.flash{border:1px solid var(--brass-dim);color:var(--brass);background:#d1a64e24;border-radius:6px;margin:10px 16px 0;padding:7px 12px;font-size:14px}.label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:700}.hp-numbers{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.big-num{font:700 30px/1.1 var(--f-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.big-num input{font-size:28px;font-weight:700;width:92px!important;padding:2px 6px!important}.big-num.small{font-size:20px}.big-num.small input{font-size:18px;width:64px!important}.big-num .of{color:var(--muted);font-size:16px}.hp-block .hpbar{height:10px}.hp-adjust{gap:8px;display:flex}.hp-adjust input{flex:1}.stat-strip{grid-template-columns:repeat(3,1fr)}.details section.stat-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.statbox{border:1px solid var(--line);background:var(--ink);text-align:center;border-radius:6px;gap:2px;padding:6px 8px;display:grid}.statbox.wide{text-align:left;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:10px}.statbox b{font:700 18px var(--f-mono)}.statbox input{text-align:center;font-weight:700;padding:3px!important}.statbox.wide input{text-align:left;font-family:var(--f-body);font-weight:500}.abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.details section.abilities{display:grid}.ability{border:1px solid var(--line);background:var(--ink);border-radius:6px;justify-items:center;gap:2px;padding:6px 2px;display:grid}.ab-name{letter-spacing:.1em;color:var(--brass);font-size:10px;font-weight:700}.ability b{font:700 15px var(--f-mono)}.ability input{text-align:center;font-size:14px;padding:2px!important}.ab-mod{font:700 13px var(--f-mono);color:var(--muted)}.abilities.edit .ability{padding:8px 4px}.conds{flex-wrap:wrap;gap:5px;display:flex}.cond{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:99px;padding:3px 9px;font-size:12px}.cond.on{border-color:var(--brass-dim);color:var(--brass);background:#d1a64e2e;font-weight:700}.cond:disabled{opacity:1;cursor:default}.modal-backdrop{z-index:100;background:#050608b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:min(520px,100%);min-height:0;max-height:calc(100dvh - 32px);display:flex;box-shadow:0 30px 90px #000000b3}.modal.wide{width:min(940px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px 12px 20px;display:flex}.modal-head h2{font-size:22px}.modal-body{gap:14px;min-height:0;padding:18px 20px;display:grid;overflow:auto}.modal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.modal-foot .error{margin-right:auto}.field{gap:5px;min-width:0;display:grid}.field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.field-hint{color:var(--muted);margin:0;font-size:13px}input.narrow{max-width:110px}.editor{grid-template-columns:240px minmax(0,1fr);gap:24px;display:grid}.editor-side,.editor-main{align-content:start;gap:14px;min-width:0;display:grid}.sizes button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;align-items:center;gap:7px;padding:5px 10px;font-size:13px;display:inline-flex}.sizes button.on{color:var(--text);border-color:var(--brass-dim);background:#d1a64e1f}.size-glyph{width:calc(4px + var(--c) * 4px);height:calc(4px + var(--c) * 4px);border:2px solid;border-radius:50%}.cropper{gap:10px;display:grid}.cropper-stage{background:repeating-conic-gradient(#1b1f27 0 25%, #151920 0 50%) 0 0 / 20px 20px;border:1px dashed var(--line);touch-action:none;border-radius:12px;place-items:center;width:220px;max-width:100%;height:220px;margin:0 auto;display:grid}.cropper-stage.over{border-color:var(--brass)}.cropper-stage.can-pan{cursor:move}.cropper-square{outline-offset:0;outline:1px dashed #d1a64e73;place-items:center;width:176px;height:176px;display:grid;position:relative}.cropper-ring{background:var(--panel-2);box-shadow:0 0 0 7px var(--ring), 0 0 0 9px #000000b3, 0 10px 30px #0009;border-radius:50%;position:absolute;inset:0}.cropper-square.no-ring .cropper-ring{box-shadow:inset 0 0 0 1px #d1a64e59}.cropper-square.fit-full.no-ring .cropper-ring{background:0 0}.cropper-art{pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.cropper-square.fit-full .cropper-art{border-radius:0}.cropper-empty{color:var(--muted);font-size:14px;position:relative}.cropper-controls{justify-items:start;gap:8px;display:grid}.cropper-controls .slider{width:100%}.dropzone{border:1px dashed var(--line);border-radius:var(--r);text-align:center;min-height:180px;color:var(--muted);cursor:pointer;place-items:center;padding:12px;display:grid;overflow:hidden}.dropzone img{border-radius:6px;max-height:260px}.login{height:100%;padding:24px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));background:linear-gradient(115deg, #0a0c10f5 30%, #0a0c108c), var(--bg-img) center / cover;place-items:center;display:grid;overflow:auto}.login-card{border:1px solid var(--line);background:#161a21eb;border-radius:14px;gap:16px;width:min(470px,100%);padding:28px;display:grid;box-shadow:0 40px 100px #0009}.login-card h1{color:var(--brass);letter-spacing:.02em;align-items:center;gap:14px;font-size:clamp(36px,7vw,50px);line-height:.95;display:flex}.login-card h1 .brand-mark{width:.72em;height:.72em;box-shadow:inset 0 0 0 .09em var(--panel), inset 0 0 0 .3em var(--blood);border-width:.09em;flex:none}.roles{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.roles legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.role{text-align:left;border:1px solid var(--line);background:var(--ink);color:var(--muted);border-radius:10px;justify-items:start;gap:4px;padding:14px;display:grid}.role b{color:var(--text);font-family:var(--f-display);font-size:17px}.role span{font-size:13px}.role.on{border-color:var(--brass);color:var(--brass);background:#d1a64e1a}@media (width>=861px){.app.side-hidden{grid-template-columns:0 minmax(0,1fr) auto}.app.side-hidden .sidebar{display:none}.only-wide{display:inline-grid}.side-reveal{z-index:12;border:1px solid var(--line);width:20px;height:64px;color:var(--brass);cursor:pointer;background:#191d24f2;border-left:0;border-radius:0 10px 10px 0;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:6px 0 20px #0006}.side-reveal:hover{border-color:var(--brass-dim);background:var(--panel-2);width:26px}}@media (width>=861px) and (width<=1100px){.app.side-hidden{grid-template-columns:0 minmax(0,1fr) 0}}.drawer-scrim{display:none}@media (width<=1100px){.app{grid-template-columns:300px minmax(0,1fr) 0}.details{width:min(380px,100%);padding-top:env(safe-area-inset-top,0px);z-index:48;position:fixed;top:0;bottom:0;right:0;box-shadow:-20px 0 60px #0009}}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.only-narrow{display:inline-grid}.only-wide,.save-state,.brand{display:none}.sidebar{width:min(340px,88vw);padding-top:env(safe-area-inset-top,0px);z-index:48;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.drawer-open .sidebar{transform:none;box-shadow:20px 0 60px #0009}.drawer-open .drawer-scrim{z-index:47;background:#00000080;border:0;display:block;position:fixed;inset:0}.stage{grid-column:1}.details{border-left:0;border-top:1px solid var(--line);width:100%;height:62%;padding-bottom:max(28px, env(safe-area-inset-bottom,0px));border-radius:14px 14px 0 0;top:auto}.editor{grid-template-columns:minmax(0,1fr)}.zoom-range{width:70px}.topbar .btn.small{padding:5px 8px}.session-btn{max-width:46vw}}@media (width<=520px){.topbar{gap:6px}.topbar .btn.small,.role-chip,.zoom-range,.zoom-read{display:none}.roles{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}.icon-btn.place{color:var(--brass)}.lib-row.monster{flex-wrap:wrap}.mon-name{text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0}.mon-name:hover b{color:var(--brass)}.lib-row.monster.open{background:var(--panel-2)}.ref-tag{font-size:11px;font-style:italic}.statblock{flex:1 0 100%;gap:8px;padding:6px 4px 8px 52px;display:grid}.sb-abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.sb-abilities span{text-align:center;font:600 12px/1.3 var(--f-mono);background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 0;display:grid}.sb-abilities small{color:var(--brass);letter-spacing:.06em;font-size:10px}.sb-text{max-height:340px;padding-right:4px;font-size:13px;line-height:1.45;overflow:auto}.lede{margin:0;line-height:1.5}.ok-note{color:var(--heal);margin-right:auto;font-size:14px}.choice-group{border:1px solid var(--line);border-radius:var(--r);gap:8px;margin:0;padding:10px 14px 12px;display:grid}.choice-group legend{padding:0 6px}.check input[type=radio]{accent-color:var(--brass);flex:none;width:16px;height:16px;margin:0}.switch-preview{color:var(--brass);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.switch-preview img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);background:#000;border-radius:6px;width:100%}.modal.enc-modal{width:min(1440px,100%)}.enc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.enc-col{gap:16px;display:grid}.enc-card{border:1px solid var(--line);border-radius:var(--r);background:var(--ink);gap:10px;min-width:0;padding:14px;display:grid}.enc-saves,.enc-open{grid-template-rows:auto minmax(0,1fr);max-height:calc(100dvh - 190px)}.enc-open{grid-template-rows:auto auto auto minmax(0,1fr)}.enc-open-search .icon{left:10px}.enc-open-list{align-content:start;margin:0 -14px -14px;padding:0 14px 14px;overflow:auto}.enc-empty{color:var(--muted);padding:10px 2px;font-size:13px}.enc-saves-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;display:flex}.enc-saves-head .search .icon{left:10px}.save-list{margin:0 -14px -14px;padding:0;list-style:none;overflow:auto}.save-row{border-top:1px solid #333c4b80;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.save-row:hover{background:var(--panel-2)}.save-thumb{background:var(--panel-3);width:64px;height:42px;color:var(--muted);border-radius:5px;flex:none;place-items:center;display:grid;overflow:hidden}.save-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=1100px){.enc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.enc-grid>.enc-col{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=760px){.enc-grid,.enc-grid>.enc-col{grid-template-columns:minmax(0,1fr)}.enc-saves,.enc-open{max-height:none}.statblock{padding-left:4px}}.save-row .token-row-text b{white-space:normal;line-height:1.25}.fog-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.fog-layer.gm .fog-fill{opacity:.55}.fog-outline{stroke:#b9c4d6;stroke-width:1.5px;stroke-dasharray:7 5}.fog-outline.reveal{stroke:#7fd1a0}.fog-outline.off{stroke-opacity:.45;stroke-dasharray:2 5}.fog-outline.sel{stroke:var(--brass);stroke-width:2.5px;stroke-dasharray:none}.fog-draft{fill:#14171d59;stroke:var(--brass);stroke-width:2px;stroke-dasharray:6 4}polyline.fog-draft{fill:none}.fog-draft.reveal{stroke:#7fd1a0}.fog-handle{fill:var(--brass);stroke:#000;stroke-width:1px}.fog-handle.first{fill:#d1a64e40;stroke:var(--brass);stroke-width:2px}.board.fog-drawing{cursor:crosshair}.board.fog-drawing .token{pointer-events:none}.board.fog-selecting{cursor:default}.is-gm .board.fog-editing .token.in-fog .token-disc{opacity:.7}.icon-btn.toggle.fog-live:not(.on){color:#b9c4d6}.fog-panel{z-index:12;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#191d24f7;border-radius:10px;flex-direction:column;gap:10px;width:300px;max-width:calc(100% - 24px);max-height:calc(100% - 100px);padding:12px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 14px 40px #0000008c}.fog-head{color:var(--brass);align-items:center;gap:8px;display:flex}.fog-head h3{flex:1;font-size:16px}.switch{font:700 12px var(--f-mono);color:var(--text);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.switch input{appearance:none;background:var(--panel-3);border:1px solid var(--line);cursor:pointer;border-radius:99px;width:34px;height:20px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.switch input:checked{border-color:var(--brass-dim);background:#d1a64e59}.switch input:checked:after{background:var(--brass);transform:translate(14px)}.fog-tools{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.fog-tool{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:7px;justify-items:center;gap:3px;padding:7px 2px 5px;font-size:11px;display:grid}.fog-tool.on{color:var(--text);border-color:var(--brass-dim);background:#d1a64e24}.fog-tool.on .icon{color:var(--brass)}.check.small{font-size:13px}.fog-list-head{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.fog-bulk{gap:10px;display:flex}.link-btn{color:var(--muted);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.link-btn:hover{color:var(--text)}.link-btn.danger{color:#ffb1a9}.fog-list{min-height:0;margin:0 -12px -12px;padding:0 0 6px;list-style:none;overflow:auto}.fog-list li{align-items:center;gap:6px;padding:4px 8px 4px 12px;display:flex}.fog-list li.sel{background:#d1a64e1f}.fog-list li.off .fog-name b,.fog-list li.off .fog-swatch{opacity:.45}.fog-list li.empty{color:var(--muted);padding:8px 12px;font-size:13px;display:block}.fog-swatch{background:#3a4150;border:1px dashed #b9c4d6;flex:none;width:18px;height:14px}.fog-swatch.t-ellipse{border-radius:50%}.fog-swatch.t-poly{clip-path:polygon(50% 0,100% 40%,80% 100%,20% 100%,0 40%);border-style:solid}.fog-swatch.reveal{background:0 0;border-color:#7fd1a0}.fog-name{text-align:left;background:0 0;border:0;border-radius:5px;flex:1;min-width:0;padding:3px 4px;display:grid}.fog-name:hover{background:var(--panel-2)}.fog-name b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.fog-name .sub{font-size:11.5px}.fog-name-input{flex:1;min-width:0;font-size:14px;padding:4px 6px!important}.fog-canvas{pointer-events:none;position:absolute;top:0;left:0}.fog-canvas.gm{opacity:.55}.quick-view{z-index:15;border:1px solid var(--line);background:#191d24fa;border-radius:12px;flex-direction:column;width:330px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);animation:.12s ease-out qv-in;display:flex;position:absolute;box-shadow:0 18px 50px #0009}@keyframes qv-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}.qv-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--panel-2), transparent);border-radius:12px 12px 0 0;align-items:flex-start;gap:12px;padding:12px 10px 10px 14px;display:flex}.qv-head .avatar{margin:3px}.qv-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.qv-head:active{cursor:grabbing}.qv-head button,.qv-head input{cursor:pointer}.quick-view.pinned{box-shadow:0 18px 50px #0009, 0 0 0 1px var(--brass-dim)}.qv-title{flex:1;gap:2px;min-width:0;display:grid}.qv-title h3{color:var(--text);letter-spacing:.01em;overflow-wrap:anywhere;font-size:18px}.qv-title .sub{margin:0}.qv-body{gap:0;display:grid;overflow:auto}.qv-body section{border-bottom:1px solid #333c4b8c;gap:7px;padding:10px 14px;display:grid}.qv-body h4{font:700 11px var(--f-body);text-transform:uppercase;letter-spacing:.1em;color:var(--brass);justify-content:space-between;align-items:baseline;gap:8px;margin:0;display:flex}.qv-body h4 .hint{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11.5px;font-weight:400}.qv-hp-top{align-items:baseline;gap:8px;display:flex}.qv-hp-top .label,.qv-hp .label{letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:700}.qv-hp-top b{font:700 18px var(--f-mono)}.qv-hp-top .of{color:var(--muted);font-size:14px}.qv-hp-top .temp{color:var(--temp);font-size:14px}.qv-flag{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:12px;display:inline-flex}.qv-hp-adjust{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;display:grid}.qv-hp-adjust input{padding:5px 8px!important}.qv-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.qv-stat{background:var(--ink);border:1px solid var(--line);text-align:center;border-radius:7px;justify-items:center;gap:1px;min-width:0;padding:5px 2px;display:grid}.qv-stat span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.qv-stat b{font:700 15px var(--f-mono);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.qv-stat.wide{grid-column:span 2}.qv-stat.roll{cursor:pointer;color:var(--text);position:relative}.qv-stat.roll .icon{color:var(--brass);position:absolute;top:4px;right:4px}.qv-stat.roll:hover,.qv-ab:hover{border-color:var(--brass-dim);background:#d1a64e1a}.qv-conds{flex-wrap:wrap;gap:5px!important;display:flex!important}.qv-conds .cond{cursor:default}.qv-abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px!important}.qv-ab{background:var(--ink);border:1px solid var(--line);color:var(--text);border-radius:7px;justify-items:center;padding:4px 0;display:grid}.qv-ab span{color:var(--brass);letter-spacing:.06em;font-size:10px;font-weight:700}.qv-ab b{font:700 14px var(--f-mono)}.qv-ab small{color:var(--muted);font-size:10px}.qv-actions{gap:5px!important}.qv-line{margin:0;font-size:13.5px;line-height:1.45}.qv-line.meta{color:var(--muted);font-size:12.5px}.qv-section{font:700 10.5px var(--f-body);letter-spacing:.12em;color:var(--muted);margin:4px 0 0}.qv-text{font-size:13.5px;line-height:1.45}.roll-chip{border:1px solid var(--brass-dim);color:#f1d18c;font:700 12.5px var(--f-mono);cursor:pointer;background:#d1a64e1f;border-radius:5px;margin:0 1px;padding:0 5px;display:inline}.roll-chip.dmg{color:#ffbdb5;background:#d9483b24;border-color:#7a2c26}.roll-chip:hover{filter:brightness(1.25)}.qv-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:10px 12px;display:flex}.qv-foot .btn:last-child,.qv-foot .qv-cards{margin-left:auto}.qv-foot .qv-cards+.btn{margin-left:0}.btn.ghost.danger{color:#ffb1a9}.chat-fab{right:14px;bottom:max(14px, env(safe-area-inset-bottom,0px));z-index:11;border:1px solid var(--line);color:var(--text);background:#191d24f5;border-radius:99px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex;position:absolute;box-shadow:0 10px 30px #00000080}.chat-fab:hover{border-color:var(--brass-dim)}.chat-fab .icon{color:var(--brass)}.chat-unread{background:var(--blood);color:#fff;min-width:20px;height:20px;font:700 11px/20px var(--f-mono);text-align:center;border-radius:99px;padding:0 6px}.chat-dock{z-index:16;border:1px solid var(--line);background:#161a20fa;border-radius:12px;flex-direction:column;width:370px;max-width:calc(100% - 24px);height:min(640px,100% - 24px);transition:top .18s,height .18s;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 18px 50px #0009}.chat-dock.max{height:auto;top:12px}.chat-dock.whisper{border-color:#8f7cf08c;box-shadow:0 18px 50px #0009,0 0 0 1px #8f7cf040}.chat-dock.whisper .chat-head{color:#c9bdff;background:#8f7cf014;border-top-left-radius:12px;border-top-right-radius:12px}.chat-dock.whisper .chat-msg.mine .chat-text{background:#2e2a4a}.chat-dock.whisper .chat-text{background:#24223a}.chat-dock.whisper .chat-input{box-shadow:inset 0 1px #8f7cf04d}.chat-channels{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;padding:7px 10px;display:flex;position:relative}.chat-ch{border:1px solid var(--line);max-width:150px;color:var(--muted);font:600 12.5px var(--f-body);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex;overflow:hidden}.chat-ch:hover{color:var(--text);border-color:#4a5466}.chat-ch.on{color:var(--ink,#111);background:var(--brass);border-color:var(--brass)}.chat-ch.dm.on{background:var(--arcane);border-color:var(--arcane);color:#fff}.chat-ch.dm:not(.on){color:#c9bdff;border-color:#8f7cf066}.chat-ch.add{border-style:dashed}.chat-ch.add.on{color:#c9bdff;border-color:var(--arcane);background:#8f7cf026}.ch-unread{background:var(--danger,#d9483b);color:#fff;min-width:17px;height:17px;font:700 10.5px/17px var(--f-mono);text-align:center;border-radius:9px;padding:0 4px}.chat-ch-new{position:relative}.chat-people{z-index:3;border:1px solid var(--line);background:#1b2029;border-radius:10px;gap:2px;width:240px;max-height:300px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 30px #0000008c}.chat-people-h{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:2px 6px 4px;font-size:11px;font-weight:700}.chat-people-empty{color:var(--muted);margin:4px 6px;font-size:13px}.chat-person{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:7px 8px;font-size:13.5px;display:flex}.chat-person:hover,.chat-person:focus-visible{background:#8f7cf024}.chat-person.role-gm .icon{color:var(--brass)}.chat-person.role-player .icon{color:#9ee0b2}.chat-person b{white-space:nowrap}.chat-empty .icon{vertical-align:-2px;color:#c9bdff}.chat-head{border-bottom:1px solid var(--line);color:var(--brass);align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.chat-title{flex:1;min-width:0;display:grid}.chat-title h3{font-size:16px}.chat-title .sub{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.chat-list{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:10px 12px;list-style:none;display:flex;overflow:auto}.chat-empty{color:var(--muted);padding:10px 4px;font-size:13.5px}.chat-empty code{font-family:var(--f-mono);color:var(--text)}.chat-msg{gap:3px;display:grid}.chat-msg.grouped{margin-top:-5px}.chat-meta{align-items:baseline;gap:6px;min-width:0;font-size:12.5px;display:flex}.chat-meta b{color:var(--text)}.chat-msg.role-player .chat-meta b{color:#9ee0b2}.chat-msg.role-gm .chat-meta b{color:var(--brass)}.chat-as{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-as:before{content:"· "}.chat-gm{font:700 9.5px var(--f-mono);letter-spacing:.08em;color:var(--brass);background:#d1a64e2e;border-radius:4px;padding:1px 5px}.chat-meta time{color:var(--muted);font:500 11px var(--f-mono);margin-left:auto}.chat-text{background:var(--panel-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 10px 10px;justify-self:start;max-width:100%;margin:0;padding:6px 10px;font-size:14.5px;line-height:1.4}.chat-msg.mine .chat-text{background:#26303d}.chat-secret{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:13.5px;font-style:italic;display:inline-flex}.roll-card{border:1px solid var(--line);background:linear-gradient(#1d222b,#171b22);border-radius:10px;gap:6px;padding:8px 10px;display:grid}.roll-card.crit{border-color:var(--heal);box-shadow:0 0 0 1px #45b86b66,0 0 18px #45b86b2e}.roll-card.fumble{border-color:#7a2c26;box-shadow:0 0 0 1px #d9483b59}.roll-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.roll-label{overflow-wrap:anywhere;font-size:13.5px;font-weight:700}.roll-label em{color:var(--muted);font-weight:400}.roll-total{font:800 26px/1 var(--f-mono);color:var(--brass);text-align:right;min-width:2ch}.roll-card.crit .roll-total{color:#7fe39f}.roll-card.fumble .roll-total{color:#ff8f84}.roll-break{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.roll-term{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.roll-op{color:var(--muted);font:700 13px var(--f-mono);padding:0 1px}.roll-mod{font:700 13px var(--f-mono)}.face{background:var(--ink);min-width:26px;height:26px;font:700 13px var(--f-mono);border:1px solid #4a5466;border-radius:6px;place-items:center;padding:0 5px;display:inline-grid}.face.d20{border-color:var(--brass-dim)}.face.max{border-color:var(--heal);color:#a4e9ba;background:#45b86b33}.face.min{color:#ffb1a9;background:#d9483b2e;border-color:#7a2c26}.face.dropped{opacity:.4;text-decoration:line-through}.roll-expr{font:500 11.5px var(--f-mono);color:var(--muted)}.dice-tray{border-top:1px solid var(--line);background:#11141999;gap:8px;padding:10px 12px;display:grid}.dice-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.die{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font:700 11px var(--f-mono);border-radius:8px;justify-items:center;gap:1px;padding:5px 0 4px;display:grid;position:relative}.die:hover{color:var(--text);border-color:#4a5466}.die.on{color:var(--brass);border-color:var(--brass-dim);background:#d1a64e1f}.die-count{background:var(--brass);color:#1a1407;min-width:18px;height:18px;font:700 11px/18px var(--f-mono);border-radius:99px;position:absolute;top:-6px;right:-4px}.dice-opts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mod-step{align-items:center;gap:2px;display:inline-flex}.mod-step input{text-align:center;flex:none;width:56px!important;padding:4px!important}.dice-go{align-items:center;gap:6px;display:flex}.dice-go input{flex:1;min-width:0;padding:6px 8px!important}.dice-go .btn{white-space:nowrap}.chat-error{margin:0;padding:6px 12px 0;font-size:13px}.chat-input{border-top:1px solid var(--line);align-items:center;gap:6px;padding:10px 10px 12px;display:flex}.chat-input input{flex:1;min-width:0}@media (width<=860px){.chat-fab span:not(.chat-unread){display:none}.chat-fab{padding:12px}.chat-dock{width:auto;height:min(600px,100% - 16px);bottom:8px;left:8px;right:8px}.chat-dock.max{height:auto;top:8px}.chat-people{width:min(240px,100vw - 60px)}}.qv-note{padding:8px 14px}.lib-row-main{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.lib-row-main:hover b{color:var(--brass)}.on-map-tag{vertical-align:1px;font:700 9.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#9ee0b2;white-space:nowrap;background:#45b86b29;border-radius:4px;margin-left:8px;padding:1px 5px}.statblock .sb-appearance{color:var(--text);margin:0;font-size:13px;font-style:italic}.spell-head{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.spell-head .statbox{color:var(--text);font:inherit}.spell-head .statbox span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10.5px;font-weight:700}.spell-head .statbox.roll{cursor:pointer;position:relative}.spell-head .statbox.roll .icon{color:var(--brass);position:absolute;top:auto;bottom:6px;right:6px}.spell-head .statbox.roll:hover{border-color:var(--brass-dim);background:#d1a64e1a}.slots{gap:5px;display:grid}.slot-row{grid-template-columns:minmax(70px,auto) 1fr auto;align-items:center;gap:10px;display:grid}.slot-lvl{letter-spacing:.06em;text-transform:uppercase;color:var(--arcane);white-space:nowrap;font-size:11px;font-weight:700}.pips{flex-wrap:wrap;gap:6px;display:flex}.pip{border:2px solid var(--arcane);cursor:pointer;background:0 0;border-radius:50%;width:17px;height:17px;padding:0;transition:background .12s,box-shadow .12s}.pip.on{background:radial-gradient(circle at 35% 35%, #c9bdff, var(--arcane) 60%);box-shadow:0 0 7px #8f7cf08c}.pip:hover:not(:disabled){transform:scale(1.12)}.pip:disabled{cursor:default}.slot-count{color:var(--muted);font-size:12px}.rest-btn{justify-self:start}.sc-fields{gap:10px;display:grid}.sc-editor{border:1px solid var(--line);border-radius:var(--r);background:#8f7cf00d;gap:10px;padding:10px 12px}.slot-inputs{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;display:grid}.slot-inputs label{color:var(--muted);justify-items:center;gap:2px;font-size:11px;display:grid}.slot-inputs input{text-align:center;width:100%;padding:4px 2px!important}.sheet-h{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sheet-h .link-btn{font-family:var(--f-body);letter-spacing:0}.statbox-label-row{justify-content:center;align-items:center;gap:4px;display:flex}.statbox-roll{color:var(--brass);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px;line-height:0}.statbox-roll:hover{background:#d1a64e26}.ab-roll{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#d1a64e0f;border-radius:5px;align-items:center;gap:3px;padding:1px 5px;display:inline-flex}.ab-roll .icon{color:var(--brass)}.ab-roll:hover{border-color:var(--brass-dim);background:#d1a64e26}.details .sheet-hint{margin:0;padding:8px 16px 0}.sheet-actions,.sheet-spells{gap:7px!important}.spell-head .qv-stat.roll .icon{top:auto;bottom:5px;right:5px}.spell-head .qv-stat span{font-size:9.5px}.qv-saves{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.save-chip{border:1px solid var(--line);background:var(--ink);color:var(--text);cursor:pointer;border-radius:7px;justify-items:center;gap:0;padding:3px 0;display:grid;position:relative}.save-chip span{letter-spacing:.06em;color:var(--muted);font-size:9.5px;font-weight:700}.save-chip b{font:700 13px var(--f-mono)}.save-chip.prof{border-color:var(--brass-dim)}.save-chip.prof:after{content:"";background:var(--brass);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.save-chip:hover:not(:disabled){border-color:var(--brass-dim);background:#d1a64e1a}.save-chip:disabled{cursor:default}.qv-saves.sheet .save-chip{padding:5px 0}.qv-saves.sheet .save-chip b{font-size:14px}.res-list{gap:6px;display:grid}.res-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.res-name{min-width:0;font-size:13px;font-weight:600;line-height:1.2}.res-name small{color:var(--muted);letter-spacing:.02em;font-size:10.5px;font-weight:400;display:block}.res-pips .pip{border-color:var(--brass);width:14px;height:14px}.res-pips .pip.on{background:radial-gradient(circle at 35% 35%, #f6dc9c, var(--brass) 60%);box-shadow:0 0 6px #d1a64e80}.res-counter{align-items:center;gap:4px;display:inline-flex}.res-counter b{text-align:right;min-width:2ch;font-size:15px}.res-count{color:var(--muted);font-size:12px}.res-spend{padding:3px 8px!important}.rest-bar{flex-wrap:wrap;gap:8px;padding-top:2px;display:flex}.rest-bar .btn{flex:1;justify-content:center}.res-fields{gap:6px;display:grid}.res-field-row{grid-template-columns:minmax(0,1fr) 64px 132px auto;align-items:center;gap:6px;display:grid}.res-field-row input[type=number]{text-align:center}.details .res-field-row{grid-template-columns:minmax(0,1.3fr) 48px minmax(0,1fr) auto;gap:4px}.res-fields .link-btn{justify-self:start}.class-fill{border:1px dashed var(--brass-dim);border-radius:var(--r);background:#d1a64e0d;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.class-fill .field-hint{flex:240px}.save-toggles .chip{cursor:pointer}.offer-toggle{border-radius:var(--r);border:1px solid var(--brass-dim);cursor:pointer;background:linear-gradient(135deg,#d1a64e1f,#0000);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.offer-toggle input{accent-color:var(--brass);margin-top:3px}.offer-toggle span{gap:2px;display:grid}.offer-toggle small{color:var(--muted);font-size:12.5px}.offer-btn{color:var(--muted)}.offer-btn.on{color:var(--brass);background:#d1a64e24}.offered-tag{font:700 10px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass-dim);vertical-align:2px;border-radius:99px;align-items:center;gap:3px;margin-left:6px;padding:0 6px;display:inline-flex}.hall-banner{text-align:left;color:var(--text);cursor:pointer;border:1px solid var(--brass-dim);background:radial-gradient(120% 140% at 0% 0%, #d1a64e38, transparent 60%), linear-gradient(135deg, #2a2418, var(--panel-2));border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 12px 10px;padding:12px 12px 12px 14px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:inset 0 1px #ffffff0d}.hall-banner:hover{transform:translateY(-1px);box-shadow:0 8px 24px #d1a64e2e,inset 0 1px #ffffff0f}.hall-banner.gm{padding:9px 10px 9px 12px}.hall-banner-text{gap:1px;min-width:0;display:grid}.hall-banner-text .eyebrow{color:var(--brass);align-items:center;gap:4px;display:inline-flex}.hall-banner-text b{font-size:14.5px;line-height:1.25}.hall-banner>.icon{color:var(--brass)}.hall-faces{display:inline-flex}.hall-faces .avatar{filter:drop-shadow(0 2px 4px #0009);margin-left:-12px}.hall-faces .avatar:first-child{margin-left:0}.login-heroes{border:1px solid var(--brass-dim);background:linear-gradient(135deg,#d1a64e24,#d1a64e08);border-radius:10px;gap:8px;padding:12px 14px;animation:.35s ease-out hall-in;display:grid}.login-heroes p{color:var(--muted);margin:0;font-size:13.5px}.login-heroes b{color:var(--brass);align-items:center;gap:4px;display:inline-flex}@keyframes hall-in{0%{opacity:0;transform:translateY(6px)}}.hall-backdrop{z-index:110;background:radial-gradient(80% 70% at 50% 30%,#282012bf,#040507e6);place-items:center;padding:16px;animation:.25s ease-out hall-fade;display:grid;position:fixed;inset:0}@keyframes hall-fade{0%{opacity:0}}.hall{--hero:var(--brass);background:linear-gradient(#1c1f27,#14171d);border:1px solid #3b3424;border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:min(820px,100dvh - 32px);animation:.3s cubic-bezier(.2,.8,.2,1) hall-rise;display:grid;overflow:hidden;box-shadow:0 40px 120px #000000bf,0 0 0 1px #d1a64e14}@keyframes hall-rise{0%{opacity:0;transform:translateY(14px)scale(.985)}}.hall-head{background:radial-gradient(90% 220% at 0 0,#d1a64e24,#0000 55%);border-bottom:1px solid #2f2a1f;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 14px 24px;display:flex}.hall-head h2{color:var(--text);margin-top:2px;font-size:clamp(22px,3vw,30px)}.hall-eyebrow{align-items:center;gap:5px;display:inline-flex;color:var(--brass)!important}.hall-sub{color:var(--muted);max-width:70ch;margin:4px 0 0;font-size:14px}.hall-empty{text-align:center;place-content:center;gap:4px;padding:40px;display:grid}.hall-body{grid-template-columns:minmax(0,1fr) minmax(340px,420px);min-height:0;display:grid}.hall-roster{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:14px 0 0 18px;display:grid}.hall-filters{padding:0 14px 12px 0}.hall-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:12px;margin:0;padding:4px 14px 18px 2px;list-style:none;display:grid;overflow:auto}.hero-card{width:100%;color:var(--text);cursor:pointer;text-align:center;background:radial-gradient(110% 80% at 50% 0%, color-mix(in srgb, var(--hero) 22%, transparent), transparent 70%), #1a1e26;border:1px solid #2c323e;border-radius:14px;justify-items:center;gap:2px;padding:16px 10px 12px;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,box-shadow .18s;display:grid;position:relative}.hero-card:hover{border-color:color-mix(in srgb, var(--hero) 55%, #2c323e);box-shadow:0 12px 28px #00000073, 0 0 22px color-mix(in srgb, var(--hero) 22%, transparent);transform:translateY(-3px)}.hero-card.sel{border-color:var(--hero);box-shadow:0 0 0 1px var(--hero), 0 0 30px color-mix(in srgb, var(--hero) 35%, transparent)}.hero-card.taken{filter:saturate(.35)brightness(.8)}.hero-portrait{place-items:center;width:100px;height:100px;margin-bottom:6px;transition:transform .25s;display:grid}.hero-card:hover .hero-portrait,.hero-card.sel .hero-portrait{transform:scale(1.06)}.hero-portrait .avatar{filter:drop-shadow(0 6px 10px #0000008c)}.hero-name{font:700 15px/1.2 var(--f-display);letter-spacing:.01em}.hero-line{color:var(--muted);font-size:12.5px;line-height:1.25}.hero-line.cls{color:color-mix(in srgb, var(--hero) 70%, var(--text));font-weight:600}.hero-tag{font:700 9.5px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid #3a4250;border-radius:99px;margin-top:6px;padding:2px 8px}.hero-tag.caster{color:#b9adf6;border-color:#8f7cf080}.hero-tag.martial{color:#f0a487;border-color:#e0603a73}.hero-badge{font:700 10px var(--f-body);letter-spacing:.04em;color:var(--muted);background:#0009;border:1px solid #3a4250;border-radius:99px;padding:2px 7px;position:absolute;top:8px;right:8px}.hero-badge.mine{color:#1a1407;background:var(--brass);border-color:var(--brass)}.hero-preview{--hero:var(--brass);background:linear-gradient(180deg, color-mix(in srgb, var(--hero) 8%, #171a21), #15181e 40%);border-left:1px solid #2a2f3a;grid-auto-rows:max-content;align-content:start;gap:14px;min-height:0;padding:0 18px 18px;display:grid;overflow:auto}.hero-spot{justify-items:center;gap:8px;margin:0 -18px;padding:22px 0 6px;display:grid;position:relative;overflow:hidden}.hero-spot-bg{filter:blur(34px)saturate(1.4);opacity:.4;background-position:50%;background-size:cover;position:absolute;inset:-30px;transform:scale(1.2)}.hero-spot:after{content:"";background:radial-gradient(60% 55% at 50% 40%, color-mix(in srgb, var(--hero) 35%, transparent), transparent 70%), linear-gradient(180deg, transparent 55%, #171a21);pointer-events:none;position:absolute;inset:0}.hero-spot-art{z-index:1;animation:5s ease-in-out infinite hero-float;position:relative}.hero-spot-art .avatar{filter:drop-shadow(0 14px 22px #0009)}@keyframes hero-float{50%{transform:translateY(-5px)}}.hero-spot-text{z-index:1;text-align:center;gap:2px;padding:0 18px;display:grid;position:relative}.hero-spot-text h3{color:var(--text);letter-spacing:.01em;font-size:26px}.hero-spot-text p{color:color-mix(in srgb, var(--hero) 60%, var(--text));margin:0;font-size:14px}.hero-spot-text p.muted{color:var(--muted);font-size:12.5px}.hero-quote{border-left:3px solid var(--hero);color:#d8d2c3;background:#ffffff08;border-radius:0 8px 8px 0;margin:0;padding:10px 14px;font-size:13.5px;font-style:italic;line-height:1.5}.hero-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.hero-stats div,.hero-abilities div{background:#00000040;border:1px solid #2c323e;border-radius:8px;justify-items:center;padding:6px 2px;display:grid}.hero-stats span,.hero-abilities span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.hero-stats b{font:700 17px var(--f-mono)}.hero-abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.hero-abilities b{font:700 15px var(--f-mono)}.hero-abilities small{color:var(--muted);font-size:10.5px}.hero-abilities div.prof{border-color:color-mix(in srgb, var(--hero) 55%, #2c323e);position:relative}.hero-abilities div.prof:after{content:"";background:var(--hero);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.hero-sec{gap:7px;display:grid}.hero-sec h4{font:700 11px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--hero) 75%, var(--text));margin:0}.hero-feats{flex-wrap:wrap;gap:5px;display:flex}.feat{background:#ffffff08;border:1px solid #353c49;border-radius:99px;padding:3px 9px;font-size:12.5px}.feat b{font-family:var(--f-mono);color:var(--brass)}.feat.caster{color:#cfc6fb;border-color:#8f7cf073}.hero-moves{color:#d3cdbf;gap:5px;margin:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:grid}.hero-moves b{color:var(--text)}.hero-gear{color:#cfc9ba;margin:0;font-size:13px;line-height:1.5}.hero-cta{text-align:center;background:linear-gradient(#0000,#15181e 30%);justify-items:stretch;gap:8px;margin:4px -18px -18px;padding:14px 18px 18px;display:grid;position:sticky;bottom:-18px}.hero-cta .btn.big{justify-content:center;padding:12px 18px;font-size:16px;box-shadow:0 8px 26px #d1a64e47}.hero-cta .link-btn{justify-self:center}.hero-yours{font:700 17px var(--f-display);color:var(--brass);justify-content:center;align-items:center;gap:6px;margin:0;animation:.35s ease-out hall-in;display:inline-flex}.hero-cta p.muted{margin:0}@media (width<=820px){.hall{height:calc(100dvh - 16px)}.hall-backdrop{padding:8px}.hall-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.hall-roster{padding:10px 0 0 12px}.hall-grid{grid-template-columns:none;grid-auto-columns:132px;grid-auto-flow:column;padding-bottom:12px;overflow:auto hidden}.hero-card{padding:12px 8px 10px}.hero-portrait{width:86px;height:86px}.hero-portrait .avatar{width:78px!important;height:78px!important}.hero-preview{border-top:1px solid #2a2f3a;border-left:0}.hero-spot-art .avatar{width:150px!important;height:150px!important}.hero-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}.token.pinged:before,.token.pinged:after{content:"";width:var(--disc);height:var(--disc);border:max(3px, calc(var(--disc) * .06)) solid var(--brass);opacity:0;pointer-events:none;border-radius:50%;animation:1.2s ease-out 2 token-ping;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.token.pinged:after{animation-delay:.3s}@keyframes token-ping{0%{opacity:.95;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}.fog-preview{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.fog-preview select{max-width:140px;font-size:13px;padding:3px 6px!important}.fog-audience{background:#5fa8e80f;border:1px solid #3a4250;border-radius:8px;gap:7px;padding:10px;display:grid}.fog-audience .eyebrow{color:var(--temp)}.fog-audience .seg button{font-size:12px}.fog-audience .chips .chip{cursor:pointer}.knowledge{gap:8px;display:grid}.know-row{grid-template-columns:minmax(64px,auto) minmax(0,1fr);align-items:center;gap:8px;display:grid}.know-name{font-size:13.5px;font-weight:600;display:grid}.know-name small{color:var(--muted);font-size:11px;font-weight:400}.know-row .seg button{padding-left:4px;padding-right:4px;font-size:12px}.know-summary{align-items:center;gap:5px;margin:0;padding:8px 14px;display:flex}.lore{justify-items:start;gap:4px;display:grid}.lore.compact{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.lore .field-hint{margin:0}.qv-ab:disabled{cursor:default}.qv-ab:disabled:hover{border-color:var(--line);background:var(--ink)}.fog-list .icon-btn.on{color:var(--brass)}.save-state .offline{color:#ffb1a9}.invite{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.invite code{overflow-wrap:anywhere;min-width:0;font-family:var(--f-mono,monospace);border:1px solid var(--line);background:#00000040;border-radius:8px;flex:220px;padding:7px 9px;font-size:12.5px}.drag-blocked{pointer-events:none;z-index:5;background:#ff50402e;border:2px dashed #ff6b5e;border-radius:50%;position:absolute}.drag-distance.blocked{color:#ffb1a9;border-color:#ff6b5e}.fog-chip{z-index:11;justify-items:start;gap:4px;display:grid;position:absolute;top:12px;left:12px}.fog-ghost{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#161a21e0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.fog-ghost input[type=range]{width:110px}.fog-badge{border:1px solid var(--brass-dim);color:var(--brass);cursor:pointer;font:inherit;text-align:left;background:#161a21eb;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 10px;display:inline-flex;box-shadow:0 6px 18px #00000073}.fog-badge:hover{border-color:var(--brass);background:#1e232cf5}.fog-badge>span{line-height:1.15;display:grid}.fog-badge b{color:var(--text);font-size:13px}.fog-badge .sub{color:var(--muted);font-size:11.5px}.token-menu{z-index:45;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-width:200px;max-width:260px;padding:4px;display:grid;position:absolute;box-shadow:0 14px 40px #0000008c}.token-menu-title{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;padding:6px 10px 7px;font-size:11px;font-weight:700;overflow:hidden}.token-menu button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;display:flex}.token-menu button:hover,.token-menu button:focus-visible{background:var(--panel-3);outline:none}.token-menu button.danger{color:#ffb1a9}.token-menu button.danger:hover,.token-menu button.danger:focus-visible{background:#4a1d1a}.lib-filters{align-items:center}.lib-filters>.chips{display:contents}.chip-sep{background:var(--line);align-self:stretch;width:1px;margin:2px}.chip.table-chip.on{color:var(--ink);background:var(--brass);border-color:var(--brass)}.chip.table-chip.on .count{color:#111419b3}.fog-memory{border:1px solid var(--line);background:#d1a64e0a;border-radius:8px}.fog-memory-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.fog-memory-head>span:first-of-type{flex:1}.fog-memory-head .icon:first-child{color:var(--brass)}.fog-memory-head .sub{font-size:12px;font-weight:400}.fog-memory.open{padding-bottom:8px}.fog-memory>.field-hint{margin:0 10px}.fog-memory-list{border-top:1px solid var(--line);margin:0 0 6px;padding:0;list-style:none}.fog-memory-list li{align-items:center;gap:10px;padding:5px 10px;display:flex}.fog-memory-list li+li{border-top:1px solid #333c4b80}.fog-memory-name{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;margin-left:-4px;padding:2px 4px;display:grid}.fog-memory-name:hover{background:var(--panel-2)}.fog-memory-name.on{background:#5fa8e824}.fog-memory-name b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.fog-memory-name .sub{font-size:11.5px}.fog-memory-list .link-btn{white-space:nowrap;font-size:12.5px}.fog-memory-list .link-btn:disabled{opacity:.4;cursor:default;text-decoration:none}.fog-memory-list .btn.small{padding:3px 8px;font-size:12px}.board.space-pan,.board.space-pan.fog-drawing,.board.space-pan.fog-selecting{cursor:grab}.board.space-pan:active{cursor:grabbing}.board.space-pan .token{pointer-events:none}.fog-panel kbd{font:600 11px var(--f-mono);border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:1px 5px}.fog-grip{fill:#fff;stroke:#1a1d23;stroke-width:1.5px}.fog-grip.corner,.fog-grip.edge,.fog-grip.vertex{fill:var(--brass)}.fog-grip.mid{fill:#ffffffd9;stroke:var(--brass-dim)}.fog-grip.on{fill:#fff;stroke:var(--brass);stroke-width:2.5px}.fog-edit-box{stroke:var(--brass);stroke-opacity:.6;stroke-width:1px;stroke-dasharray:3 4}.drag-landing{pointer-events:none;z-index:5;background:#45b86b24;border:2px dashed #7fd1a0;border-radius:50%;position:absolute}.zone-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.zone-shape{fill:#45b86b17;stroke:#7fd1a0;stroke-width:1.5px;stroke-dasharray:8 5}.zone-layer.editing .zone-shape{fill:#45b86b33;stroke-width:2px}.zone.off .zone-shape{fill:#96a0af12;stroke:#8a95a8;stroke-dasharray:2 5}.zone.sel .zone-shape{stroke:var(--brass);stroke-width:2.5px;stroke-dasharray:none}.zone-label{fill:#dcf5e5;font-family:var(--f-display);letter-spacing:.03em;paint-order:stroke;stroke:#080c0ad9;stroke-width:4px;stroke-linejoin:round;font-weight:700}.zone-label-who{font-family:var(--f-body);fill:#b5e4c6;font-weight:600}.zone-layer:not(.editing) .zone-label{opacity:.8}.zone.off .zone-label{opacity:.45}.fog-draft.zone{fill:#45b86b33;stroke:#7fd1a0}.zone-ghost{fill:#45b86b38;stroke:#9be3b6;stroke-width:2px;stroke-dasharray:5 4}.zone-ghost-path{stroke:#9be3b6;stroke-opacity:.75;stroke-width:1.5px;stroke-dasharray:3 5}.zone-panel .fog-head{color:#7fd1a0}.zone-panel .switch input:checked{background:#45b86b59;border-color:#3f7a55}.zone-panel .switch input:checked:after{background:#7fd1a0}.zone-reset{background:#45b86b12;border:1px solid #2f5a40;border-radius:8px;gap:7px;padding:10px;display:grid}.zone-reset-btn{justify-content:center;padding:9px 13px;font-size:14.5px}.zone-reset .field-hint{margin:0}.zone-opts{gap:3px;display:grid}.zone-result{background:#45b86b1a;border-left:3px solid #7fd1a0;border-radius:0 5px 5px 0;margin:0;padding:5px 8px;font-size:12.5px}.zone-result.warn{background:#e2a84a1f;border-color:#e2a84a}.zone-undo{justify-self:start;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.zone-editor{background:#45b86b0f;border-color:#2f5a40}.zone-editor .eyebrow{color:#7fd1a0}.zone-editor .chips .chip{cursor:pointer}.fog-swatch.zone{background:#45b86b4d;border:1px solid #7fd1a0}.fog-swatch.zone.t-poly{border-style:solid}.icon-btn.toggle.zone-live:not(.on){color:#7fd1a0}.fog-list .icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.center-mine{color:#9ee0b2;position:relative}.icon-btn.center-mine:hover{color:#c4f0d1}.center-mine-n{color:#e6f7ec;min-width:14px;height:14px;font:700 9.5px/14px var(--f-mono);text-align:center;pointer-events:none;background:#2f6b45;border-radius:7px;padding:0 3px;position:absolute;top:1px;right:1px}.fog-tools-row{align-items:stretch;gap:4px;display:flex}.fog-tools-row .fog-tools{flex:1;min-width:0}.shape-history{flex-direction:column;justify-content:space-between;gap:2px;display:flex}.shape-history .icon-btn.sm{border-color:var(--line);flex:1;width:28px;height:auto}.shape-history .icon-btn:disabled{opacity:.35;cursor:default}.brief-tag{border:1px solid var(--brass-dim);color:var(--brass);letter-spacing:.08em;border-radius:999px;margin-left:8px;padding:1px 6px;font-size:10px}.brief-tag.new{background:var(--brass);border-color:var(--brass);color:var(--ink);animation:2.4s ease-in-out 3 brief-pulse}@keyframes brief-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--brass) 30%, transparent)}}@media (prefers-reduced-motion:reduce){.brief-tag.new{animation:none}}.briefing{gap:14px;display:grid}.briefing-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:12px;display:flex}.briefing-head img{object-fit:cover;border:1px solid var(--line);border-radius:8px;flex:none;width:64px;height:64px}.briefing-map{color:var(--muted);align-items:center;gap:6px;margin:2px 0 0;font-size:14px;display:flex}.briefing-preview-note{color:var(--temp);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.briefing-text{overflow-wrap:anywhere;gap:10px;font-size:15.5px;line-height:1.55;display:grid}.briefing-text h3{font-family:var(--f-display);color:var(--brass);margin:6px 0 -4px;font-size:18px}.briefing-text h3:first-child{margin-top:0}.briefing-text p,.briefing-text ul{margin:0}.briefing-text ul{gap:4px;padding-left:20px;display:grid}.briefing-text li::marker{color:var(--brass)}.briefing-text strong{color:#fff3d6}.briefing-text em{color:var(--muted)}.briefing-input{width:100%;min-height:150px;font-size:14px}.briefing-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.briefing-tools .field-hint{margin-right:auto}.lib-range{flex-wrap:nowrap;align-items:flex-end;gap:16px;margin-bottom:8px}.lib-range .slider.inline{flex:1 1 0;min-width:0}.lib-range .link-btn{flex:none;align-self:flex-end;padding-bottom:2px;font-size:12.5px}.gallery-backdrop{z-index:120}.gal-card.is-hidden{opacity:.82;border-style:dashed}.gal-card.is-down .hero-portrait{filter:grayscale(.8)}.gal-card .hero-badge{align-items:center;gap:3px;display:inline-flex}.hero-tag.gal-tag-monster{color:#f0929f;border-color:#d6455b80}.hero-tag.gal-tag-npc{color:#8fe0d3;border-color:#3fc1b080}.hero-tag.gal-tag-object{color:#b9c6dc;border-color:#a0b2d080}.hero-tag.gal-tag-player{color:#e8cf8f;border-color:#d1a64e8c}.gal-hp{width:100%;margin-top:6px}.gal-mood{font:700 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}.gal-mood.hp-bloodied{color:#e8b04a}.gal-mood.hp-critical,.gal-mood.hp-down{color:#ef6b6b}.gal-mood.big{background:#00000040;border:1px solid #3a4250;border-radius:99px;justify-self:start;margin:0;padding:5px 12px;font-size:13px}.gal-vitals{gap:8px;display:grid}.gal-conds{flex-wrap:wrap;gap:5px;display:flex}.gal-locked{color:var(--muted);border:1px dashed #3a4250;border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.gal-note{margin:0;font-size:13px}.gal-subhead{font:700 10.5px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--hero) 70%, var(--muted));margin-top:4px}.gal-foot{align-items:center;gap:6px;margin:0;padding:8px 14px 14px 2px;font-size:12.5px;display:flex}.gal-open-btn{white-space:nowrap}.gallery .hall-roster{grid-template-rows:auto minmax(0,1fr) auto}@media (width<=820px){.gallery .hall-roster{grid-template-rows:auto minmax(0,1fr) auto}}.map-sort{align-items:center;gap:8px;margin-top:8px;display:flex}.map-sort .label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.mode-switch{border:1px solid var(--line);background:var(--ink);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.mode-switch button{color:var(--muted);letter-spacing:.03em;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:4px 11px;font-size:13px;font-weight:700;display:inline-flex}.mode-switch button:hover{color:var(--text)}.mode-switch button.on{background:var(--brass);color:#1a1407}@media (width<=860px){.mode-switch span{display:none}.mode-switch button{padding:5px 8px}}.wv-board{background:radial-gradient(circle at 50% 40%,#2a2419,#0f0d0a 78%)}.wv-board.wv-drawing{cursor:crosshair}.wv-board.tool-select{cursor:grab}.wv-board.tool-select:active{cursor:grabbing}.wv-board.space-pan,.wv-board.space-pan.wv-drawing{cursor:grab}.wv-board.space-pan .wv-pins,.wv-board.space-pan .wv-labels,.wv-board.space-pan .wv-ink,.wv-board.space-pan .wv-marker,.wv-board.space-pan .wv-hit,.wv-board.space-pan .hit{pointer-events:none!important}.wv-map{transition:filter .25s}.wv-fade,.wv-vignette,.wv-hex{pointer-events:none;position:absolute;top:0;left:0}.wv-fade{background:#f2e6c8}.wv-vignette{background:radial-gradient(#0000 52%,#2616068c 82%,#140b03e6 100%)}.wv-ink{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.wv-ink .wv-hit{stroke:#0000;pointer-events:stroke;cursor:pointer}.wv-mark.is-hidden{opacity:.45}.wv-mark.sel>path:nth-child(2),.wv-mark.sel>circle:nth-child(2){filter:drop-shadow(0 0 4px #d1a64ef2)}.wv-handles{pointer-events:auto}.wv-grip{fill:#f4ead2;stroke:#1a1407;stroke-width:2px;cursor:move;pointer-events:all}.wv-grip:hover{fill:var(--brass)}.wv-grip.mid{fill:#f4ead2a6;stroke-width:1.5px;cursor:copy}.wv-calib{stroke:var(--brass);stroke-width:3px;stroke-dasharray:8 5}.wv-screen.moving .wv-marker .wv-badge{filter:none}.wv-screen{pointer-events:none;will-change:transform;position:absolute;inset:0}.wv-labels,.wv-pins{pointer-events:none;position:absolute;inset:0}.wv-label{border:1px solid color-mix(in srgb, var(--c) 70%, #000);white-space:nowrap;background:#18120bdb;border-radius:6px;justify-items:center;gap:1px;padding:3px 9px 4px;line-height:1.2;display:grid;position:absolute;transform:translate(-50%,10px);box-shadow:0 4px 12px #00000073}.wv-label b{font:700 13px var(--f-display);color:#f4ead2;letter-spacing:.03em}.wv-label span{font:600 11px var(--f-mono);color:#e7cf98}.wv-label.type-area{box-shadow:none;background:0 0;border:0;transform:translate(-50%,-50%)}.wv-label.type-area b{letter-spacing:.14em;color:var(--c);text-shadow:0 0 3px #f4ead2,0 0 6px #f4ead2,0 0 10px #f4ead2cc;font-size:17px;font-style:italic}.wv-label.type-circle{transform:translate(-50%,8px)}.wv-label.hit,.wv-text.hit{pointer-events:auto;cursor:pointer}.wv-label.sel{outline:2px solid var(--brass);outline-offset:2px}.wv-label.is-hidden,.wv-text.is-hidden{opacity:.5}.wv-text{font-family:var(--f-display);letter-spacing:.12em;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 4px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.wv-text.halo-light{text-shadow:0 0 2px #f4ead2,0 0 5px #f4ead2,0 0 9px #f4ead2e6}.wv-text.halo-dark{text-shadow:0 0 2px #120d07,0 0 5px #120d07,0 0 9px #120d07e6}.wv-text.sel{outline:2px dashed var(--brass);outline-offset:3px;border-radius:4px}.wv-measure{border:1px solid var(--brass-dim);white-space:nowrap;background:#0c0a07eb;border-radius:7px;gap:1px;padding:5px 10px;display:grid;position:absolute;transform:translate(14px,-50%);box-shadow:0 6px 18px #00000080}.wv-measure b{font:700 15px var(--f-mono);color:var(--brass)}.wv-measure span{color:var(--muted);font-size:12px}.wv-marker{width:var(--px);height:var(--px);pointer-events:auto;cursor:pointer;touch-action:none;position:absolute;transform:translate(-50%,-50%)}.wv-marker.shape-pin{transform:translate(-50%,-96%)}.wv-marker.movable{cursor:grab}.wv-marker.dragging{cursor:grabbing;z-index:3}.wv-marker .wv-badge{filter:drop-shadow(0 2px 2px #0000008c)drop-shadow(0 5px 8px #00000059);transition:transform .12s;display:block}.wv-marker:hover .wv-badge{transform:scale(1.08)}.wv-marker.dragging .wv-badge{transform:scale(1.15)}.wv-marker.selected:before{content:"";border:2px dashed var(--brass);border-radius:50%;animation:9s linear infinite wv-spin;position:absolute;inset:-7px;box-shadow:0 0 0 1px #00000080}@keyframes wv-spin{to{transform:rotate(360deg)}}.wv-marker.pinged:after{content:"";border:3px solid var(--brass);pointer-events:none;border-radius:50%;animation:1.1s ease-out 2 wv-ping;position:absolute;inset:-6px}@keyframes wv-ping{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.wv-marker.is-hidden .wv-badge{opacity:.5}.wv-hidden-tag{width:17px;height:17px;color:var(--text);background:#000;border-radius:50%;place-items:center;display:grid;position:absolute;top:-5px;right:-5px}.wv-marker-name{color:#f4ead2;font:700 12px/1.3 var(--f-display);letter-spacing:.04em;white-space:nowrap;pointer-events:none;background:#18120bd6;border-radius:4px;padding:1px 7px 2px;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0006}.wv-marker.shape-pin .wv-marker-name{top:calc(100% + 1px)}.wv-marker.selected .wv-marker-name{color:var(--brass)}.wv-rail{z-index:11;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#191d24f2;border-radius:10px;flex-direction:column;gap:3px;max-height:calc(100% - 110px);padding:5px;display:flex;position:absolute;top:12px;left:12px;overflow:auto;box-shadow:0 10px 30px #00000080}.wv-tool{width:38px;height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;display:grid}.wv-tool:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.wv-tool.on{color:var(--brass);background:#d1a64e29;border-color:#d1a64e73}.wv-rail-sep{background:var(--line);flex:none;height:1px;margin:3px 4px}.wv-strip{z-index:11;border:1px solid var(--line);background:#191d24f2;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 80px);padding:6px 10px;display:flex;position:absolute;top:12px;left:66px;box-shadow:0 10px 30px #00000080}.wv-inks{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.wv-inks input[type=color]{width:22px;height:22px}.wv-seg{flex-wrap:nowrap;gap:3px}.wv-seg .chip{min-height:26px;padding:3px 7px}.wv-hint{z-index:10;border:1px solid var(--line);color:#e6dcc4;background:#0c0a07d1;border-radius:8px;align-items:center;gap:10px;max-width:min(560px,100% - 140px);padding:6px 12px;font-size:13px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.wv-strip~.wv-hint{top:60px}.wv-board.tool-select~.wv-hint{display:none}.wv-inspector{z-index:12;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;width:320px;max-width:calc(100% - 80px);max-height:calc(100% - 100px);padding:12px;display:flex;position:absolute;top:12px;right:12px;overflow:auto;box-shadow:0 14px 40px #0000008c}.wv-insp-head{cursor:grab;touch-action:none;align-items:center;gap:10px;display:flex}.wv-inspector.dragging{-webkit-user-select:none;user-select:none;box-shadow:0 22px 54px #000000b3}.wv-inspector.dragging,.wv-inspector.dragging .wv-insp-head,.wv-inspector.dragging .wv-drag{cursor:grabbing}.wv-drag{z-index:3;background:var(--panel);color:#6f6a5c;cursor:grab;touch-action:none;border:0;border-radius:0;flex:none;place-items:center;height:18px;margin:-12px -12px -6px;padding:0;display:grid;position:sticky;top:-12px}.wv-drag:hover,.wv-drag:focus-visible,.wv-drag.moved{color:var(--brass)}.wv-drag:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.wv-art{gap:6px;margin:0;display:grid}.wv-art.over .wv-art-open,.wv-art.over .wv-art-add{outline:2px dashed var(--brass);outline-offset:2px}.wv-art-open{aspect-ratio:16/10;border:1px solid var(--line);background:var(--ink);cursor:zoom-in;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.wv-art-open img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.wv-art-open:hover img{transform:scale(1.035)}.wv-art-open:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff12,inset 0 -36px 36px -30px #0000008c}.wv-art-empty{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.wv-art-zoom{z-index:1;color:#f3ead6;opacity:0;background:#0c0a07b8;border-radius:6px;place-items:center;width:26px;height:26px;transition:opacity .15s;display:grid;position:absolute;bottom:6px;right:6px}.wv-art-open:hover .wv-art-zoom,.wv-art-open:focus-visible .wv-art-zoom{opacity:1}.wv-art-tools{flex-wrap:wrap;gap:4px;display:flex}.wv-art-add{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px dashed #4b5463;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;display:flex}.wv-art-add:hover:not(:disabled){border-color:var(--brass);color:var(--text);background:#d1a64e14}.wv-art-add>span{gap:1px;min-width:0;display:grid}.wv-art-add b{color:var(--text);font-size:14px}.wv-art-add small{font-size:12px;line-height:1.3}.wv-lightbox{z-index:120;cursor:zoom-out;background:#050608e6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wv-lightbox figure{justify-items:center;gap:12px;max-width:100%;margin:0;display:grid}.wv-lightbox img{border:1px solid #ffffff24;border-radius:8px;max-width:min(94vw,1400px);max-height:80vh;box-shadow:0 24px 80px #000000bf}.wv-lightbox figcaption{font-family:var(--f-display);color:#f3ead6;text-align:center;font-size:22px}.wv-lightbox-x{position:absolute;top:14px;right:14px}@media (prefers-reduced-motion:reduce){.wv-art-open img,.wv-art-zoom{transition:none}}.wv-insp-title{flex:1;gap:2px;min-width:0;display:grid}.wv-insp-title h3{color:var(--text);font-size:17px}.wv-name-input{font-size:16px;font-weight:700;font-family:var(--f-display)!important;padding:4px 8px!important}.wv-insp-swatch{border-radius:6px;flex:none;width:22px;height:22px;box-shadow:0 0 0 2px #00000080,inset 0 0 0 2px #fff3}.wv-kinds{flex-wrap:wrap;gap:3px;display:flex}.wv-kind{background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:32px;height:32px;padding:0;display:grid}.wv-kind:hover{background:var(--panel-3)}.wv-kind.on{border-color:var(--brass);background:#d1a64e24}.wv-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wv-row>select{flex:180px}.wv-stat{background:var(--ink);border:1px solid var(--line);border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;display:flex}.wv-stat b{font:700 16px var(--f-mono);color:var(--brass)}.wv-stat span{color:var(--muted);font-size:13px}.wv-dist{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:13px;display:flex}.wv-dist .icon{color:var(--brass);margin-top:2px}.wv-insp-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding-top:8px;display:flex}.wv-style{max-height:min(70vh,100vh - 220px);overflow:auto}.wv-style .fog-head{margin-bottom:2px}.wv-sub{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.wv-presets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.wv-preset{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:7px;justify-items:center;gap:4px;padding:6px 4px;font-size:12px;font-weight:700;display:grid}.wv-preset.on{border-color:var(--brass);color:var(--text);background:#d1a64e1f}.wv-preset-sw{background:linear-gradient(135deg,#3d6e8f 0 28%,#c9b48a 28% 52%,#5f7a3b 52% 74%,#8c3b2a 74%);border-radius:4px;width:100%;height:30px;position:relative;overflow:hidden}.wv-preset-sw i{background:#f2e6c8;position:absolute;inset:0}.wv-hexrow{justify-content:space-between}.wv-hexrow>*{flex:0 auto}.wv-num{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.wv-num input{width:76px!important;padding:4px 6px!important}.wv-calib-box{gap:8px;font-size:13px;display:grid}.wv-scale-read{font:700 11px var(--f-mono);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.wv-scale-read i{border:2px solid var(--text);border-top:0;height:6px;display:inline-block}.wv-panel h3{margin-bottom:4px}.wv-atlas-card{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.wv-atlas-card img{object-fit:cover;border-radius:5px;flex:none;width:92px;height:62px}.wv-atlas-card>div{justify-items:start;gap:2px;min-width:0;display:grid}.wv-atlas-card b{font-family:var(--f-display);font-size:15px;line-height:1.2}.wv-atlases{align-content:start;gap:4px;max-height:232px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.wv-atlases li{border-radius:6px;align-items:center;gap:4px;display:flex}.wv-atlases li.on{background:#d1a64e1f}.wv-atlases li>button:first-child{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 6px;font-size:13px;display:flex}.wv-atlases img{object-fit:cover;border-radius:3px;width:40px;height:27px}.wv-group{gap:5px;margin-top:8px;display:grid}.wv-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.wv-kind-btn{border:1px solid var(--line);background:var(--panel-2);text-align:left;cursor:grab;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:5px 8px;font-size:13px;font-weight:500;display:flex}.wv-kind-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wv-kind-btn:hover{background:var(--panel-3);border-color:#485366}.wv-kind-btn.on{border-color:var(--brass);color:var(--brass);background:#d1a64e29}.wv-list-sec{gap:8px;display:grid}.wv-list{gap:2px;margin:0;padding:0 8px;list-style:none;display:grid}.wv-list li{border-radius:7px;align-items:center;gap:4px;display:flex}.wv-list li.sel{background:#d1a64e1f}.wv-list li.off .wv-list-main{opacity:.5}.wv-list li.empty{color:var(--muted);padding:6px 8px;font-size:13px;display:block}.wv-list-main{text-align:left;background:0 0;border:0;border-radius:7px;flex:1;align-items:center;gap:9px;min-width:0;padding:5px 8px;display:flex}.wv-list-main:hover{background:var(--panel-2)}.wv-list-main>span:last-child{min-width:0;display:grid}.wv-list-main b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.wv-list-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.wv-list-ico{flex:none;place-items:center;width:24px;display:grid}.wv-upload-preview{object-fit:contain;background:var(--ink);border-radius:6px;width:100%;max-height:220px;margin-top:8px}@media (width<=860px){.wv-inspector{width:auto;max-width:none;max-height:48%;inset:auto 8px 70px;transform:none!important}.wv-drag{display:none}.wv-insp-head{cursor:default;touch-action:auto}.wv-art-open{aspect-ratio:21/9}.wv-rail{top:8px;left:8px}.wv-tool{width:34px;height:34px}.wv-strip{top:8px;left:58px}.wv-hint,.wv-scale-read{display:none}}@media (prefers-reduced-motion:reduce){.wv-marker.selected:before{animation:none}}.wv-atlas-card{position:relative}.wv-atlas-card.private{border-color:#5b4a24}.wv-atlas-card>div{flex:1}.wv-seen{color:#9ee0b2;align-items:center;gap:5px;font-size:12px;display:inline-flex}.wv-seen.private{color:var(--warn)}.wv-menu-wrap{align-self:flex-start;position:relative}.wv-menu{z-index:30;width:230px;position:absolute;top:calc(100% + 4px);left:auto;right:0}.wv-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.wv-show-btn{justify-content:center;width:100%;margin-top:8px}.wv-live{font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#9ee0b2;background:#45b86b29;border-radius:4px;flex:none;margin-right:4px;padding:2px 6px}.wv-kind-btn{position:relative}.wv-kind-btn .wv-kbd{margin-left:auto}kbd,.wv-kbd{font:600 10.5px var(--f-mono);border:1px solid var(--line);background:var(--panel);color:var(--muted);border-bottom-width:2px;border-radius:4px;padding:1px 5px;line-height:1.4}.wv-tool{position:relative}.wv-rail-key{color:var(--muted);pointer-events:none;background:#111419d9;border-width:1px;padding:0 3px;font-size:8.5px;line-height:1.3;position:absolute;bottom:1px;right:1px}.wv-tool.on .wv-rail-key{color:var(--brass);border-color:var(--brass-dim)}.wv-private{z-index:10;color:#f0dfb4;background:#281f0cf2;border:1px solid #7a6029;border-radius:9px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 8px 6px 12px;font-size:13px;display:flex;position:absolute;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.wv-private .icon{color:var(--warn)}.wv-toast{z-index:15;border:1px solid var(--brass-dim);color:var(--text);pointer-events:none;text-align:center;background:#0c0a07f0;border-radius:8px;max-width:calc(100% - 24px);padding:8px 14px;font-size:14px;animation:.2s ease-out wv-toast;position:absolute;bottom:120px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}@keyframes wv-toast{0%{opacity:0;transform:translate(-50%,8px)}}.wv-snaps{gap:4px;max-height:50vh;margin:4px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.wv-snaps li{border:1px solid var(--line);background:var(--panel-2);border-radius:7px;align-items:center;gap:6px;padding:7px 8px;display:flex}.wv-snaps li.empty{color:var(--muted);background:0 0;border-style:dashed;font-size:13px;display:block}.wv-snap-main{flex:1;min-width:0;display:grid}.wv-snap-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wv-snap-main small{color:var(--muted);font-size:12px}.row>.wv-nogrow{flex:none}.wv-choices{gap:6px;display:grid}.wv-choice{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:9px 11px;display:flex}.wv-choice.on{border-color:var(--brass);background:#d1a64e1a}.wv-choice input{accent-color:var(--brass);margin-top:3px}.wv-choice span{gap:2px;display:grid}.wv-choice small{color:var(--muted);font-size:13px}.wv-import{border:1px dashed var(--line);color:var(--muted);border-radius:8px;justify-items:start;gap:8px;margin-top:4px;padding:10px 12px;font-size:13px;display:grid}.wv-keys{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px;display:grid}.wv-keys h3{margin-bottom:6px}.wv-keys dl{gap:5px;margin:0;display:grid}.wv-keys dl>div{grid-template-columns:minmax(110px,auto) 1fr;align-items:baseline;gap:10px;font-size:13.5px;display:grid}.wv-keys dt{white-space:nowrap;color:var(--muted);font-size:12px}.wv-keys dd{margin:0}@media (width<=860px){.wv-rail-key{display:none}.wv-private{font-size:12px;bottom:68px}}.wv-atlas-card>.wv-menu-wrap{flex:none;align-self:flex-start;margin:-4px -4px 0 0}.wv-kind-btn .wv-kbd{opacity:.8;border-width:1px;margin:0;padding:0 3px;font-size:9px;line-height:1.25;position:absolute;top:3px;right:3px}.wv-toast{bottom:132px}.login-card.acct-wide{width:min(600px,100%)}.acct-form{gap:14px;display:grid}.acct-seg{background:var(--ink);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.acct-seg button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px;font-weight:600}.acct-seg button.on{background:var(--panel-3);color:var(--text)}.acct-sent{gap:12px;display:grid}.acct-sent p:first-child{align-items:flex-start;gap:8px;margin:0;display:flex}.acct-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.acct-head b{margin-right:6px;font-size:17px}.acct-head .muted,.acct-section h2 .muted{color:var(--muted);font-size:13px;font-weight:400}.acct-ok,.acct-warn{border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:14px;display:flex}.acct-ok{color:#b6ecc6;background:#50b46e1f;border:1px solid #2c6a40}.acct-warn{color:#ffc9c2;background:#c8503c1f;border:1px solid #7a2c26}.acct-plan{border:1px solid var(--brass-dim);background:#d1a64e14;border-radius:10px;gap:6px;padding:12px 14px;display:grid}.acct-plan b{color:var(--brass)}.acct-plan em{color:#ffb1a9;font-style:normal}.acct-plan small{color:var(--muted)}.acct-section{gap:10px;display:grid}.acct-section h2{font-size:16px;font-family:var(--f-display);margin:0}.acct-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.acct-list li{background:var(--ink);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.acct-list li>.icon{color:var(--brass);flex:none}.acct-list li>span{flex:1;min-width:0;display:grid}.acct-list li small{color:var(--muted);font-size:12.5px}.acct-list a.btn{text-decoration:none}.acct-new input{flex:1;min-width:0}.acct-table-name{font-family:var(--f-display);margin:-6px 0 0;font-size:26px}.join-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.join-choice{border:1px solid var(--line);background:var(--ink);border-radius:10px;align-content:start;gap:8px;padding:14px;display:grid}.join-choice b{align-items:center;gap:6px;display:flex}.join-choice span{color:var(--muted);font-size:13px}.join-choice .btn{justify-content:center;text-decoration:none}@media (width<=520px){.join-choices{grid-template-columns:1fr}}.seat-list{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:grid}.seat-list li{border:1px solid var(--line);background:#0003;border-radius:8px;align-items:baseline;gap:8px;padding:6px 9px;display:flex}.seat-list small{color:var(--muted);flex:1}.ro-banner{z-index:60;color:#ffd2cc;background:#3a1c18;border:1px solid #7a2c26;border-radius:10px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:9px 14px;font-size:13.5px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000080}.ro-banner.warn{border-color:var(--brass-dim);color:#f4dfae;background:#3a2f14}.ro-banner a{color:inherit;white-space:nowrap;font-weight:700}.adm{background:var(--ink);height:100%;overflow:auto}.adm-top{z-index:10;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.adm-brand{font-family:var(--f-display);color:var(--brass);align-items:center;gap:10px;font-size:20px;text-decoration:none;display:flex}.adm-brand small{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:12px;font-weight:700}.adm-nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.adm-nav a{color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.adm-nav a:hover{background:var(--panel-2);color:var(--text)}.adm-nav a.on{background:var(--panel-3);color:var(--text)}.adm-me{color:var(--brass);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.adm-main{gap:16px;max-width:1180px;margin:0 auto;padding:24px 24px 64px;display:grid}.adm-main h1{font-family:var(--f-display);margin:0;font-size:28px}.adm-main h2{font-size:16px;font-family:var(--f-display);margin:0 0 10px}.adm-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.adm-sub{color:var(--muted);margin:4px 0 8px}.adm-badges{flex-wrap:wrap;gap:6px;display:flex}.adm-back{justify-self:start;font-size:13px}.adm-tools{gap:10px;display:grid}.adm-search{max-width:420px}.adm-stats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.adm-stat{text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;gap:4px;padding:16px;display:grid}.adm-stat:not(:disabled):hover{border-color:var(--brass-dim)}.adm-stat:disabled{cursor:default;opacity:1}.adm-stat span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.adm-stat b{font-size:30px;font-family:var(--f-display);color:var(--brass)}.adm-stat small{color:var(--muted);font-size:12.5px}.adm-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-content:start;gap:10px;min-width:0;padding:16px 18px;display:grid}.adm-card.flush{padding:0;overflow-x:auto}.adm-card.narrow{max-width:560px}.adm-card p{margin:0}.adm-card .row.tight{flex-wrap:wrap}.adm-card-head{justify-content:space-between;align-items:center;display:flex}.adm-card-head h2{margin:0}.adm-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.adm-form{gap:14px}.adm-form select,.adm-card select{background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 9px}.adm-table{border-collapse:collapse;width:100%;font-size:13.5px}.adm-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11.5px;font-weight:700}.adm-table td{vertical-align:top;border-bottom:1px solid #ffffff0d;padding:9px 12px}.adm-table td small{color:var(--muted);font-size:12px;display:block}.adm-table td.num,.adm-table th.num{text-align:right}.adm-table tr.clickable{cursor:pointer}.adm-table tr.clickable:hover td{background:var(--panel-2)}.adm-table tr.dim td{opacity:.55}.adm-card:not(.flush) .adm-table td:first-child,.adm-card:not(.flush) .adm-table th:first-child{padding-left:0}.adm-table .nowrap{white-space:nowrap}.adm-ua{overflow-wrap:anywhere;max-width:340px;color:var(--muted);font-size:12px}.adm-row-actions{justify-content:flex-end;gap:6px;display:flex}.adm-log td{font-size:13px}.adm-dot{vertical-align:middle;background:var(--player);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.adm-dot.bad{background:#ff7b6e}.adm-dot.staff{background:var(--brass)}.adm-badge{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;margin-right:4px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.adm-badge.gold{color:var(--brass);border-color:var(--brass-dim)}.adm-badge.ok{color:#9ee0b2;border-color:#2c6a40}.adm-badge.warn{color:#f4dfae;border-color:var(--brass-dim);background:#d1a64e1a}.adm-badge.bad{color:#ffb1a9;background:#c8503c1f;border-color:#7a2c26}.adm-badge.staff{color:#c7b8ff;border-color:#5b4b9a}.adm-ok{color:#9ee0b2;align-items:center;gap:4px;display:inline-flex}.adm-warn{color:#f4dfae}.adm-note{align-items:flex-start}.adm-note p{margin:0 0 6px}.adm-secret{gap:6px;margin-top:6px;display:grid}.adm-pager{justify-content:flex-end;align-items:center;gap:10px;padding:10px 12px;display:flex}.adm-pager .muted{margin-right:auto}.danger-zone{border-color:#5a2520}.adm-denied{gap:12px;max-width:520px;margin:80px auto;padding:24px;display:grid}.muted{color:var(--muted)}@media (width<=700px){.adm-top{padding:10px 16px}.adm-main{padding:16px 16px 48px}}a.btn{color:var(--text);text-decoration:none}a.btn.primary{color:#1a1407}.del-choices{gap:8px;margin-bottom:12px;display:grid}.del-choice{border:1px solid var(--line);background:var(--ink);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.del-choice input{margin-top:3px}.del-choice span{gap:4px;display:grid}.del-choice small{color:var(--muted);font-size:13px}.del-choice.on{border-color:var(--brass-dim);background:#d1a64e14}.del-choice.danger.on{background:#c8503c1a;border-color:#7a2c26}.acct-list li.deleting{opacity:.85;border-style:dashed}.pkg-intro{margin:0 0 14px}.pkg-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.pkg-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.pkg-card.is-bundle{border-color:var(--brass-dim);grid-column:1/-1}.pkg-card.is-bundle .pkg-cover{height:120px}.pkg-cover{background:var(--panel-3) center / cover no-repeat;border-bottom:1px solid var(--line);height:104px;position:relative}.pkg-cover:after{content:"";background:linear-gradient(#0a0c1000 40%,#0a0c10bf);position:absolute;inset:0}.pkg-kind{z-index:1;font:600 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--brass);position:absolute;bottom:8px;left:10px}.pkg-flag{z-index:1;border:1px solid var(--warn);color:var(--warn);background:#0a0c10cc;border-radius:99px;padding:3px 8px;font-size:11px;position:absolute;top:8px;right:8px}.pkg-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:10px 12px 6px;display:flex}.pkg-title{color:var(--text);letter-spacing:.02em;font-size:16px}.pkg-counts{color:var(--muted);margin:0;font-size:12px}.pkg-summary{color:#cfc8b8;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;display:-webkit-box;overflow:hidden}.pkg-summary.open{display:block}.pkg-more{color:var(--muted);font-size:12.5px}.pkg-more p{margin:4px 0}.pkg-more b{color:var(--text);font-weight:600}.pkg-body .link-btn{align-self:flex-start}.pkg-foot{justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px 10px;display:flex}.pkg-state{color:var(--heal);align-items:center;gap:4px;margin-right:auto;font-size:12.5px;display:inline-flex}.pkg-locked{color:var(--muted);align-items:center;gap:6px;margin-right:auto;font-size:12.5px;display:inline-flex}.pkg-replace{margin-top:12px}.empty-table{z-index:5;background:radial-gradient(#191d2499,#111419f2);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.empty-card{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(460px,100%);padding:26px 24px 22px;box-shadow:0 24px 60px #00000080}.empty-card h2{color:var(--brass);margin-bottom:8px;font-size:24px}.empty-card p{color:#cfc8b8;margin:0 0 18px}.empty-icon{color:var(--brass);margin-bottom:6px}.row.center{justify-content:center}.row.center>*{flex:0 auto}.pkg-note{z-index:30;background:var(--panel);border:1px solid var(--brass-dim);border-radius:10px;align-items:flex-start;gap:10px;width:min(560px,100% - 32px);padding:10px 10px 10px 14px;font-size:14px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #00000080}.pkg-note span{flex:1}.adm-pick{border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px 10px}.adm-pick legend{padding:0 6px;font-size:13px;font-weight:700}.adm-pick-list{gap:4px;max-height:260px;display:grid;overflow:auto}.adm-pick-list .check.auto{opacity:.7}.adm-ents{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adm-ents li{align-items:center;gap:10px;display:flex}.adm-form textarea,.adm-form input:not([type=checkbox]){width:100%}.adm-pick-list .check{text-align:left;justify-content:flex-start;align-items:flex-start}.adm-pick-list .check input{margin-top:3px}.acct-danger{border-top:1px solid var(--line);padding-top:14px}.acct-danger h2{color:#ffb1a9}.acct-close{gap:10px;display:grid}.acct-closed-title{font-family:var(--f-display);color:var(--brass);margin:4px 0 0;font-size:22px}.pkg-includes{color:var(--brass);margin:2px 0 0;font-size:12px;line-height:1.5}.acct-pick-note{border:1px solid var(--brass-dim);background:#d1a64e14;border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13.5px;display:flex}.acct-pick-note .icon{color:var(--brass);margin-top:2px}.adm-list{gap:2px;margin:0;padding-left:16px;font-size:12px;display:grid}.dfx{z-index:30;pointer-events:none;align-content:start;justify-items:center;padding-top:clamp(40px,11vh,130px);display:grid;position:absolute;inset:0;overflow:hidden}.dfx-flash{pointer-events:none;animation:1s ease-out forwards dfx-flash;position:absolute;inset:0}.dfx-flash.crit{background:radial-gradient(circle at 50% 28%,#ffd67859,#d1a64e1f 40%,#0000 70%)}.dfx-flash.fumble{background:radial-gradient(circle at 50% 28%,#d9483b52,#7814102e 45%,#0000 75%)}@keyframes dfx-flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.dfx-card{pointer-events:auto;cursor:pointer;border:1px solid var(--brass-dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111419e6;border-radius:16px;justify-items:center;gap:10px;min-width:260px;max-width:min(640px,100% - 24px);padding:14px 22px 16px;transition:opacity .3s,transform .3s;animation:.22s ease-out both dfx-in;display:grid;position:relative;box-shadow:0 18px 60px #000000a6}.dfx-card.out{opacity:0;transform:translateY(-10px)scale(.97)}.dfx-card.crit{border-color:var(--brass);box-shadow:0 0 0 1px #d1a64e80,0 0 46px #d1a64e59,0 18px 60px #000000a6}.dfx-card.fumble{border-color:#7a2c26;box-shadow:0 0 0 1px #d9483b66,0 0 40px #d9483b38,0 18px 60px #000000a6}.dfx-card.fumble.total{animation:.22s ease-out both dfx-in,.5s ease-in-out 20ms dfx-shake}@keyframes dfx-in{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:none}}@keyframes dfx-shake{0%,to{translate:0}15%{translate:-9px 2px}30%{translate:8px -3px}45%{translate:-6px 2px}60%{translate:5px -1px}80%{translate:-2px}}.dfx-top{text-align:center;justify-items:center;gap:1px;max-width:100%;display:grid}.dfx-who{font:700 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.dfx-label{font:600 17px/1.2 var(--f-display);color:var(--brass);overflow-wrap:anywhere}.dfx-dice{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;min-height:74px;display:flex}.dfx-op,.dfx-mod,.dfx-more{font:700 26px/1 var(--f-mono);color:var(--text);opacity:.85}.dfx-op{opacity:.5;font-size:20px}.dfx-more{color:var(--muted);font-size:13px}.dfx-die{place-items:center;width:62px;height:62px;display:inline-grid;position:relative}.dfx-throw{place-items:center;width:100%;height:100%;display:grid;position:relative}.dfx-throw.flying{animation:dfx-throw var(--land) cubic-bezier(.3,.1,.5,1) both}.dfx-spin{width:100%;height:100%;display:grid}.dfx-throw.flying .dfx-spin{animation:dfx-spin var(--land) cubic-bezier(.1,.7,.25,1) both}.dfx-shape{filter:drop-shadow(0 6px 8px #00000080);width:100%;height:100%;overflow:visible}.dfx-shape polygon{fill:#232a35;stroke:var(--brass);stroke-width:3.2px}.dfx-facets{fill:none;stroke:var(--brass-dim);stroke-width:1.6px;stroke-linejoin:round}.dfx-crack{fill:none;stroke:#ff6a5c;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;animation:.35s ease-out both dfx-crack}@keyframes dfx-crack{0%{opacity:0;stroke-dasharray:0 200}to{opacity:1;stroke-dasharray:200 0}}.dfx-face{font:800 22px/1 var(--f-mono);color:var(--text);text-shadow:0 1px 2px #000000b3;pointer-events:none;position:absolute}.dfx-die.d100 .dfx-face,.dfx-die.d20 .dfx-face{font-size:21px}.dfx-die.d4 .dfx-face{transform:translateY(8px)}.dfx-die.landed .dfx-throw{animation:.3s ease-out both dfx-thunk}.dfx-die.dropped{opacity:.38;filter:grayscale(.6)}.dfx-die.dropped .dfx-face{text-decoration:line-through}.dfx-die.max .dfx-shape polygon{fill:#4a3a15;stroke:#ffd678}.dfx-die.max{filter:drop-shadow(0 0 14px #ffd678cc)}.dfx-die.max .dfx-face{color:#ffe9b0}.dfx-die.min .dfx-shape polygon{fill:#3a1714;stroke:#d9483b}.dfx-die.min .dfx-face{color:#ff9a8f}@keyframes dfx-throw{0%{transform:translate(var(--sx), -230px) scale(1.7);opacity:0}8%{opacity:1}38%{transform:translate(calc(var(--sx) * .32), 0) scale(1)}52%{transform:translate(calc(var(--sx) * .2), -62px)}66%{transform:translate(calc(var(--sx) * .08), 0)}78%{transform:translate(calc(var(--sx) * .03), -18px)}to{transform:translate(0)}}@keyframes dfx-spin{0%{transform:rotate(0)}to{transform:rotate(var(--rot))}}@keyframes dfx-thunk{0%{transform:scale(1.18,.82)translateY(3px)}45%{transform:scale(.94,1.07)}to{transform:none}}.dfx-result{justify-items:center;gap:2px;min-height:66px;display:grid}.dfx-total{font:800 54px/1 var(--f-mono);color:var(--text);animation:.42s cubic-bezier(.2,1.5,.4,1) both dfx-slam}.dfx-card.crit .dfx-total{color:#ffd678;text-shadow:0 0 22px #ffd678a6}.dfx-card.fumble .dfx-total{color:#ff8f84;text-shadow:0 0 18px #d9483b80}.dfx-expr{font:600 12px/1.2 var(--f-mono);color:var(--muted)}@keyframes dfx-slam{0%{opacity:0;transform:scale(2.4)}60%{opacity:1}to{transform:scale(1)}}.dfx-burst{pointer-events:none;width:0;height:0;position:absolute;top:62%;left:50%}.dfx-burst .ring{border:3px solid #ffd678e6;border-radius:50%;width:180px;height:180px;animation:.8s ease-out both dfx-ring;position:absolute;top:-90px;left:-90px}.dfx-burst .spark{background:#ffd678;border-radius:50%;width:8px;height:8px;animation:.9s ease-out both dfx-spark;position:absolute;top:-4px;left:-4px;box-shadow:0 0 10px #ffd678}@keyframes dfx-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.4)}}@keyframes dfx-spark{0%{transform:rotate(var(--a)) translateX(10px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateX(var(--d)) scale(.2);opacity:0}}.dfx-card.quick .dfx-die.landed .dfx-throw{animation:.2s ease-out both dfx-thunk}.dfx-menu-wrap{display:inline-flex;position:relative}.dfx-menu{z-index:5;border:1px solid var(--line);width:250px;color:var(--text);background:#1b2028;border-radius:10px;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #0009}.dfx-menu-h{font:700 11px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.dfx-menu-h em{text-transform:none;letter-spacing:0;opacity:.75;font-style:normal}.dfx-menu-note{color:var(--warn);margin:0;font-size:12px}.dfx-seg{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.dfx-seg button{color:var(--muted);font:600 13px var(--f-body);cursor:pointer;background:0 0;border:0;padding:6px 0}.dfx-seg button+button{border-left:1px solid var(--line)}.dfx-seg button.on{color:var(--brass);background:#d1a64e29}.dfx-vol{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:13px;display:grid}.dfx-try{flex-wrap:wrap;gap:6px;display:flex}.dfx-try button{border:1px solid var(--line);color:var(--text);font:600 12px var(--f-body);cursor:pointer;background:#232a35;border-radius:99px;padding:5px 9px}.dfx-try button:hover{border-color:var(--brass-dim);color:var(--brass)}@media (width<=640px){.dfx-die{width:50px;height:50px}.dfx-face{font-size:18px}.dfx-total{font-size:44px}}@media (prefers-reduced-motion:reduce){.dfx-card,.dfx-card.fumble.total{animation:none!important}.dfx-burst,.dfx-flash{display:none}}.adm-filters{gap:12px}.adm-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.adm-filter-row .adm-search{flex:320px;width:auto;max-width:none}.adm-card .adm-filter-row select,.adm-card .adm-filter-foot select{flex:none;width:auto}.adm-filter-row>.btn{flex:none}.adm-filter-quick{grid-column:span 2}.adm-filter-quick .row.tight{flex-wrap:wrap}.adm-filter-quick .row.tight>*{flex:none}.adm-filter-row select,.adm-filter-foot select,.adm-filter-grid select,.adm-filter-grid input{background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 9px}.adm-filter-grid{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;padding-top:4px;display:grid}.adm-filter-grid .field{margin:0}.adm-filter-foot{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.adm-filter-foot .spacer{flex:1}.link-btn.plain{color:inherit;font-size:inherit;text-align:left;text-decoration:none}.link-btn.plain:hover{color:var(--brass)}.adm-cell-links{align-items:center;gap:4px;display:inline-flex}.adm-narrow{color:var(--muted);opacity:.6;cursor:pointer;background:0 0;border:0;padding:2px}.adm-narrow:hover{opacity:1;color:var(--brass)}.adm-pkg-meta{color:var(--muted);font-size:12px;display:block}.adm-tier-new{color:var(--brass);margin-left:4px;font-size:11px;font-weight:700}.adm-pkg-inside small{margin-bottom:2px;display:block}.adm-pad{padding:14px 16px 4px}.wv-info-sec{gap:10px;display:grid}.wv-info-head{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.wv-info-head:hover{border-color:var(--brass-dim)}.wv-info-head>span:not(.brief-tag){flex:1;gap:1px;min-width:0;display:grid}.wv-info-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.wv-info-head .icon:first-child{color:var(--brass)}.wv-info-head .brief-tag{margin-left:0}.wv-info-editor{gap:10px;display:grid}.wv-about{z-index:10;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#191d24f2;border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 10px 30px #00000080}.wv-about:hover{border-color:var(--brass-dim)}.wv-about .icon{color:var(--brass)}.wv-about .brief-tag{margin-left:2px}.wv-info-row{align-items:stretch;gap:6px;display:flex}.wv-info-row .wv-info-head{flex:1;width:auto;min-width:0}.wv-popout{border:1px solid var(--line);background:var(--panel-2);width:38px;height:auto;min-height:38px}.wv-popout:hover{border-color:var(--brass-dim);color:var(--brass)}.pop-editor{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.pop-editor .briefing-input{min-height:min(52vh,460px);font-size:15px;line-height:1.55}@media (width>=820px){.pop-editor{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.pop-editor>.wv-info-editor{display:contents}.pop-editor>.wv-info-editor>.briefing-tools{grid-column:1/-1}.battle-pin{z-index:6;transform-origin:50% 100%;cursor:pointer;filter:drop-shadow(0 3px 5px #0000008c);touch-action:none;position:absolute}.battle-pin.movable{cursor:grab}.battle-pin.dragging{cursor:grabbing;z-index:8}.battle-pin.is-hidden .wv-badge{opacity:.62}.battle-pin.open .wv-badge,.battle-pin:hover .wv-badge{filter:drop-shadow(0 0 4px var(--brass))}.battle-pin .wv-badge{display:block}.bp-eye{background:var(--ink);width:16px;height:16px;color:var(--muted);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid;position:absolute;top:-2px;right:-4px}.bp-label{border:1px solid var(--line);max-width:180px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;background:#191d24f0;border-radius:6px;margin-top:2px;padding:2px 7px;font-size:12px;transition:opacity .12s;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.battle-pin:hover .bp-label,.battle-pin.open .bp-label{opacity:1}.board.pin-mode{cursor:crosshair}.pin-hint{z-index:12;border:1px solid var(--brass-dim);color:var(--text);background:#191d24f5;border-radius:99px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;display:inline-flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.pin-hint .icon{color:var(--brass)}.pin-card{width:320px}.pin-card .qv-head{cursor:default;align-items:center}.pin-card .qv-body textarea{width:100%;font-size:14px}.pin-card .qv-body section{gap:6px}.icon-btn.toggle.pin-live:not(.on){color:var(--brass)}.gm-scroll-btn.on{border-color:var(--brass-dim);background:#282216f5}.gm-scroll-dot{background:var(--brass);border-radius:50%;width:7px;height:7px;margin-left:2px}.gm-scroll{z-index:14;color:#2f2111;min-height:0;font-size:var(--gm-font,15px);background:radial-gradient(120% 90% at 20% 0,#f4e8c8 0%,#e7d4a8 55%,#d7be8a 100%);border-radius:4px 4px 10px 10px;flex-direction:column;animation:.14s ease-out qv-in;display:flex;position:absolute;box-shadow:0 18px 44px #0009,inset 0 0 38px #78501447,inset 0 0 0 1px #6e461459}.gm-scroll:before,.gm-scroll:after{content:"";pointer-events:none;background:linear-gradient(#f7edcf,#dac18c 60%,#b99a5c);border-radius:8px;height:13px;position:absolute;left:-6px;right:-6px;box-shadow:0 3px 6px #0006}.gm-scroll:before{top:-7px}.gm-scroll:after{bottom:-7px}.gm-scroll.rolled{min-height:0}.gm-scroll-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:#5a3512;align-items:center;gap:4px;padding:13px 8px 7px 12px;display:flex}.gm-scroll-head:active{cursor:grabbing}.gm-scroll:not(.rolled) .gm-scroll-head{border-bottom:1px solid #6e46144d}.gm-scroll-title{flex:1;min-width:0;line-height:1.15;display:grid}.gm-scroll-title b{font-family:var(--f-display);letter-spacing:.03em;font-size:16px}.gm-scroll-title small{color:#7a5b32;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.gm-scroll-head button{color:#5a3512;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;min-width:28px;height:28px;padding:0 4px;display:inline-grid}.gm-scroll-head button:hover:not(:disabled){background:#5a351229}.gm-scroll .gm-a{font:700 13px/1 var(--f-body)}.gm-scroll-body,.gm-scroll-read{flex:1;min-height:0;padding:10px 14px}.gm-scroll-body{flex-direction:column;display:flex}.gm-scroll-read{overscroll-behavior:contain;overflow:auto}.gm-scroll textarea{width:100%;min-height:0;color:inherit;font:inherit;resize:none;background:0 0;border:0;border-radius:0;flex:1;padding:0;line-height:1.55}.gm-scroll textarea::placeholder{color:#8a6a3e;opacity:.8}.gm-scroll .briefing-text{font-size:inherit;line-height:1.55}.gm-scroll .briefing-text h3{color:#7a3510;font-size:1.15em}.gm-scroll .briefing-text strong{color:#1f1308}.gm-scroll .briefing-text em{color:#6b4a22}.gm-scroll .briefing-text li::marker{color:#8a5a1e}.briefing-text blockquote{border-left:3px solid var(--brass);background:#d1a64e1f;border-radius:0 6px 6px 0;margin:0;padding:7px 12px;font-style:italic}.gm-scroll .briefing-text blockquote{color:#2f2111;background:#7850141f;border-left-color:#9a6a24}.gm-scroll-empty{color:#7a5b32;margin:0}.gm-scroll .link-btn{color:#7a3510}.gm-scroll-foot{border-top:1px solid #6e461440;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 28px 13px 12px;display:flex}.gm-chip{color:#5a3512;background:#fff8e180;border:1px solid #6e461466;border-radius:6px;padding:3px 9px;font-size:12.5px}.gm-chip:hover{background:#fff8e1e6}.gm-scroll-status{color:#7a5b32;margin-left:auto;font-size:12px}.gm-scroll-status.bad{color:#9a2b1c;font-weight:600}.gm-scroll-grip{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 52%,#5a35128c 52% 60%,#0000 60% 72%,#5a35128c 72% 80%,#0000 80%);width:18px;height:18px;position:absolute;bottom:3px;right:4px}.gm-scroll :focus-visible{outline-color:#7a3510}@media (prefers-reduced-motion:reduce){.gm-scroll{animation:none}}.modal.all-notes{width:min(1100px,100%);height:min(780px,100dvh - 32px)}.all-notes .modal-body{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden}.all-notes .modal-foot{flex-wrap:wrap;align-items:center}.an-foot-note{align-items:center;gap:6px;margin-right:auto;display:inline-flex}.an-list{border-right:1px solid var(--line);background:var(--panel-2);flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex;overflow:auto}.an-search .icon{left:12px}.an-toggle{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.an-group h4{font:700 11px/1 var(--f-body);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:4px 2px 6px}.an-group .count{font-family:var(--f-mono);margin-left:4px}.an-group ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.an-item{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.an-item:hover{background:var(--panel-3)}.an-item.on{background:var(--panel-3);border-color:var(--brass-dim)}.an-item b{align-items:center;gap:6px;font-size:14px;display:flex}.an-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.an-now{text-transform:uppercase;letter-spacing:.08em;color:var(--brass);border:1px solid var(--brass-dim);border-radius:99px;padding:1px 6px;font-size:10px}.an-empty{margin:8px 4px;font-size:14px}.an-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.an-note{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 20px;display:flex}.an-note-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.an-note-head h3{color:var(--text);letter-spacing:.01em;overflow-wrap:anywhere;font-size:20px}.an-note-head .sub{align-items:center;gap:6px;margin:3px 0 0;display:flex}.an-note-tools{flex:none;gap:6px;display:flex}.an-input{resize:none;flex:1;min-height:0;font-size:15px;line-height:1.55}.an-read{flex:1;min-height:0;padding:4px 2px;overflow:auto}.an-status{margin:0}.an-status.bad{color:#ff8b80}@media (width<=760px){.all-notes .modal-body{grid-template-rows:minmax(120px,38%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.an-list{border-right:0;border-bottom:1px solid var(--line)}}.login-card.acct-shell{gap:16px;width:min(1220px,100%);padding:22px clamp(14px,3vw,30px) 28px}.acct-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.acct-bar h1{font-size:clamp(30px,5vw,40px)}.acct-user{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.acct-user>span{text-align:right;line-height:1.2;display:grid}.acct-user small{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.acct-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.acct-side,.acct-main{gap:14px;min-width:0;display:grid}.acct-card{border:1px solid var(--line);background:#1114198c;border-radius:12px;gap:12px;min-width:0;padding:16px;display:grid}.acct-card h2{font-size:17px}.acct-card summary{cursor:pointer;font-family:var(--f-display);font-size:17px;font-weight:700}.acct-card details[open]>summary{margin-bottom:12px}.acct-side .acct-danger{border-top:0;padding:0 4px}.acct-side .acct-danger h2{font-size:14px}.plan-panel{border:1px solid var(--brass-dim);background:linear-gradient(#d1a64e1a,#d1a64e05);border-radius:12px;gap:12px;padding:0 16px 16px;display:grid}.plan-ribbon{background:var(--brass);color:#1a1407;font-family:var(--f-display);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%);justify-self:start;margin:14px 0 0 -26px;padding:7px 34px 7px 26px;font-size:21px;font-weight:700;line-height:1.1;box-shadow:0 6px 18px #00000059}.plan-ribbon.trial{background:#b58f43}.plan-ribbon.ended{background:var(--blood);color:#fff}.plan-ribbon.none{background:var(--panel-3);color:var(--text)}.plan-panel .plan-line,.plan-panel .field-hint{margin:0}.plan-panel .plan-line b{color:var(--brass)}.plan-meter{color:var(--muted);gap:5px;font-size:13.5px;display:grid}.plan-meter-bar{background:var(--ink);border:1px solid var(--line);border-radius:99px;height:8px;overflow:hidden}.plan-meter-bar i{background:var(--brass);border-radius:99px;min-width:2px;height:100%;display:block}.plan-meter-bar i.full{background:var(--warn)}.plan-facts{color:var(--muted);gap:2px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.plan-facts li:before{content:"";background:var(--brass-dim);border-radius:50%;width:5px;height:5px;margin:0 8px 2px 0;display:inline-block}.plan-panel .btn,.plan-panel a.btn{justify-content:center;text-decoration:none}.plan-panel .acct-warn{font-size:13.5px}.acct-seg.billing{border-radius:8px;grid-template-columns:1fr 1.6fr;gap:0;padding:0;overflow:hidden}.acct-seg.billing button{border-radius:0;padding:7px 10px;font-size:13.5px}.acct-seg.billing button.on{font-weight:600}.acct-seg.billing button+button{border-left:1px solid var(--line)}.ladder{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ladder li{border:1px solid var(--line);background:var(--ink);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info price""info go";align-items:center;gap:6px 12px;padding:10px 12px;display:grid}.ladder li.current{border-color:var(--brass-dim);background:#d1a64e14}.ladder li>span:first-child{grid-area:info;align-self:start;min-width:0;display:grid}.ladder b{font-family:var(--f-display);font-size:16px}.ladder small{color:var(--muted);font-size:12.5px;line-height:1.3}.ladder-price{text-align:right;grid-area:price;align-self:end;font-size:16px;font-weight:700}.ladder-price small{margin-left:1px;font-weight:400}.ladder li .btn{grid-area:go;justify-content:center;justify-self:end;min-width:104px}.acct-card .acct-ok,.acct-card .error{margin:0}.acct-tables{gap:12px;padding:16px clamp(12px,2vw,20px) 20px}.acct-tables-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.acct-tabs{background:var(--ink);border:1px solid var(--line);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.acct-tabs button{color:var(--muted);font-family:var(--f-display);background:0 0;border:0;border-radius:7px;padding:6px 14px;font-size:16px;font-weight:700}.acct-tabs button.on{background:var(--panel-3);color:var(--text)}.acct-tabs .count{font-family:var(--f-mono);color:var(--brass);margin-left:4px;font-size:11.5px}.acct-new-panel{border:1px solid var(--line);background:var(--ink);border-radius:10px;gap:8px;padding:12px;display:grid}.acct-new-panel .acct-new select{flex:200px}.acct-tools{flex-wrap:wrap;gap:8px;display:flex}.acct-tools select{flex:none;width:auto;min-width:170px}.acct-search{border:1px solid var(--line);background:var(--ink);color:var(--muted);border-radius:6px;flex:220px;align-items:center;gap:8px;padding:0 10px;display:flex}.acct-search:focus-within{border-color:var(--brass-dim)}.acct-search input{outline:none;flex:1;min-width:0;padding:8px 0;background:0 0!important;border:0!important}.acct-search .icon-btn{color:var(--muted);background:0 0;border:0;place-items:center;padding:4px;display:grid}.acct-empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:4px 0;padding:22px 14px}.tgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tcard{border:1px solid var(--line);background:var(--ink);height:100%;color:var(--text);border-radius:10px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ic name""ic line""go go";gap:2px 10px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:grid}.tcard:hover{border-color:var(--brass-dim);background:var(--panel)}.tcard>.icon{color:var(--brass);grid-area:ic;margin-top:2px}.tcard-name{font-family:var(--f-display);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:name;font-size:17px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.tcard-line{color:var(--muted);grid-area:line;font-size:13px}.tcard-go{color:var(--brass);grid-area:go;justify-self:end;margin-top:8px;font-size:13px;font-weight:700}.tcard:hover .tcard-go{text-decoration:underline}.badge{color:#c4b9ff;background:#8f7cf02e;border:1px solid #8f7cf073;border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px;font-style:normal;font-weight:700}.acct-more{justify-self:center}.acct-deleted{border-top:1px solid var(--line);padding-top:10px}.acct-deleted summary{cursor:pointer;color:var(--muted);font-size:14px}.acct-deleted[open] summary{margin-bottom:8px}@media (width<=900px){.acct-grid{grid-template-columns:minmax(0,1fr)}.acct-side{display:contents}.acct-side>.plan-panel{order:1}.acct-main{order:2}.acct-side>#plans{order:3}.acct-side>.acct-danger{order:4}.acct-user>span{text-align:left}.acct-bar{align-items:flex-start}}.acct-search input::-webkit-search-cancel-button{appearance:none;display:none}.acct-search input::-webkit-search-decoration{appearance:none;display:none}.login:has(.acct-shell){align-items:start}.enc-sort{margin:0}.wv-atlas-card{box-sizing:border-box;height:90px;overflow:hidden}.wv-atlas-card b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wv-atlas-card .sub,.wv-atlas-card .wv-seen{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.wv-atlas-list{gap:6px;margin-top:8px;display:grid}.wv-atlas-head{align-items:center;gap:6px;min-height:28px;display:flex}.wv-atlas-toggle{color:var(--muted);font:700 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:3px 4px;display:flex}.wv-atlas-toggle:hover{color:var(--text)}.wv-count{background:var(--panel-3);color:var(--text);letter-spacing:0;border-radius:99px;padding:1px 7px;font-size:11px}.wv-set{border-color:var(--brass-dim);color:var(--brass);flex:none;padding:3px 9px;font-size:12px}.wv-atlas-search{position:relative}.wv-atlas-search .icon{left:10px}.wv-atlas-none{color:var(--muted);padding:6px 4px;font-size:13px}.wv-atlases li{padding-right:4px}.pkg-state.is-update{color:var(--brass);font-weight:600}.pkg-notice{border:1px solid var(--brass);color:var(--text);background:#d6b05c14;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:13px}.pkg-manage{border-top:1px solid var(--line);background:#0a0c1059;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.pkg-manage-row{flex-direction:column;align-items:flex-start;gap:5px;font-size:13px;display:flex}.pkg-manage-row+.pkg-manage-row{border-top:1px dashed var(--line);padding-top:8px}.enc-right{align-content:start;gap:16px;min-width:0;display:grid}.enc-preview-img{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;height:170px;position:relative;overflow:hidden}.enc-preview-img img{object-fit:cover;width:100%;height:100%;display:block}.enc-preview-img .wv-live{background:#191d24eb;margin:0;position:absolute;top:8px;left:8px}.enc-preview-none{height:100%;color:var(--muted);place-content:center;justify-items:center;gap:6px;display:grid}.enc-preview-text{gap:4px;min-width:0;display:grid}.enc-preview-text h3{overflow-wrap:anywhere}.enc-preview-text .sub{margin:0}.enc-preview-brief{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.enc-preview-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.enc-preview-foot .wv-seen{white-space:normal;min-width:0}.enc-open-list li.on{box-shadow:inset 3px 0 0 var(--brass);background:0 0}.enc-open-list li.picked{background:#d1a64e1f}.enc-preview+.enc-saves{min-height:150px;max-height:calc(100dvh - 590px)}@media (width<=1100px){.enc-preview+.enc-saves{max-height:none}}.legal-foot{border-top:1px solid var(--line);text-align:center;flex:none;padding:6px 12px}.legal-link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px;text-decoration:underline}.legal-link:hover,.legal-link:focus-visible{color:var(--brass)}.legal-note{color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.45}.legal-note .legal-link{padding:0}.srd-notice{color:var(--muted);gap:8px;padding-top:10px;padding-bottom:14px;font-size:12px;line-height:1.5;display:grid}.srd-notice p{margin:0}.srd-notice a,.credits a{color:var(--brass);overflow-wrap:anywhere}.credits{gap:10px;font-size:14px;line-height:1.5;display:grid}.credits h3{margin:6px 0 0}.credits p{margin:0}.token-row.defeated .token-row-text b{-webkit-text-decoration:line-through #d9483bb3;text-decoration:line-through #d9483bb3}.token-row .icon-btn.on{color:var(--brass);background:#d1a64e24}.init-input{width:48px!important}.quick-hp{flex-wrap:wrap;flex:1 0 100%;align-items:center;gap:6px;padding:4px 4px 6px 8px;display:flex}.quick-hp input{text-align:center;width:76px!important;padding:5px 8px!important}.quick-hp input[aria-invalid=true]{border-color:#d9483b}.quick-hp-now{color:var(--muted);margin-right:auto;font-size:12px}.quick-hp-now b{color:var(--text)}.quick-hp-err{color:#ffb1a9;flex:1 0 100%;font-size:12px}.init-tools{align-items:center;margin-bottom:4px}.inline-check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:2px 0 8px;font-size:12.5px;display:flex}.turn-hint{color:var(--muted);margin-top:1px;font-size:12px;display:block}.turn-bar.your-turn{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass), 0 0 16px #d1a64e40}.turn-bar.your-turn .turn-hint{color:var(--brass);font-weight:700}.turn-cue{z-index:60;border:1px solid var(--brass);background:#191d24f5;border-radius:99px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:8px 8px 8px 16px;animation:.25s ease-out cue-in;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0009,0 0 20px #d1a64e4d}.turn-cue b{color:var(--brass);font-family:var(--f-display);letter-spacing:.04em}.turn-cue span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes cue-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.turn-cue{animation:none}}.qty-row{align-items:center;gap:6px;margin:6px 0 4px;display:flex}.qty-row .label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:700}.qty-n{text-align:center;font-variant-numeric:tabular-nums;min-width:30px}.qty-row .sub{margin-left:2px}.place-qty{margin-left:1px;font-size:10px;font-weight:700}.icon-btn.place:has(.place-qty){width:auto;padding:0 6px}.lib-sortfilter{gap:8px;margin-bottom:6px;display:grid}.field-inline{align-items:center;gap:8px;display:flex}.field-inline select{flex:1;min-width:0}.online-hint{color:var(--muted);margin:4px 0 0;font-size:12.5px}.online-hint .link-btn{color:var(--brass)}.sb-text{gap:2px;margin-top:6px;display:grid}.sb-text .qv-line{margin:0}.sb-ability{color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}.sb-ability:hover,.sb-ability:focus-visible{background:var(--panel-3);outline:1px solid var(--brass-dim)}.more-pop{z-index:120;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:210px;max-width:min(300px,100vw - 16px);margin:0;padding:4px;list-style:none;box-shadow:0 18px 50px #0009}.more-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;display:flex}.more-item:hover:not(:disabled),.more-item:focus-visible{background:var(--panel-3)}.more-item:disabled{opacity:.4;cursor:default}.more-item.danger{color:#ffb1a9}.more-item.armed{color:#fff;background:#5a201c}.map-sort{flex-wrap:wrap}.map-sort select{flex:96px;min-width:0;padding-right:26px}.map-list>li{min-width:0}.map-card{position:relative}.map-zoom{color:#fff;cursor:pointer;opacity:.85;background:#0a0c10b3;border:1px solid #fff3;border-radius:6px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:8px;right:8px}.map-zoom:hover,.map-zoom:focus-visible{opacity:1;background:#0a0c10eb}.map-used{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-group-head{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-top:4px;padding-bottom:4px;font-size:11px;font-weight:700;display:flex}.map-list.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.map-list.tiles .map-group-head,.map-list.tiles .empty{grid-column:1/-1}.map-list.tiles .map-meta{gap:2px;padding:6px 8px 8px}.map-list.tiles .map-meta b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.map-list.tiles .map-actions{flex-wrap:wrap;margin-top:2px}.map-list.tiles .map-active{padding:1px 6px;font-size:10px;top:6px;left:6px}.map-preview-img{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:70vh;margin-bottom:8px;display:block}.skill-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 14px;margin:6px 0 0;padding:0;list-style:none;display:grid}.skill{border-bottom:1px solid var(--line,#ffffff14);align-items:center;gap:6px;padding:3px 0;display:flex}.skill-dot{color:inherit;cursor:pointer;opacity:.55;background:0 0;border:0;width:20px;padding:0;font-size:14px;line-height:1}.skill.r1 .skill-dot,.skill.r2 .skill-dot{opacity:1;color:var(--accent,#d9a441)}.skill-dot:disabled{cursor:default}.skill-name{flex:1;font-size:13px}.skill-name small{opacity:.5;letter-spacing:.04em;margin-left:6px;font-size:10px}.skill-bonus{font-family:var(--mono,ui-monospace,monospace);text-align:right;min-width:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 4px;font-weight:700}button.skill-bonus:hover{background:#ffffff1a}.skill-bonus.static{cursor:default}.passives{opacity:.9;flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.passive b{margin-left:4px}.sheet-vitals{flex-wrap:wrap;align-items:flex-start;gap:10px 18px;margin:8px 0;display:flex}.insp.on{color:var(--accent,#d9a441);font-weight:600}.exhaust{flex-direction:column;gap:4px;display:flex}.exhaust-fx{opacity:.85;margin:0;padding-left:16px;font-size:12px}.death-saves{flex-wrap:wrap;align-items:center;gap:8px 14px;width:100%;display:flex}.death-saves .pips small{opacity:.7;margin-right:6px;font-size:11px}.pip.f.on{background:#c0392b;border-color:#c0392b}.field-hint.danger{color:#e57373}.defs{gap:6px;margin:0;display:grid}.defs div{flex-direction:column;display:flex}.defs dt{opacity:.6;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.defs dd{margin:0;font-size:13px}.field-inline{flex-direction:column;gap:2px;margin-bottom:6px;font-size:12px;display:flex}.coins{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.coin{flex-direction:column;align-items:center;gap:2px;display:flex}.coin input{text-align:center;width:100%}.builder{flex-direction:column;gap:10px;display:flex}.builder-abs input{width:56px}.builder-abs select{text-align:center;width:64px}.ability.key{border-color:var(--accent,#e5b92f)}.ab-key{color:var(--accent,#e5b92f)}.builder-summary{background:var(--panel-2);border:1px solid var(--line);z-index:1;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:10px 12px;font-size:13px;display:flex;position:sticky;bottom:0}.feat-group h4{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin:8px 0 2px;font-size:11px}.feat-group ul{margin:0;padding:0;list-style:none}.feat-head{border:0;border-bottom:1px solid var(--line,#ffffff14);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:6px 0;display:flex}.feat-head span{flex:1}.feat-head small{opacity:.55}.feat-desc{opacity:.9;margin:6px 0 8px;font-size:12.5px}.feat-search{width:100%;margin-bottom:6px}.spellbook{margin-top:10px}.spellbook-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.spellbook-head .link-btn{margin-left:auto}.spell-group h4{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin:10px 0 2px;font-size:12px}.spell-group h4 small{opacity:.7;text-transform:none}.spell-group ul,.spell-results{margin:0;padding:0;list-style:none}.spell{border-bottom:1px solid var(--line,#ffffff14)}.spell:not(.prep) .spell-name{opacity:.55}.spell-row{align-items:center;gap:8px;padding:4px 0;display:flex}.spell-name{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:2px 0}.spell-name em{opacity:.7;margin-left:2px;font-size:10px}.spell-cast{align-items:center;gap:4px;display:flex}.spell-desc{padding:2px 0 8px;font-size:12.5px}.spell-add{border:1px solid var(--line,#ffffff1f);border-radius:8px;flex-direction:column;gap:6px;margin:6px 0;padding:8px;display:flex}.spell-results{max-height:240px;overflow:auto}.spell-pick{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:5px 4px;display:flex}.spell-pick:hover:not(:disabled){background:#ffffff14}.spell-pick span{flex:1}.spell-pick small{opacity:.6}.spell-pick:disabled{opacity:.5;cursor:default}.sheet-xp{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:6px 0;display:flex}.xp-field input{width:110px}.ready{color:var(--accent,#d9a441)}.attack-list{margin:4px 0 0;padding:0;list-style:none}.attack{border-bottom:1px solid var(--line,#ffffff14);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;display:flex}.attack-name{flex:1;min-width:130px}.attack-name small{opacity:.6;font-size:11px;display:block}.attack-edit{justify-content:flex-end;align-items:center;gap:6px;width:100%;display:flex}.attack-edit .narrow{width:54px}.hp-formula{align-items:center;gap:8px;margin-top:6px;display:flex}.sheet-nav{z-index:2;background:var(--panel,inherit);flex-wrap:wrap;gap:6px;margin:8px 0;padding:4px 0;display:flex;position:sticky;top:0}@media print{body *{visibility:hidden}.details,.details *{visibility:visible}.details{color:#000;background:#fff;top:0;left:0;width:100%!important;height:auto!important;max-height:none!important;position:absolute!important;overflow:visible!important}.details .btn,.details .icon-btn,.details .link-btn,.details .sheet-nav,.details .conds button:not(.on),.details .hp-adjust,.details .skill-dot:disabled{display:none!important}.details input,.details textarea,.details select{color:#000;background:0 0;border:0}}.acct-edition{border:0;flex-wrap:wrap;gap:10px;margin:10px 0 2px;padding:0;display:flex}.acct-edition legend{color:var(--muted);padding:0 0 6px;font-size:12px}.acct-edition label{border:1px solid var(--line);cursor:pointer;background:var(--panel-2);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.acct-edition label.on{border-color:var(--accent)}.acct-edition small{color:var(--muted);margin-left:4px}.chat-head.draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.chat-dock.dragging{transition:none;box-shadow:0 24px 60px #000000b3}.chat-dock.dragging .chat-head{cursor:grabbing}.chat-dock.max .chat-head.draggable{cursor:default}@media (width<=720px){.chat-dock{transform:none!important}.chat-head.draggable{cursor:default;touch-action:auto}}.details-body{display:contents}.details.wide{z-index:70;border:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:14px;width:auto;padding-top:0;display:block;position:fixed;inset:3vh 3vw;overflow:hidden auto;box-shadow:0 0 0 100vmax #000000a6,0 30px 80px #000000b3}.details.wide .details-body{display:block}.details.wide .details-body>.flash{margin:8px 16px 0}.details.wide .sheet-cols{grid-template-columns:repeat(auto-fit,minmax(max(300px,22%),1fr));align-items:start;display:grid}.details.wide .sheet-col{min-width:0}.sheet-identity{padding:14px 16px 4px;display:flex}.sheet-identity .details-title{flex:1;min-width:0}.sheet-identity .details-title h2{overflow-wrap:anywhere}.details.wide>.details-head .sheet-nav{background:0 0;flex:1;align-self:center;margin:0;padding:0;position:static}.details.wide section,.details.wide .abilities{scroll-margin-top:76px}@keyframes jumpflash{0%{box-shadow:0 0 0 3px var(--brass);background:color-mix(in srgb, var(--brass) 18%, transparent)}to{background:0 0;box-shadow:0 0 0 3px #0000}}.jump-flash{border-radius:8px;animation:1.5s ease-out jumpflash}.details.wide>.details-head{z-index:3;position:sticky;top:0}.details-head>.icon-btn{flex:none}.details-title h2,.details-title .name-input{overflow-wrap:anywhere;min-width:0}.details-head .name-input{width:100%}@media (width<=1100px){.details:not(.wide) .details-head{gap:10px}}@media (width<=720px){.details.wide-toggle,.details .wide-toggle{display:none}.details.wide{column-width:auto;border-radius:0;inset:0}}@media print{.details.wide{box-shadow:none;column-width:auto;border:0;inset:auto}.details .wide-toggle{display:none!important}}.inv-list,.cond-timers{gap:6px;margin:0;padding:0;list-style:none;display:grid}.inv-list li.eq .inv-name{color:var(--brass)}.inv-qty{text-align:center;width:56px}.inv-help{margin:0 0 6px}.inv-head,.inv-list li{grid-template-columns:68px 1fr 56px 28px;align-items:center;gap:6px;display:grid}.inv-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px}.inv-head span:nth-child(3){text-align:center}.inv-list li{border-bottom:1px dashed var(--line);padding-bottom:6px}.inv-list li .inv-eq{justify-self:center}.inv-attune{color:var(--muted);grid-column:2/-1;align-items:center;gap:8px;font-size:12px;display:flex}.inv-attune select{flex:1;min-width:0}.inv-attune.on b,.inv-attune.on{color:var(--brass)}.inv-add{gap:6px;display:flex}.inv-add input{flex:1}.cond-timers li{justify-content:space-between;align-items:center;gap:8px;display:flex}.cond-rounds{align-items:center;gap:4px;display:inline-flex}.cond-rounds input{text-align:center;width:56px}.feat-pick{gap:6px;margin-top:8px;display:flex}.feat-pick select{flex:1;min-width:0}.sheet-persona .field{gap:4px;display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pkg-demo{border:1px solid var(--brass-dim);background:#c8a04614;border-radius:10px;align-items:flex-start;gap:12px;margin:0 0 12px;padding:12px 14px;display:flex}.pkg-demo .icon{color:var(--brass);flex:none;margin-top:2px}.pkg-demo p{color:var(--muted);margin:4px 0 0}.ladder li.free-player{opacity:.92;border-style:dashed}.ladder li.free-player .ladder-price{color:var(--ok,#7bc98a)}.vault-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.vault-list li{grid-template-columns:40px 1fr auto auto;align-items:center;gap:10px;display:grid}.vault-list li small{color:var(--muted);display:block}.field-hint.ok{color:var(--ok,#7bc98a)}.builder-why{align-self:center;margin-right:auto}.blank-start{justify-items:center;gap:8px;margin-top:14px;display:grid}.blank-choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.blank-choice{border:1px solid var(--line);background:var(--panel-2);width:140px;color:var(--text);cursor:pointer;border-radius:10px;justify-items:center;gap:4px;padding:8px;display:grid}.blank-choice:hover{border-color:var(--brass-dim)}.blank-choice small{color:var(--muted)}.blank-thumb{border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:6px;width:100%}.sketch-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.sketch-layer .sk-hidden{opacity:.4}.sketch-layer .sk-hidden .sk-stroke{stroke-dasharray:10 7}.sketch-layer .sk-erasing{opacity:.2}.sketch-layer .sk-text{font-weight:700;font-family:var(--f-body,inherit);-webkit-user-select:none;user-select:none}.sketch-layer .sk-sel{fill:#d1a64e14;stroke:var(--brass);stroke-width:1.5px;stroke-dasharray:5 4}.sketch-layer .sk-marquee{fill:#d1a64e1a;stroke:var(--brass);stroke-width:1.5px;stroke-dasharray:5 4}.sketch-layer .sk-draft{opacity:.9}.sketch-layer .sk-draft-line{stroke:var(--brass);stroke-width:2px;stroke-dasharray:6 4}.sketch-layer .sk-dot{fill:var(--brass);stroke:#000;stroke-width:1px}.sketch-layer .sk-dot.first{fill:#d1a64e40;stroke:var(--brass);stroke-width:2px}.sketch-panel .sketch-tools{grid-template-columns:repeat(3,1fr)}.sk-style{gap:8px;display:grid}.sk-widths{gap:6px;display:flex}.sk-width{border:1px solid var(--line);background:0 0;border-radius:7px;flex:1;place-items:center;height:30px;padding:0 10px;display:grid}.sk-width span{background:var(--muted);width:100%;display:block}.sk-width.on{border-color:var(--brass-dim);background:#d1a64e24}.sk-width.on span{background:var(--brass)}.sk-text-in{width:100%;font-size:14px;padding:6px 8px!important}.sk-selection{border:1px solid var(--brass-dim);background:#d1a64e12;border-radius:8px;gap:8px;padding:10px;display:grid}.sk-sel-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sk-sel-head .sub{color:var(--muted);font-size:12px}.icon-btn.sketch-live:not(.on){box-shadow:inset 0 -2px 0 var(--brass-dim)}.vault-cards{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:10px 0 0;padding:0;list-style:none;display:grid}.vault-card{border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--hero) 14%, var(--panel-2)), var(--panel));border-radius:12px;gap:6px;padding:10px;display:grid}.vault-card .vc-open{all:unset;cursor:pointer;text-align:center;border-radius:8px;justify-items:center;gap:3px;padding:4px;display:grid}.vault-card .vc-open:focus-visible{outline:2px solid var(--hero);outline-offset:2px}.vault-card .vc-open b{font-family:var(--f-display);overflow-wrap:anywhere;font-size:16px}.vault-card small{color:var(--muted);font-size:12px}.vault-card .vc-cls{color:var(--hero);font-weight:700}.vc-vitals{color:var(--muted);gap:10px;font-size:12px;display:flex}.vc-vitals b{color:var(--text,#e8e6df);font-family:var(--f-mono)}.vc-ed{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hero);color:var(--hero);border-radius:999px;padding:1px 7px;font-size:10px}.vc-actions{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.acct-vault h2{align-items:center;gap:8px;display:flex}.vault-sheet{--hero:var(--brass);gap:14px;display:grid}.vs-head{align-items:center;gap:14px;display:flex}.vs-head h3{font-family:var(--f-display);margin:0;font-size:22px}.vs-head p{margin:2px 0 0}.vs-sec{gap:6px;display:grid}.vs-sec h4{letter-spacing:.1em;text-transform:uppercase;color:var(--hero);margin:0;font-size:11px}.vs-lines{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.vs-chips{flex-wrap:wrap;gap:6px;margin:0;display:flex}.vs-feats{gap:4px;display:grid}.vs-feats details{border:1px solid var(--line);background:var(--ink);border-radius:8px;padding:6px 10px}.vs-feats summary{cursor:pointer;font-weight:600}.vs-feats summary small{color:var(--muted);font-weight:400}.vs-feats p{color:var(--muted);margin:6px 0 2px;font-size:13.5px}.details-head .icon-btn.lbl{white-space:nowrap;align-items:center;gap:6px;width:auto;padding:0 12px;font-size:13px;display:inline-flex}@media (width<=900px){.details.wide>.details-head .icon-btn.lbl span{display:none}.details-head .icon-btn.lbl{padding:0 8px}}body:has(.details.wide) .dfx{z-index:95;position:fixed}.atk-magic{color:var(--brass);border:1px solid var(--brass-dim);border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;font-style:normal}.atk-bonus{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.coins{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}.coin .label{align-items:center;gap:5px;display:inline-flex}.coin-ico{background:var(--c,#d6a847);border-radius:50%;width:13px;height:13px;display:inline-block;box-shadow:inset 0 0 0 1.5px #00000047,inset 0 0 0 3.5px #ffffff2e}.coin-ico.pp{--c:radial-gradient(circle at 35% 30%, #f4f9ff, #9fc0ee 60%, #5f84bd)}.coin-ico.gp{--c:radial-gradient(circle at 35% 30%, #ffe9a0, #e0b341 60%, #a97c18)}.coin-ico.ep{--c:radial-gradient(circle at 35% 30%, #f2efc6, #c6c077 60%, #8d8a45)}.coin-ico.sp{--c:radial-gradient(circle at 35% 30%, #fafafa, #bfc3c9 60%, #7d838c)}.coin-ico.cp{--c:radial-gradient(circle at 35% 30%, #ffd2b0, #c97a4a 60%, #8a4a25)}.coin-ico{background:var(--c)}.hb-form{border:1px dashed var(--line);border-radius:8px;gap:6px;margin:8px 0;padding:8px;display:grid}details.hb-form>summary{cursor:pointer;color:var(--brass);font-size:13px}.feat-pick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.feat-pick .hb-form{flex:100%}.inv-fx{color:var(--muted);grid-column:2/-1;font-size:12px}.inv-fx>summary{cursor:pointer}.inv-fx>summary b{color:var(--text);font-weight:600}.inv-fx>summary em{border:1px solid var(--line);border-radius:8px;margin-left:4px;padding:0 6px;font-style:normal}.inv-fx>summary em.on{color:var(--brass);border-color:var(--brass-dim)}.inv-fx-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:6px 0;display:grid}.inv-fx-grid label{gap:2px;display:grid}.inv-fx-grid input{text-align:center;width:100%}.inv-fx-ab{grid-column:1/-1;grid-template-columns:1.3fr 1.3fr 64px;gap:6px;display:grid}.inv-fx-grid .field-hint{grid-column:1/-1;margin:0}.statbox-fx,.ab-eff{color:var(--brass);text-align:center;font-size:10px;display:block}.details-id{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.details-head.stacked{flex-direction:column;align-items:stretch;gap:6px;padding-top:8px}.details-bar{border-bottom:1px solid #333c4b99;justify-content:flex-end;gap:2px;padding-bottom:6px;display:flex}.syntax-help{color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:6px 8px;font-size:12px}.syntax-help>summary{cursor:pointer;color:var(--brass)}.syntax-help ul{gap:3px;margin:6px 0;padding-left:18px;display:grid}.syntax-example{background:var(--panel-2,#ffffff0a);white-space:pre-wrap;font:12px/1.45 var(--f-mono,monospace);color:var(--text);border-radius:6px;margin:4px 0;padding:6px 8px}.syntax-preview{gap:2px;margin-top:4px;display:grid}.qv-attacks .attack-list{gap:4px;display:grid}.qv-attacks .attack{grid-template-columns:1fr auto auto;align-items:center;gap:6px;display:grid}.spell-src{color:var(--muted);margin-left:4px;font-size:11px}.spellbook.compact .spell-group h4{margin:8px 0 2px;font-size:12px}.atk-note{grid-column:1/-1}.details.wide>.details-head .head-spacer{flex:1}.lore-shortcut{margin-top:8px}.lore-shortcut .btn small{opacity:.75;margin-left:4px}.lore-shortcut .knowledge{margin-top:8px}.know-row.focus{background:color-mix(in srgb, var(--accent,#d9a441) 12%, transparent);border-radius:8px;padding:4px 6px}.lore-shortcut .knowledge .field-hint{display:none}.row-ctl{flex:none;grid-template-columns:56px 30px;grid-auto-rows:28px;place-items:center stretch;gap:4px;display:grid}.row-ctl .init-input{box-sizing:border-box;height:28px;width:100%!important}.row-ctl .icon-btn.sm{justify-self:center;width:30px;height:28px}.btn-hp{height:28px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.btn-hp:hover{color:var(--text);border-color:var(--brass)}.btn-hp.on{color:var(--brass);border-color:var(--brass);background:#d1a64e24}.token-row{flex-wrap:wrap}.token-row .token-row-text b{white-space:normal;line-height:1.2}.row-ctl .init-input{font-size:13px;padding:0 2px!important}.row-ctl .init-input::placeholder{font-size:12px}.run-invite{border:1px solid var(--brass-dim);background:radial-gradient(120% 140% at 0 0,#d1a64e29,#d1a64e08);border-radius:10px;gap:8px;padding:14px 16px;display:grid}.run-invite h2{color:var(--brass);font-size:17px}.run-invite p{color:var(--text);margin:0;font-size:14.5px;line-height:1.45}.run-invite a{color:var(--brass);font-weight:600}.run-invite .btn{justify-self:start}.plan-panel .run-invite{background:#1114198c;margin-top:2px}.plan-panel .run-invite .btn{justify-content:center;justify-self:stretch}.guide-modal .modal-body{padding-top:10px}.guide{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);align-items:start;gap:4px 22px;display:grid}.guide-dots{grid-column:1/-1;gap:8px;margin:0 0 6px;padding:0;list-style:none;display:flex}.guide-dots button{border:1px solid var(--line);background:var(--panel-2);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:50%;font-size:13px;font-weight:700}.guide-dots button.done{color:var(--text);border-color:var(--brass)}.guide-dots button.on{background:var(--brass);color:#1a1405;border-color:var(--brass)}.guide-shot{border:1px solid var(--line);border-radius:10px;justify-self:center;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.guide-shot img{width:auto;max-width:100%;height:auto;max-height:62vh;display:block}.guide-mark{border:2px solid var(--brass);pointer-events:none;border-radius:8px;position:absolute;box-shadow:0 0 0 1px #0000008c,0 0 12px #d1a64e73}.guide-mark b{box-sizing:border-box;background:var(--brass);color:#1a1405;min-width:22px;height:22px;font:700 12px/22px var(--font-ui,system-ui);text-align:center;border-radius:11px;padding:0 5px;position:absolute;top:-11px;left:-11px;box-shadow:0 1px 4px #0009}.guide-text h3{margin:0 0 6px;font-size:20px}.guide-text p{margin:0 0 12px;line-height:1.5}.guide-points{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.guide-points li{align-items:flex-start;gap:10px;line-height:1.4;display:flex}.guide-points li b{background:var(--brass);color:#1a1405;text-align:center;border-radius:50%;flex:none;width:22px;height:22px;font-size:12px;line-height:22px}.guide-tip{color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.guide-tip svg{color:var(--brass);flex:none;margin-top:2px}.guide-foot{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.guide-foot .spacer{flex:1}@media (width<=820px){.guide{grid-template-columns:minmax(0,1fr)}.guide-shot img{max-height:40vh}}.help-menu{position:relative}.help-pop{z-index:80;background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:4px;width:300px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000080}.help-pop .eyebrow{margin:2px 4px 4px}.help-item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.help-item:hover{background:var(--panel-2)}.help-item small{color:var(--muted)}.help-switch{border-top:1px solid var(--line);margin-top:4px;padding:8px 10px 2px}.help-reset{justify-self:start;padding:4px 10px 6px}.adm-flags{flex-wrap:wrap;gap:4px;display:inline-flex}.adm-flags .adm-badge{margin-right:0}.adm-stat.bad{border-color:#7a2c26}.adm-stat.bad b{color:#ff9b8f}.adm-stat.warn{border-color:var(--brass-dim)}.adm-attn{gap:6px;display:grid}.adm-attn button{text-align:left;border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.adm-attn button:hover{border-color:var(--brass-dim)}.adm-attn button .adm-badge{justify-content:center;min-width:30px;margin:0}.adm-attn button b{display:block}.adm-attn button small{color:var(--muted);font-size:12.5px;display:block}.adm-refresh{align-items:center;gap:8px;font-size:13px;display:inline-flex}.adm-filters{gap:8px;margin:0 0 12px;display:grid}.adm-filter-group{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.adm-filter-label{letter-spacing:.06em;text-transform:uppercase;min-width:96px;color:var(--muted);font-size:11.5px;font-weight:700}.chip .n{opacity:.7;font-variant-numeric:tabular-nums;margin-left:6px}.chip.alert{color:#ffb1a9;border-color:#7a2c26}.chip.alert.on{background:#c8503c33}.adm-sort{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.adm-sort select{width:auto}.adm-groups{margin:0 0 12px}.adm-navdot{color:#fff;text-align:center;background:#b8473b;border-radius:99px;min-width:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.adm-h3{margin:12px 0 4px;font-size:14px}.adm-funnel td.adm-barcell{width:38%}.adm-bar{background:var(--line);border-radius:99px;min-width:80px;height:6px;display:block;overflow:hidden}.adm-bar i{background:var(--brass);height:100%;display:block}.adm-bar.hot i{background:#ff7b6e}.adm-table tr.on td{background:#d1a64e14}.adm-drill{border-top:1px solid var(--line);gap:6px;margin-top:8px;padding-top:8px;display:grid;overflow-x:auto}.adm-flagbox ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adm-flagbox li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.adm-flagbox li span{color:var(--muted);flex:260px;font-size:13px}.adm-kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.adm-kv dt{color:var(--muted)}.adm-kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.adm-kv dd .adm-bar{margin-top:4px}.adm-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adm-steps li{align-items:center;gap:8px;display:flex}.adm-steps li>span{flex:1}.adm-steps li.done{color:#9ee0b2}.adm-steps li.done>span{color:var(--text)}.adm-steps li.todo{color:var(--muted)}.adm-noteform{gap:8px;display:grid}.adm-noteform textarea{resize:vertical;width:100%}.adm-notes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adm-note-item{border:1px solid var(--line);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.adm-note-item.open{border-color:var(--brass-dim);background:#d1a64e14}.adm-note-item p{white-space:pre-wrap}.adm-dot.warn{background:var(--brass)}@media (width<=720px){.adm-filter-label{width:100%;min-width:0}.adm-kv{grid-template-columns:1fr}.adm-kv dt{margin-top:6px}}.adm-noteform .row.tight,.adm-note-item .row.tight{align-items:center;gap:10px;display:flex}.adm-noteform .btn,.adm-note-item .btn{flex:none;width:auto}.adm-noteform .check{flex:1}
