:root{--bg:#101b1a;--surface:#152523;--surface-2:#1a2e2a;--surface-3:#243c35;--border:#3d564c;--border-strong:#6b8578;--text:#eee8d8;--muted:#b4c0b9;--gold:#d8b975;--gold-bright:#e8c772;--ink:#172627;--danger:#e59a85;--good:#8cc47f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--text-sm:15px;--text-base:17px;--text-lg:20px;--text-xl:24px;--serif:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--shadow-1:0 2px 10px #00000059;--shadow-2:0 14px 40px #0000008c;--topbar-h:64px;--drawer-w:380px}[hidden]{display:none!important}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eee8d8;font-synthesis:none;background:#142021;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;font-size:var(--text-base);background:var(--bg);-webkit-text-size-adjust:100%;margin:0;line-height:1.45}.welcome{min-height:100svh;padding:max(32px, env(safe-area-inset-top)) max(32px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));background:radial-gradient(at 82% 20%,#304640,#0000 55%),radial-gradient(at 10% 95%,#29302a,#0000 55%);flex-direction:column;gap:56px;display:flex}.brand{letter-spacing:.18em;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.compass{color:#d8b975;font-size:36px}.welcome-card{width:min(650px,100%);margin:auto}.eyebrow{letter-spacing:.22em;color:#d8b975;font-size:11px;font-weight:700}h1{letter-spacing:-.04em;margin:20px 0;font-family:Georgia,serif;font-size:clamp(48px,9vw,86px);font-weight:400;line-height:1.05}.intro{color:#b4c0b9;max-width:400px;font-size:17px;line-height:1.7}.setup-notice{color:#d2ddd5;background:#182a28;border:1px solid #647468;border-radius:12px;margin-top:32px;padding:20px;font-size:14px;line-height:1.7}footer{text-align:center;color:#a5b3ab;letter-spacing:.04em;font-size:12px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:44px;padding:10px 16px;font-weight:600}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f5cf83}.primary{color:#172627;background:#d8b975}.secondary{color:#eee8d8;background:#223935;border-color:#779387}.text-button{color:#d8b975;background:0 0}.muted{color:var(--muted);font-size:var(--text-sm);line-height:1.6}.entry-form{background:#172a27;border:1px solid #527267;border-radius:14px;gap:16px;margin-top:28px;padding:28px;display:grid}h2,h3{margin:0;font-family:Georgia,serif;font-weight:400}.entry-form h2{font-size:28px}label{color:#dce5de;gap:8px;font-size:14px;display:grid}input{color:#eee8d8;background:#132321;border:1px solid #6d8278;border-radius:8px;width:100%;min-height:44px;padding:11px 12px}select,textarea{color:#eee8d8;background-color:#132321;border:1px solid #6d8278;border-radius:8px;max-width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;width:100%;line-height:1.45}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d8b975' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;padding-right:38px!important}input[type=checkbox],input[type=radio],input[type=range]{accent-color:#d8b975}select option{color:#eee8d8;background:#132321}select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f5cf83}fieldset{border:1px solid #3c5249;border-radius:10px;min-width:0;margin:0;padding:10px 12px}legend{color:#d8b975;padding:0 6px;font-size:14px;font-weight:600}.error-message{color:#ffc6b7;background:#382925;border:1px solid #be7f69;border-radius:8px;padding:14px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.member-list{margin:20px 0;padding:0;list-style:none}.member-list li{border-bottom:1px solid #425b50;align-items:center;gap:14px;padding:14px 0;display:flex}.member-avatar{color:#e8c98b;background:#314c40;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:22px;display:grid}.member-name{overflow-wrap:anywhere;flex:1;gap:4px;display:grid}.tag{color:#d8b975;font-size:12px}.invite-form{gap:14px;padding-top:14px;display:grid}.invite-code{gap:12px;display:grid}.invite-code input{font-family:monospace;font-size:13px}@media (max-width:480px){.welcome{padding:24px}}.map-picker{gap:8px;display:grid}.map-picker select{color:#f1ead7;background:#102017;border:1px solid #77816b;border-radius:8px;max-width:100%;min-height:44px;padding:8px}.map-surface.leaflet-container{background:#0d1a14}.floor-canvas{z-index:350;pointer-events:none;position:absolute;top:0;left:0}.scene-pin{color:#f6efdb;width:144px;min-height:44px;font:inherit;cursor:pointer;background:#243c2d;border:1px solid #d4bd7d;border-radius:10px;padding:8px;box-shadow:0 3px 15px #0006}.scene-pin:disabled{cursor:default}.map-scale{z-index:600;border:1px solid var(--border);pointer-events:none;background:#102017ee;border-radius:999px;margin:0;padding:8px 14px;font-size:15px;position:absolute;bottom:12px;left:88px}.entity-select{color:#f1ead7;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:44px;padding:6px;display:grid}.entity-select[aria-pressed=true]{border-color:#d4bd7d}.roster-portrait{background:#304d3c;border:3px solid #9da98f;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.entity-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-controls button,.entity-controls select,.character-form select{color:#f1ead7;background:#283e2e;border:1px solid #6b7963;border-radius:8px;min-height:44px;padding:8px}.entity-controls label,.character-form label{flex-direction:column;gap:6px;display:flex}.character-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.character-form input{min-height:44px}.token-button{touch-action:none;cursor:grab;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.token-button:disabled{opacity:1;cursor:default}.token-portrait{color:#fff3b0;background:#284d3a;border:3px solid #b6c99a;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.entity-marker,.token-button{pointer-events:none}.token-portrait{pointer-events:auto}.token-nameplate{top:calc(50% + var(--token-square,44px) / 2);width:var(--token-label-width);white-space:nowrap;color:#f1ead7;pointer-events:none;background:#102017ed;border-radius:4px;padding:3px 1px;font-size:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.token-label-base{text-overflow:ellipsis;min-width:0;overflow:hidden}.token-label-suffix{white-space:pre;flex-shrink:0}.token-button[data-label=above] .token-nameplate{top:auto;bottom:calc(50% + var(--token-square,44px) / 2)}.token-button[data-label=inside] .token-nameplate{top:auto;bottom:calc(50% - var(--token-square,44px) / 2)}.scene-pin.scene-pin-compact{width:100%;height:100%;min-height:0;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.scene-pin-icon{width:var(--pin-square,44px);height:var(--pin-square,44px);box-sizing:border-box;color:#f6efdb;font-size:clamp(12px, calc(var(--pin-square,44px) * .5), 28px);background:#243c2dd9;border:2px dashed #d4bd7d;border-radius:6px;justify-content:center;align-items:center;display:flex}.scene-pin-name{top:calc(50% + var(--pin-square,44px) / 2);width:max(28px, calc(var(--pin-square,44px) - 2px));text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#102017ed;border-radius:4px;padding:2px 1px;font-size:11px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.scene-pin-compact:is(:hover,:focus-visible) .scene-pin-name{width:max-content;max-width:240px;padding:2px 6px}.token-button:is(:hover,:focus-visible,[aria-pressed=true]) .token-nameplate{width:max-content;max-width:240px;padding:3px 7px}.roster-portrait.health-full,.token-portrait.health-full{border-color:#78b870}.roster-portrait.health-middle,.token-portrait.health-middle{border-color:#e3bc53}.roster-portrait.health-low,.token-portrait.health-low{border-color:#d77367}.roster-portrait.health-unset,.roster-portrait.health-hidden,.token-portrait.health-unset,.token-portrait.health-hidden{border-color:#9da98f}.health-status{margin:8px 0;font-size:14px;font-weight:600}.life-status{margin:8px 0;font-size:14px}.health-deltas{justify-content:space-between;align-items:center;gap:12px;display:flex}.health-deltas button,.health-editor button,.temporary-editor button,.life-actions button{color:#f1ead7;background:#283e2e;border:1px solid #6b7963;border-radius:8px;min-width:44px;min-height:44px;padding:8px 12px}.health-editor,.temporary-editor{flex-direction:column;gap:10px;margin:14px 0;display:flex}.health-editor label,.temporary-editor label{flex-direction:column;gap:6px;font-size:14px;display:flex}.health-editor input,.temporary-editor input{width:100%;min-height:44px}.health-editor .clamp-confirmation{flex-direction:row;align-items:center;line-height:1.4}.clamp-confirmation input{width:24px;min-width:24px}.life-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.health-details summary{cursor:pointer;color:#e8c772;align-items:center;min-height:44px;display:flex}.dm-controls h2{margin:0;font-size:20px}.dm-controls summary{color:#e8c772;cursor:pointer;align-items:center;min-height:44px;display:flex}.dm-controls label,.dm-controls form{flex-direction:column;gap:10px;margin:12px 0;display:flex}.dm-controls select,.dm-controls button{color:#f1ead7;background:#283e2e;border:1px solid #6b7963;border-radius:8px;max-width:100%;min-height:44px;padding:8px 12px}.reveal-controls summary,.entity-details summary{cursor:pointer;color:#e8c772;align-items:center;min-height:44px;display:flex}.reveal-controls form{flex-wrap:wrap;gap:12px;display:flex}.reveal-controls label{max-width:100px}.reveal-controls input,.reveal-controls button,.entity-details input,.entity-details select,.entity-details button{min-height:44px}.entity-details form,.entity-details label{flex-direction:column;gap:8px;margin:10px 0;display:flex}.entity-details textarea{min-height:80px}.private-note{border-left:3px solid #e8c772;padding-left:8px}.library-tabs{gap:12px;margin:16px 0;display:flex}.monster-library button,.monster-library input,.monster-library select{color:#f1ead7;background:#283e2e;border:1px solid #6b7963;border-radius:8px;min-height:44px;padding:8px 12px}.library-tabs button[aria-pressed=true]{background:#6b5831}.monster-library label{flex-direction:column;gap:8px;margin:12px 0;display:flex}.monster-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.monster-card{background:#17291f;border:1px solid #405346;border-radius:16px;padding:16px}.monster-card button{width:100%;margin:6px 0}.monster-thumbnail{aspect-ratio:1;background:#16291f;border-radius:12px;place-items:center;width:100%;font-size:48px;display:grid}.monster-thumbnail img{object-fit:contain;border-radius:12px;width:100%;height:100%}.template-editor{border:1px solid #b79953;border-radius:16px;margin:16px 0;padding:20px}.template-editor textarea{min-height:90px}.roster-portrait img,.token-portrait img{object-fit:cover;border-radius:inherit;pointer-events:none;width:100%;height:100%}.map-creation{border:1px solid #405346;border-radius:12px;margin:12px 0;padding:12px}.map-creation label{flex-direction:column;gap:6px;margin:8px 0;display:flex}.map-creation input,.map-creation select,.map-creation button{color:#f1ead7;background:#283e2e;border:1px solid #6b7963;border-radius:8px;min-height:44px;padding:8px 12px}.map-creation form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.map-creation button{margin:8px 12px 8px 0}.generation-panel,.generation-panel form{gap:12px;display:grid}.generation-panel textarea{font:inherit;color:#eee8d8;background:#132321;border:1px solid #6d8278;border-radius:8px;min-height:110px;padding:12px}.generation-panel summary{cursor:pointer;min-height:44px;padding:10px}.draft-preview{border:1px solid #6d8278;border-radius:12px;padding:16px}.draft-preview button{margin:4px}.draft-art{width:min(100%,320px);height:auto}.schematic-preview{width:100%;height:auto}.draft-preview figure{margin:12px 0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-shell{background:var(--bg);grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.top-bar{min-height:var(--topbar-h);align-items:center;gap:var(--space-4);padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) var(--space-2) max(var(--space-4), env(safe-area-inset-left));border-bottom:1px solid var(--border);z-index:1100;background:linear-gradient(#172a27,#12211f);display:flex;position:relative}.top-identity{align-items:center;gap:var(--space-3);flex-shrink:1;min-width:0;display:flex}.top-mark{color:var(--gold);font-size:26px;line-height:1}.top-titles{min-width:0}.top-titles h1{font-family:var(--serif);font-size:var(--text-lg);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;max-width:28vw;margin:0;font-weight:400;line-height:1.2;overflow:hidden}.top-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:28vw;margin:0;font-size:13px;overflow:hidden}.breadcrumb{align-items:center;gap:var(--space-2);min-width:0;padding-left:var(--space-4);border-left:1px solid var(--border);flex:1;display:flex}.breadcrumb ol{scrollbar-width:none;align-items:center;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.breadcrumb li{flex-shrink:0;align-items:center;display:flex}.breadcrumb li+li:before{content:"›";color:var(--muted);padding:0 2px}.crumb{min-height:44px;color:var(--gold);white-space:nowrap;background:0 0;border:0;padding:8px;font-weight:600}.crumb-current{color:var(--text);font-family:var(--serif);font-size:var(--text-lg);align-items:center;font-weight:400;display:inline-flex}.top-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.icon-button{background:var(--surface-2);border:1px solid var(--border);width:44px;height:44px;min-height:44px;color:var(--text);border-radius:10px;place-items:center;padding:0;display:grid}.icon-button[aria-expanded=true]{border-color:var(--gold);color:var(--gold)}.sync-dot{width:12px;height:12px;margin:0 var(--space-2);background:var(--good);border-radius:50%;box-shadow:0 0 0 4px #8cc47f2e}.sync-dot.offline{background:var(--danger);box-shadow:0 0 0 4px #e59a852e}.dm-badge{border:1px solid var(--gold);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.account-menu{position:relative}.account-menu summary{cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.member-avatar.small{border:1px solid var(--gold);width:38px;height:38px;font-size:18px}.menu-popover{gap:var(--space-2);width:240px;padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2);display:grid;position:absolute;top:52px;right:0}.menu-popover p{margin:0}.menu-name{font-family:var(--serif);font-size:var(--text-lg)}.table-body{grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.table-stage{background:radial-gradient(at 50% 40%,#142a24,#0b1613 75%);min-width:0;min-height:0;position:relative;overflow:hidden}.map-stage{position:absolute;inset:0}.map-surface{background:0 0;position:absolute;inset:0}.map-surface.leaflet-container{font:inherit;background:0 0}.drawer{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}@media (min-width:1000px){.table-shell.drawer-open .table-body{grid-template-columns:minmax(0, 1fr) var(--drawer-w)}}@media (max-width:999px){.drawer{width:min(var(--drawer-w), 92vw);z-index:1050;box-shadow:var(--shadow-2);position:absolute;top:0;bottom:0;right:0}}.drawer-tabs{gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.drawer-tabs button{border-radius:var(--radius-s);min-height:44px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:1px solid #0000;padding:8px 6px}.drawer-tabs button[aria-pressed=true]{background:var(--surface-3);border-color:var(--border-strong);color:var(--gold-bright)}.drawer-body{overscroll-behavior:contain;min-height:0;padding:var(--space-4) var(--space-4) max(var(--space-5), env(safe-area-inset-bottom));flex:1;overflow-y:auto}.drawer-stack{gap:var(--space-4);align-content:start;display:grid}.panel-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-l);display:grid}.panel-card>h2,.panel-card .section-heading h2{font-size:var(--text-xl)}.panel-card p{margin:0}.panel-card select,.panel-card input,.panel-card textarea{width:100%;max-width:100%;min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;background:#102017;padding:10px 12px}.panel-card input[type=checkbox]{width:22px;min-height:22px}.panel-card button:not(.primary):not(.text-button):not(.icon-button):not(.entity-select){background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong)}.panel-card details>summary,.entity-sheet details>summary{min-height:44px;color:var(--gold-bright);cursor:pointer;align-items:center;font-weight:600;display:flex}.linked-tools{gap:var(--space-2);display:grid}.member-list{margin:0}.roster-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.entity-select{border-radius:var(--radius-m);padding:8px}.entity-select:not(:disabled):hover{background:var(--surface-3)}.entity-select:disabled{cursor:default;opacity:.75}.roster-name{min-width:0;display:grid}.roster-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-meta{color:var(--muted);font-size:13px;font-weight:400}.hp-chip{border:1px solid var(--border);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;background:#102017;border-radius:999px;padding:4px 10px;font-weight:700}.hp-chip.health-full{color:var(--good)}.hp-chip.health-middle{color:var(--gold-bright)}.hp-chip.health-low,.hp-dead{color:var(--danger)}.hp-temp{color:#9cc7e8;margin-left:4px}.tool-rail{left:max(var(--space-3), env(safe-area-inset-left));top:var(--space-3);z-index:600;gap:var(--space-1);border:1px solid var(--border);box-shadow:var(--shadow-1);background:#11201dea;border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute}.tool{width:56px;min-height:52px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;align-content:center;justify-items:center;gap:2px;padding:6px 0;display:grid}.tool[aria-pressed=true]{background:var(--gold);color:var(--ink)}.tool-label{font-size:11px;font-weight:700}.tool-divider{background:var(--border);height:1px;margin:4px 8px}.map-overlays{top:var(--space-3);right:var(--space-3);z-index:700;gap:var(--space-3);pointer-events:none;width:min(340px,100% - 112px);max-height:calc(100% - 24px);display:grid;position:absolute;overflow-y:auto}.map-overlays>*{pointer-events:auto}.overlay-card,.checklist,.transfer-banner .dm-controls{padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow-1);background:#152523f2}.overlay-card p{margin:0 0 var(--space-2)}.overlay-card p:last-child{margin-bottom:0}.art-hint-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.transfer-banner .dm-controls{border-color:var(--gold)}.checklist{gap:var(--space-2);display:grid}.checklist-head{justify-content:space-between;align-items:baseline;display:flex}.checklist h2{font-size:var(--text-lg)}.checklist ol{margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:center;gap:var(--space-3);min-height:44px;display:flex}.checklist li.done{color:var(--muted);text-decoration:line-through}.checklist .text-button{text-align:left;padding:8px 0}.check{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.done .check{background:var(--good);border-color:var(--good);color:var(--ink)}.checklist-hide{font-size:var(--text-sm);justify-self:start;padding-left:0}.map-empty{padding:var(--space-5);place-items:center;display:grid;position:absolute;inset:0}.empty-card{justify-items:center;gap:var(--space-3);max-width:440px;padding:var(--space-6);text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:20px;display:grid}.empty-card h2{font-size:28px}.empty-card p{margin:0}.empty-mark{color:var(--gold);font-size:40px;line-height:1}.empty-player{text-align:center;max-width:420px;font-family:var(--serif);font-size:var(--text-xl);color:var(--muted)}.sheet-dock{left:50%;bottom:max(var(--space-3), env(safe-area-inset-bottom));z-index:800;width:min(560px,100% - 112px);max-height:48%;display:flex;position:absolute;transform:translate(-50%)}.entity-sheet{overscroll-behavior:contain;width:100%;padding:var(--space-4);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);background:#152523f7;border-radius:20px;overflow-y:auto}.sheet-header{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.sheet-title{min-width:0;display:grid}.sheet-title .eyebrow{margin:0}.sheet-title h2{font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-body{gap:var(--space-2);margin-top:var(--space-3);display:grid}.sheet-body p{margin:0}.entity-sheet .entity-controls{padding-top:var(--space-2);border-top:1px solid var(--border)}.floating-error{left:88px;bottom:var(--space-3);z-index:900;max-width:420px;margin:0;position:absolute}@media (max-width:700px){.top-subtitle,.dm-badge{display:none}.sheet-dock{width:calc(100% - 96px);left:auto;right:var(--space-3);transform:none}}.drawer .monster-library>h2{font-size:var(--text-xl)}.drawer .monster-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.drawer .monster-card{gap:var(--space-2);padding:var(--space-3);background:var(--surface-2);border-color:var(--border);align-content:start;display:grid}.drawer .monster-card h3{font-size:var(--text-lg)}.drawer .monster-card p{color:var(--muted);font-size:var(--text-sm);margin:0}.drawer .monster-card button{font-size:var(--text-sm);margin:0}.drawer .monster-thumbnail{aspect-ratio:auto;height:96px;font-size:36px}.panel-card .map-creation{border:0;margin:0;padding:0}.panel-card .map-creation label{margin:0}.add-menu{font-weight:600}.character-form summary{min-height:44px;font-family:var(--serif);font-size:var(--text-lg);cursor:pointer;align-items:center;display:flex}.character-form[open] summary{margin-bottom:var(--space-3)}.character-form .assign-fields{gap:var(--space-3);display:grid}.entity-sheet .health-status{font-size:var(--text-base);margin:0;font-weight:700}.entity-sheet .life-status{font-size:var(--text-sm);color:var(--muted);margin:0}.entity-sheet .health-deltas{justify-content:flex-start;gap:var(--space-3);margin:var(--space-1) 0}.entity-sheet .health-deltas button{min-width:56px;min-height:48px;font-size:var(--text-lg)}.entity-sheet .life-actions{margin:0}.map-scale{left:92px;top:var(--space-3);bottom:auto}.drawer .monster-thumbnail img{width:100%;height:96px}.top-identity{flex:0 auto;min-width:140px}@media (max-width:900px){.breadcrumb li:not(:nth-last-child(-n+2)){display:none}}.entity-sheet.collapsed{padding-bottom:var(--space-3)}.sheet-dock.side{left:auto;right:var(--space-3);top:var(--space-3);bottom:var(--space-3);align-items:flex-start;width:min(380px,42%);max-height:none;transform:none}.sheet-dock.side .entity-sheet{max-height:100%}.sheet-dock.bottom{left:92px;right:var(--space-3);align-items:flex-end;width:auto;max-height:46%;transform:none}.sheet-dock.bottom .entity-sheet{max-height:100%}.map-overlays{top:64px;right:calc(var(--space-3) + var(--dock-right,0px))}.art-pill{top:var(--space-3);right:calc(var(--space-3) + var(--dock-right,0px));z-index:700;align-items:center;gap:var(--space-2);padding:0 4px 0 var(--space-4);border:1px solid var(--border);min-height:44px;box-shadow:var(--shadow-1);font-size:var(--text-sm);color:var(--muted);background:#11201dea;border-radius:999px;display:flex;position:absolute}.art-pill .text-button{min-height:40px;padding:6px 10px}.icon-button.small{background:0 0;border-color:#0000;border-radius:50%;width:36px;height:36px;min-height:36px}.character-form summary{justify-content:space-between;gap:var(--space-3);list-style:none}.character-form summary::-webkit-details-marker{display:none}.summary-text{gap:2px;display:grid}.summary-title{font-family:var(--serif);font-size:var(--text-lg)}.summary-hint{color:var(--muted);font-family:system-ui,sans-serif;font-size:14px}.summary-chevron{border:1px solid var(--border-strong);width:36px;height:36px;color:var(--gold);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.undo-toast{top:var(--space-3);z-index:950;align-items:center;gap:var(--space-2);padding:0 4px 0 var(--space-4);background:var(--surface-3);border:1px solid var(--gold);min-height:48px;box-shadow:var(--shadow-2);white-space:nowrap;border-radius:999px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.undo-toast .text-button{min-height:44px;font-weight:700}.initiative-bar{top:var(--space-3);left:92px;right:calc(var(--space-3) + var(--dock-right,0px));z-index:750;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow-1);background:#11201df2;display:grid;position:absolute}.initiative-head{align-items:center;gap:var(--space-3);min-height:44px;display:flex}.round-badge{background:var(--gold);color:var(--ink);font-weight:800;font-size:var(--text-sm);white-space:nowrap;border-radius:999px;padding:4px 10px}.initiative-now{min-width:0;font-family:var(--serif);font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.initiative-steps{gap:var(--space-2);display:flex}.next-turn{min-width:120px}.initiative-order{gap:var(--space-2);scrollbar-width:none;margin:0;padding:0 0 2px;list-style:none;display:flex;overflow-x:auto}.initiative-chip{align-items:center;gap:var(--space-2);background:var(--surface-2);border:1px solid var(--border);min-height:44px;color:var(--text);white-space:nowrap;border-radius:999px;padding:4px 12px 4px 4px;font-weight:600;display:flex}.chip-initiative{font-variant-numeric:tabular-nums;background:#102017;border-radius:50%;place-items:center;min-width:34px;height:34px;display:grid}.initiative-chip.pc .chip-initiative{border:2px solid var(--good)}.initiative-chip.next{border-color:var(--gold);border-style:dashed}.initiative-chip.active{background:var(--gold);border-color:var(--gold-bright);color:var(--ink);box-shadow:0 0 0 3px #e8c77255}.initiative-chip.active .chip-initiative{background:var(--ink);color:var(--gold-bright)}.turn-nudge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-m);text-align:center;font-weight:800;font-size:var(--text-xl);margin:0}.turn-nudge.your-turn{background:var(--gold);color:var(--ink);animation:1.6s ease-in-out 3 nudge}.turn-nudge.on-deck{background:var(--surface-3);border:1px dashed var(--gold);font-size:var(--text-lg)}@keyframes nudge{50%{box-shadow:0 0 0 8px #e8c77244}}@media (prefers-reduced-motion:reduce){.turn-nudge.your-turn{animation:none}}.in-combat .undo-toast,.in-combat .map-overlays{top:132px}.token-active .token-portrait{box-shadow:0 0 0 4px var(--gold-bright), 0 0 18px 6px #e8c772aa}.token-next .token-portrait{outline:3px dashed var(--gold);outline-offset:3px}.token-badges{top:calc(50% - var(--token-square,44px) / 2 - 6px);left:calc(50% + var(--token-square,44px) / 2 - 14px);pointer-events:none;flex-direction:column;gap:2px;display:flex;position:absolute}.token-badge{color:#f6dcf9;letter-spacing:.02em;background:#3a1f3a;border:1px solid #d9a3e0;border-radius:6px;place-items:center;min-width:22px;height:18px;padding:0 4px;font-size:11px;font-weight:800;display:grid}.token-badge.more{border-color:var(--border-strong);color:var(--text);background:#102017}.sheet-section{padding-top:var(--space-3);border-top:1px solid var(--border);gap:var(--space-2);display:grid}.sheet-section h3{font-size:var(--text-lg)}.initiative-entry{grid-template-columns:1fr auto;align-items:end}.initiative-entry label{gap:4px;display:grid}.initiative-entry input,.encounter-row input{width:100%;min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;font-size:var(--text-lg);background:#102017;padding:8px 12px}.health-pad{grid-template-columns:minmax(0,1fr)}.pad-display{border:1px solid var(--border-strong);border-radius:var(--radius-s);background:#102017;justify-content:space-between;align-items:baseline;padding:6px 12px;display:flex}.pad-display output{font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.pad-keys{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pad-key{background:var(--surface-3);min-height:48px;color:var(--text);border:1px solid var(--border);font-size:var(--text-lg)}.pad-keys .pad-key:last-child{grid-area:4/2}.pad-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pad-damage,.pad-heal{min-height:52px;font-size:var(--text-lg);font-weight:800}.pad-damage{color:#fff1ec;background:#7a2f26;border:1px solid #c86d5d}.pad-heal{color:#effae9;background:#2f6a38;border:1px solid #7fbe7a}.health-word{font-size:var(--text-xl);margin:0;font-weight:800}.health-word.healthy{color:var(--good)}.health-word.wounded{color:var(--gold-bright)}.health-word.critical,.health-word.down{color:var(--danger)}.death-saves .pip-row{align-items:center;gap:var(--space-2);display:flex}.death-saves .pip-row>span{width:84px;color:var(--muted)}.pip{border:2px solid var(--border-strong);color:#0000;background:0 0;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;font-weight:900}.pip.successes.filled{background:var(--good);border-color:var(--good);color:var(--ink)}.pip.failures.filled{background:var(--danger);border-color:var(--danger);color:var(--ink)}.save-result{font-weight:700}.save-result.failed{color:var(--danger)}.save-result.stable{color:var(--good)}.conditions summary{min-height:44px}.condition-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.condition-cell{gap:4px;display:grid}.condition-toggle{background:var(--surface-2);min-height:44px;color:var(--text);border:1px solid var(--border);text-align:left;font-size:var(--text-sm);align-items:center;gap:8px;padding:6px 8px;display:flex}.condition-cell.on .condition-toggle{background:#3a1f3a;border-color:#d9a3e0}.condition-badge{border:1px solid var(--border-strong);text-align:center;background:#102017;border-radius:6px;min-width:26px;padding:2px 4px;font-size:12px;font-weight:800}.condition-cell.on .condition-badge{color:#2a102a;background:#d9a3e0}.rounds,.exhaustion-row{align-items:center;gap:6px;display:flex}.rounds button,.exhaustion-row button{background:var(--surface-3);min-width:44px;min-height:40px;color:var(--text);border:1px solid var(--border);padding:0}.rounds span{text-align:center;min-width:36px;font-weight:700}.exhaustion-row{margin-top:var(--space-2)}.exhaustion-row>span{flex:1}.exhaustion-row output{text-align:center;min-width:28px;font-size:var(--text-lg);font-weight:800}.condition-summary{color:#f6dcf9}.fighter-list{border:0;gap:2px;margin:0;padding:0;display:grid}.fighter-list legend{margin-bottom:var(--space-2);font-weight:600}.check-row{align-items:center;gap:var(--space-3);min-height:44px;display:flex}.check-row input{width:22px;min-height:22px}.check-row .muted{margin-left:auto}.roll-row{gap:var(--space-2);display:grid}.encounter-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.encounter-row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) 84px 44px;display:grid}.encounter-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.add-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.add-row p{width:100%}.group-sheet .sheet-header{grid-template-columns:minmax(0,1fr) auto}.sheet-dock{pointer-events:none}.sheet-dock>*{pointer-events:auto}.initiative-head{flex-wrap:wrap}.initiative-bar{overflow:hidden}.sheet-dock.group-dock{left:92px;right:var(--space-3);max-height:none}.group-sheet{padding:var(--space-3) var(--space-4)}.group-sheet .sheet-title h2{font-size:var(--text-lg)}.health-pad.row{padding-top:var(--space-2);border-top:0;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.health-pad.row .pad-keys{grid-column:1/-1;grid-template-columns:repeat(11,minmax(40px,1fr))}.health-pad.row .pad-keys .pad-key:last-child{grid-area:auto}.health-pad.row .pad-display{align-items:center}.health-pad.row .pad-actions{grid-template-columns:120px 120px}.sheet-dock.side,.sheet-dock.bottom{flex-direction:column;display:flex}.sheet-dock.bottom{justify-content:flex-end}.sheet-dock.side{justify-content:flex-start}.sheet-dock>.entity-sheet{flex:0 auto;min-height:0;max-height:100%}.icon-button.small{width:44px;height:44px;min-height:44px}.table-shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw}.top-bar,.table-body{min-width:0}.drawer{min-width:0;overflow:hidden}.drawer-tabs button{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 2px;overflow:hidden}.map-scale.in-combat{top:200px}.field-error{margin-top:var(--space-1);color:#f0a08a;font-size:var(--text-sm);font-weight:600;display:block}.encounter-row{grid-template-columns:minmax(0,1fr) 64px 76px 44px}.encounter-row .modifier-input{text-align:center;padding:8px 6px}.token-badge{border-radius:999px;justify-content:center;align-items:center;gap:1px;min-width:22px;height:22px;padding:0 3px;display:inline-flex;box-shadow:0 1px 3px #0009}.token-badge svg{flex:none;width:15px;height:15px}.token-badge .badge-level{font-size:12px;font-weight:800;line-height:1}.token-badge.condition-concentration{color:#e3efff;background:#1d2f4a;border-color:#9cc2f0}.token-badge.condition-exhaustion{color:#ffe6c8;background:#4a2a12;border-color:#f0b77a}.token-tip{left:50%;bottom:calc(50% + var(--token-square,44px) / 2 + 8px);z-index:5;border:1px solid var(--border-strong);border-radius:var(--radius-s);width:max-content;max-width:220px;color:var(--text);white-space:normal;pointer-events:none;box-shadow:var(--shadow-1);background:#0d1a14f5;padding:6px 10px;font-size:14px;font-weight:600;line-height:1.3;position:absolute;transform:translate(-50%)}.drawer-tabs button{text-overflow:clip;justify-items:center;gap:2px;min-height:56px;padding:6px 2px;display:grid;overflow:visible}.drawer-tabs .tab-label{letter-spacing:.01em;font-size:13px;font-weight:600;line-height:1.1}.drawer-main{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-main[hidden]{display:none}.drawer-sheet{overscroll-behavior:contain;min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.drawer-sheet .entity-sheet,.drawer-own .entity-sheet{max-height:none;box-shadow:none}.drawer-own{margin-bottom:var(--space-4)}.tool-canvas{z-index:360;pointer-events:none;position:absolute;top:0;left:0}.map-surface{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tool-bar{left:92px;right:calc(var(--space-3) + var(--dock-right,0px));bottom:var(--space-3);z-index:900;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow-1);background:#11201df5;display:grid;position:absolute}.tool-bar-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-bar-row>.icon-button{margin-left:auto}.segmented{border:1px solid var(--border);border-radius:var(--radius-s);background:#0c1712;flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:calc(var(--radius-s) - 2px);min-height:40px;color:var(--muted);font:inherit;background:0 0;border:0;padding:6px 12px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--gold-bright)}.feet-field{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.feet-field input{width:76px;min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;background:#102017;padding:6px 10px}.tool-bar .caught{color:#ffd2a8;flex:1;min-width:160px;margin:0;font-weight:600}.fog-hint{flex:1;min-width:160px}.gather-note{top:var(--space-3);z-index:950;background:var(--surface-3);border:1px solid var(--gold);box-shadow:var(--shadow-1);border-radius:999px;margin:0;padding:10px 16px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.in-combat .gather-note{top:200px}.ping-icon{pointer-events:none}.ping-marker{width:60px;height:60px;position:relative;transform:translate(-50%,-50%)}.ping-marker>span:not(.ping-label){border:4px solid #ffe08a;border-radius:50%;width:60px;height:60px;animation:1.4s ease-out 3 forwards ping-ring;position:absolute;top:0;left:0;box-shadow:0 0 12px #ffd25acc}.ping-marker>span:nth-child(2){animation-delay:.45s}.ping-marker.gather>span:not(.ping-label){border-color:#9cd8ff;box-shadow:0 0 12px #7cc8ffcc}.ping-label{white-space:nowrap;border:1px solid var(--border-strong);color:var(--text);background:#0d1a14f0;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700;position:absolute;top:64px;left:50%;transform:translate(-50%)}@keyframes ping-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.ping-marker>span:not(.ping-label){animation:none}}.handout-form{gap:var(--space-3);display:grid}.handout-form>label{gap:var(--space-1);font-weight:600;display:grid}.handout-form input:not([type=checkbox]):not([type=file]),.handout-form textarea{min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;background:#102017;padding:8px 12px}.handout-image-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.file-button{border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer;align-items:center;min-height:44px;padding:8px 14px;position:relative;display:inline-flex!important}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.handout-thumb{object-fit:cover;border-radius:var(--radius-s);border:1px solid var(--border);width:64px;height:64px}.handout-list{margin:var(--space-3) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.handout-row{align-items:center;gap:var(--space-2);display:flex}.handout-open{text-align:left;background:var(--surface-2,#16261f);border:1px solid var(--border);border-radius:var(--radius-s);min-width:0;min-height:52px;color:var(--text);font:inherit;flex:1;gap:2px;padding:8px 12px;display:grid}.handout-open .muted{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handout-title{font-weight:700}.handout-backdrop{z-index:2000;padding:var(--space-4);background:#050b08c0;place-items:center;display:grid;position:fixed;inset:0}.handout-view{width:min(680px,100%);max-height:calc(100vh - 2 * var(--space-4));gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius-l);box-shadow:var(--shadow-1);display:grid;overflow-y:auto}.handout-image{object-fit:contain;border-radius:var(--radius-s);background:#0a130f;width:100%;max-height:60vh}.handout-body{white-space:pre-wrap;font-size:var(--text-lg);margin:0;line-height:1.5}.map-stage .map-surface.leaflet-container{touch-action:none}.handout-view .sheet-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.shared-areas{left:92px;bottom:var(--space-3);z-index:880;max-width:min(560px, calc(100% - 120px - var(--dock-right,0px)));gap:6px;max-height:160px;display:grid;position:absolute;overflow-y:auto}.shared-area{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-s);box-shadow:var(--shadow-1);background:#0f1e2af2;border:1px solid #9cd8ff80;align-items:center;min-height:42px;padding:4px 4px 4px 12px;display:flex}.shared-area>p{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;overflow:hidden}.shared-area .muted{font-size:var(--text-sm);color:#cde8fb}.srd-browser{gap:var(--space-3);display:grid}.srd-browser label{gap:var(--space-1);font-weight:600;display:grid}.srd-browser input,.srd-browser select{min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;background:#102017;padding:8px 10px}.srd-filters{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.srd-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.srd-row{text-align:left;background:var(--surface-2,#16261f);border:1px solid var(--border);border-radius:var(--radius-s);width:100%;min-height:52px;color:var(--text);font:inherit;gap:2px;padding:8px 12px;display:grid}.srd-list li.open .srd-row{border-color:var(--gold)}.srd-name{font-weight:700}.srd-row .muted{font-size:var(--text-sm)}.srd-detail{gap:var(--space-3);padding:var(--space-3) 0;display:grid}.attribution{font-size:var(--text-sm);color:var(--muted);line-height:1.5}.stat-block{gap:var(--space-2);padding:var(--space-3);color:#2b2116;border-radius:var(--radius-s);background:#f3e6c4;border-top:4px solid #8b2f1f;border-bottom:4px solid #8b2f1f;font-size:15px;line-height:1.45;display:grid}.stat-block h3{color:#7a2a1b;margin:0;font-size:22px}.stat-block h4{margin:var(--space-2) 0 var(--space-1);color:#7a2a1b;border-bottom:1px solid #7a2a1b80;padding-bottom:2px;font-size:17px}.stat-block p{margin:0 0 var(--space-1)}.stat-type{font-style:italic}.stat-core,.stat-lines{gap:2px;margin:0;display:grid}.stat-core div,.stat-lines div{gap:6px;display:flex}.stat-core dt,.stat-lines dt{color:#7a2a1b;font-weight:700}.stat-core dd,.stat-lines dd{margin:0}.stat-abilities{border-collapse:collapse;text-align:center;width:100%;max-width:320px}.stat-abilities th,.stat-abilities td{border-bottom:1px solid #7a2a1b33;padding:2px 6px}.stat-abilities thead th{text-transform:uppercase;letter-spacing:.06em;color:#7a2a1b;font-size:12px}.stat-abilities tbody th{text-align:left;color:#7a2a1b}.stat-intro{font-style:italic}.stat-details>summary{min-height:44px;color:var(--gold-bright);cursor:pointer;align-items:center;font-weight:700;display:flex}.about-view h3{margin:var(--space-2) 0 0}.map-bottom{left:92px;right:calc(var(--space-3) + var(--dock-right,0px));z-index:900;align-items:stretch;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.map-bottom>*{pointer-events:auto}.map-bottom .tool-bar,.map-bottom .shared-areas{position:static}.map-bottom .shared-areas{align-self:flex-start;max-width:100%}.token-portrait{font-family:var(--font-ui,system-ui, sans-serif);letter-spacing:-.02em;font-weight:800;line-height:1;font-size:clamp(13px, calc(var(--token-square,44px) * .42), 34px)}.token-portrait[data-mark="3"]{font-size:clamp(11px, calc(var(--token-square,44px) * .29), 26px);letter-spacing:-.05em}.token-portrait[data-mark="4"]{font-size:clamp(10px, calc(var(--token-square,44px) * .23), 21px);letter-spacing:-.06em}.token-portrait .object-icon{width:58%;height:58%}.roster-portrait .object-icon{width:60%;height:60%}.roster-portrait{font-size:15px;font-weight:800}.initiative-bonus{align-items:center;gap:4px var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:auto 72px;font-weight:600;display:grid}.initiative-bonus input{text-align:center;min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font:inherit;background:#102017;padding:6px 8px}.initiative-bonus .muted{font-weight:400;font-size:var(--text-sm);grid-column:1/-1}.tour-backdrop{z-index:3000;position:fixed;inset:0}.tour-ring{border:3px solid var(--gold-bright);pointer-events:none;border-radius:14px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #050b08b3}.tour-note{gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius-l);box-shadow:var(--shadow-2);display:grid;position:fixed}.tour-note h2{font-family:var(--serif);font-size:var(--text-lg);margin:0}.tour-note p{margin:0}.tour-note .eyebrow{color:var(--gold)}.tour-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.guide-spotlight{z-index:5;outline-offset:3px;border-radius:10px;animation:1.2s ease-in-out 3 guide-pulse;position:relative;outline:3px solid var(--gold-bright)!important}@keyframes guide-pulse{50%{outline-color:#0000;box-shadow:0 0 0 10px #e8c77233}}@media (prefers-reduced-motion:reduce){.guide-spotlight{animation:none}.tour-ring{transition:none}}.checklist li.next .text-button{color:var(--gold-bright);font-weight:700}.checklist>p{font-size:var(--text-sm);margin:0}.setup-strip{align-items:center;gap:var(--space-2);padding:0 4px 0 var(--space-2);border:1px solid var(--gold);min-height:44px;box-shadow:var(--shadow-1);font-size:var(--text-sm);background:#11201dea;border-radius:999px;justify-self:end;display:flex}.setup-count{background:var(--gold);color:var(--ink);border-radius:999px;padding:2px 8px;font-weight:700}.setup-strip .text-button{min-height:40px;padding:6px 10px;font-weight:700}.place-pill{padding:var(--space-2) var(--space-4);background:var(--gold);color:var(--ink);box-shadow:var(--shadow-1);border-radius:999px;justify-self:end;margin:0;font-weight:700}.tool-rail{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.rail-hint{z-index:650;align-items:center;gap:var(--space-2);max-width:min(300px,100% - 100px);padding:var(--space-2) var(--space-3);background:var(--surface-3);border:1px solid var(--gold);border-radius:var(--radius-m);box-shadow:var(--shadow-1);font-size:var(--text-sm);pointer-events:none;display:flex;position:absolute;transform:translateY(-50%)}.rail-hint.first{pointer-events:auto}.rail-hint .text-button{flex-shrink:0;min-height:36px;padding:4px 8px}.invite-hero{padding:var(--space-4);border:1px solid var(--gold);border-radius:var(--radius-m);background:var(--surface-2)}.invite-hero h3{font-family:var(--serif);font-size:var(--text-xl);margin:0}.invite-actions,.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.invite-fallback summary{cursor:pointer;color:var(--muted);align-items:center;min-height:44px;display:flex}.invite-fallback[open]{gap:var(--space-2);display:grid}.empty-action{gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-m);display:grid}.empty-action p{margin:0}.tab-intro{padding:0 var(--space-1);font-size:var(--text-sm);margin:0}.help-section h3{margin:var(--space-2) 0;font-family:var(--serif);color:var(--gold)}.help-section ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.help-section li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.small-button{flex-shrink:0;min-height:40px;padding:6px 12px}.drawer-stack>.checklist{order:-2}.drawer-stack>.stack-first{order:-1}.token-button{--ring:#a8a397;--ring-dark:#3f3c36}.token-side-party{--ring:#e0b54a;--ring-dark:#6b4f12}.token-side-monster{--ring:#a92b25;--ring-dark:#3d0b09}.token-button .token-portrait,.token-button .token-portrait[class*=health-]{box-sizing:border-box;border:max(2px, calc(var(--token-square,44px) * .075)) solid var(--ring);color:#f7ecd0;box-shadow:0 0 0 1px var(--ring-dark), 0 2px 3px #00000080, 0 6px 14px #00000059;background:radial-gradient(circle at 35% 30%,#46524a,#1a221d 75%);transition:box-shadow .18s;position:relative;overflow:hidden}.token-side-monster .token-portrait:not(.has-art){background:radial-gradient(circle at 35% 30%,#5a2622,#220c0a 75%)}.token-side-party .token-portrait:not(.has-art){background:radial-gradient(circle at 35% 30%,#5a4a22,#241b08 75%)}.token-portrait.has-art img{transform:scale(1.14)}@keyframes token-turn-glow{0%,to{box-shadow:0 0 0 3px #ffe08a,0 0 10px 3px #ffcf5a8c,0 4px 10px #0006}50%{box-shadow:0 0 0 5px #ffe08a,0 0 22px 9px #ffcf5acc,0 4px 10px #0006}}.token-active .token-portrait{animation:1.8s ease-in-out infinite token-turn-glow}@media (prefers-reduced-motion:reduce){.token-active .token-portrait{animation:none;box-shadow:0 0 0 4px #ffe08a,0 0 16px 6px #ffcf5ab3}}.token-marked .token-portrait{box-shadow:0 0 0 3px #9cc7e8,0 4px 10px #0006}.token-number{top:calc(50% + var(--token-square,44px) / 2 - 15px);left:calc(50% + var(--token-square,44px) / 2 - 15px);box-sizing:border-box;border:2px solid var(--ring);color:#fff8e6;min-width:18px;height:18px;font:800 11px/1 var(--font-ui,system-ui, sans-serif);pointer-events:none;background:#15120d;border-radius:9px;place-items:center;padding:0 4px;display:grid;position:absolute}.token-hp{top:calc(50% + var(--token-square,44px) / 2 - 7px);width:max(18px, calc(var(--token-square,44px) * .5));pointer-events:none;background:#0a0a08cc;border-radius:3px;height:5px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 1px #00000080}.token-hp:before{content:"";border-radius:inherit;position:absolute;inset:0 auto 0 0}.token-hp.hp-full:before{background:#6cc06a;width:100%}.token-hp.hp-middle:before{background:#e3bc53;width:55%}.token-hp.hp-low:before{background:#e0584c;width:22%}.token-hp.hp-hidden{display:none}.token-nameplate{opacity:0;visibility:hidden;background:#120f0adb;border-radius:999px;font-weight:600;transition:opacity .15s,visibility .15s;box-shadow:0 2px 8px #00000059}.token-button:is(:hover,:focus-visible,[aria-pressed=true]) .token-nameplate,.token-active .token-nameplate,.names-always .token-nameplate{opacity:1;visibility:visible}.token-tip{border-radius:10px}.roster-portrait{box-sizing:border-box;border:3px solid var(--ring,#a8a397);overflow:hidden;box-shadow:0 2px 6px #0006}.roster-portrait[class*=health-]{border-color:var(--ring,#a8a397)}.roster-portrait.side-party{--ring:#e0b54a}.roster-portrait.side-monster{--ring:#a92b25}.roster-portrait.has-art img{transform:scale(1.14)}.portrait-button{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.portrait-edit{background:var(--gold,#d4bd7d);color:#1b1408;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-4px;right:-4px;box-shadow:0 1px 4px #0006}.portrait-edit svg{width:14px;height:14px}.portrait-picker{gap:var(--space-3,12px);flex-direction:column;width:min(720px,100vw - 32px);max-height:min(86vh,820px);display:flex}.portrait-search{min-height:44px}.portrait-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;min-height:160px;padding:4px;display:grid;overflow-y:auto}.portrait-choice{color:inherit;text-align:center;cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;font-size:12px;line-height:1.2;transition:background .15s;display:flex}.portrait-choice:hover{background:#ffffff17}.portrait-choice[aria-pressed=true]{border-color:var(--gold,#d4bd7d);background:#d4bd7d24}.portrait-choice img{object-fit:cover;border-radius:50%;width:72px;height:72px;transform:scale(1.06);box-shadow:0 0 0 2px #ffffff26,0 3px 8px #0006}.portrait-upload input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.portrait-footer{justify-content:flex-end;display:flex}.segmented button[aria-selected=true]{background:var(--surface-3);color:var(--gold-bright)}.button-like{border-radius:var(--radius-s,8px);background:var(--surface-3,#2c3f33);border:1px solid var(--border-strong,#6b7963);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-weight:600;display:inline-flex;position:relative}.button-like:focus-within{outline:2px solid var(--gold-bright,#f0d68a);outline-offset:2px}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;display:flex}.switch-row+.switch-row{border-top:1px solid #ffffff0f}.switch-label{font-weight:650;display:block}.switch-hint{margin-top:2px;font-size:14px;line-height:1.35;display:block}.switch{border:1px solid var(--border-strong);cursor:pointer;background:#0c1712;border-radius:16px;flex:none;width:52px;height:32px;min-height:32px;padding:0;transition:background .2s;position:relative}.switch[aria-checked=true]{background:var(--gold);border-color:var(--gold-bright)}.switch-thumb{background:#f4efe2;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000073}.switch[aria-checked=true] .switch-thumb{transform:translate(20px)}.help-start{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.help-view .table-settings{margin:0 0 var(--space-3)}.help-view .table-settings h2{display:none}.building-pill{left:50%;top:calc(var(--topbar-h) + 16px);z-index:900;border:1px solid var(--gold);color:var(--gold-bright);box-shadow:var(--shadow-1);background:#120f0ae6;border-radius:999px;margin:0;padding:10px 18px;font-weight:650;position:fixed;transform:translate(-50%)}.check-row{align-items:flex-start;gap:10px;flex-direction:row!important;display:flex!important}.check-row input{width:22px;height:22px;min-height:0;margin-top:2px}.empty-choices{justify-content:center}:root{--glass:#111a18a8;--hairline:#ffffff14;--hairline-strong:#ffffff24;--card:linear-gradient(180deg, #ffffff0b, #ffffff05);--shadow-soft:0 1px 0 #ffffff0a inset, 0 8px 24px #00000038}.top-bar{border-bottom:1px solid var(--hairline);background:linear-gradient(#182623f7,#101b19f7);box-shadow:0 6px 20px #00000040}.drawer{border-left:1px solid var(--hairline);background:linear-gradient(#14221f,#111d1b)}.drawer-tabs{margin:var(--space-2) var(--space-3);border:1px solid var(--hairline);background:#00000038;border-radius:14px;gap:2px;padding:4px}.drawer-tabs button{border-radius:10px;transition:background .18s,color .18s}.drawer-tabs button[aria-pressed=true]{background:linear-gradient(#2f4a42,#263d37);border-color:#0000;box-shadow:inset 0 1px #ffffff14,0 2px 6px #0000004d}.panel-card{background:var(--card);border:1px solid var(--hairline);box-shadow:var(--shadow-soft);border-radius:18px}.panel-card .panel-card,.panel-card .entity-card,.panel-card .empty-action{box-shadow:none;background:#ffffff06;border-color:#0000}.panel-card details{border-top:1px solid var(--hairline)}.panel-card details>summary,.entity-sheet details>summary{gap:var(--space-2);list-style:none}.panel-card details>summary::-webkit-details-marker{display:none}.entity-sheet details>summary::-webkit-details-marker{display:none}.panel-card details>summary:before,.entity-sheet details>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;transition:transform .18s;transform:rotate(-45deg)}.panel-card details[open]>summary:before,.entity-sheet details[open]>summary:before{transform:rotate(45deg)}.panel-card select,.panel-card input:not([type=checkbox]):not([type=radio]),.panel-card textarea,.handout-view select,.handout-view input:not([type=checkbox]):not([type=radio]):not([type=file]){border:1px solid var(--hairline-strong);background:#0000003d;border-radius:10px;transition:border-color .15s,box-shadow .15s}.panel-card :is(select,input,textarea):focus-visible,.handout-view :is(select,input):focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d8b97540}.primary{color:#1a1408;background:linear-gradient(#e6c983,#cfae67);box-shadow:inset 0 1px #ffffff59,0 3px 10px #00000040}.primary:hover:not(:disabled){filter:brightness(1.05)}.secondary,.panel-card button:not(.primary):not(.text-button):not(.icon-button):not(.entity-select):not(.switch):not(.portrait-choice){border:1px solid var(--hairline-strong);color:var(--text);background:#ffffff0f}.entity-sheet{border:1px solid var(--hairline-strong);background:#131f1df7;border-radius:22px}.tool-rail{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--hairline-strong);border-radius:20px;box-shadow:inset 0 1px #ffffff12,0 12px 30px #00000059}.tool{border-radius:14px;transition:background .15s,color .15s}.tool:hover:not([aria-pressed=true]){background:#ffffff14}.tool[aria-pressed=true]{background:linear-gradient(#e6c983,#cfae67);box-shadow:0 2px 8px #0000004d}.tool-divider{background:var(--hairline-strong)}@keyframes slide-in-right{0%{opacity:0;transform:translate(18px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0}}.drawer{animation:.22s cubic-bezier(.2,.8,.2,1) slide-in-right}.entity-sheet,.handout-view{animation:.2s cubic-bezier(.2,.8,.2,1) rise-in}.handout-backdrop{-webkit-backdrop-filter:blur(3px);animation:.16s ease-out fade-in}@media (prefers-reduced-motion:reduce){.drawer,.entity-sheet,.handout-view,.handout-backdrop{animation:none}}.handout-view{border:1px solid var(--hairline-strong);border-radius:22px;box-shadow:0 24px 60px #00000080}.adventure-dialog{gap:var(--space-4);flex-direction:column;width:min(980px,100vw - 32px);max-height:min(92vh,900px);display:flex;overflow-y:auto}.adventure-layout{gap:var(--space-5);grid-template-columns:minmax(240px,300px) minmax(0,1fr);display:grid}@media (max-width:760px){.adventure-layout{grid-template-columns:1fr}}.adventure-options{gap:var(--space-3);align-content:start;display:grid}.adventure-options label,.adventure-options fieldset{border:0;gap:6px;margin:0;padding:0;font-weight:600;display:grid}.adventure-options legend{margin-bottom:6px;padding:0}.adventure-options select,.adventure-options input{min-height:44px;color:var(--text);font:inherit;padding:8px 12px}.adventure-party{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.adventure-options .segmented{display:flex}.adventure-options .segmented button{flex:1;padding:6px 8px;font-size:14px}.seed-field input{font-variant-numeric:tabular-nums}.adventure-result h3{margin-bottom:var(--space-2);font-size:26px}.adventure-preview{border-radius:14px;width:100%;max-height:340px;box-shadow:0 8px 24px #00000059}.preview-rock{fill:#23211f}.preview-floor{fill:#a39a85}.preview-room{fill:#b9af97;stroke:#3a352d;stroke-width:.12px}.preview-entrance{fill:#b8c49a}.preview-boss{fill:#c9a87c}.preview-number{fill:#2a241b;text-anchor:middle;dominant-baseline:central;font-family:Georgia,serif;font-size:1.6px;font-weight:700}.preview-monster{fill:#a92b25;stroke:#fff2d8;stroke-width:.1px}.adventure-rooms-preview{margin:var(--space-3) 0 0;gap:4px;padding:0;font-size:15px;list-style:none;display:grid}.adventure-rooms-preview li{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.adventure-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.adventure-actions button{align-items:center;gap:6px;display:inline-flex}.adventure-room-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.adventure-room{gap:var(--space-2);padding:var(--space-3);background:#ffffff08;border-radius:14px;display:grid}.adventure-room-head{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.adventure-room-head>div{display:grid}.room-number{width:32px;height:32px;color:var(--gold-bright);background:#d8b97529;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:16px;font-weight:700;display:grid}.adventure-room.role-boss .room-number{color:#f3c3b9;background:#a92b254d}.read-aloud{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--gold);font-family:var(--serif);background:#d8b97512;border-radius:0 10px 10px 0;font-style:italic;line-height:1.5}.token-active .token-nameplate{width:max-content;max-width:240px;padding:3px 7px}.token-number{--badge:clamp(13px, calc(var(--token-square,44px) * .36), 20px);min-width:var(--badge);height:var(--badge);border-radius:calc(var(--badge) / 2);border-width:max(1.5px, calc(var(--badge) * .1));font-size:calc(var(--badge) * .6);top:calc(50% + var(--token-square,44px) / 2 - var(--badge) * .85);left:calc(50% + var(--token-square,44px) / 2 - var(--badge) * .85);padding:0 2px}.chip-portrait{object-fit:cover;border:2px solid #a8a397;border-radius:50%;flex:none;width:30px;height:30px;margin-left:-4px;box-shadow:0 1px 3px #0006}.chip-portrait.side-party{border-color:#e0b54a}.chip-portrait.side-monster{border-color:#a92b25}.token-hidden .token-portrait{opacity:.55;border-style:dashed}.token-hidden-badge{top:calc(50% - var(--token-square,44px) / 2 - 4px);left:calc(50% - var(--token-square,44px) / 2 - 4px);width:clamp(14px, calc(var(--token-square,44px) * .36), 20px);height:clamp(14px, calc(var(--token-square,44px) * .36), 20px);color:#e8e2f3;pointer-events:none;background:#1d1a24;border:1.5px solid #b9b2c9;border-radius:50%;place-items:center;display:grid;position:absolute}.token-hidden-badge svg{width:70%;height:70%}.hidden-note{margin:0 0 var(--space-3);background:#b9b2c914;border:1px dashed #b9b2c9;border-radius:10px;padding:8px 12px;font-size:15px}.initiative-bar{align-items:center;gap:var(--space-2) var(--space-3);background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--hairline-strong);border-radius:999px;flex-wrap:wrap;padding:8px 10px 8px 16px;display:flex;overflow:visible;box-shadow:inset 0 1px #ffffff12,0 12px 30px #00000059}.initiative-head{display:contents}.round-badge{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;background:0 0;order:1;padding:0;font-weight:700}.initiative-order{flex:0 auto;order:2;align-items:center;min-width:0;padding:4px 2px}.initiative-now{color:var(--gold-bright);flex:140px;order:3;font-family:inherit;font-weight:700}.initiative-steps{order:4}.initiative-bar .turn-nudge{flex-basis:100%;order:5}.initiative-chip:has(.chip-portrait){min-height:0;box-shadow:none;background:0 0;border:0;border-radius:50%;gap:0;padding:0;position:relative}.initiative-chip:has(.chip-portrait) .chip-name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.initiative-chip .chip-portrait{border-width:3px;width:40px;height:40px;margin:0;transition:width .2s,height .2s,box-shadow .2s}.initiative-chip.active .chip-portrait{border-color:#ffe08a;width:54px;height:54px;box-shadow:0 0 0 3px #ffe08a59,0 0 18px 6px #ffcf5a8c}.initiative-chip.next .chip-portrait{outline:2px dashed var(--gold);outline-offset:2px}.initiative-chip:has(.chip-portrait) .chip-initiative{color:#fff8e6;background:#15120d;border:1.5px solid #ffffff40;border-radius:10px;min-width:20px;height:20px;padding:0 3px;font-size:11px;font-weight:800;position:absolute;bottom:-4px;right:-6px}.initiative-chip.active:has(.chip-portrait) .chip-initiative{background:var(--gold);color:#1a1408}@media (min-width:1000px){.table-shell.drawer-open .drawer{margin:var(--space-3) var(--space-3) var(--space-3) 0;border:1px solid var(--hairline-strong);border-radius:22px;overflow:hidden;box-shadow:0 18px 40px #00000059}}.row-portrait{background:#1a221d;border:2px solid #a8a397;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid;overflow:hidden;box-shadow:0 1px 4px #0006}.row-portrait.side-party{border-color:#e0b54a}.row-portrait.side-monster{border-color:#a92b25}.row-portrait img{object-fit:cover;width:100%;height:100%;transform:scale(1.12)}.row-health{color:var(--muted);font-size:13px;font-weight:500;display:block}.encounter-row:has(.row-portrait){grid-template-columns:36px minmax(0,1fr) 64px 76px 44px}.room-card{padding:var(--space-3) var(--space-4);-webkit-backdrop-filter:blur(14px);border:1px solid var(--hairline-strong);background:#111a18db;border-radius:18px;box-shadow:0 12px 30px #00000059}.room-card header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.room-card h3{color:var(--gold-bright);font-size:19px}.room-card p{margin:var(--space-2) 0 0}.map-overlays .room-card{width:min(440px,100vw - 120px);max-height:34vh;font-size:15px;position:fixed;bottom:16px;left:92px;overflow-y:auto}.room-card .read-aloud{font-size:16px}.encounter-row:has(.row-portrait){grid-template-columns:36px minmax(0,1fr) 52px 60px 36px;gap:6px}.encounter-row:has(.row-portrait) .encounter-name{white-space:normal;line-height:1.2}.map-overlays .room-card{border-radius:999px;width:auto;max-width:min(440px,100vw - 120px);padding:6px 8px 6px 6px}.map-overlays .room-card.open{padding:var(--space-3) var(--space-4);border-radius:18px}.room-card-toggle{min-height:40px;color:var(--gold-bright);font-family:var(--serif);background:0 0;border:0;align-items:center;gap:10px;padding:0 8px 0 0;font-size:18px;font-weight:400;display:inline-flex}.portrait-grid{grid-auto-rows:max-content;align-items:start}.portrait-grid .portrait-choice{justify-content:flex-start;height:auto;min-height:118px;max-height:none;overflow:hidden}.portrait-choice span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.initiative-chip:has(.chip-portrait) .chip-initiative{display:none}.initiative-chip:has(.chip-portrait) .chip-initiative.unrolled{background:var(--gold);color:#1a1408;border-color:#0000;display:grid}.initiative-chip:has(.chip-portrait):has(.unrolled) .chip-portrait{opacity:.6;border-style:dashed}.undo-toast{white-space:normal;max-width:calc(100vw - 32px)}.undo-message{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.undo-toast .text-button,.undo-toast .icon-button{flex:none}@media (max-width:600px){.undo-toast{top:auto;bottom:calc(var(--space-3) + 96px);padding:6px 4px 6px var(--space-3);border-radius:18px}}@media (max-width:600px),(max-height:500px){.initiative-bar{border-radius:22px;padding:6px 8px 6px 12px;left:76px}.initiative-order li:not(:has(.active,.next)){display:none}.initiative-now{white-space:normal;font-size:16px;line-height:1.25}.initiative-bar .turn-nudge{padding:6px 10px;font-size:18px}.map-bottom .shared-areas{max-width:60vw;max-height:44px;font-size:14px;overflow:hidden}}@media (max-height:500px) and (orientation:landscape){.sheet-dock.side{width:auto;max-height:46vh;inset:auto 12px 8px 84px}}.place-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:1200;border:1px solid var(--gold);background:#111a18f0;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;font-weight:650;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #00000073}.feet-quick{gap:4px;display:inline-flex}.feet-quick button{border:1px solid var(--hairline-strong);min-width:40px;min-height:36px;color:var(--text);background:#ffffff0f;border-radius:999px;padding:4px 8px;font-size:14px}.feet-quick button[aria-pressed=true]{background:var(--gold);color:#1a1408}.initiative-chip.dead{opacity:.4;filter:grayscale()}.folded-summary{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.folded-hp{font-variant-numeric:tabular-nums;font-weight:700}.folded-summary .initiative-entry{flex:220px;margin:0}button.dm-badge{cursor:pointer;background:0 0;min-height:36px;font-family:inherit}.dm-badge.previewing{background:var(--gold);color:#1a1408}.phone-only{display:none}@media (max-width:600px),(max-height:500px){.phone-only{display:inline}.wide-only{display:none!important}.undo-toast{width:auto;max-width:none;left:12px;right:12px;transform:none}.undo-message{flex:auto}}.rail-hint{z-index:820}.chip-number{color:#fff8e6;min-width:18px;height:18px;font:800 11px/1 var(--font-ui,system-ui, sans-serif);pointer-events:none;background:#15120d;border:2px solid #a92b25;border-radius:9px;place-items:center;padding:0 3px;display:grid;position:absolute;bottom:-3px;right:-5px}.initiative-chip:has(.chip-number){position:relative}.arrives-hidden{background:#b9b2c914;border:1px dashed #b9b2c9;border-radius:10px;margin:0;padding:8px 12px;font-size:15px}@media (max-width:600px),(max-height:500px){.undo-toast,.in-combat .undo-toast{top:auto;bottom:calc(var(--space-3) + 96px);flex-wrap:nowrap;align-items:center;height:auto;min-height:48px}}.token-dead .token-portrait{filter:grayscale()brightness(.7);border-color:#6d6a63!important;animation:none!important}.token-dead .token-nameplate,.token-dead .token-hp,.token-dead .token-badges{display:none!important}.token-dead-badge{font-size:clamp(14px, calc(var(--token-square,44px) * .45), 30px);color:#f3eee2;text-shadow:0 1px 4px #000c;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.char-count{color:var(--muted);font-size:13px;font-weight:500}.char-count.full{color:var(--gold-bright)}.map-notice{left:50%;bottom:calc(var(--space-3) + 110px);z-index:960;border:1px solid var(--gold);text-align:center;max-width:calc(100% - 32px);box-shadow:var(--shadow-1);background:#120f0aeb;border-radius:14px;margin:0;padding:10px 16px;font-weight:600;position:absolute;transform:translate(-50%)}.confirm-backdrop{z-index:3000}.confirm-sheet{gap:var(--space-4);width:min(420px,100vw - 32px);display:grid}.confirm-sheet p{margin:0;font-size:18px}.confirm-sheet .button-row{justify-content:flex-end}.joined-note{background:#8cc47f24;border:1px solid #8cc47f80;border-radius:10px;margin:0;padding:8px 12px}.panel-card .switch,.handout-view .switch{border-color:var(--border-strong)!important;background:#0c1712!important}.panel-card .switch[aria-checked=true],.handout-view .switch[aria-checked=true]{background:var(--gold)!important;border-color:var(--gold-bright)!important}.token-badges{top:calc(50% - var(--token-square,44px) / 2 - 7px);left:calc(50% + var(--token-square,44px) / 2 - 8px)}.token-badges .token-badge{min-width:clamp(14px, calc(var(--token-square,44px) * .34), 22px);height:clamp(14px, calc(var(--token-square,44px) * .34), 20px);font-size:clamp(9px, calc(var(--token-square,44px) * .22), 11px);padding:0 2px;box-shadow:0 1px 3px #00000080}.token-badges .token-badge svg{width:80%;height:80%}:root{--hp-full:#4fb85a;--hp-wounded:#e0b23a;--hp-critical:#191716;--hp-unknown:#9a958a}.token-button .token-portrait,.token-button .token-portrait[class*=health-]{border-color:var(--hp-unknown);box-shadow:0 0 0 2px var(--ring), 0 2px 3px #00000080, 0 6px 14px #00000059}.token-button .token-portrait.health-full{border-color:var(--hp-full)}.token-button .token-portrait.health-middle{border-color:var(--hp-wounded)}.token-button .token-portrait.health-low{border-color:var(--hp-critical);box-shadow:0 0 0 2px var(--ring), inset 0 0 0 2px #d22d23bf, inset 0 0 10px #d22d238c, 0 4px 10px #00000073;border-style:dashed}.token-button[aria-pressed=true] .token-portrait{box-shadow:0 0 0 2px var(--ring), 0 0 0 4px #fffdf4, 0 0 0 6px #15130f, 0 6px 14px #00000073}.token-hp{display:none!important}.chip-portrait,.row-portrait,.roster-portrait{box-shadow:0 0 0 2px var(--ring,#a8a397), 0 1px 4px #0006;border-color:var(--hp-unknown)!important}.chip-portrait.side-party,.row-portrait.side-party,.roster-portrait.side-party{--ring:#e0b54a}.chip-portrait.side-monster,.row-portrait.side-monster,.roster-portrait.side-monster{--ring:#a92b25}.chip-portrait.health-full,.row-portrait.health-full,.roster-portrait.health-full{border-color:var(--hp-full)!important}.chip-portrait.health-middle,.row-portrait.health-middle,.roster-portrait.health-middle{border-color:var(--hp-wounded)!important}.chip-portrait.health-low,.row-portrait.health-low,.roster-portrait.health-low{box-shadow:0 0 0 2px var(--ring,#a8a397), inset 0 0 0 2px #d22d23bf;border-style:dashed;border-color:var(--hp-critical)!important}.chip-portrait.is-dead,.row-portrait.is-dead{filter:grayscale()brightness(.7);border-color:#6d6a63!important}.chip-portrait.is-down,.row-portrait.is-down{filter:grayscale(.6)brightness(.8);border-style:solid;border-color:var(--hp-down)!important}.dice-tray{right:calc(var(--dock-right,0px) + 76px);bottom:var(--space-3);z-index:960;width:min(380px,100vw - 32px);max-height:calc(100% - 2 * var(--space-3));overscroll-behavior:contain;background:var(--surface-3,var(--surface));border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow-2,0 8px 24px #00000059);padding:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex;position:absolute;overflow:auto}@media (max-width:700px){.dice-tray{border-radius:var(--radius-l) var(--radius-l) 0 0;width:auto;max-height:78vh;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}}.dice-header{justify-content:space-between;align-items:center;display:flex}.dice-tabs,.dice-visibility,.dice-advantage{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.dice-tabs button,.dice-visibility button,.dice-advantage button{min-height:40px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-radius:0;padding:0 14px}.dice-tabs button[aria-pressed=true],.dice-visibility button[aria-checked=true],.dice-advantage button[aria-checked=true]{background:var(--gold);color:var(--ink);font-weight:700}.dice-advantage button:disabled{opacity:.45}.dice-page{gap:var(--space-3);flex-direction:column;display:flex}.dice-pool{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dice-pick{border:1px solid var(--border);border-radius:var(--radius-s);background:0 0;place-items:center;min-height:52px;padding:4px 0;display:grid;position:relative}.dice-count{background:var(--gold);min-width:22px;color:var(--ink);border-radius:999px;padding:0 4px;font-size:12px;font-weight:800;position:absolute;top:-6px;right:-4px}.dice-row,.dice-footer{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dice-modifier{align-items:center;gap:4px;display:inline-flex}.dice-modifier button{min-width:40px;min-height:40px;padding:0}.dice-modifier output{text-align:center;min-width:40px;font-weight:700}.dice-notation{gap:var(--space-2);display:flex}.dice-notation input{flex:1;min-width:0}.dice-sound{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.die polygon,.die circle{fill:#ffffff0f;stroke:var(--gold);stroke-width:4px;stroke-linejoin:round}.die text{fill:var(--text);font:700 30px var(--serif)}.die.dropped{opacity:.35}.die.die-crit polygon,.die.die-crit circle{fill:#e8c77259;stroke:var(--gold-bright);stroke-width:6px}.die.die-crit text{fill:var(--gold-bright)}.die.die-fumble polygon,.die.die-fumble circle{fill:#c832284d;stroke:#d0463a;stroke-width:6px}.die.die-fumble text{fill:#ff8a7a}.die.tumbling{animation:.9s cubic-bezier(.2,.7,.3,1) both die-tumble}@keyframes die-tumble{0%{transform:translateY(-14px)rotate(-200deg)scale(.7)}60%{transform:translateY(3px)rotate(20deg)scale(1.05)}to{transform:none}}@media (prefers-reduced-motion:reduce){.die.tumbling{animation:none}}.dice-results{gap:var(--space-2);flex-direction:column;display:flex}.dice-result{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-2) var(--space-3);background:#ffffff08}.dice-result.crit{border-color:var(--gold-bright);box-shadow:0 0 18px #e8c77240}.dice-result.fumble{border-color:#d0463a}.dice-result header{justify-content:space-between;gap:var(--space-2);display:flex}.dice-faces{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.dice-mod{color:var(--muted);font-weight:700}.dice-total{font:700 40px var(--serif);color:var(--text);margin-left:auto}.dice-total.crit{color:var(--gold-bright)}.dice-total.fumble{color:#ff8a7a}.dice-note{margin:0;font-weight:700}.dice-note.crit{color:var(--gold-bright)}.dice-note.fumble{color:#ff8a7a}.dice-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-top:6px;display:flex}.apply-picker ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.apply-picker label{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.apply-picker input[type=checkbox],.dice-sound input[type=checkbox]{flex:none;width:22px;height:22px;min-height:22px;margin:0;padding:0}.apply-name{text-align:left;flex:1;min-width:0}.apply-picker h3{font-size:var(--text-base);margin:0}.roll-log{gap:2px;margin:0;padding:0;list-style:none;display:grid}.roll-log li{gap:0 var(--space-2);border-bottom:1px solid var(--hairline,var(--border));grid-template-columns:1fr auto;grid-template-areas:"who total""what time";padding:6px 4px;display:grid}.roll-who{grid-area:who;font-weight:700}.roll-what{color:var(--muted);font-size:var(--text-sm);grid-area:what}.roll-total{text-align:right;grid-area:total}.roll-log time{text-align:right;grid-area:time;font-size:13px}.roll-log li.crit .roll-total{color:var(--gold-bright)}.roll-log li.fumble .roll-total{color:#ff8a7a}.roll-private{font-style:italic}.roll-toast{top:calc(var(--space-3) + 56px);z-index:955;align-items:center;gap:var(--space-2);max-width:calc(100vw - 32px);min-height:44px;padding:6px var(--space-4);background:var(--surface-3,var(--surface));border:1px solid var(--border-strong);box-shadow:var(--shadow-2,0 8px 24px #00000059);color:var(--text);border-radius:999px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.roll-toast.crit{border-color:var(--gold-bright)}.roll-toast.fumble{border-color:#d0463a}.concentration-stack{left:50%;top:calc(var(--space-3) + 110px);z-index:965;gap:var(--space-2);width:min(360px,100vw - 32px);display:grid;position:absolute;transform:translate(-50%)}.concentration-prompt{background:var(--surface-3,var(--surface));border:1px solid var(--gold);border-radius:var(--radius-m);padding:var(--space-3);box-shadow:var(--shadow-2,0 8px 24px #00000059)}.concentration-prompt p{margin:0 0 6px}.concentration-bonus{align-items:center;gap:var(--space-2);display:flex}.concentration-bonus input{width:80px}.quick-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.quick-head h3{margin:0}.quick-list{gap:6px;margin:6px 0;display:grid}.quick-roll{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;min-height:48px;display:flex}.inspiration-toggle{min-height:40px;font-size:var(--text-sm);color:var(--muted)}.inspiration-toggle.on{border-color:var(--gold-bright);color:var(--gold-bright);background:#e8c7721f}.quick-edit-row{grid-template-columns:1.4fr 1fr 1fr auto;gap:4px;margin-bottom:4px;display:grid}.quick-edit-row input{min-width:0}.stat-rolls{flex-wrap:wrap;gap:6px;margin:-4px 0 8px;display:flex}.stat-rolls button{color:#5a1f14;background:#7a2a1b14;border:1px solid #7a2a1b;min-height:40px;font-weight:700}.stat-rolls button:hover:not(:disabled){background:#7a2a1b29}.stat-rolls button:disabled{opacity:.6}.roll-death-save{margin-top:var(--space-2)}.undo-message:has(.undo-who){white-space:nowrap;min-width:0;display:flex}.undo-who{text-overflow:ellipsis;min-width:0;overflow:hidden}.undo-what{white-space:pre;flex:none}:root{--hp-wounded:#e07a2a;--hp-critical:#f43;--hp-down:#d0302a}.hp-chip.health-middle,.health-word.wounded{color:#f0954a}.token-button .token-portrait.health-low{border-style:dashed;border-width:4px;border-color:var(--hp-critical);animation:1.6s ease-in-out infinite critical-pulse}.chip-portrait.health-low,.row-portrait.health-low,.roster-portrait.health-low{border-width:3px;border-color:var(--hp-critical)!important}@keyframes critical-pulse{0%,to{box-shadow:0 0 0 2px var(--ring), inset 0 0 0 2px #ff4433b3, 0 0 0 0 #ff44338c, 0 4px 10px #00000073}50%{box-shadow:0 0 0 2px var(--ring), inset 0 0 0 2px #ff4433b3, 0 0 0 7px #f430, 0 4px 10px #00000073}}@media (prefers-reduced-motion:reduce){.token-button .token-portrait.health-low{box-shadow:0 0 0 2px var(--ring), inset 0 0 0 2px #ff4433b3, 0 0 0 4px #ff443373;animation:none}}.token-down .token-portrait{filter:grayscale(.6)brightness(.75);border:4px solid var(--hp-down)!important;animation:none!important}.token-down .token-hp{display:none!important}.token-down-badge{width:clamp(18px, calc(var(--token-square,44px) * .5), 32px);height:clamp(18px, calc(var(--token-square,44px) * .5), 32px);color:#fff4ee;pointer-events:none;background:#a01c18e6;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #000000b3}.token-down-badge svg{width:72%;height:72%}.entity-sheet .quick-list .quick-roll,.panel-card .quick-list .quick-roll{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-3);color:#f1ead6;text-align:left;background:#1d3330;border:1px solid #e0b54a73;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.entity-sheet .quick-list .quick-roll svg{color:var(--gold)}.entity-sheet .quick-list .quick-roll strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-formula{color:#cdb27a;font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.entity-sheet .quick-list .quick-roll:hover:not(:disabled){border-color:var(--gold);background:#24403b}.entity-sheet .quick-list .quick-roll:disabled{color:#f1ead6;opacity:.6;background:#1d3330}.canvas-debug{left:50%;bottom:var(--space-3);z-index:990;color:#f3dc8a;white-space:pre;pointer-events:none;background:#000000c7;border:1px solid #f3dc8a;border-radius:10px;max-width:calc(100% - 32px);margin:0;padding:8px 12px;font:600 12px/1.35 ui-monospace,Menlo,monospace;position:absolute;overflow:hidden;transform:translate(-50%)}.health-requests{left:50%;top:calc(var(--space-3) + 60px);z-index:960;gap:var(--space-2);pointer-events:none;width:min(380px,100vw - 32px);display:grid;position:absolute;transform:translate(-50%)}.in-combat .health-requests{top:190px}.health-request{pointer-events:auto;background:var(--surface-3,var(--surface));border:1px solid var(--gold);border-left:4px solid var(--hp-down,#d0302a);border-radius:var(--radius-m);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-2,0 8px 24px #00000059)}.health-request.heal{border-left-color:var(--hp-full,#4fb85a)}.health-request p{overflow-wrap:anywhere;margin:0 0 6px}.health-request-actions{gap:var(--space-2);align-items:center;display:flex}.health-request-actions button{min-height:44px}.health-request-more{pointer-events:auto;text-align:center;margin:0}.apply-note{margin:0 0 var(--space-2)}.messages-button{position:relative}.unread-badge{background:var(--hp-down,#d0302a);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.messages-button .unread-badge{position:absolute;top:-4px;right:-4px}.messages-sheet{width:min(560px,100%)}.thread-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.thread-row{gap:2px var(--space-2);text-align:left;width:100%;min-height:56px;padding:var(--space-2) var(--space-3);background:var(--surface-2,var(--surface));border:1px solid var(--line,#3a4a40);border-radius:var(--radius-m);color:inherit;grid-template-columns:1fr auto;align-items:center;display:grid}.thread-row.unread{border-color:var(--gold)}.thread-name{font-weight:600}.thread-last{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.message-list{gap:var(--space-2);max-height:50vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.message-list li{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--surface-2,var(--surface))}.message-list li.mine{background:var(--surface-3,var(--surface));border:1px solid var(--gold);justify-self:end}.message-list li.message-end{background:0 0;padding:0}.message-who{color:var(--gold);font-size:.85em}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.message-compose,.message-reply{gap:var(--space-2);display:grid}.message-compose textarea,.message-reply textarea{width:100%}.area-effects{right:var(--space-3);bottom:calc(var(--space-3) + 72px);z-index:955;gap:var(--space-2);width:min(400px,100vw - 32px);max-height:60vh;display:grid;position:absolute;overflow-y:auto}.area-effect-card{background:var(--surface-3,var(--surface));border:1px solid var(--gold);border-radius:var(--radius-m);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-2,0 8px 24px #00000059)}.area-effect-card p{overflow-wrap:anywhere;margin:0 0 6px}.area-targets{margin:0 0 var(--space-2);gap:6px;padding:0;list-style:none;display:grid}.area-targets li{gap:4px var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.area-save-result,.area-outcome{font-size:.9em}.area-outcome{color:var(--gold)}.area-dm-roll{align-items:center;gap:6px;display:flex}.area-dm-roll input,.area-bonus input{width:64px;min-height:44px}.area-bonus{align-items:center;gap:6px;display:flex}.area-effect-form{gap:var(--space-2);display:grid}.area-amount{gap:var(--space-2);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.area-effect-form button,.area-effect-form select,.area-effect-form input{min-height:44px}.area-save{gap:var(--space-2);display:grid}.died-note{align-items:center;gap:var(--space-2);padding:2px 4px 2px var(--space-3);border:1px solid var(--hp-down,#d0302a);border-radius:var(--radius-m);background:var(--surface-3,var(--surface));width:-moz-fit-content;width:fit-content;margin:4px 0;display:flex}.initiative-roll-row{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.initiative-roll-row button{min-height:44px}.initiative-bonus input{width:72px}.initiative-toast{align-items:center;gap:var(--space-2);padding:2px 4px 2px var(--space-3);border:1px solid var(--gold);border-radius:var(--radius-m);background:var(--surface-3,var(--surface));width:-moz-fit-content;width:fit-content;margin:4px 0;display:flex}.tool[data-at-limit=true]{opacity:.4}.table-stage:has(.tool-bar) .map-overlays .room-card{bottom:168px}body:has(.tool-bar) .map-overlays .room-card{bottom:168px}.in-combat .concentration-stack{top:200px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}}
