@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--color-red-700:#bf000f;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--leading-relaxed:1.625;--radius-md:.375rem;--default-font-family:"Lora", Georgia, serif;--default-mono-font-family:"DM Mono", monospace}@supports (color:lab(0% 0 0)){:root,:host{--color-red-700:lab(40.4273% 67.2623 53.7441)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:focus-visible{outline-offset:3px;outline:2px solid #84916a}::selection{color:#292b24;background:#dbe895}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.basis-full{flex-basis:100%}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-line{border-color:#deddd2}.bg-paper{background-color:#f4f2e9}.bg-parchment{background-color:#fbfaf5}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-ink{color:#292b24}.text-muted{color:#77796e}.text-red-700{color:var(--color-red-700)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-forest:focus-visible{--tw-ring-color:#526245}}:root{--ink:#292b24;--paper:#f4f2e9;--white:#fbfaf5;--muted:#77796e;--line:#deddd2;--green:#526245;--green-dark:#354331;--lime:#dbe895;--serif:"Cinzel",Georgia,serif;--sans:"Lora",Georgia,serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:14px}button,input,textarea{font:inherit}button{color:inherit}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#eeece2;flex-direction:column;height:100vh;padding:26px 17px;display:flex;position:sticky;top:0}.brand{cursor:pointer;letter-spacing:.15em;background:0 0;border:0;align-items:center;gap:10px;height:35px;padding:0 12px;font-size:13px;display:flex}.brand span{color:#718055;font-size:23px}.sidebar-caption,.breadcrumb,.edition-badge,.sidebar-bottom,.eyebrow,.card-kicker,.level-pill,.encounter-index,.app-footer,.section-aside{font-family:var(--mono);letter-spacing:.1em;font-size:9px}.sidebar-caption{color:#929286;margin:49px 12px 13px}.side-nav{gap:5px;display:grid}.side-nav button{text-align:left;color:#66685e;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:13px;padding:12px;font-size:13px;display:flex}.side-nav button>span{text-align:center;width:16px;font-size:16px}.side-nav button:hover,.side-nav button.active{color:var(--green-dark);background:#e3e4d8}.side-nav button.active{font-weight:600}.side-nav button small{font:11px var(--mono);color:#888b7c;margin-left:auto}.sidebar-bottom{color:var(--green);margin-top:auto;padding:0 12px 4px;font-size:8px}.edition-dot{background:#8b985f;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.sidebar-bottom p{font:11px/1.6 var(--sans);letter-spacing:0;color:#898a80;margin:9px 0 0}.workspace{flex-direction:column;min-width:0;display:flex}.workspace-header{border-bottom:1px solid var(--line);color:#85867d;justify-content:space-between;align-items:center;height:62px;padding:0 clamp(24px,5vw,70px);display:flex}.breadcrumb{font-size:9px}.breadcrumb i{color:#b4b3a8;margin:0 9px;font-style:normal}.edition-badge{color:var(--green);border:1px solid #c8ceba;padding:7px 10px}.mobile-brand{display:none}.page-content{flex:1;width:min(1120px,100%);margin:0 auto;padding:36px clamp(24px,5vw,70px) 72px}.welcome-banner{background:var(--green-dark);color:#f6f4e9;align-items:center;min-height:310px;padding:40px 44px;display:flex;position:relative;overflow:hidden}.banner-copy{z-index:2;max-width:520px;position:relative}.eyebrow{color:#78845d;align-items:center;gap:9px;margin:0 0 13px;font-size:9px;display:flex}.eyebrow>span{background:#8f9d65;border-radius:50%;width:6px;height:6px}.light-eyebrow>span{background:var(--lime)}.welcome-banner h1{font:500 clamp(38px,4vw,55px)/1.07 var(--serif);letter-spacing:-.04em;margin:0}.welcome-banner h1 em{color:var(--lime);font-weight:500}.welcome-banner .banner-copy>p:not(.eyebrow){color:#c3c7b8;max-width:390px;margin:15px 0 0;font-size:13px;line-height:1.65}.banner-actions{gap:10px;margin-top:22px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:0 16px;font-size:12px;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-lime{background:var(--lime);color:#343b2d}.button-outline{color:#f5f3e8;background:0 0;border-color:#7c8871}.button-quiet{border-color:var(--line);color:#64665c;background:0 0}.banner-art{border:1px solid #e5ead02b;border-radius:50%;place-items:center;width:300px;height:300px;display:grid;position:absolute;top:50%;right:5%;transform:translateY(-50%)}.art-ring{border:1px solid #e5ead029;border-radius:50%;position:absolute}.ring-a{inset:30px}.ring-b{inset:70px}.banner-art>span{color:#c1ce88;font-size:74px;transform:rotate(17deg)}.banner-art small{font:9px var(--mono);letter-spacing:.16em;color:#bec6a7;position:absolute;bottom:36px}.dashboard-section{margin-top:38px}.section-title{justify-content:space-between;align-items:end;margin-bottom:17px;display:flex}.section-title h2{font:500 28px var(--serif);letter-spacing:-.025em;margin:0}.section-title .eyebrow{margin-bottom:8px}.section-aside{color:#8b8c81;margin-bottom:5px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff3d;flex-direction:column;align-items:flex-start;min-height:230px;padding:20px 21px;transition:background .2s,border-color .2s;display:flex}.dashboard-icon{color:#7e8a5b;margin-bottom:18px;font-size:26px}.crossed-swords{font-size:24px}.card-kicker{color:#888b7d;font-size:8px}.dashboard-card strong{font:500 21px var(--serif);margin-top:7px}.dashboard-card p{color:#73746b;max-width:340px;margin:7px 0 17px;font-size:12px;line-height:1.65}.card-link{color:var(--green);margin-top:auto;font-size:11px;font-weight:600}.card-link b{margin-left:7px;font-size:15px}.privacy-note{border-top:1px solid var(--line);color:#85867c;align-items:center;gap:12px;margin-top:30px;padding-top:15px;display:flex}.privacy-note>span{color:#78845d;font-size:19px}.privacy-note p{margin:0;font-size:11px}.privacy-note b{color:#53564b}.page-title{align-items:center;margin:0 0 24px}.page-title h1{font:500 39px/1.1 var(--serif);letter-spacing:-.035em;margin:0}.title-description{color:#74766d;margin:9px 0 0;font-size:12px}.editor-panel,.catalog-panel{border:1px solid var(--line);background:var(--white);margin-bottom:24px;padding:24px}.panel-heading,.score-heading,.catalog-heading{justify-content:space-between;align-items:start;display:flex}.panel-heading h2,.catalog-heading h2{font:500 25px var(--serif);margin:0}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:30px;height:30px;font-size:20px}.form-grid{gap:14px;margin:23px 0;display:grid}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-panel label,.creature-form label{color:#707268;gap:7px;font-size:10px;display:grid}.editor-panel input,.editor-panel textarea,.creature-form input,.manual-party input{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fffef9;border-radius:2px;outline:none;padding:10px 11px;font-size:12px}.form-aside{color:#77796e;border-left:2px solid #dbe1c9;gap:2px;padding:4px 0 4px 12px;font-size:10px;display:grid}.form-aside strong{font:500 20px var(--serif);color:var(--green)}.form-aside small{font-size:9px}.score-heading{align-items:end;margin:23px 0 12px}.score-heading h3{font:500 18px var(--serif);margin:0}.score-heading .eyebrow{margin-bottom:5px}.text-button{color:var(--green);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:10px;text-decoration:underline}.ability-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.ability-input{border:1px solid var(--line);text-align:center;background:#f7f6ef;gap:7px!important;padding:10px!important}.ability-input span{font:8px var(--mono);letter-spacing:.04em;color:#77796e}.ability-input input{text-align:center;width:100%;padding:7px 3px;font-weight:600}.ability-input small{color:var(--green);font-weight:700;display:block}.full-label{margin-top:18px}.form-actions{justify-content:flex-end;gap:9px;margin-top:19px;display:flex}.empty-state{text-align:center;border:1px dashed #c9c9ba;flex-direction:column;justify-content:center;align-items:center;min-height:270px;display:flex}.empty-state>span{color:#859164;font-size:29px}.empty-state h2{font:500 24px var(--serif);margin:10px 0 2px}.empty-state p{color:#77796e;margin:5px 0 16px;font-size:12px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.character-card{border:1px solid var(--line);background:var(--white);padding:20px}.character-card-top{justify-content:space-between;align-items:center;display:flex}.avatar-mark{width:38px;height:38px;color:var(--green);font:500 17px var(--serif);background:#e5e8d9;border-radius:50%;place-items:center;display:grid}.level-pill{border:1px solid var(--line);color:#727469;padding:6px 8px;font-size:8px}.character-card h3{font:500 24px var(--serif);margin:14px 0 2px}.character-subtitle{color:#7d7e74;min-height:16px;margin:0;font-size:11px}.mini-stats{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:19px;display:grid}.mini-stats div{text-align:center;background:#f2f1e9;gap:3px;padding:7px 3px;display:grid}.mini-stats span{font:8px var(--mono);color:#8b8d82}.mini-stats b{font-size:13px}.mini-stats small{color:var(--green);font-size:9px}.character-notes{color:#74766d;font-size:10px;line-height:1.5}.character-card-footer{border-top:1px solid var(--line);color:#7b7d72;justify-content:space-between;align-items:center;margin-top:18px;padding-top:12px;font-size:10px;display:flex}.character-card-footer b{color:var(--green);margin-left:5px}.small-action{color:var(--green);cursor:pointer;background:0 0;border:0;padding:5px 7px;font-size:10px}.danger-action{color:#a35647}.local-data-note{color:#929389;margin-top:18px;font-size:10px}.encounter-layout{grid-template-columns:minmax(265px,.82fr) minmax(0,1.18fr);align-items:start;gap:17px;display:grid}.encounter-controls,.encounter-results{border:1px solid var(--line);background:var(--white);padding:21px}.control-section{border-bottom:1px solid #e7e6dc;margin-bottom:17px;padding-bottom:20px}.control-heading{align-items:start;gap:11px;margin-bottom:13px;display:flex}.step-number{font:10px var(--mono);color:#899568;border:1px solid #d2d8c5;flex:none;place-items:center;width:24px;height:24px;display:grid}.control-heading h2,.results-heading h2{font:500 19px var(--serif);margin:0}.control-heading p{color:#828379;margin:4px 0 0;font-size:10px}.party-select-list{gap:6px;max-height:160px;display:grid;overflow:auto}.party-select{cursor:pointer;border:1px solid #e5e4da;align-items:center;gap:9px;padding:8px;font-size:11px;display:flex}.party-select input{accent-color:var(--green)}.party-select span{gap:2px;display:grid}.party-select small{color:#85867c;font-size:9px}.manual-party{grid-template-columns:1fr 1fr;gap:9px;display:grid}.manual-party label{color:#797a71;gap:6px;font-size:9px;display:grid}.manual-party input{padding:8px}.selected-party-note{color:var(--green);font-size:10px}.difficulty-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.difficulty-option{border:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;gap:5px;padding:10px 7px;display:grid}.difficulty-option.selected{background:#f0f2e8;border-color:#7e8b65}.difficulty-option b{font-size:10px}.difficulty-option small{color:#85867d;font-size:8px;line-height:1.35}.difficulty-dot{background:#91a16d;border-radius:50%;width:7px;height:7px}.budget-summary{background:#f0f1e7;margin-bottom:12px;padding:14px}.budget-summary>span{color:#72756a;font-size:9px;display:block}.budget-summary strong{color:var(--green-dark);font:500 25px var(--serif);margin:4px 0;display:block}.budget-summary strong small{font:9px var(--mono)}.budget-summary p{color:#85867d;margin:0;font-size:9px}.generate-button{width:100%}.generate-button:disabled{opacity:.5;cursor:not-allowed}.encounter-results{min-height:450px}.results-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.results-heading .eyebrow{margin-bottom:6px}.results-heading h2{font-size:21px}.result-sigil{color:#899467;font-size:26px}.results-empty{text-align:center;background:#f5f4ed;align-content:center;justify-items:center;min-height:285px;padding:20px;display:grid}.empty-orbit{color:#8c986e;border:1px solid #d9dccd;border-radius:50%;place-items:center;width:90px;height:90px;font-size:27px;display:grid;position:relative}.empty-orbit:before{content:"";border:1px solid #e2e3d9;border-radius:50%;position:absolute;inset:13px}.results-empty p{color:#77796f;margin-top:18px;font-size:11px;line-height:1.7}.results-empty b{color:#4d5c40}.encounter-card-list{gap:10px;display:grid}.encounter-card{border:1px solid #e2e1d7;padding:13px 14px}.encounter-card-top{justify-content:space-between;align-items:center;display:flex}.encounter-index{color:#85877a;font-size:8px}.difficulty-tag{font:8px var(--mono);color:#506142;background:#e8ebdf;padding:5px 7px}.xp-total{margin:10px 0 7px}.xp-total strong{font:500 22px var(--serif)}.xp-total>span{font:9px var(--mono);color:#8a8b80}.budget-track{background:#ecebe2;height:4px}.budget-track span{background:#819064;height:100%;display:block}.difficulty-tag.moderate~.budget-track span{background:#c39a52}.creature-lines{margin-top:9px}.creature-line{border-bottom:1px solid #efeee7;grid-template-columns:17px 1fr auto;align-items:center;padding:7px 0;font-size:11px;display:grid}.creature-glyph{color:#84905f}.creature-line>span:nth-child(2){gap:2px;display:grid}.creature-line small{color:#8a8b80;font-size:8px}.creature-line>b{font:10px var(--mono)}.encounter-footnote,.rules-source{color:#8a8b80;font-size:9px;line-height:1.5}.encounter-footnote{margin:9px 0 0}.rules-source{margin:14px 0 0}.catalog-panel{margin-top:18px}.catalog-heading h2{font-size:22px}.catalog-heading p:not(.eyebrow){color:#7c7d73;font-size:10px}.creature-form{grid-template-columns:1fr 140px auto;align-items:end;gap:10px;margin:18px 0;display:grid}.creature-form input{margin-top:7px}.catalog-list{border-top:1px solid var(--line)}.catalog-row{border-bottom:1px solid #ebeae2;grid-template-columns:20px 1fr minmax(90px,.7fr) 80px auto;align-items:center;gap:9px;padding:9px 2px;font-size:10px;display:grid}.catalog-row>span{color:#879362}.catalog-row small{color:#85867c;font-size:9px}.catalog-row strong{font:9px var(--mono);text-align:right}.app-footer{border-top:1px solid var(--line);color:#8b8c82;justify-content:space-between;align-items:center;min-height:57px;margin-top:auto;padding:0 clamp(24px,5vw,70px);font-size:8px;display:flex}@media (max-width:900px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-inline:12px}.banner-art{opacity:.75;right:-70px}.banner-copy{max-width:470px}.encounter-layout{grid-template-columns:1fr}.encounter-results{min-height:auto}.results-empty{min-height:210px}}@media (max-width:650px){.app-shell{display:block}.sidebar{z-index:5;border-top:1px solid var(--line);background:#eeece9;border-right:0;width:100%;height:65px;padding:5px 12px;position:fixed;top:auto;bottom:0}.brand,.sidebar-caption,.sidebar-bottom{display:none}.side-nav{grid-template-columns:repeat(3,1fr);gap:4px;height:100%;display:grid}.side-nav button{flex-direction:column;justify-content:center;gap:1px;padding:4px;font-size:9px}.side-nav button>span{font-size:15px}.side-nav button small{display:none}.workspace-header{height:55px;padding:0 18px}.mobile-brand{color:var(--green);font:600 10px var(--mono);letter-spacing:.11em;display:block}.breadcrumb{display:none}.page-content{padding:20px 16px 88px}.welcome-banner{align-items:flex-start;min-height:315px;padding:27px 22px}.welcome-banner h1{font-size:39px}.banner-art{opacity:.4;width:180px;height:180px;top:80%;right:-74px}.banner-actions{flex-wrap:wrap}.button{min-height:38px}.section-title h2{font-size:24px}.section-aside{font-size:8px}.dashboard-grid,.character-grid{grid-template-columns:1fr}.dashboard-card{min-height:205px}.page-title{align-items:start;gap:12px}.page-title h1{font-size:33px}.page-title>.button{flex:none;padding-inline:10px;font-size:10px}.three-columns{grid-template-columns:1fr 1fr}.form-aside{grid-column:1/-1}.ability-grid{grid-template-columns:repeat(3,1fr)}.editor-panel{padding:17px}.encounter-controls,.encounter-results{padding:15px}.manual-party{grid-template-columns:1fr 1fr}.creature-form{grid-template-columns:1fr 100px}.creature-form button{grid-column:1/-1}.catalog-row{grid-template-columns:18px 1fr auto}.catalog-row small{display:none}.catalog-row strong{text-align:left;grid-column:2}.catalog-row button{grid-area:1/3/3}.app-footer{align-items:center;gap:10px;min-height:95px;padding:0 16px 65px;font-size:7px}.privacy-note{align-items:flex-start}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eceee8;--paper:#151814;--white:#20241f;--muted:#a2a99a;--line:#3c4338;--green:#a8ba87;--green-dark:#344132;--lime:#dbe895}:root[data-theme=dark] body{background:var(--paper);color:var(--ink)}:root[data-theme=dark] .bg-paper{background-color:var(--paper)}:root[data-theme=dark] .bg-parchment{background-color:#292e27}:root[data-theme=dark] .text-ink{color:var(--ink)}:root[data-theme=dark] .text-muted{color:var(--muted)}:root[data-theme=dark] .sidebar{border-color:var(--line);background:#1b1f1a}:root[data-theme=dark] .sidebar-caption,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .workspace-header{color:#a8ad9f}:root[data-theme=dark] .side-nav button:hover,:root[data-theme=dark] .side-nav button.active{color:#e8eddf;background:#2c3429}:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .editor-panel,:root[data-theme=dark] .catalog-panel,:root[data-theme=dark] .character-card,:root[data-theme=dark] .encounter-controls,:root[data-theme=dark] .encounter-results{border-color:var(--line);background:#20241f}:root[data-theme=dark] .dashboard-card:hover,:root[data-theme=dark] .button-quiet:hover{background:#2a3028;border-color:#59624f}:root[data-theme=dark] .dashboard-card p,:root[data-theme=dark] .privacy-note,:root[data-theme=dark] .privacy-note b,:root[data-theme=dark] .title-description,:root[data-theme=dark] .character-subtitle,:root[data-theme=dark] .character-notes,:root[data-theme=dark] .local-data-note,:root[data-theme=dark] .form-aside,:root[data-theme=dark] .catalog-heading p:not(.eyebrow),:root[data-theme=dark] .creature-form label{color:#b0b5a8}:root[data-theme=dark] .dashboard-card strong,:root[data-theme=dark] .section-title h1,:root[data-theme=dark] .section-title h2,:root[data-theme=dark] .character-card h3,:root[data-theme=dark] .panel-heading h2,:root[data-theme=dark] .catalog-heading h2,:root[data-theme=dark] .score-heading h3,:root[data-theme=dark] .control-heading h2,:root[data-theme=dark] .results-heading h2{color:var(--ink)}:root[data-theme=dark] .ability-input,:root[data-theme=dark] .mini-stats div,:root[data-theme=dark] .results-empty{background:#292e27;border-color:#41483d}:root[data-theme=dark] .ability-input span,:root[data-theme=dark] .mini-stats span,:root[data-theme=dark] .mini-stats small,:root[data-theme=dark] .party-select small,:root[data-theme=dark] .control-heading p,:root[data-theme=dark] .difficulty-option small,:root[data-theme=dark] .budget-summary p,:root[data-theme=dark] .budget-summary>span,:root[data-theme=dark] .creature-line small,:root[data-theme=dark] .encounter-footnote,:root[data-theme=dark] .rules-source,:root[data-theme=dark] .local-data-note{color:#a6ad9c}:root[data-theme=dark] .party-select,:root[data-theme=dark] .encounter-card,:root[data-theme=dark] .catalog-row,:root[data-theme=dark] .character-card-footer,:root[data-theme=dark] .control-section{border-color:#3b4237}:root[data-theme=dark] .difficulty-option{color:var(--ink);background:#20241f;border-color:#454d40}:root[data-theme=dark] .difficulty-option.selected,:root[data-theme=dark] .budget-summary{background:#2b3227}:root[data-theme=dark] .empty-state,:root[data-theme=dark] .difficulty-option b{color:var(--ink)}:root[data-theme=dark] .empty-state p,:root[data-theme=dark] .results-empty p{color:#b2b7aa}:root[data-theme=dark] .results-empty b{color:#dbe6c8}:root[data-theme=dark] .edition-badge{color:#cfdbb5;border-color:#58634b}:root[data-theme=dark] .form-aside{border-color:#58654a}:root[data-theme=dark] .character-card-footer{color:#b7bcae}:root[data-theme=dark] .creature-line,:root[data-theme=dark] .catalog-list{border-color:#3a4136}:root[data-theme=dark] .budget-track{background:#3a4036}@media (max-width:650px){.workspace-header{gap:7px}.theme-toggle{gap:4px;min-height:32px;padding:0 7px;font-size:11px}.theme-toggle span{display:none}.workspace-header label select{max-width:82px;padding-inline:5px;font-size:10px}.edition-badge{letter-spacing:.04em;padding:5px 6px;font-size:7px}.mobile-brand{letter-spacing:.07em;white-space:nowrap;font-size:9px}.character-card-footer{flex-wrap:wrap;gap:6px}.character-card-footer>div{flex-wrap:wrap;justify-content:flex-end;display:flex}.small-action{padding:6px 5px;font-size:9px}.catalog-panel{padding:16px}.creature-form{gap:7px}}.export-only{display:none}@media print{@page{size:A4 portrait;margin:0}body[data-printing-sheet],body[data-printing-sheet] .app-shell{color:#171a16!important;background:#fff!important}body[data-printing-sheet] .app-shell{min-height:0!important;display:block!important}body[data-printing-sheet] .sidebar,body[data-printing-sheet] .workspace-header,body[data-printing-sheet] .app-footer{display:none!important}body[data-printing-sheet] .workspace,body[data-printing-sheet] .page-content{width:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}body[data-printing-sheet] .page-content>:not(section[aria-labelledby=characters-title]),body[data-printing-sheet] section[aria-labelledby=characters-title]>.section-heading{display:none!important}body[data-printing-sheet] .character-grid{display:block!important}body[data-printing-sheet] .character-card{display:none!important}body[data-printing-sheet] .character-card[data-print-target=true]{break-inside:auto;color:#2c2417!important;background:#fff!important;border:0!important;width:100%!important;padding:0!important;display:block!important}body[data-printing-sheet] .character-card-top,body[data-printing-sheet] .character-card h3,body[data-printing-sheet] .character-subtitle,body[data-printing-sheet] .mini-stats,body[data-printing-sheet] .character-notes,body[data-printing-sheet] .character-card-footer{display:none!important}body[data-printing-sheet] .character-card[data-print-target=true] .export-only{display:block!important}body[data-printing-sheet] .sheet-page{page-break-after:always;break-after:page;box-sizing:border-box;border:1px solid #967544;width:210mm;height:297mm;min-height:297mm;padding:12mm 13mm 10mm;position:relative;overflow:hidden;color:#2f291d!important;background:#f8f1df!important}body[data-printing-sheet] .sheet-page:before{content:"";pointer-events:none;border:1px solid #b8a274;position:absolute;inset:5mm}body[data-printing-sheet] .sheet-page:after{content:"✦";color:#967544;font-size:13px;position:absolute;top:4mm;left:50%;transform:translate(-50%)}body[data-printing-sheet] .sheet-page-extra{page-break-after:auto;break-after:auto}body[data-printing-sheet] .sheet-banner{text-align:center;border-bottom:2px double #a58a55;padding:2mm 5mm 4mm;position:relative}body[data-printing-sheet] .sheet-banner>span{color:#997949;font-size:23px;position:absolute;top:3mm;right:2mm}body[data-printing-sheet] .sheet-banner p{font:8px var(--mono);letter-spacing:.16em;color:#716142;margin:0 0 2mm}body[data-printing-sheet] .sheet-banner h2{letter-spacing:.025em;color:#322719;margin:0;font:700 23px/1.1 Georgia,serif}body[data-printing-sheet] .sheet-banner small{font:9px var(--mono);letter-spacing:.08em;color:#77694d;margin-top:2mm;display:block}body[data-printing-sheet] .export-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:2mm;margin-top:4mm;display:grid}body[data-printing-sheet] .export-details>div{border:1px solid #b8a982;border-top:2px solid #93764a;min-height:14mm;padding:2mm 2.5mm;background:#fffaf0!important}body[data-printing-sheet] .export-details small{font:7px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#71684f;display:block}body[data-printing-sheet] .export-details b{color:#342a1b;margin-top:1.5mm;font:600 10px Georgia,serif;display:block}body[data-printing-sheet] .sheet-section{min-width:0;margin-top:4mm}body[data-printing-sheet] .sheet-section h4{letter-spacing:.045em;color:#4a3821;border-bottom:1px solid #aa9365;margin:0 0 2mm;padding:0 0 1.5mm;font:700 11px Georgia,serif}body[data-printing-sheet] .sheet-section h4:before{content:"✧ ";color:#997949}body[data-printing-sheet] .export-legend{font:7px var(--mono);color:#746b55;margin:0 0 1.5mm}body[data-printing-sheet] .export-abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:2mm;display:grid}body[data-printing-sheet] .export-abilities>div{text-align:center;border:1px solid #b8a982;border-radius:8mm 8mm 2mm 2mm;justify-items:center;gap:.5mm;padding:2mm 1mm 1.5mm;display:grid;position:relative;background:linear-gradient(#fffaf0,#efe5cf)!important}body[data-printing-sheet] .export-abilities span{font:7px var(--mono);letter-spacing:.035em;color:#6e6044}body[data-printing-sheet] .export-abilities b{color:#2e281d;font:700 18px Georgia,serif}body[data-printing-sheet] .export-abilities small{width:8mm;height:5mm;font:700 9px var(--mono);color:#5d673e;border:1px solid #aa9365;border-radius:3mm;place-items:center;display:grid}body[data-printing-sheet] .export-combat{grid-template-columns:repeat(5,minmax(0,1fr));gap:2mm;display:grid}body[data-printing-sheet] .export-combat>div{font:7px var(--mono);text-transform:uppercase;color:#6c624c;border:1px solid #b8a982;padding:2mm;background:#fffaf0!important}body[data-printing-sheet] .export-combat b{border-bottom:1px solid #b8a982;height:8mm;margin-top:1.5mm;display:block}body[data-printing-sheet] .sheet-columns{grid-template-columns:1fr 1fr;align-items:start;gap:4mm;display:grid}body[data-printing-sheet] .sheet-line-list{gap:1mm;display:grid}body[data-printing-sheet] .sheet-line-list>div{min-width:0;min-height:5.7mm;font:7px var(--sans);color:#51452f;border-bottom:1px dotted #c1b18d;grid-template-columns:minmax(0,1fr) 3mm 13mm;align-items:center;gap:1.5mm;display:grid}body[data-printing-sheet] .sheet-line-list i{border:1px solid #a58a55;border-radius:50%;width:2.6mm;height:2.6mm}body[data-printing-sheet] .sheet-line-list b{border-bottom:1px solid #9c8b68;height:4mm}body[data-printing-sheet] .sheet-skill-list{grid-template-rows:repeat(9,5.7mm);grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:3mm}body[data-printing-sheet] .sheet-note-area{white-space:pre-wrap;overflow-wrap:anywhere;min-height:15mm;font:9px/1.4 var(--sans);border:1px solid #b8a982;padding:2mm;background:repeating-linear-gradient(#fffaf0 0 6mm,#d7c9a8 6.1mm,#fffaf0 6.3mm)!important}body[data-printing-sheet] .sheet-writing-area{border:1px solid #b8a982;background:repeating-linear-gradient(#fffaf0 0 6mm,#d7c9a8 6.1mm,#fffaf0 6.3mm)!important}body[data-printing-sheet] .sheet-writing-area.tall{height:38mm}body[data-printing-sheet] .sheet-writing-area.medium{height:25mm}body[data-printing-sheet] .sheet-writing-area.short{height:20mm}body[data-printing-sheet] .sheet-equipment-table>div{border:1px solid #c3b28d;border-bottom:0;grid-template-columns:1.5fr .4fr .5fr 1.3fr;min-height:6.5mm;display:grid;background:#fffaf0!important}body[data-printing-sheet] .sheet-equipment-table>div:last-child{border-bottom:1px solid #c3b28d}body[data-printing-sheet] .sheet-equipment-table>div>*{font:7px var(--sans);border-right:1px solid #c3b28d;padding:1mm 1.5mm}body[data-printing-sheet] .sheet-equipment-table>div>:last-child{border-right:0}body[data-printing-sheet] .sheet-equipment-table>div>b{font:7px var(--mono);color:#6c6047;text-transform:uppercase}body[data-printing-sheet] .sheet-spell-lines{gap:1mm;display:grid}body[data-printing-sheet] .sheet-spell-lines>div{border-bottom:1px solid #c3b28d;grid-template-columns:4mm 1.2fr .8fr 1fr;gap:2mm;height:5.5mm;display:grid}body[data-printing-sheet] .sheet-spell-lines i{border:1px solid #a58a55;border-radius:50%;align-self:center;width:2.5mm;height:2.5mm}body[data-printing-sheet] .sheet-spell-lines span{border-bottom:1px dotted #c3b28d}body[data-printing-sheet] .sheet-footer{font:6px var(--mono);letter-spacing:.08em;color:#766849;justify-content:space-between;display:flex;position:absolute;bottom:7mm;left:13mm;right:13mm}}:root{--ink:#30261d;--paper:#eee3ca;--white:#fbf4e5;--muted:#746451;--line:#d2bd91;--green:#5b4930;--green-dark:#282b25;--lime:#dfc47d}body{background-color:var(--paper);background-image:radial-gradient(at 12% 8%,#fffbe9b8,#0000 46%),radial-gradient(at 92% 80%,#ae8b4e1a,#0000 42%);line-height:1.55}:focus-visible{outline-color:#a47731}::selection{color:#2b251b;background:#e4cb85}.sidebar{background:#e5d7b8;border-right-color:#bba475;box-shadow:inset -4px 0 12px #513a1c0b}.brand{font-family:var(--serif);letter-spacing:.12em;font-weight:600}.brand span,.dashboard-icon,.privacy-note>span,.empty-state>span{color:#96733c}.sidebar-caption{color:#806b4c}.side-nav button{color:#594a37;border-radius:2px 9px}.side-nav button:hover,.side-nav button.active{color:#352719;background:#ad894829;box-shadow:inset 2px 0 #a77c38}.sidebar-bottom{color:#75592d}.edition-dot{background:#aa813e;box-shadow:0 0 0 3px #aa813e24}.workspace-header{color:#766449;border-color:#d0bd96}.edition-badge{color:#785d32;border-color:#bda36d}.mobile-brand{color:#604928}.welcome-banner{background:radial-gradient(at 78% 48%,#41443a 0,#2b2e28 42%,#22251f 100%);border:1px solid #79633d;box-shadow:inset 0 0 0 5px #d8bb780e,0 8px 24px #3627131f}.welcome-banner:before{content:"";pointer-events:none;border:1px solid #dec4843d;position:absolute;inset:9px}.welcome-banner h1,.page-title h1,.section-title h2,.dashboard-card strong,.panel-heading h2,.catalog-heading h2,.score-heading h3,.control-heading h2,.results-heading h2,.character-card h3,.empty-state h2{font-family:var(--serif);letter-spacing:.015em}.welcome-banner h1{letter-spacing:-.035em}.welcome-banner h1 em{color:#e2c578}.light-eyebrow{color:#dfcb98}.banner-art{border-color:#e2c7843b}.art-ring{border-color:#e2c78433}.banner-art>span{color:#ddc276}.banner-art small{color:#d2bf91}.button{border-radius:2px 8px}.button-primary{color:#fff9eb;background:#76582d}.button-primary:hover{background:#604725}.button-lime{color:#302719;background:#dfc47d}.button-outline{border-color:#a89060}.button-quiet:hover{background:#eee2c7}.dashboard-card,.editor-panel,.catalog-panel,.character-card,.encounter-controls,.encounter-results{background-color:#fff8e8c7;border-color:#cdb98e;box-shadow:0 3px 12px #4b35190b}.dashboard-card{border-radius:2px 13px;position:relative}.dashboard-card:before,.editor-panel:before,.catalog-panel:before{content:"✦";color:#b18a4a;opacity:.72;font-size:11px;position:absolute;top:10px;right:13px}.editor-panel,.catalog-panel{border-radius:2px 12px;position:relative}.dashboard-card:hover{background:#fff9eb;border-color:#aa8a53}.dashboard-card p,.title-description,.privacy-note,.character-notes{color:#665744}.card-kicker,.section-aside,.sidebar-caption{color:#806b4c}.card-link,.text-button,.small-action{color:#76572c}.page-title h1{color:#30251a}.editor-panel input,.editor-panel textarea,.creature-form input,.manual-party input{background:#fffaf0;border-color:#cdbb96;border-radius:2px 6px}.editor-panel input:focus,.editor-panel textarea:focus,.creature-form input:focus,.manual-party input:focus{border-color:#a77c38;box-shadow:0 0 0 2px #a77c3833}.ability-input{background:#f1e7d1;border-color:#cbb68a}.form-aside{border-color:#b79555}.form-aside strong{color:#76572c}.avatar-mark{color:#72552d;background:#eadbb9}.mini-stats div{background:#f1e7d1}.level-pill{color:#66553d;border-color:#c9b58d}.difficulty-option.selected,.budget-summary{background:#eee2c7}.difficulty-option.selected{border-color:#a77c38}.difficulty-dot{background:#7f8a55}.difficulty-dot.moderate{background:#b3873e}.difficulty-dot.high{background:#a94f38}.budget-summary strong{color:#574326}.results-empty{background:#f2e8d3}.empty-orbit{color:#98743c;border-color:#c6b384}.empty-orbit:before{border-color:#d8c8a3}.difficulty-tag{color:#53613d;background:#e8e4d0}.difficulty-tag.moderate{color:#76571e;background:#f1e4c6}.difficulty-tag.high{color:#8b4032;background:#f1dfd5}.encounter-card,.party-select{border-color:#ddcba7}.creature-glyph,.result-sigil{color:#98733c}.app-footer{border-color:#d0bd96}:root[data-theme=dark]{--ink:#eee5d1;--paper:#191a17;--white:#24241f;--muted:#c2b69e;--line:#4a4334;--green:#d3b979;--green-dark:#272a24;--lime:#e0c77f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background-color:var(--paper);background-image:radial-gradient(at 8% 4%,#8065371a,#0000 45%),radial-gradient(at 92% 80%,#5a4b2d14,#0000 44%)}:root[data-theme=dark] .sidebar{background:#201f1a;border-color:#504632}:root[data-theme=dark] .brand span,:root[data-theme=dark] .dashboard-icon,:root[data-theme=dark] .privacy-note>span,:root[data-theme=dark] .empty-state>span,:root[data-theme=dark] .result-sigil{color:#d1b16d}:root[data-theme=dark] .sidebar-caption,:root[data-theme=dark] .workspace-header,:root[data-theme=dark] .sidebar-bottom,:root[data-theme=dark] .edition-badge{color:#c4b18a}:root[data-theme=dark] .workspace-header,:root[data-theme=dark] .app-footer{border-color:#4a4334}:root[data-theme=dark] .side-nav button{color:#d0c5ad}:root[data-theme=dark] .side-nav button:hover,:root[data-theme=dark] .side-nav button.active{color:#f0e4ca;background:#be995226;box-shadow:inset 2px 0 #c3a25f}:root[data-theme=dark] .welcome-banner{border-color:#76613d}:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .editor-panel,:root[data-theme=dark] .catalog-panel,:root[data-theme=dark] .character-card,:root[data-theme=dark] .encounter-controls,:root[data-theme=dark] .encounter-results{background-color:#24241ff0;border-color:#514735}:root[data-theme=dark] .dashboard-card:hover{background:#2c2b24;border-color:#957945}:root[data-theme=dark] .dashboard-card p,:root[data-theme=dark] .privacy-note,:root[data-theme=dark] .privacy-note b,:root[data-theme=dark] .title-description,:root[data-theme=dark] .character-subtitle,:root[data-theme=dark] .character-notes,:root[data-theme=dark] .local-data-note{color:#c6bca7}:root[data-theme=dark] .page-title h1,:root[data-theme=dark] .dashboard-card strong,:root[data-theme=dark] .section-title h2,:root[data-theme=dark] .panel-heading h2,:root[data-theme=dark] .catalog-heading h2,:root[data-theme=dark] .score-heading h3,:root[data-theme=dark] .control-heading h2,:root[data-theme=dark] .results-heading h2,:root[data-theme=dark] .character-card h3{color:#efe5d0}:root[data-theme=dark] .editor-panel input,:root[data-theme=dark] .editor-panel textarea,:root[data-theme=dark] .creature-form input,:root[data-theme=dark] .manual-party input{color:#efe5d0;background:#1b1b17;border-color:#554a35}:root[data-theme=dark] .ability-input,:root[data-theme=dark] .mini-stats div,:root[data-theme=dark] .results-empty,:root[data-theme=dark] .budget-summary,:root[data-theme=dark] .difficulty-option.selected{background:#302d24;border-color:#5d5139}:root[data-theme=dark] .ability-input span,:root[data-theme=dark] .mini-stats span,:root[data-theme=dark] .mini-stats small,:root[data-theme=dark] .empty-state p,:root[data-theme=dark] .results-empty p,:root[data-theme=dark] .control-heading p,:root[data-theme=dark] .difficulty-option small,:root[data-theme=dark] .budget-summary p,:root[data-theme=dark] .budget-summary>span,:root[data-theme=dark] .creature-line small,:root[data-theme=dark] .encounter-footnote,:root[data-theme=dark] .rules-source{color:#c7bda7}:root[data-theme=dark] .empty-state{border-color:#64573c}:root[data-theme=dark] .avatar-mark{color:#e2c984;background:#473b29}:root[data-theme=dark] .level-pill,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .theme-toggle{color:#efe5d0;border-color:#65573c}:root[data-theme=dark] .button-quiet{color:#e3d8c1;border-color:#63563c}:root[data-theme=dark] .button-quiet:hover{background:#302d24}:root[data-theme=dark] .form-aside{color:#c7bda7;border-color:#957945}:root[data-theme=dark] .form-aside strong,:root[data-theme=dark] .text-button,:root[data-theme=dark] .small-action,:root[data-theme=dark] .card-link{color:#dfc47d}:root[data-theme=dark] .character-card-footer,:root[data-theme=dark] .creature-line,:root[data-theme=dark] .catalog-list,:root[data-theme=dark] .catalog-row,:root[data-theme=dark] .control-section{border-color:#484130}:root[data-theme=dark] .party-select,:root[data-theme=dark] .encounter-card{border-color:#514735}:root[data-theme=dark] .difficulty-tag{color:#d3d6b5;background:#333326}:root[data-theme=dark] .difficulty-tag.moderate{color:#e4c582;background:#3a3020}:root[data-theme=dark] .difficulty-tag.high{color:#e1a18b;background:#3b2923}@media (max-width:650px){:root[data-theme=dark] .sidebar{background:#201f1a}.welcome-banner{box-shadow:inset 0 0 0 4px #d8bb780d,0 5px 14px #3627131a}.dashboard-card:before,.editor-panel:before,.catalog-panel:before{top:8px;right:10px}}.editor-panel select,.party-campaign-select select{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fffef9;border-radius:2px;padding:10px 11px;font-size:12px}.party-campaign-select{color:#797a71;gap:6px;margin:0 0 10px;font-size:9px;display:grid}.party-campaign-select select{padding:8px}.gate-shell{background:radial-gradient(ellipse at 50% -10%,#ffffff8c,transparent 60%),var(--paper);flex-direction:column;align-items:center;min-height:100vh;padding:0 16px 48px;display:flex}.gate-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;width:min(1120px,100%);height:62px;display:flex}.gate-brand{font:13px var(--mono);letter-spacing:.15em;color:var(--green)}.gate-intro{text-align:center;max-width:460px;color:var(--muted);margin:36px auto 0;font-size:13px;line-height:1.6}.gate-card{border:1px solid var(--line);background:var(--white);width:min(100%,520px);box-shadow:inset 0 0 0 4px var(--white),inset 0 0 0 5px #b18b4959,0 16px 45px #3627131f;margin:56px auto 0;padding:clamp(22px,5vw,38px)}.gate-card h1{font:500 clamp(24px,4vw,30px)/1.2 var(--serif);margin:6px 0 12px}.gate-card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.gate-actions{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.nav-alert{text-align:center;background:#a35647;border-radius:9px;min-width:18px;margin-left:auto;padding:1px 6px;color:#fff8ec!important;font:600 10px var(--mono)!important}.import-banner{border:1px solid var(--line);border-left:3px solid var(--lime);background:var(--white);flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:22px;padding:14px 16px;display:flex}.import-banner>span{color:var(--green);font-size:18px}.import-banner p{color:var(--muted);flex:280px;margin:0;font-size:12px;line-height:1.55}.import-banner b{color:var(--ink)}.import-banner div{gap:8px;display:flex}.import-message{color:var(--green);margin:-10px 0 18px;font-size:12px}.admin-users{gap:22px;display:grid}.admin-help{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.admin-message{color:var(--green);margin:0;font-size:12px}.admin-error{color:#9b3a29;background:#9b3a290f;border:1px solid #c99b83;margin:0;padding:9px 11px;font-size:12px}.admin-loading{color:var(--muted)}.admin-group{border:1px solid var(--line);background:var(--white);padding:18px 20px}.admin-group h2{font:500 20px var(--serif);align-items:center;gap:10px;margin:0 0 6px;display:flex}.admin-group h2 small{font:10px var(--mono);color:var(--muted);border:1px solid var(--line);padding:2px 7px}.admin-group-pending{border-left:3px solid var(--lime)}.admin-group-blocked{opacity:.85}.admin-group ul{margin:0;padding:0;list-style:none}.admin-empty{color:var(--muted);margin:4px 0 0;font-size:12px;font-style:italic}.admin-user{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;display:grid}.admin-group ul .admin-user:first-child{border-top:0}.admin-seal{border:1px solid var(--line);background:var(--paper);width:38px;height:38px;color:var(--green);font:500 17px var(--serif);border-radius:50%;place-items:center;display:grid}.admin-identity{gap:3px;min-width:0;display:grid}.admin-identity b{font:500 16px var(--serif);overflow-wrap:anywhere}.admin-identity b em{font:11px var(--sans);color:var(--muted)}.admin-identity span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.admin-identity small{color:var(--muted);font-size:10px}.admin-identity i{color:#a35647;font-style:normal}.admin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.admin-actions select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:2px;padding:9px 10px;font-size:12px}.admin-actions .button{min-height:36px;padding:0 12px}.admin-actions button:disabled,.admin-actions select:disabled{opacity:.55;cursor:not-allowed}@media (max-width:720px){.admin-user{grid-template-columns:38px minmax(0,1fr)}.admin-actions{grid-column:1/-1;justify-content:flex-start}}:root[data-theme=dark] .editor-panel select,:root[data-theme=dark] .party-campaign-select select{color:var(--ink);background:#2b2b25;border-color:#4a4334}:root[data-theme=dark] .gate-shell{background:var(--paper)}:root[data-theme=dark] .admin-error{color:#ffc1a7;background:#83382d2e;border-color:#8d5141}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
:root{--ink:#2b1d14;--paper:#ebddbf;--white:#f8eeda;--muted:#6f5944;--line:#cdb48a;--green:#922610;--green-dark:#2c1b13;--lime:#b58a3a;--crimson:#922610;--gilt:#b58a3a;--leather:#2c1b13;--crimson-fill:#922610;--serif:"Alegreya SC", "Alegreya", Georgia, serif;--sans:"Alegreya", Georgia, serif;--mono:"Alegreya Sans SC", "Alegreya Sans", sans-serif;--statblock:"Alegreya Sans", "Trebuchet MS", sans-serif}body{background-color:var(--paper);background-image:radial-gradient(at 0 0,#fffaeb8c,#0000 45%),radial-gradient(at 100% 100%,#8c5c2829,#0000 50%),radial-gradient(circle at 70% 20%,#78501e0d,#0000 30%);background-attachment:fixed;font-size:15px;line-height:1.5}.bg-paper{background-color:#0000}.text-ink{color:var(--ink)}.sidebar-caption,.breadcrumb,.edition-badge,.sidebar-bottom,.eyebrow,.card-kicker,.level-pill,.encounter-index,.app-footer,.section-aside,.step-number,.difficulty-tag,.budget-summary strong small,.xp-total>span,.creature-line>b,.catalog-row strong{font-family:var(--mono);letter-spacing:.03em;text-transform:none}.eyebrow,.card-kicker,.sidebar-caption,.section-aside{color:var(--muted);font-size:12px}.eyebrow>span{background:var(--crimson)}.sidebar{color:#e9d8b6;background:linear-gradient(#34211a,#241510 70%);border-right:3px double #8a6a35}.brand{color:#f3e2bd;font-family:var(--serif);letter-spacing:.12em;font-size:17px}.brand span{color:var(--gilt)}.sidebar-caption{color:#b99b6a}.side-nav button{color:#dbc59f;font-family:var(--serif);border-radius:0;font-size:15px}.side-nav button small{color:#b99b6a;font-family:var(--mono)}.side-nav button:hover{color:#fff3da;background:#d8aa551a}.side-nav button.active{color:#fff3da;background:linear-gradient(90deg,#922610d9,#92261040);font-weight:500;box-shadow:inset 3px 0 #e2b45c}.sidebar-bottom{color:#d8b878}.sidebar-bottom p{color:#b39a76}.edition-dot{background:var(--gilt)}.workspace-header{border-bottom:1px solid var(--line);color:var(--muted);background:#f8eeda73}.edition-badge{color:var(--crimson);border-color:var(--crimson);border-radius:0}.page-title h1,.section-title h2,.panel-heading h2,.catalog-heading h2,.score-heading h3,.control-heading h2,.results-heading h2,.character-card h3,.dashboard-card strong,.empty-state h3{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);font-weight:500}.page-title h1{font-size:clamp(32px,4vw,42px)}.page-title{padding-bottom:14px;position:relative}.page-title:after,.results-heading:after{content:"";background:var(--crimson);clip-path:polygon(0 0,100% 50%,0 100%);height:4px;position:absolute;bottom:0;left:0;right:0}.results-heading{padding-bottom:12px;position:relative}.title-description,.dashboard-card p,.character-subtitle,.privacy-note,.character-notes,.local-data-note{color:var(--muted)}.welcome-banner{background:radial-gradient(at 85%,#92261073,#0000 60%),linear-gradient(135deg,#3a2419,#1f130e);border:1px solid #8a6a35;border-radius:0;box-shadow:inset 0 0 0 6px #2a1912,inset 0 0 0 7px #d8aa5580,0 10px 30px #2b180a40}.welcome-banner:before{display:none}.welcome-banner h1{font-family:var(--serif);letter-spacing:0;color:#f6e6c4;font-weight:500}.welcome-banner h1:first-letter{float:left;color:#fff4dc;background:var(--crimson);margin:4px 10px 0 0;padding:0 10px;font-size:1.9em;line-height:.95;box-shadow:inset 0 0 0 2px #e2b45c}.welcome-banner h1 em{color:#e8c06a;font-style:italic;font-family:var(--sans)}.welcome-banner .banner-copy>p:not(.eyebrow){color:#d9c7a5;font-size:15px}.light-eyebrow{color:#d8b878}.banner-art{border-color:#e2b45c4d}.art-ring{border-color:#e2b45c38}.banner-art>span{color:#e2b45c}.banner-art small{color:#cdb185;font-family:var(--mono)}.button{font-family:var(--serif);letter-spacing:.02em;border-radius:0;font-size:14px;font-weight:500}.button-primary{background:var(--crimson);color:#fff3df;box-shadow:inset 0 0 0 1px #ffdc9659}.button-primary:hover{background:#7a1d0c}.button-primary:disabled{background:#a98a7c}.button-lime{color:#2b1d14;background:#e2b45c}.button-outline{color:#f6e6c4;border-color:#c9a05a}.button-quiet{border-color:var(--line);color:var(--ink)}.button-quiet:hover{background:var(--white)}.text-button,.small-action,.card-link{color:var(--crimson)}.danger-action{color:#7c2014}.dashboard-card,.editor-panel,.catalog-panel,.character-card,.encounter-controls,.encounter-results,.empty-state{background-color:var(--white);border:1px solid var(--line);border-radius:0;box-shadow:inset 0 1px #fff9,0 6px 18px #3c230c14}.dashboard-card:before,.editor-panel:before,.catalog-panel:before{color:var(--gilt)}.dashboard-card:hover{border-color:var(--crimson);background:#fff6e3}.dashboard-icon{color:var(--crimson)}.character-card{border-top:4px solid var(--crimson);position:relative}.avatar-mark{background:var(--crimson);color:#fff3df;font-family:var(--serif);border-radius:0;box-shadow:inset 0 0 0 2px #e2b45c}.level-pill{border-color:var(--line);color:var(--muted);border-radius:0}.card-vitals{border-block:1px solid var(--crimson);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:14px;display:grid}.card-vitals div{justify-items:center;padding:6px 2px;display:grid}.card-vitals div+div{border-left:1px solid var(--line)}.card-vitals span{font:12px var(--mono);color:var(--crimson)}.card-vitals b{font:700 19px var(--serif);color:var(--ink)}.mini-stats div{border:1px solid var(--line);background:0 0;border-radius:12px 12px 2px 2px}.mini-stats span{font-family:var(--mono)}.mini-stats small,.character-card-footer b{color:var(--crimson)}.builder-actions{flex-wrap:wrap;gap:8px;display:flex}.editor-panel input,.editor-panel textarea,.creature-form input,.manual-party input,.kinds-field select{border:1px solid var(--line);color:var(--ink);background:#fffaf0;border-radius:0}.editor-panel input:focus,.editor-panel textarea:focus,.creature-form input:focus,.manual-party input:focus{border-color:var(--crimson);box-shadow:0 0 0 2px #92261026}.ability-input{background:0 0;border-radius:14px 14px 2px 2px}.ability-input small,.form-aside strong{color:var(--crimson)}.form-aside{border-color:var(--crimson)}:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}.step-number{color:#fff3df;background:var(--crimson);border-color:var(--crimson);font-family:var(--serif);border-radius:50%}.difficulty-option{background:0 0;border-radius:0}.difficulty-option.selected{border-color:var(--crimson);box-shadow:inset 0 -3px var(--crimson);background:#fff6e3}.difficulty-option b{font-family:var(--serif);font-size:14px;font-weight:500}.difficulty-option small{font-size:11px}.difficulty-dot{background:#5d7a3a}.difficulty-dot.moderate{background:#c9952e}.difficulty-dot.high{background:var(--crimson)}.source-options .difficulty-option{gap:3px}.filter-label{font:13px var(--mono);color:var(--muted);margin:12px 0 6px}.type-chips{flex-wrap:wrap;gap:5px;display:flex}.type-chip{border:1px solid var(--line);color:var(--ink);font:13px var(--sans);cursor:pointer;background:0 0;padding:4px 9px}.type-chip small{color:var(--muted);font-size:11px}.type-chip.on{background:var(--crimson);border-color:var(--crimson);color:#fff3df}.type-chip.on small{color:#f2d3b4}.kinds-field{font:13px var(--mono);color:var(--muted);gap:5px;margin-top:12px;display:grid}.kinds-field select{font:14px var(--sans);padding:7px 8px}.monster-error{color:#7c2014}.budget-summary{border:1px solid var(--line);border-left:4px solid var(--gilt);background:0 0}.budget-summary strong{color:var(--ink);font-family:var(--serif)}.results-empty{border:1px dashed var(--line);background:0 0}.empty-orbit{border-color:var(--gilt);color:var(--crimson)}.result-sigil,.creature-glyph{color:var(--crimson)}.encounter-card{border:0;background:#fbf1dc;border-block:3px solid #c9952e;padding:12px 16px 14px}.xp-total strong{font:700 24px var(--serif);color:var(--crimson)}.budget-track{clip-path:polygon(0 0,100% 50%,0 100%);background:#9226101f;height:5px}.budget-track span,.difficulty-tag.moderate~.budget-track span{background:var(--crimson)}.difficulty-tag{border-radius:0;font-size:12px}.creature-line{font-family:var(--statblock);border-color:#92261026;flex-wrap:wrap;font-size:14px}.creature-line small{color:var(--muted);font-size:12px}.creature-line>span:nth-child(2){color:var(--ink);font-weight:700}.creature-line>b{color:var(--crimson);font-size:15px}.creature-line .small-action{justify-self:start;padding-left:0;font-weight:400}.creature-line>div{grid-column:1/-1;margin-top:10px}.encounter-footnote,.rules-source{color:var(--muted);font-size:12px}.catalog-row{font-size:13px}.catalog-row>span{color:var(--crimson)}.app-footer{color:var(--muted);border-color:var(--line);font-size:12px}.privacy-note>span{color:var(--crimson)}@media (max-width:650px){.side-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.side-nav button{font-size:11px}.sidebar{background:#241510;border-top:3px double #8a6a35;border-right:0}.welcome-banner h1:first-letter{padding:0 7px}.card-vitals b{font-size:17px}}:root[data-theme=dark]{--ink:#ecdcc0;--paper:#16100c;--white:#211812;--muted:#bda585;--line:#4d3a29;--green:#e0715a;--green-dark:#120c09;--lime:#d8aa55;--crimson:#e0715a;--gilt:#d8aa55;--crimson-fill:#a8321c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background-color:var(--paper);background-image:radial-gradient(at 15% 0,#d88c3c1f,#0000 45%),radial-gradient(at 100% 100%,#92261024,#0000 55%)}:root[data-theme=dark] .sidebar{background:linear-gradient(#1d130e,#110b08);border-color:#5e4626}:root[data-theme=dark] .workspace-header{background:#21181299}:root[data-theme=dark] .side-nav button.active{color:#fff3da;background:linear-gradient(90deg,#a8321cd9,#a8321c33);box-shadow:inset 3px 0 #e2b45c}:root[data-theme=dark] .welcome-banner h1:first-letter{background:var(--crimson-fill)}:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .editor-panel,:root[data-theme=dark] .catalog-panel,:root[data-theme=dark] .character-card,:root[data-theme=dark] .encounter-controls,:root[data-theme=dark] .encounter-results,:root[data-theme=dark] .empty-state{background-color:var(--white);border-color:var(--line);box-shadow:0 6px 18px #00000059}:root[data-theme=dark] .dashboard-card:hover,:root[data-theme=dark] .difficulty-option.selected,:root[data-theme=dark] .button-quiet:hover{background:#2b2018}:root[data-theme=dark] .encounter-card{background:#2a1e16;border-color:#a8782a}:root[data-theme=dark] .editor-panel input,:root[data-theme=dark] .editor-panel textarea,:root[data-theme=dark] .creature-form input,:root[data-theme=dark] .manual-party input,:root[data-theme=dark] .kinds-field select{color:var(--ink);border-color:var(--line);background:#120d0a}:root[data-theme=dark] .button-primary{color:#fff1dd;background:#a8321c}:root[data-theme=dark] .button-primary:hover{background:#8e2814}:root[data-theme=dark] .step-number,:root[data-theme=dark] .avatar-mark{color:#fff1dd;background:#a8321c;border-color:#a8321c}:root[data-theme=dark] .type-chip.on{background:#a8321c;border-color:#a8321c}:root[data-theme=dark] .page-title h1,:root[data-theme=dark] .section-title h2,:root[data-theme=dark] .character-card h3,:root[data-theme=dark] .control-heading h2,:root[data-theme=dark] .results-heading h2,:root[data-theme=dark] .dashboard-card strong,:root[data-theme=dark] .panel-heading h2,:root[data-theme=dark] .catalog-heading h2,:root[data-theme=dark] .score-heading h3{color:var(--ink)}:root[data-theme=dark] .title-description,:root[data-theme=dark] .dashboard-card p,:root[data-theme=dark] .character-subtitle,:root[data-theme=dark] .difficulty-option small,:root[data-theme=dark] .creature-line small,:root[data-theme=dark] .encounter-footnote,:root[data-theme=dark] .rules-source,:root[data-theme=dark] .control-heading p,:root[data-theme=dark] .budget-summary p,:root[data-theme=dark] .budget-summary>span,:root[data-theme=dark] .local-data-note{color:var(--muted)}:root[data-theme=dark] .ability-input,:root[data-theme=dark] .mini-stats div,:root[data-theme=dark] .results-empty,:root[data-theme=dark] .budget-summary{border-color:var(--line);background:0 0}:root[data-theme=dark] .budget-summary{border-left-color:var(--gilt)}:root[data-theme=dark] .party-select,:root[data-theme=dark] .difficulty-option{border-color:var(--line);color:var(--ink);background:0 0}@media (prefers-reduced-motion:reduce){.button,.dashboard-card{transition:none}.button:hover{transform:none}}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .2 0 0 0 0 .09 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--mottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .12 0 0 0 .28 -.06'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");--leather-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='turbulence' baseFrequency='.55' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3C/svg%3E");--corner:#b58a3abf}:root[data-theme=dark]{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .8 0 0 0 0 .6 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--corner:#d8aa558c}body{background-image:var(--grain), var(--mottle), radial-gradient(ellipse at 0% 0%, #fffaeb8c, transparent 45%), radial-gradient(ellipse at 100% 100%, #8c5c2833, transparent 50%)}:root[data-theme=dark] body{background-image:var(--grain), radial-gradient(ellipse at 15% 0%, #d88c3c1f, transparent 45%), radial-gradient(ellipse at 100% 100%, #92261024, transparent 55%)}.sidebar{background-image:var(--leather-grain), linear-gradient(180deg, #3a2419, #241510 70%)}.sidebar:after{content:"";pointer-events:none;border:1px dashed #d8aa554d;position:absolute;inset:8px 7px 8px 8px}:root[data-theme=dark] .sidebar{background-image:var(--leather-grain), linear-gradient(180deg, #1d130e, #110b08)}.editor-panel,.catalog-panel,.character-card,.encounter-controls,.encounter-results,.desk-panel,.tool-tile{background-image:var(--grain), linear-gradient(180deg, #fffcf280, transparent 40%);box-shadow:inset 0 0 0 3px var(--white), inset 0 0 0 4px #b58a3a59, 0 6px 18px #3c230c17;position:relative}.character-card{box-shadow:inset 0 0 0 4px #b58a3a00,0 6px 18px #3c230c17}.editor-panel:after,.catalog-panel:after,.encounter-controls:after,.encounter-results:after,.desk-panel:after,.tool-tile:after{content:"";pointer-events:none;--c:var(--corner);background:linear-gradient(var(--c), var(--c)) top left / 16px 1.5px, linear-gradient(var(--c), var(--c)) top left / 1.5px 16px, linear-gradient(var(--c), var(--c)) top right / 16px 1.5px, linear-gradient(var(--c), var(--c)) top right / 1.5px 16px, linear-gradient(var(--c), var(--c)) bottom left / 16px 1.5px, linear-gradient(var(--c), var(--c)) bottom left / 1.5px 16px, linear-gradient(var(--c), var(--c)) bottom right / 16px 1.5px, linear-gradient(var(--c), var(--c)) bottom right / 1.5px 16px;background-repeat:no-repeat;position:absolute;inset:6px}:root[data-theme=dark] .editor-panel,:root[data-theme=dark] .catalog-panel,:root[data-theme=dark] .character-card,:root[data-theme=dark] .encounter-controls,:root[data-theme=dark] .encounter-results,:root[data-theme=dark] .desk-panel,:root[data-theme=dark] .tool-tile{background-image:var(--grain), linear-gradient(180deg, #d8aa550d, transparent 40%);box-shadow:inset 0 0 0 3px var(--white), inset 0 0 0 4px #d8aa5533, 0 6px 18px #00000059}.encounter-card{background-image:var(--grain)}.control-section{background:linear-gradient(90deg, transparent, var(--line), transparent) bottom / 100% 1px no-repeat;border-bottom:0}.desk-panel-head h2,.results-heading h2,.control-heading h2{align-items:center;gap:8px;display:flex}.desk-panel-head h2:before{content:"❧";color:var(--crimson);font-size:.9em}.desk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:20px;padding-bottom:14px;display:flex;position:relative}.desk-head:after{content:"";background:var(--crimson);clip-path:polygon(0 0,100% 50%,0 100%);height:4px;position:absolute;bottom:0;left:0;right:0}.desk-head h1{font:500 clamp(30px, 4vw, 40px)/1.1 var(--serif);color:var(--ink);margin:0}.desk-head p{color:var(--muted);margin:4px 0 0;font-style:italic}.desk-actions{flex-wrap:wrap;gap:8px;display:flex}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tool-tile{text-align:left;border:1px solid var(--line);background-color:var(--white);color:var(--ink);cursor:pointer;grid-template-columns:auto 1fr;grid-template-areas:"glyph name""glyph count""note note";align-items:center;gap:2px 12px;padding:16px 16px 14px;display:grid}.tool-tile:hover{border-color:var(--crimson)}.tool-glyph{color:#fff3df;background:radial-gradient(circle at 35% 30%, #b8432a, var(--crimson-fill) 60%, #5e1508);border-radius:50%;grid-area:glyph;place-items:center;width:44px;height:44px;font-size:20px;display:grid;box-shadow:inset 0 0 0 2px #e2b45ccc,0 2px 4px #3c14054d}.tool-tile strong{font:500 16px var(--serif);grid-area:name}.tool-tile b{font:700 26px/1 var(--serif);color:var(--crimson);grid-area:count}.tool-tile .tool-status{font-size:22px}.tool-tile small{border-top:1px dotted var(--line);color:var(--muted);grid-area:note;margin-top:8px;padding-top:8px;font-size:12px}.desk-panel{border:1px solid var(--line);background-color:var(--white);margin-top:18px;padding:18px 20px}.desk-panel-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.desk-panel-head h2{font:500 21px var(--serif);color:var(--ink);margin:0}.roster{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;margin:0;padding:0;list-style:none;display:grid}.roster button{border:0;border-bottom:1px dotted var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 2px;display:flex}.roster button:hover .roster-name{color:var(--crimson)}.roster-mark{background:var(--crimson-fill);color:#fff3df;width:34px;height:34px;font:500 16px var(--serif);flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #e2b45c}.roster-name{min-width:0;font:500 16px var(--serif);display:grid}.roster-name small{font:italic 12px var(--sans);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-level{font:12px var(--mono);color:var(--muted);white-space:nowrap;margin-left:auto}.desk-empty{color:var(--muted);margin:4px 0 0;font-style:italic}@media (max-width:900px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.roster{grid-template-columns:1fr}.tool-grid{gap:8px}.tool-tile{column-gap:10px;padding:12px}.tool-glyph{width:36px;height:36px;font-size:16px}.desk-actions{width:100%}.desk-actions .button{flex:1}.sidebar:after{display:none}}
