@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-dHiutC5X.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-Br-zEAio.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-CSZzDzSy.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-dQ2zcu-L.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-QYLv-bDM.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-vKr7eH-p.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Dwzd0TKx.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal--EtKVqC7.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BKTgBNmI.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-DDbeQdWO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DkTWoOHj.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DXKoNrs9.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-BriLmxM2.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-CVvOgo6s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-CIEtRijs.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-CNojz0t3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-BeU3T8wf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-DHMOLxAi.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-B11XCQ5g.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2) format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff) format("woff")}:root,:root[data-theme=adventure]{color-scheme:dark;--bg: #100F14;--surface: #1A1820;--surface-2: #25222C;--surface-3: #322E3A;--border: #423C4A;--border-strong: #6A5F6E;--text: #F2EBDD;--text-muted: #B9AEA6;--accent: #EDB24A;--accent-ink: #1C1204;--accent-soft: rgb(237 178 74 / .16);--danger: #EE7A5F;--success: #86CE8E;--warn: #F2C35F;--secret: #C3A8F0;--map-bg: #0B0A0E;--shadow: 0 12px 34px rgb(0 0 0 / .55);--font-display: "Fraunces", Georgia, serif;--heading-weight: 600;--rim: #B98A3E;--frame: inset 0 0 0 1px rgb(255 240 210 / .06), inset 0 0 0 3px var(--surface), inset 0 0 0 4px rgb(185 138 62 / .22);--btn-bg: linear-gradient(180deg, #2F2B37, #24212B);--btn-bg-hover: linear-gradient(180deg, #3A3543, #2C2833);--btn-shine: inset 0 1px 0 rgb(255 240 210 / .09), 0 1px 2px rgb(0 0 0 / .4);--primary-bg: linear-gradient(180deg, #F6C567, #E0A034);--primary-shine: inset 0 1px 0 rgb(255 250 225 / .55), inset 0 -1px 0 rgb(90 55 5 / .4), 0 2px 8px rgb(237 178 74 / .25)}:root[data-theme=dark]{color-scheme:dark;--bg: #0F1115;--surface: #171A21;--surface-2: #20242D;--surface-3: #2A2F3A;--border: #2F3540;--border-strong: #454D5C;--text: #E9EBF1;--text-muted: #A5ACBA;--accent: #6AAEFC;--accent-ink: #07121F;--accent-soft: rgb(106 174 252 / .15);--danger: #F27D74;--success: #62CF91;--warn: #EBB952;--secret: #BDA5EA;--map-bg: #0B0D11;--shadow: 0 10px 32px rgb(0 0 0 / .45)}:root[data-theme=light]{color-scheme:light;--bg: #F3F4F7;--surface: #FFFFFF;--surface-2: #EBEDF2;--surface-3: #DFE2E9;--border: #D5D9E1;--border-strong: #A9B0BE;--text: #171A21;--text-muted: #555D6C;--accent: #1B62C4;--accent-ink: #FFFFFF;--accent-soft: rgb(27 98 196 / .12);--danger: #B62E27;--success: #1A7546;--warn: #875700;--secret: #5F3F99;--map-bg: #D9DCE3;--shadow: 0 10px 32px rgb(23 26 33 / .18)}:root[data-theme=fantasy]{color-scheme:dark;--bg: #15100B;--surface: #211912;--surface-2: #2E2419;--surface-3: #3A2E20;--border: #4B3B29;--border-strong: #6E5839;--text: #F3E8D4;--text-muted: #C0AF95;--accent: #E5AC47;--accent-ink: #1A1109;--accent-soft: rgb(229 172 71 / .16);--danger: #EC7459;--success: #A4C873;--warn: #F0C266;--secret: #C8AEEC;--map-bg: #0E0A06;--shadow: 0 12px 36px rgb(0 0 0 / .55);--font-display: "Fraunces", Georgia, serif;--heading-weight: 600;--r1: 4px;--r2: 8px;--rim: #A77C39;--frame: inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--border);--btn-bg: linear-gradient(180deg, #3A2E20, #2E2419);--btn-bg-hover: linear-gradient(180deg, #4A3B29, #3A2E20);--btn-shine: inset 0 1px 0 rgb(255 240 210 / .08);--primary-bg: linear-gradient(180deg, #F0BE62, #D89C33);--primary-shine: inset 0 1px 0 rgb(255 250 225 / .5), inset 0 0 0 1px rgb(26 17 9 / .3)}:root[data-theme=contrast]{color-scheme:dark;--bg: #000;--surface: #0B0B0B;--surface-2: #1A1A1A;--surface-3: #262626;--border: #8A8A8A;--border-strong: #C4C4C4;--text: #FFF;--text-muted: #E0E0E0;--accent: #FFD27A;--accent-ink: #000;--accent-soft: rgb(255 210 122 / .2);--danger: #FF9C8A;--success: #B9EC93;--warn: #FFD27A;--secret: #D9C7FF;--map-bg: #000;--shadow: none}:root[data-accent=blue]{--accent: #6AAEFC;--accent-ink: #07121F;--accent-soft: rgb(106 174 252 / .15)}:root[data-accent=teal]{--accent: #3ECDB7;--accent-ink: #04201B;--accent-soft: rgb(62 205 183 / .15)}:root[data-accent=amber]{--accent: #EBB23E;--accent-ink: #1E1503;--accent-soft: rgb(235 178 62 / .16)}:root[data-accent=rose]{--accent: #F58CA6;--accent-ink: #2A0812;--accent-soft: rgb(245 140 166 / .16)}:root[data-theme=light][data-accent=blue]{--accent: #1B62C4;--accent-ink: #FFF;--accent-soft: rgb(27 98 196 / .12)}:root[data-theme=light][data-accent=teal]{--accent: #0A7264;--accent-ink: #FFF;--accent-soft: rgb(10 114 100 / .12)}:root[data-theme=light][data-accent=amber]{--accent: #8A5800;--accent-ink: #FFF;--accent-soft: rgb(138 88 0 / .12)}:root[data-theme=light][data-accent=rose]{--accent: #B3274F;--accent-ink: #FFF;--accent-soft: rgb(179 39 79 / .12)}:root[data-theme=contrast][data-accent]{--accent: #FFD27A;--accent-ink: #000;--accent-soft: rgb(255 210 122 / .2)}:root{--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--r1: 7px;--r2: 12px;--tap: 44px;--tap-main: 56px;--fast: .12s;--mid: .22s;--scale: 1}@media (pointer: fine){:root{--tap: 38px;--tap-main: 48px}:root[data-density=compact]{--tap: 32px;--tap-main: 42px}}:root[data-font=dyslexic]{--font-body: "OpenDyslexic", system-ui, sans-serif;--font-display: "OpenDyslexic", system-ui, sans-serif}:root[data-theme=dark],:root[data-theme=light],:root[data-theme=contrast]{--font-display: var(--font-body);--heading-weight: 700;--rim: var(--border-strong);--frame: none;--btn-bg: var(--surface-2);--btn-bg-hover: var(--surface-3);--btn-shine: none;--primary-bg: var(--accent);--primary-shine: none}.dice-scene,.dice-table{color-scheme:dark;--scene-bg: #0A090E;--felt-1: #2A2433;--felt-2: #120F18;--veil-1: rgb(8 6 12 / .9);--veil-2: rgb(8 6 12 / .68);--dice-crit: #FFD36B;--dice-fumble: #EE5A4A;--die-light: #6E6480;--die-body: #3A3346;--die-dark: #14111A;--die-edge: #C99A4C;--die-ink: #F6C567}:root[data-theme=light] .dice-scene,:root[data-theme=light] .dice-table{--bg: #0F1115;--surface: #171A21;--surface-2: #20242D;--surface-3: #2A2F3A;--border: #2F3540;--border-strong: #454D5C;--text: #E9EBF1;--text-muted: #A5ACBA;--accent: #6AAEFC;--accent-ink: #07121F;--accent-soft: rgb(106 174 252 / .15);--danger: #F27D74;--success: #62CF91;--secret: #BDA5EA;--rim: #454D5C;--btn-bg: var(--surface-2);--btn-bg-hover: var(--surface-3);--primary-bg: var(--accent)}:root[data-theme=light][data-accent=teal] .dice-scene,:root[data-theme=light][data-accent=teal] .dice-table{--accent: #3ECDB7;--accent-ink: #04201B;--accent-soft: rgb(62 205 183 / .15)}:root[data-theme=light][data-accent=amber] .dice-scene,:root[data-theme=light][data-accent=amber] .dice-table{--accent: #EBB23E;--accent-ink: #1E1503;--accent-soft: rgb(235 178 62 / .16)}:root[data-theme=light][data-accent=rose] .dice-scene,:root[data-theme=light][data-accent=rose] .dice-table{--accent: #F58CA6;--accent-ink: #2A0812;--accent-soft: rgb(245 140 166 / .16)}[data-skin=theme]{--swatch: #3A3346}[data-skin=ruby]{--die-light: #E8637A;--die-body: #A81F3E;--die-dark: #3D0713;--die-edge: #FFB4B8;--die-ink: #FFF3E6;--swatch: #A81F3E}[data-skin=sapphire]{--die-light: #5C93EE;--die-body: #1D4FA8;--die-dark: #081C42;--die-edge: #A9CCFF;--die-ink: #F2F7FF;--swatch: #1D4FA8}[data-skin=emerald]{--die-light: #3FBF8C;--die-body: #116B4C;--die-dark: #03281B;--die-edge: #A5EBCB;--die-ink: #F2FFF8;--swatch: #116B4C}[data-skin=bone]{--die-light: #FAF2E0;--die-body: #D8C9A8;--die-dark: #8E7D5D;--die-edge: #6B5C42;--die-ink: #271C0F;--swatch: #D8C9A8}*{box-sizing:border-box}html{font-size:calc(16px * var(--scale));-webkit-text-size-adjust:100%}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.45;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:var(--heading-weight);line-height:1.2;margin:0;text-wrap:balance}h1{font-size:2rem}h2{font-size:1.25rem}h3{font-size:1.0625rem}p{margin:0 0 .6em}a{color:var(--accent)}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.small{font-size:.875rem}.tiny{font-size:.75rem}.secret{color:var(--secret)}.danger-text{color:var(--danger)}.success-text{color:var(--success)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:8px;top:-60px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;border-radius:var(--r1);z-index:100}.skip:focus{top:8px}button,.btn{font:inherit;font-size:.9375rem;color:var(--text);background:var(--btn-bg);box-shadow:var(--btn-shine);border:1px solid var(--border);border-radius:var(--r1);min-height:var(--tap);padding:0 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;transition:background var(--fast),border-color var(--fast),color var(--fast);touch-action:manipulation}button:hover:not(:disabled),.btn:hover{background:var(--btn-bg-hover);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--primary-bg);box-shadow:var(--primary-shine);color:var(--accent-ink);border-color:var(--accent);font-weight:700}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--primary-bg);filter:brightness(1.08);border-color:var(--accent)}button.danger{color:var(--danger);border-color:var(--danger);background:transparent;box-shadow:none}button.danger:hover:not(:disabled){background:var(--surface-2);border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent;box-shadow:none}button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent}button.icon{min-width:var(--tap);padding:0 6px}button.big{min-height:var(--tap-main);padding:0 20px;font-size:1.0625rem}button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button[aria-pressed=true]:hover:not(:disabled){background:var(--accent);filter:brightness(1.08);border-color:var(--accent)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r1);min-height:var(--tap);padding:6px 10px;width:100%;transition:border-color var(--fast)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}textarea{resize:vertical;min-height:120px;line-height:1.5}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex:none}label,.field-label{display:block;font-size:.875rem;color:var(--text-muted)}label>input,label>select,label>textarea{margin-top:4px;color:var(--text)}label.check{display:flex;gap:8px;align-items:center;color:var(--text);min-height:var(--tap);font-size:.9375rem}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.nowrap{flex-wrap:nowrap}.grow{flex:1 1 auto;min-width:0}.stack{display:flex;flex-direction:column;gap:8px}.stack-lg{display:flex;flex-direction:column;gap:20px}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r2);padding:12px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:.75rem;background:var(--surface-3);white-space:nowrap}.chip.secret{border-color:var(--secret)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.page{max-width:760px;margin:0 auto;padding:24px 16px 64px}.banner{padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:.9375rem}.banner.warn{color:var(--warn)}.banner.ask{background:var(--accent-soft)}.banner.turn{background:var(--primary-bg);box-shadow:var(--primary-shine);color:var(--accent-ink);font-family:var(--font-display);font-weight:600;font-size:1.25rem;text-align:center;animation:turn .32s cubic-bezier(.2,.8,.2,1) both}.empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px 0}.section-title{font-size:.9375rem;font-weight:700;color:var(--text);margin:4px 0 0;font-family:var(--font-body)}.divider{border:0;border-top:1px solid var(--border);margin:6px 0;width:100%}.table{height:100dvh;display:flex;flex-direction:column;min-height:0}.topbar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex:none;min-height:52px}.topbar h1{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}.topbar .spacer{flex:1 1 0;min-width:4px}.topbar .sep{width:1px;align-self:stretch;margin:6px 4px;background:var(--border);flex:none}.scene-switch{display:flex;align-items:center;gap:6px;min-width:0}.scene-switch select{width:clamp(120px,18vw,240px);min-height:calc(var(--tap) - 2px);padding-block:2px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--text-muted);flex:none}.dot.ok{background:var(--success)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--danger)}.table-body{flex:1 1 auto;min-height:0;display:flex;position:relative}.stage{position:relative;flex:1 1 auto;min-width:0;min-height:0;background:var(--map-bg);overflow:hidden}.stage[hidden]{display:none}.dock{display:flex;flex:none;min-height:0;background:var(--surface);border-left:1px solid var(--border)}.dock[hidden]{display:none}.dock-panel{width:400px;display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--border)}.dock-panel[hidden]{display:none}.panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.panel[hidden]{display:none}.panel>header{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 14px;border-bottom:1px solid var(--border);min-height:48px;flex:none}.panel>header h2{font-size:1.0625rem;flex:1}.panel>.body{padding:12px 14px 16px;overflow:auto;flex:1 1 auto;min-height:0}.nav-badge{position:absolute;top:3px;right:10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:.6875rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.bottom-nav{display:flex;flex:none;border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{position:relative;flex:1 1 0;min-width:0;flex-direction:column;gap:2px;border:0;border-radius:0;background:transparent;color:var(--text-muted);min-height:58px;padding:6px 2px;font-size:.75rem}.bottom-nav button:hover:not(:disabled){background:var(--surface-2)}.bottom-nav button[aria-current=true]{color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.bottom-nav button[aria-current=true] svg{color:var(--accent)}.bottom-nav .nav-badge{right:calc(50% - 22px)}.table.compact .table-body{flex-direction:column}.table.compact .dock{flex:1 1 auto;border-left:0}.table.compact .dock[hidden]{display:none}.table.compact .dock-panel{width:100%;border-right:0}.table.compact .panel>.body{max-width:720px;width:100%;margin:0 auto}.more-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.more-grid button{flex-direction:column;min-height:76px;gap:4px}.subtabs{display:flex;gap:2px;padding:4px;margin:0 0 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r1)}.subtabs button{flex:1 1 0;min-width:0;border:0;background:transparent;min-height:calc(var(--tap) - 8px);padding:0 2px;font-size:.8125rem;color:var(--text-muted);border-radius:5px}.subtabs button:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.subtabs button[aria-current=true]{background:var(--surface-3);color:var(--text);font-weight:700}.popover{position:relative}.popover-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.popover-menu button{justify-content:flex-start;border:0;background:transparent}.popover-menu button:hover:not(:disabled){background:var(--surface-2)}.map-wrap{position:absolute;inset:0;background:var(--map-bg);overflow:hidden;touch-action:none}.map-wrap canvas{display:block}.map-host{position:absolute;inset:0}.map-host.tool-ruler,.map-host.tool-area,.map-host.tool-ping,.map-host.tool-fog{cursor:crosshair}.map-tools{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:4px;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow)}.map-tools button{background:transparent;border-color:transparent;min-width:38px;min-height:38px;padding:0}.map-tools button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.map-tools hr{border:0;border-top:1px solid var(--border);margin:2px 4px}.map-note{position:absolute;left:50%;top:12px;transform:translate(-50%);background:var(--surface);padding:6px 12px;border-radius:var(--r1);border:1px solid var(--border);z-index:5;max-width:calc(100% - 96px);box-shadow:var(--shadow);font-size:.9375rem}.map-hint{position:absolute;left:50%;top:66px;transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;padding:6px 12px;border-radius:var(--r2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:6;font-size:.875rem;max-width:calc(100% - 96px)}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;padding:24px;z-index:4;pointer-events:none}.map-empty>*{pointer-events:auto}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);z-index:3}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .9s linear infinite;flex:none}.theater{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--surface)}.theater h2{font-size:1.75rem}.stage-flag{position:absolute;right:12px;top:12px;z-index:6;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:var(--r2);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:.875rem;max-width:calc(100% - 24px)}.strip{position:absolute;left:10px;right:10px;top:10px;z-index:7;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:auto}.strip.inline{position:static;box-shadow:none;flex:none;border-radius:0;border-width:0 0 1px}.strip-round{font-size:.8125rem;color:var(--text-muted);white-space:nowrap;flex:none;font-weight:700}.strip-order{display:flex;gap:4px;overflow-x:auto;flex:1 1 auto;min-width:0;scrollbar-width:none;list-style:none;margin:0;padding:0}.strip-order li{flex:none}.strip-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:var(--surface-2);font-size:.8125rem;gap:6px;border:1px solid transparent;white-space:nowrap}.strip-chip b{font-family:var(--font-mono);font-weight:400;color:var(--text-muted);font-size:.75rem}.strip-chip i{width:22px;height:22px;margin-left:-6px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:.6875rem;font-weight:700;background:var(--surface-3);border:1px solid var(--rim);color:var(--text);flex:none}.strip-chip.current{background:var(--primary-bg);color:var(--accent-ink);font-weight:700;animation:glow 2s ease-in-out infinite}.strip-chip.current i{background:var(--accent-ink);color:var(--accent)}.strip-chip.current b{color:inherit}.strip-chip.current:hover:not(:disabled){background:var(--primary-bg);filter:brightness(1.08)}.strip-chip.self{border-color:var(--accent)}.strip-chip.gone{opacity:.55;text-decoration:line-through}.token-card{position:absolute;left:66px;bottom:96px;width:320px;max-width:calc(100% - 76px);max-height:calc(100% - 180px);overflow-y:auto;z-index:7;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.token-card h3{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.token-actions button{font-size:.875rem;padding:0 6px}.scene-gallery{gap:8px}.scene-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:8px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface-2)}.scene-row.viewed{border-color:var(--accent)}.scene-row.shown{background:var(--accent-soft)}.scene-thumb-btn{padding:0;border:0;background:none;box-shadow:none;min-height:0;height:68px;border-radius:6px;overflow:hidden}.scene-thumb-btn:hover:not(:disabled){background:none;filter:brightness(1.15)}.scene-name{display:flex;flex-wrap:wrap;gap:6px;align-items:center;overflow-wrap:anywhere;font-family:var(--font-display)}.scene-detail{border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.guide{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r1);padding:10px 12px;font-size:.9375rem}.scene-thumb{width:92px;height:68px;border-radius:6px;object-fit:cover;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.scene-row .tools{gap:4px}.scene-row .tools button{min-height:32px;min-width:32px;padding:0 8px;font-size:.8125rem}@media (pointer: coarse){.scene-row .tools button{min-height:var(--tap);min-width:var(--tap)}}.vitals{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 12px;flex:none}.vitals-numbers{display:flex;align-items:center;gap:8px}.vitals-numbers .grow{min-width:0}.vitals-numbers .mono{font-size:.875rem;white-space:nowrap}.init-controls>span:first-child{flex:1 1 210px;min-width:0}.init-controls input{flex:none}.init-controls select{flex:1 1 0;min-width:0;width:auto}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap)}.hpbar{height:8px;border-radius:4px;background:var(--bg);border:1px solid var(--border);overflow:hidden;margin-top:3px}.hpbar>span{display:block;height:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--success),#fff 25%),var(--success));transition:width var(--mid)}.hpbar>span.low{background:linear-gradient(180deg,color-mix(in srgb,var(--danger),#fff 25%),var(--danger))}.stat{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r1);padding:6px 4px;min-width:56px}.stat b{display:block;font-family:var(--font-mono);font-size:1.25rem}.stat small{color:var(--text-muted);font-size:.75rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.grid-6{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.grid-2.tight{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dice-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dice-grid .rollbtn{justify-content:center;padding:0 2px}.rollbtn{justify-content:space-between;width:100%;text-align:left}.rollbtn .num{color:var(--accent)}.scroll{overflow:auto;flex:1;min-height:0;padding:12px}dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:16px;max-width:min(620px,calc(100vw - 16px));width:100%;max-height:calc(100dvh - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:#0000008c}dialog.sheet{margin:auto 0 0;max-width:100vw;border-radius:var(--r2) var(--r2) 0 0;border-width:1px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (min-width: 768px){dialog.sheet{margin:auto;max-width:min(620px,calc(100vw - 16px));border-radius:var(--r2);border-width:1px}}dialog.sheet.h40{height:auto}dialog.sheet.h75{height:auto;max-height:75dvh}dialog.sheet.h95{height:95dvh}.sheet-grip{display:block;width:48px;height:5px;border-radius:3px;background:var(--border);margin:-6px auto 8px;border:0;padding:0;min-height:5px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.theme-card{flex-direction:column;align-items:stretch;gap:6px;padding:8px;min-height:76px;text-align:center}.theme-card[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch{display:flex;height:30px;border-radius:5px;overflow:hidden;border:1px solid var(--border)}.theme-swatch i{flex:1}.preview-adventure i:nth-child(1){background:#100f14}.preview-adventure i:nth-child(2){background:#322e3a}.preview-adventure i:nth-child(3){background:#edb24a}.preview-dark i:nth-child(1){background:#0f1115}.preview-dark i:nth-child(2){background:#20242d}.preview-dark i:nth-child(3){background:#6aaefc}.preview-light i:nth-child(1){background:#f3f4f7}.preview-light i:nth-child(2){background:#fff}.preview-light i:nth-child(3){background:#1b62c4}.preview-fantasy i:nth-child(1){background:#15100b}.preview-fantasy i:nth-child(2){background:#3a2e20}.preview-fantasy i:nth-child(3){background:#e5ac47}.preview-contrast i:nth-child(1){background:#000}.preview-contrast i:nth-child(2){background:#fff}.preview-contrast i:nth-child(3){background:#ffd27a}.accent-dot{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%;border:2px solid var(--border);color:#0a0a0a}.accent-dot[aria-checked=true]{border-color:var(--text)}.accent-theme{background:conic-gradient(#6aaefc,#e5ac47,#6aaefc)}.accent-blue{background:#6aaefc}.accent-teal{background:#3ecdb7}.accent-amber{background:#ebb23e}.accent-rose{background:#f58ca6}button.accent-theme:hover:not(:disabled),button.accent-blue:hover:not(:disabled),button.accent-teal:hover:not(:disabled),button.accent-amber:hover:not(:disabled),button.accent-rose:hover:not(:disabled){border-color:var(--text)}button.accent-blue:hover:not(:disabled){background:#6aaefc}button.accent-teal:hover:not(:disabled){background:#3ecdb7}button.accent-amber:hover:not(:disabled){background:#ebb23e}button.accent-rose:hover:not(:disabled){background:#f58ca6}button.accent-theme:hover:not(:disabled){background:conic-gradient(#6aaefc,#e5ac47,#6aaefc)}.dice-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.dice-overlay{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;pointer-events:none;z-index:60;color:var(--text);background:radial-gradient(ellipse 80% 70% at 50% 44%,var(--veil-1),var(--veil-2));animation:scene-in .18s ease-out}.dice-verdict{position:absolute;left:16px;right:16px;bottom:7%;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;pointer-events:none}.dice-overlay .dice-verdict{bottom:12%}.dice-verdict-label{font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--text);text-shadow:0 1px 6px rgb(0 0 0 / .8);overflow-wrap:anywhere;max-width:36ch}.dice-total{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(3.5rem,13vh,5.5rem);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;animation:total-in .42s cubic-bezier(.16,1,.3,1)}.dice-verdict.crit .dice-total{color:var(--dice-crit)}.dice-verdict.fumble .dice-total{color:var(--dice-fumble)}.dice-banner{font-family:var(--font-display);font-weight:700;font-size:clamp(1.375rem,4.5vh,2rem);letter-spacing:.02em;color:var(--dice-crit);animation:stamp .46s cubic-bezier(.16,1,.3,1)}.dice-verdict.fumble .dice-banner{color:var(--dice-fumble)}.dice-terms{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;animation:rise var(--mid) .12s ease-out both}.dice-term{font-family:var(--font-mono);font-size:.875rem;min-width:26px;padding:1px 6px;border-radius:var(--r1);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text)}.dice-term.plain{border-color:transparent;background:none;padding:1px 2px;min-width:0;color:var(--text-muted)}.dice-term.dropped{opacity:.75;text-decoration:line-through;color:var(--text-muted)}dialog.dice-table{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--scene-bg);overflow:hidden;animation:scene-in .2s ease-out}.dice-bench{height:100%;display:flex;flex-direction:column;padding:max(8px,env(safe-area-inset-top)) 16px calc(10px + env(safe-area-inset-bottom));gap:8px;color:var(--text)}.dice-top{display:flex;align-items:center;gap:4px;flex:0 0 auto}.dice-title{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px}.dice-title span{overflow-wrap:anywhere}.dice-felt{position:relative;flex:1 1 auto;min-height:180px;border-radius:26px;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;background:radial-gradient(ellipse 75% 70% at 50% 40%,var(--felt-1),var(--felt-2));border:1px solid var(--rim);box-shadow:inset 0 0 0 5px var(--scene-bg),inset 0 0 0 6px var(--border),inset 0 18px 50px #0000008c}.dice-felt:active{cursor:grabbing}.dice-bench.crit .dice-felt{border-color:var(--dice-crit)}.dice-bench.fumble .dice-felt{border-color:var(--dice-fumble)}.dice-hint{position:absolute;left:16px;right:16px;bottom:9%;margin:0;text-align:center;color:var(--text-muted);pointer-events:none;text-wrap:balance}.dice-hint.bad{color:var(--danger)}.dice-hud{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;width:100%;max-width:680px;margin:0 auto;max-height:62dvh;overflow-y:auto;scrollbar-width:none}.dice-recent{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:0 0 auto}.dice-recent button{flex:0 0 auto;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dice-recent b{color:var(--accent)}.dice-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex:0 0 auto}.dice-mode{min-height:var(--tap);padding:0 4px;font-size:.9375rem}.dice-mode.adv[aria-pressed=true]{background:var(--success);border-color:var(--success);color:#06170b}.dice-mode.dis[aria-pressed=true]{background:var(--danger);border-color:var(--danger);color:#240703}.dice-mode.none[aria-pressed=true],.dice-mode.none[aria-pressed=true]:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.dice-rack{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:0 0 auto}.dice-rack-die{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:68px;padding:4px 0 2px;background:var(--surface);border-color:var(--border);transition:transform var(--fast) ease-out,border-color var(--fast) ease-out;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.dice-rack-die img{width:44px;height:44px;pointer-events:none}.dice-rack-die:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.dice-rack-die:active:not(:disabled){transform:translateY(1px) scale(.96)}.dice-rack-name{font-size:.75rem;line-height:1.1;color:var(--text-muted)}.dice-rack-count{position:absolute;top:2px;right:2px;min-width:20px;height:20px;padding:0 4px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:20px;text-align:center;background:var(--accent);color:var(--accent-ink);animation:total-in .24s cubic-bezier(.16,1,.3,1)}.dice-action{display:flex;gap:8px;align-items:stretch;flex:0 0 auto}.dice-mod{display:flex;align-items:center;gap:2px;flex:0 0 auto}.dice-mod output{min-width:42px;text-align:center;font-size:1.125rem;font-weight:700}.dice-mod button{min-height:60px;min-width:44px}.dice-go{flex:1 1 auto;min-height:60px;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.5rem;transition:transform var(--fast) ease-out,filter var(--fast) ease-out}.dice-go:hover:not(:disabled){filter:brightness(1.08)}.dice-go:active:not(:disabled){transform:translateY(2px) scale(.985)}.dice-more{flex:0 0 auto;border-top:1px solid var(--border);padding-top:4px}.dice-more summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:32px;cursor:pointer;font-size:.875rem;color:var(--text-muted);text-align:center}.dice-more-body{display:flex;flex-direction:column;gap:10px;padding:8px 0 4px}.dice-more-body .row{align-items:flex-end}.dice-skins{display:flex;gap:8px;flex-wrap:wrap}.dice-skin{width:var(--tap);min-width:var(--tap);padding:0;border-radius:50%;background:var(--swatch);border:2px solid var(--border-strong)}.dice-skin:hover:not(:disabled){background:var(--swatch);border-color:var(--text)}.dice-skin[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--swatch)}@media (min-width: 900px) and (min-height: 620px){.dice-bench{padding-inline:32px}}@media (max-height: 560px) and (min-width: 600px){.dice-bench{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-rows:auto minmax(0,1fr)}.dice-top{grid-column:1 / -1}.dice-felt{min-height:0}.dice-hud{max-height:none;height:100%}.dice-rack-die{min-height:56px}.dice-rack-die img{width:32px;height:32px}.dice-total{font-size:3.5rem}}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:72px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:70;width:max-content;max-width:min(460px,calc(100vw - 24px));pointer-events:none}.toast{background:var(--text);color:var(--bg);border-radius:var(--r1);padding:8px 14px;font-size:.9375rem;box-shadow:var(--shadow);animation:rise var(--mid) ease-out}.logitem{padding:5px 0;border-bottom:1px solid var(--border);font-size:.9375rem;overflow-wrap:anywhere}.logitem .num{color:var(--accent);font-weight:700}.logitem.secret-entry{color:var(--secret)}.init-row{display:flex;align-items:center;gap:6px;padding:6px;border-radius:var(--r1);border:1px solid var(--border);flex-wrap:wrap;background:var(--surface-2)}.init-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:100%;justify-content:space-between}@media (pointer: fine){.init-row input,.init-row select,.init-row button{min-height:32px}.init-row button.icon{min-width:32px;padding:0 4px}}.init-row.current{border-color:var(--accent);background:var(--accent-soft)}.prose{overflow-wrap:anywhere}.prose h1{font-size:1.25rem}.prose h2{font-size:1.0625rem;margin:.6em 0 .2em}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 .6em}.wiki{background:none;border:0;padding:0;min-height:0;color:var(--accent);text-decoration:underline;cursor:pointer;display:inline;font:inherit}.wiki:hover:not(:disabled){background:none;border:0}.wiki.missing{color:var(--danger)}.hero{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.qr svg{width:200px;height:200px;background:#fff;padding:8px;border-radius:var(--r1)}.tokenlist{gap:6px}.tokenlist li{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r1);background:var(--surface-2)}.tokenlist li.selected{border-color:var(--accent);background:var(--accent-soft)}.tokenlist .icon{min-width:32px;min-height:32px}@media (pointer: coarse){.tokenlist .icon{min-width:var(--tap);min-height:var(--tap)}}.brand svg{color:var(--accent)}.choice{flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:16px;min-height:124px;border-radius:var(--r2);background:var(--surface);font-size:1rem}.choice strong{font-size:1.125rem;font-family:var(--font-display)}.choice svg{color:var(--accent)}.choice span{color:var(--text-muted);font-size:.9375rem;font-weight:400}.choice.primary{background:var(--surface);color:var(--text);border-color:var(--accent);font-weight:400}.choice.primary:hover:not(:disabled){background:var(--surface-2);filter:none;border-color:var(--accent)}.choice[aria-expanded=true]{border-color:var(--accent)}.card-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:6px 6px 6px 14px}.card-row a{font-weight:700;text-decoration:none;color:var(--text);min-height:var(--tap);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-row a:hover{color:var(--accent)}.plate{background:var(--surface);border:1px solid color-mix(in srgb,var(--rim) 55%,var(--border));border-radius:var(--r2);box-shadow:var(--shadow),var(--frame)}.table.hud .table-body{flex:1 1 auto}.stage-col{position:relative;flex:1 1 auto;min-width:0;min-height:0;display:flex}.table.compact .stage-col{display:contents}.hud-top{position:absolute;left:10px;right:10px;top:10px;z-index:9;pointer-events:none}.hud-top .topbar{background:transparent;border:0;padding:0;min-height:0;gap:8px}.hud-top .topbar.plate{background:var(--surface);border:1px solid color-mix(in srgb,var(--rim) 55%,var(--border));padding:3px 8px;pointer-events:auto}.hud-top .plate{pointer-events:auto}.title-plate,.top-actions,.hud-top .scene-switch{display:flex;align-items:center;gap:4px;padding:3px 6px;min-width:0}.hud-top .scene-switch{padding-left:4px;gap:6px}.compact .topbar .plate{background:none;border:0;box-shadow:none;padding:0;display:flex;align-items:center;gap:2px;min-width:0}.compact .topbar .title-plate{flex:1 1 0}.topbar h1,.title-plate h1{font-family:var(--font-display);font-size:1.0625rem}.scene-state{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;white-space:nowrap;padding:0 4px}.scene-state.live{color:var(--success)}.scene-state.preview{color:var(--secret)}.hud-banners{position:absolute;left:50%;transform:translate(-50%);top:66px;z-index:9;width:min(640px,calc(100% - 96px));display:flex;flex-direction:column;gap:6px;pointer-events:none}.hud-banners>*{pointer-events:auto}.hud-banners .banner{border:1px solid color-mix(in srgb,var(--rim) 55%,var(--border));border-radius:var(--r2);box-shadow:var(--shadow);background:var(--surface)}.hud-banners .banner.ask{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.hud-banners .banner.turn{background:var(--primary-bg)}.table.hud .strip{top:64px;left:70px;right:14px}.table.hud:has(.hud-banners>*) .strip{top:124px}.table.hud .map-note{top:66px}.table.hud .map-hint{top:120px}.table.hud .stage-flag{top:66px}.hotbar{position:absolute;left:50%;transform:translate(-50%);bottom:12px;z-index:8;display:flex;align-items:flex-end;gap:4px;padding:6px 12px;max-width:calc(100% - 24px);background:var(--surface);border:1px solid color-mix(in srgb,var(--rim) 55%,var(--border));border-radius:22px;box-shadow:var(--shadow),var(--frame)}.hotbar>button:not(.hotbar-die),.bottom-nav button{position:relative;flex-direction:column;gap:2px;background:transparent;box-shadow:none;border:0;padding:2px 4px;min-width:66px;min-height:0;color:var(--text-muted);font-size:.75rem;line-height:1.15}.hotbar>button:hover:not(:disabled):not(.hotbar-die){background:transparent;color:var(--text)}.medal{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--btn-bg);border:1px solid var(--rim);box-shadow:var(--btn-shine);color:var(--text);transition:box-shadow var(--fast),border-color var(--fast),color var(--fast)}.hotbar>button:hover:not(:disabled) .medal{border-color:var(--accent);color:var(--accent)}.hotbar>button[aria-current=true],.bottom-nav button[aria-current=true]{color:var(--text);font-weight:700}button[aria-current=true]>.medal{background:var(--primary-bg);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--primary-shine),0 0 14px var(--accent-soft)}.hotbar-die{width:68px;height:68px;min-width:68px;margin:-22px 8px 0;padding:0;border-radius:50%;color:var(--accent-ink);background:var(--primary-bg);border:2px solid var(--rim);box-shadow:var(--primary-shine),var(--shadow);transition:transform var(--fast),filter var(--fast)}.hotbar-die:hover:not(:disabled){background:var(--primary-bg);border-color:var(--accent);filter:brightness(1.08);transform:rotate(30deg)}.hotbar .nav-badge{top:-2px;right:10px}.compact .bottom-nav button{flex:1 1 0;min-width:0;min-height:62px;padding:5px 2px;border-radius:0}.compact .bottom-nav .medal{width:34px;height:34px}.compact .bottom-nav button[aria-current=true]{box-shadow:none}.compact .bottom-nav button[aria-current=true] svg{color:var(--accent-ink)}.more-grid .medal{background:none;border:0;box-shadow:none}.table.hud .dock{border-left:1px solid color-mix(in srgb,var(--rim) 55%,var(--border));box-shadow:-8px 0 24px #0000004d;z-index:10}.table.hud .dock-panel{border-right:0}.panel>header{background:var(--surface-2)}.panel-mark{color:var(--accent);display:inline-flex}.panel>header h2{font-family:var(--font-display);font-size:1.1875rem}.card{box-shadow:var(--frame)}.portrait{width:38px;height:38px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--font-display);font-weight:600;font-size:1rem;color:#fff;background:#6f2a24;border:2px solid var(--rim)}.portrait.npc{background:#5e4a1e}.portrait.pc{background:#1d4a80}.portrait img{width:100%;height:100%;object-fit:cover}.roster li,.bestiary li{display:flex;align-items:center;gap:4px;padding:3px 4px;border:1px solid var(--border);border-radius:var(--r1);background:var(--surface-2)}.roster li.selected{border-color:var(--accent);background:var(--accent-soft)}.roster-main,.bestiary-main{flex:1 1 0;min-width:0;justify-content:flex-start;text-align:left;padding:2px 4px;min-height:44px;gap:8px}.roster-main .grow,.bestiary-main .grow{display:flex;flex-direction:column;min-width:0}.roster-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster .icon,.bestiary .icon{min-width:36px;min-height:36px;flex:none}@media (pointer: coarse){.roster .icon,.bestiary .icon{min-width:var(--tap);min-height:var(--tap)}}.bestiary li[draggable=true]{cursor:grab}.bestiary .place{border-color:var(--rim);color:var(--accent)}.segmented{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.segmented .field-label{margin-right:4px}.segmented button,.editor-tools button{min-height:34px;font-size:.875rem}[role=radio][aria-checked=true]:not(.theme-card):not(.accent-dot){background:var(--primary-bg);box-shadow:var(--primary-shine);color:var(--accent-ink);border-color:var(--accent)}.filter-row{gap:4px}.chip-btn{min-height:32px;border-radius:999px;padding:0 12px;font-size:.8125rem}.statblock-head{display:flex;gap:10px;align-items:center}.statblock-head .portrait{width:56px;height:56px;font-size:1.5rem}.statblock-head h3{font-family:var(--font-display);font-size:1.375rem}.action-line{gap:4px;padding:6px 0;border-top:1px solid var(--border)}.action-line button{min-height:34px;font-size:.875rem}.action-line button:first-of-type{font-family:var(--font-mono)}.card-actions{max-height:170px;overflow-y:auto}.name-field{display:flex;gap:4px;align-items:stretch}.name-field input{flex:1 1 0;min-width:0}.name-field select{flex:0 1 110px;width:auto;min-width:0}.name-field button{flex:none;color:var(--accent)}.creature-form h3{font-family:var(--font-display)}.portrait-pick{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex:none;padding-top:18px}.portrait-pick .portrait{width:64px;height:64px;font-size:1.625rem}.abil-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;text-align:center}.abil-grid input{text-align:center;padding-inline:2px}@media (max-width: 480px){.abil-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.edit-block{border:1px solid var(--border);border-radius:var(--r1);padding:8px;margin:0;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}.form-actions{position:sticky;bottom:-16px;background:var(--surface);padding:8px 0}.fighters li label{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r1);padding:3px 8px}.init-extra{align-items:flex-end}.token-card header{display:flex;align-items:center;gap:6px}.token-card h3{font-family:var(--font-display);font-size:1.125rem}.preview-frame{position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 0 3px var(--secret),inset 0 0 90px #32195a8c;display:flex;justify-content:center;align-items:flex-start;padding-top:68px}.preview-frame button{pointer-events:auto}.compact .preview-frame{padding-top:58px}.map-editor{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg)}.builder-top{display:flex;align-items:center;gap:8px;padding:6px 8px;flex:none}.editor-title{font-family:var(--font-display);font-size:1.0625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.builder-actions{gap:4px;flex:none}.builder-main{flex:1 1 auto;min-height:0;display:flex;gap:8px}.builder-rail{display:flex;flex-direction:column;gap:2px;padding:4px;flex:none;align-self:flex-start}.builder-rail button[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.builder-center{position:relative;flex:1 1 auto;min-width:0;display:flex}.builder-stage{position:relative;flex:1 1 auto;overflow:hidden;border-radius:var(--r2);background:var(--map-bg);box-shadow:inset 0 0 0 1px var(--border);touch-action:none;user-select:none;cursor:crosshair}.builder-stage.tool-select{cursor:default}.builder-stage.tool-pick{cursor:copy}.builder-stage.panning{cursor:grab}.builder-stage.panning:active{cursor:grabbing}.builder-sheet{position:absolute;left:0;top:0;transform-origin:0 0;box-shadow:0 0 0 2px #00000080,0 18px 40px #00000073}.builder-sheet canvas[data-testid=edit-map-canvas]{display:block;width:100%;height:100%}.builder-grid{position:absolute;inset:0;pointer-events:none;--t: calc(1px / var(--s));background-image:linear-gradient(to right,rgb(0 0 0 / .32) var(--t),transparent var(--t)),linear-gradient(to bottom,rgb(0 0 0 / .32) var(--t),transparent var(--t)),linear-gradient(to right,transparent var(--t),rgb(255 255 255 / .14) var(--t),rgb(255 255 255 / .14) calc(var(--t) * 2),transparent calc(var(--t) * 2)),linear-gradient(to bottom,transparent var(--t),rgb(255 255 255 / .14) var(--t),rgb(255 255 255 / .14) calc(var(--t) * 2),transparent calc(var(--t) * 2));background-size:70px 70px}.builder-cursor,.builder-box,.builder-selection,.builder-ghost{position:absolute;pointer-events:none}.builder-cursor{outline:calc(2px / var(--s)) solid var(--accent);outline-offset:calc(-2px / var(--s));background:#ffffff1a}.builder-box{outline:calc(3px / var(--s)) dashed var(--accent);outline-offset:calc(-3px / var(--s));background:var(--accent-soft)}.builder-selection{outline:calc(2px / var(--s)) solid var(--accent);box-shadow:0 0 0 calc(4px / var(--s)) #00000073}.builder-ghost{opacity:.72}.builder-ghost.bad{filter:grayscale(1) sepia(1) hue-rotate(-50deg) saturate(6)}.builder-zoom{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:2px;padding:3px}.builder-zoom button[role=switch][aria-checked=true]{color:var(--accent)}.builder-percent{min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.builder-context{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px}.builder-current{min-height:40px;padding:3px 10px 3px 3px;gap:8px;flex:none}.builder-current img{width:34px;height:34px;border-radius:4px;display:block}.builder-current-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-sizes{gap:2px;flex:none}.builder-sizes button{min-width:36px;padding:0 6px;font-variant-numeric:tabular-nums}.builder-sizes button[aria-checked=true],.builder-object-tools button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.builder-object-tools{gap:4px}.builder-object-tools button{white-space:nowrap;flex:none}.builder-hint{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;min-width:0}.builder-palette{width:316px;flex:none;display:flex;flex-direction:column;gap:8px;padding:8px;min-height:0}.palette-head{gap:4px}.palette-close{display:none}.palette-search{position:relative;flex:1 1 auto;display:flex;align-items:center;min-width:0}.palette-search svg{position:absolute;left:10px;color:var(--muted);pointer-events:none}.palette-search input{width:100%;padding-left:32px}.palette-tabs{display:flex;gap:2px;flex:none}.palette-tabs button{flex:1 1 0;min-width:0;padding:0 6px;font-size:.875rem}.palette-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.palette-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.palette-scroll h4{margin:0 0 4px;font-family:var(--font-display);font-size:.9375rem}.palette-create{flex:none}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tile-cell{position:relative;min-width:0}.tile-btn{position:relative;width:100%;flex-direction:column;gap:2px;min-height:0;padding:3px;font-size:.6875rem;line-height:1.1;font-weight:400}.tile-btn img{width:100%;aspect-ratio:1;border-radius:4px;display:block;background:var(--map-bg)}.tile-btn span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-btn[aria-checked=true]{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.tile-size{position:absolute;top:5px;left:5px;padding:0 3px;border-radius:3px;background:#000000b8;color:#fff;font-size:.625rem}.tile-edit{position:absolute;top:2px;right:2px;min-width:24px;min-height:24px;width:24px;height:24px;padding:0;background:#0000009e;color:#fff}.tile-creator{min-height:0}.tile-fields{align-items:flex-end}.tile-fields label.grow{flex:1 1 180px}.tile-fields input:not([type]){width:100%}.tile-actions{flex:none}.checker{background-color:#2a2a30;background-image:linear-gradient(45deg,#3a3a42 25%,transparent 25%,transparent 75%,#3a3a42 75%),linear-gradient(45deg,#3a3a42 25%,transparent 25%,transparent 75%,#3a3a42 75%);background-size:16px 16px;background-position:0 0,8px 8px}.pixel-editor{display:flex;flex-direction:column;gap:8px;min-height:0}.pixel-tools button[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.pixel-res{display:flex;align-items:center;gap:6px;margin-left:auto}.pixel-res select{width:70px}.pixel-stage{display:flex;justify-content:center}.pixel-canvas{width:min(100%,340px,calc(46dvh * var(--pixel-ratio, 1)));max-height:46dvh;image-rendering:pixelated;touch-action:none;cursor:crosshair;background-color:#2a2a30;background-image:linear-gradient(45deg,#3a3a42 25%,transparent 25%,transparent 75%,#3a3a42 75%),linear-gradient(45deg,#3a3a42 25%,transparent 25%,transparent 75%,#3a3a42 75%);background-size:16px 16px;background-position:0 0,8px 8px;box-shadow:0 0 0 1px var(--border)}.pixel-colors{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pixel-colors>button{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;border-radius:6px;border:1px solid rgb(255 255 255 / .2)}.pixel-colors>button[aria-checked=true]{outline:2px solid var(--accent);outline-offset:1px}.pixel-custom{display:flex;align-items:center;gap:6px;margin-left:6px}.pixel-custom input{width:40px;height:30px;padding:0}.tile-preview{display:block;width:min(100%,260px);max-height:40dvh;image-rendering:pixelated;box-shadow:0 0 0 1px var(--border)}.tile-file{flex:none}.sheet-view{overflow:auto;max-height:44dvh;border-radius:var(--r1);box-shadow:0 0 0 1px var(--border)}.sheet-view canvas{display:block;cursor:pointer}@media (max-width: 899px){.map-editor{padding:4px;gap:4px}.builder-top .editor-title,.builder-label,.builder-hint{display:none}.builder-current-name{max-width:84px;font-size:.8125rem}.builder-top{justify-content:flex-end;padding:3px 4px}.builder-main{flex-direction:column-reverse;gap:4px}.builder-rail{flex-direction:row;align-self:stretch;justify-content:space-between}.builder-center{flex:1 1 auto;min-height:0}.builder-zoom{top:4px;right:4px}.builder-percent{display:none}.builder-context{left:4px;bottom:4px;max-width:calc(100% - 8px);padding:4px}.builder-palette{position:fixed;left:0;right:0;bottom:0;width:auto;height:62dvh;z-index:2;border-radius:var(--r2) var(--r2) 0 0;transform:translateY(102%);transition:transform .18s ease-out;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.builder-palette.open{transform:none}.palette-close{display:inline-flex}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}}@media (min-width: 900px){.builder-current{cursor:default}}.title-screen{position:relative;max-width:720px;padding-top:44px}.title-screen:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 46% at 50% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}.title-gear{position:absolute;right:12px;top:12px}.title-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.title-emblem{color:var(--accent);display:inline-flex;filter:drop-shadow(0 0 22px var(--accent-soft))}.title-name{margin:0;font-family:var(--font-display);font-weight:var(--heading-weight);font-size:clamp(3rem,11vw,4.75rem);line-height:1;letter-spacing:.01em}.title-ask{font-size:1.25rem;text-align:center}.title-screen h2{font-family:var(--font-display)}.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:var(--heading-weight);font-size:1.125rem}.choice{box-shadow:var(--frame);background:var(--surface)}.choice svg{width:30px;height:30px}.choice:hover:not(:disabled){transform:translateY(-2px);background:var(--surface-2);border-color:var(--accent)}.slot{box-shadow:var(--frame);padding-left:16px}.slot a{font-family:var(--font-display);font-size:1.0625rem}@keyframes pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scene-in{0%{opacity:0}to{opacity:1}}@keyframes total-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes stamp{0%{transform:scale(2.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes turn{0%{transform:translateY(-14px) scale(.96);opacity:0}to{transform:none;opacity:1}}@keyframes glow{50%{box-shadow:0 0 0 1px var(--accent),0 0 18px var(--accent-soft),0 0 22px var(--accent)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.spinner{animation:none}}@media (max-width: 1100px){.wide-label{display:none}.scene-switch select{width:clamp(110px,16vw,180px)}.scene-state{display:none}}@media (max-width: 899px){.wide-only{display:none!important}.topbar{padding:4px 6px;gap:2px}.topbar h1{max-width:none;flex:1 1 0}.topbar .spacer{flex:0 0 0}h1{font-size:1.625rem}.token-card{left:8px;right:8px;width:auto;max-width:none;bottom:8px;max-height:62%}}.stage-col{container-type:inline-size}.hud-top button{white-space:nowrap}.hud-top .scene-switch select{width:clamp(120px,14cqw,220px)}.hud-top .title-plate{flex:0 1 auto}.hud-top .title-plate h1{max-width:16ch}@container (max-width: 1180px){.hud-top .wide-label,.top-actions>button>.wide-only{display:none}}@container (max-width: 980px){.hud-top .title-plate h1,.hud-top .title-plate .dot,.hud-top .scene-state{display:none}}@container (max-width: 700px){.hud-top button.primary svg{display:none}.hud-top .scene-switch select{width:110px}.hotbar>button:not(.hotbar-die){min-width:54px;font-size:.6875rem}}
