@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-normal-DG8lny6_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-normal-DDLP67lu.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-400-normal-C0kVTdou.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-400-normal-BaZl8BIK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-normal-CVAbzS9p.woff2)format("woff2"),url(/assets/eb-garamond-greek-400-normal-d4JlP2QH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-400-normal-ifvNSiWx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-400-normal-B4EmgUmt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-cyrillic-ext-700-normal-BeF6LAyO.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-700-normal-CFbzJSLA.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-cyrillic-700-normal-DEvK75yC.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-700-normal-CZqEm0B2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-greek-ext-700-normal-DGTau5GQ.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-700-normal-l_ss-YUz.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-greek-700-normal-B_d4xcbv.woff2)format("woff2"),url(/assets/eb-garamond-greek-700-normal-fZsQHTKB.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-vietnamese-700-normal-E9ZwkAgy.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-700-normal-FE-NyQWj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-latin-ext-700-normal-Codxv15T.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-700-normal-JC0X9ytv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-latin-700-normal-D7LhwqnD.woff2)format("woff2"),url(/assets/eb-garamond-latin-700-normal-DcHu0PDI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-brand:#5e2b97;--color-brand-dark:#4a1c78;--color-brand-light:#a98bd0;--color-bg:#1a1a1c;--color-surface:#2c2c30;--color-text:#eae6d7;--color-text-muted:#a8a496;--color-accent:#d4a017;--color-on-accent:#1a1a1c;--color-bloodied:#c62f36;--color-condition-bg:#123a36;--color-condition-text:#8fd9c9;--font-display:"EB Garamond", serif;--font-ui:system-ui, sans-serif}*{box-sizing:border-box;min-width:0}:root{--nav-height:72px;--fixed-bar-height:0px;--floating-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--fixed-bar-height) + 12px)}html,body,#app{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.app-header{background:var(--color-brand);color:var(--color-text);padding:12px 20px}.header-content{justify-content:space-between;align-items:center;gap:18px;width:min(100%,960px);min-height:58px;margin:0 auto;display:flex}.app-name{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:700}.home-link{min-height:44px;color:var(--color-text);align-items:center;gap:8px;text-decoration:none;display:flex}.home-icon{fill:none;width:28px;height:28px;stroke:var(--color-brand-light);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;flex:none}.header-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-actions{flex:none;align-items:center;gap:4px;display:flex}.header-icon-button{min-width:44px;min-height:44px;color:var(--color-text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.header-icon-button.close-notebook{border:1px solid var(--color-brand-light);background:var(--color-brand-dark)}.header-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:24px;height:24px}.gear-teeth{stroke-dasharray:3.14;stroke-linecap:butt;stroke-width:3px}.close-notebook-text,.close-notebook-rest{display:none}@media (width>=400px) and (width<=760px){.close-notebook-text{display:inline}}@media (width>=1000px){.close-notebook-text,.close-notebook-rest{display:inline}.app-name,.home-link,.campaign-picker span{white-space:nowrap;flex:none}.header-title{flex:none}.campaign-picker{flex:1;justify-content:flex-end}.campaign-picker select{flex:1;width:auto;max-width:340px}}.campaign-picker{align-items:center;gap:12px;font-size:1rem;font-weight:650;display:flex}.campaign-picker select{border:1px solid var(--color-brand-light);background:var(--color-surface);width:min(52vw,340px);min-height:48px;color:var(--color-text);font:inherit;border-radius:8px;padding:8px 36px 8px 12px}.header-error{width:min(100%,960px);color:var(--color-text);margin:8px auto 0;font-size:1rem}button,a{font:inherit}.app-shell{min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.page-content{width:min(100%,960px);min-height:calc(100vh - 150px);margin:0 auto;padding:28px 20px 92px}.screen-title{color:var(--color-text);font-family:var(--font-display);margin:0;font-size:clamp(2rem,6vw,2.75rem);font-weight:700;line-height:1.1}.bottom-nav{z-index:2;min-height:calc(72px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:var(--color-brand);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-width:0;color:var(--color-brand-light);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.875rem;font-weight:650;line-height:1.1;text-decoration:none;display:flex}.nav-item[aria-current=page]{color:var(--color-text)}.nav-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:24px;height:24px}.opening-cover{z-index:10;background:var(--color-brand-dark);perspective:1400px;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.opening-cover.is-leaving{transform-origin:0;animation:.4s ease-in forwards close-cover}.cover-button{border:2px solid var(--color-accent);width:min(100%,560px);min-height:min(72vh,620px);color:var(--color-text);cursor:pointer;background:0 0;place-items:center;margin:auto;padding:24px;display:grid}.cover-frame{border:1px solid var(--color-accent);text-align:center;place-content:center;justify-items:center;width:100%;min-height:min(66vh,570px);padding:32px 20px;display:grid}.cover-mark{fill:none;width:46px;height:46px;stroke:var(--color-brand-light);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;margin-bottom:24px}.cover-title{max-width:12ch;color:var(--color-text);font-family:var(--font-display);margin:0;font-size:clamp(2.5rem,10vw,4.6rem);font-weight:700;line-height:.95}.cover-subtitle{color:var(--color-text-muted);font-family:var(--font-display);margin:14px 0 0;font-size:clamp(1.05rem,4vw,1.35rem)}.cover-prompt{color:var(--color-brand-light);margin-top:48px;font-size:.85rem}.cover-button.is-locked{cursor:default;min-height:0;padding:12px}.is-locked .cover-frame{gap:10px;min-height:0;padding:20px 12px}.is-locked .cover-mark{width:30px;height:30px;margin-bottom:0}.is-locked .cover-title{max-width:none;font-size:clamp(1.7rem,7vw,2.6rem);line-height:1}.is-locked .cover-subtitle{margin:0;font-size:1rem}.cover-pin-prompt{margin-top:8px;font-size:1.1rem;font-weight:650;line-height:1.25}.cover-message{min-height:1.3em;font-size:1.05rem;font-weight:650;line-height:1.3}.cover-password{gap:10px;width:min(100%,320px);display:grid}.cover-password input{border:1px solid var(--color-brand-light);background:var(--color-bg);width:100%;min-height:52px;color:var(--color-text);border-radius:10px;padding:10px 12px;font-size:1.1rem}.cover-link{min-height:44px;color:var(--color-brand-light);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:1rem;font-weight:650;text-decoration:underline}.cover-retry{border:1px solid var(--color-brand-light);background:var(--color-brand);min-height:56px;color:var(--color-text);cursor:pointer;border-radius:10px;padding:8px 20px;font-size:1.1rem;font-weight:700}@media (width<=420px){.opening-cover{padding:12px}}@media (height<=640px){.is-locked .cover-mark{display:none}.is-locked .cover-frame{gap:6px;padding:12px}.cover-button.is-locked{padding:8px}}@media (width<=760px){.header-content{flex-direction:column;align-items:stretch;gap:8px}.campaign-picker{flex-direction:column;align-items:stretch;gap:6px}.campaign-picker select{width:100%}}@media (width<=400px){.app-name{font-size:1.25rem;line-height:1.15}.header-title{gap:8px}}@media (width<=480px){.home-icon{display:none}}@keyframes close-cover{to{opacity:0;visibility:hidden;transform:rotateY(-95deg)}}.close-header[data-v-6d2ed036]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.close-title[data-v-6d2ed036]{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;overflow:hidden}.close-button[data-v-6d2ed036]{border:1px solid var(--color-brand-light);background:var(--color-surface);min-height:48px;color:var(--color-text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:1rem;font-weight:700;display:flex}.confirm-backdrop[data-v-4cef3ce2]{z-index:30;background:color-mix(in srgb, var(--color-bg) 85%, transparent);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.confirm-dialog[data-v-4cef3ce2]{border:1px solid var(--color-brand-light);background:var(--color-surface);border-radius:12px;gap:14px;width:min(100%,460px);padding:16px;display:grid}.confirm-text[data-v-4cef3ce2]{overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1.45}.confirm-field[data-v-4cef3ce2]{gap:6px;font-weight:650;display:grid}.confirm-field input[data-v-4cef3ce2]{border:1px solid var(--color-brand-light);background:var(--color-bg);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:8px;padding:8px 12px}.confirm-actions[data-v-4cef3ce2]{flex-wrap:wrap;gap:10px;display:flex}.confirm-button[data-v-4cef3ce2]{border:1px solid var(--color-brand-light);background:var(--color-bg);min-height:48px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:700}.confirm-button.is-primary[data-v-4cef3ce2]{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-text)}.confirm-button.is-danger[data-v-4cef3ce2]{border-color:var(--color-bloodied);background:var(--color-bloodied);color:var(--color-text)}.confirm-button[data-v-4cef3ce2]:disabled{opacity:.55;cursor:not-allowed}.field-error[data-v-f3be280e]{border-left:3px solid var(--color-brand-light);color:var(--color-brand-light);overflow-wrap:anywhere;margin-top:4px;padding-left:8px;font-size:.95rem;font-weight:700;line-height:1.35;display:block}.roll-mode[data-v-cc1091d7]{flex-wrap:wrap;gap:6px;display:flex}.roll-mode-button[data-v-cc1091d7]{border:1px solid var(--color-brand-light);background:var(--color-surface);min-height:44px;color:var(--color-text);white-space:nowrap;cursor:pointer;border-radius:8px;flex:1 0 auto;padding:4px 8px;font-size:.95rem;font-weight:700}.roll-mode-button.is-active[data-v-cc1091d7]{border-color:var(--color-text);background:var(--color-brand)}.struck[data-v-5690e43e]{color:var(--color-text-muted);font-weight:400}.dice-toggle[data-v-9a2823f2]{z-index:5;right:112px;bottom:var(--floating-bottom);border:1px solid var(--color-accent);background:var(--color-accent);min-height:46px;color:var(--color-on-accent);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:8px 12px;font-size:.95rem;font-weight:700;display:flex;position:fixed}.dice-toggle svg[data-v-9a2823f2]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:22px;height:22px}.roll-highlight[data-v-9a2823f2]{z-index:8;border:3px solid var(--color-accent);background:var(--color-bg);width:min(100% - 20px,520px);color:var(--color-text);text-align:center;cursor:pointer;border-radius:12px;justify-items:center;gap:2px;margin:0 auto;padding:10px 14px 12px;display:grid;position:fixed;top:10px;left:10px;right:10px}.highlight-close[data-v-9a2823f2]{border:1px solid var(--color-brand-light);border-radius:6px;justify-self:end;padding:2px 8px;font-size:.95rem;font-weight:700}.highlight-label[data-v-9a2823f2]{overflow-wrap:anywhere;font-size:1rem;font-weight:700}.highlight-total[data-v-9a2823f2]{color:var(--color-accent);font-size:3.2rem;font-weight:800;line-height:1}.highlight-outcome[data-v-9a2823f2]{font-size:1.25rem;font-weight:800}.highlight-text[data-v-9a2823f2]{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:1.05rem}.dice-panel[data-v-9a2823f2]{z-index:5;right:0;bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100vh - 90px - env(safe-area-inset-bottom));border-top:2px solid var(--color-accent);background:var(--color-bg);padding:12px 20px;position:fixed;left:0;overflow-y:auto}.dice-inner[data-v-9a2823f2]{gap:10px;width:min(100%,920px);margin:0 auto;display:grid}.dice-fields[data-v-9a2823f2]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dice-field[data-v-9a2823f2]{color:var(--color-text-muted);gap:5px;font-size:1rem;display:grid}.dice-field input[data-v-9a2823f2]{border:1px solid var(--color-text-muted);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:8px;padding:8px 12px;font-size:1.1rem}.dice-grid[data-v-9a2823f2]{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;display:grid}.die-button[data-v-9a2823f2]{border:1px solid var(--color-accent);background:var(--color-accent);min-height:56px;color:var(--color-on-accent);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:1.25rem;font-weight:800}.die-button[data-v-9a2823f2]:disabled,.history-button[data-v-9a2823f2]:disabled{cursor:not-allowed;opacity:.55}.dice-free[data-v-9a2823f2]{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.dice-hint[data-v-9a2823f2],.dice-error[data-v-9a2823f2]{margin:0;font-size:1rem;line-height:1.4}.dice-hint[data-v-9a2823f2]{color:var(--color-text-muted)}.dice-help[data-v-9a2823f2]{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.dice-help code[data-v-9a2823f2]{color:var(--color-text);white-space:nowrap;font-size:1em}.abilities-button[data-v-9a2823f2]{justify-self:start;font-size:1.1rem}.abilities[data-v-9a2823f2]{border:1px solid var(--color-accent);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.ability-scores[data-v-9a2823f2]{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ability-score[data-v-9a2823f2]{background:var(--color-surface);text-align:center;border-radius:8px;padding:8px 0;font-size:1.5rem;font-weight:800}.abilities-sum[data-v-9a2823f2]{margin:0;font-size:1.1rem}.abilities-detail[data-v-9a2823f2]{color:var(--color-text-muted);gap:2px;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.dice-error[data-v-9a2823f2]{border:2px solid var(--color-brand-light);border-radius:8px;padding:10px 12px;font-weight:700}.history-heading[data-v-9a2823f2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.history-heading .dice-title[data-v-9a2823f2]{margin:0}.dice-title[data-v-9a2823f2]{font-family:var(--font-display);margin:6px 0 0;font-size:1.35rem}.history[data-v-9a2823f2]{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-item[data-v-9a2823f2]{background:var(--color-surface);overflow-wrap:anywhere;border-radius:8px;gap:4px;padding:10px 12px;font-size:1.05rem;display:grid}.history-head[data-v-9a2823f2]{flex-wrap:wrap;gap:4px 10px;display:flex}.history-time[data-v-9a2823f2]{color:var(--color-text-muted)}.history-label[data-v-9a2823f2]{font-weight:700}.history-button[data-v-9a2823f2]{border:1px solid var(--color-brand-light);background:var(--color-bg);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:8px;justify-self:start;padding:6px 12px;font-size:1rem;font-weight:700}.pin-pad[data-v-7d767253]{gap:10px;width:min(100%,320px);display:grid}.pin-display[data-v-7d767253]{border-bottom:1px solid var(--color-brand-light);justify-content:center;align-items:center;gap:10px;height:36px;margin:0;display:flex}.pin-dot[data-v-7d767253]{background:var(--color-text);border-radius:50%;width:14px;height:14px}.pin-keys[data-v-7d767253]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pin-key[data-v-7d767253]{border:1px solid var(--color-brand-light);background:var(--color-bg);min-height:60px;color:var(--color-text);font-family:var(--font-ui);cursor:pointer;border-radius:10px;padding:0 4px;font-size:1.7rem;font-weight:700}.pin-key.is-word[data-v-7d767253]{font-size:1.05rem}.pin-key.is-enter[data-v-7d767253]{background:var(--color-brand)}.pin-key[data-v-7d767253]:disabled{cursor:not-allowed;opacity:.5}@media (height<=640px){.pin-key[data-v-7d767253]{min-height:56px}}.generator[data-v-4a5e2087]{border:2px solid var(--color-accent);background:var(--color-surface);border-radius:12px;gap:12px;padding:14px;display:grid}.generator-selectors[data-v-4a5e2087]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.generator-field[data-v-4a5e2087]{color:var(--color-text-muted);gap:5px;font-size:1rem;display:grid}.generator-field select[data-v-4a5e2087]{border:1px solid var(--color-text-muted);background:var(--color-bg);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:8px;padding:8px 10px;font-size:1rem}.generator-rows[data-v-4a5e2087]{gap:6px;margin:0;display:grid}.generator-row[data-v-4a5e2087]{background:var(--color-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:2px 10px;padding:8px 10px;display:grid}.generator-row dt[data-v-4a5e2087]{color:var(--color-text-muted);grid-column:1;font-size:.95rem}.generator-row dd[data-v-4a5e2087]{color:var(--color-text);overflow-wrap:anywhere;grid-column:1;margin:0;font-size:1.1rem;line-height:1.35}.generator-row dd.is-name[data-v-4a5e2087]{font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1.1}.reroll-button[data-v-4a5e2087]{border:1px solid var(--color-accent);width:48px;height:48px;color:var(--color-accent);cursor:pointer;background:0 0;border-radius:8px;grid-area:1/2/span 2;font-size:1.5rem;line-height:1}.generator-actions[data-v-4a5e2087]{flex-wrap:wrap;gap:10px;display:flex}.generator-button[data-v-4a5e2087]{border:1px solid var(--color-brand-light);background:var(--color-surface);min-height:48px;color:var(--color-text);cursor:pointer;border-radius:8px;padding:9px 14px;font-size:1rem;font-weight:700}.generator-button.is-primary[data-v-4a5e2087]{background:var(--color-brand)}.generator-button.is-roll[data-v-4a5e2087]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.generator-button[data-v-4a5e2087]:disabled,.reroll-button[data-v-4a5e2087]:disabled{cursor:not-allowed;opacity:.45}.generator-error[data-v-4a5e2087]{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}@media (width<=420px){.generator-selectors[data-v-4a5e2087]{grid-template-columns:1fr}}.quick-note-toggle[data-v-0ffaf802]{z-index:5;right:14px;bottom:var(--floating-bottom);border:1px solid var(--color-brand-light);background:var(--color-brand);min-height:46px;color:var(--color-text);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:8px 12px;font-size:.95rem;font-weight:700;display:flex;position:fixed}.quick-note-toggle svg[data-v-0ffaf802]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.quick-note-confirmation[data-v-0ffaf802]{z-index:5;right:14px;bottom:calc(var(--floating-bottom) + 54px);border:1px solid var(--color-brand-light);background:var(--color-surface);color:var(--color-text);border-radius:8px;margin:0;padding:8px 12px;font-size:1rem;position:fixed}.quick-note-panel[data-v-0ffaf802]{z-index:5;right:0;bottom:calc(72px + env(safe-area-inset-bottom));border-top:2px solid var(--color-brand-light);background:var(--color-bg);max-height:calc(100vh - 90px - env(safe-area-inset-bottom));padding:12px 20px;position:fixed;left:0;overflow-y:auto}.quick-note-inner[data-v-0ffaf802]{gap:8px;width:min(100%,920px);margin:0 auto;display:grid}.quick-note-label[data-v-0ffaf802]{color:var(--color-text-muted);font-size:1rem}.quick-note-panel textarea[data-v-0ffaf802]{border:1px solid var(--color-text-muted);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;resize:none;border-radius:8px;padding:10px 12px;font-size:1.1rem;line-height:1.4}.quick-note-actions[data-v-0ffaf802]{flex-wrap:wrap;gap:10px;display:flex}.quick-note-button[data-v-0ffaf802]{border:1px solid var(--color-brand-light);background:var(--color-surface);min-height:48px;color:var(--color-text);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:1rem;font-weight:700}.quick-note-button.is-primary[data-v-0ffaf802]{background:var(--color-brand)}.quick-note-button.is-roll[data-v-0ffaf802]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.quick-note-button[data-v-0ffaf802]:disabled{cursor:not-allowed;opacity:.55}.quick-note-error[data-v-0ffaf802]{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}
