@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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{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}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--paper:#f5f0e5;--paper-deep:#ece4d4;--surface:#fffdf8;--ink:#25332b;--ink-soft:#59665e;--moss:#405c3d;--moss-deep:#30482f;--moss-pale:#dfe8d9;--earth:#8b684c;--earth-pale:#eee1d3;--mist:#dce9eb;--mist-deep:#6f8e95;--border:#d8d0c0;--border-dark:#b9b09e;--shadow:0 20px 55px #2c352b17;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;--font-sans:"Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #6f8e958c}.page-shell{width:min(1220px,100% - 48px);margin-inline:auto}.site-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;position:sticky;top:0}.header-inner{align-items:center;gap:26px;width:min(1340px,100% - 40px);min-height:74px;margin:auto;display:flex}.brand{flex:none;align-items:center;gap:11px;display:flex}.brand-mark{width:40px;height:40px;color:var(--surface);background:var(--moss);border-radius:50%;place-items:center;display:grid}.brand-copy{gap:1px;display:grid}.brand-copy strong{font-family:var(--font-serif);letter-spacing:.04em;font-size:17px}.brand-copy small{letter-spacing:.13em;color:var(--ink-soft);font-size:8px}.main-nav{align-self:stretch;align-items:stretch;gap:4px;display:flex}.nav-link{color:#47564d;align-items:center;padding:0 11px;font-size:13px;font-weight:650;display:flex;position:relative}.nav-link:after{content:"";background:var(--moss);height:2px;transition:transform .16s;position:absolute;bottom:0;left:11px;right:11px;transform:scaleX(0)}.nav-link:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.header-search{border:1px solid var(--border);width:min(246px,22vw);height:39px;color:var(--ink-soft);background:var(--paper);border-radius:7px;align-items:center;gap:8px;padding:0 12px;display:flex}.header-search:focus-within{border-color:var(--mist-deep);box-shadow:0 0 0 3px #6f8e951f}.header-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.header-search input::placeholder{color:#858b84}.icon-button{display:none}.auth-entry-button,.menu-button,.icon-button{height:39px;color:var(--surface);background:var(--moss);border:0;border-radius:7px;justify-content:center;align-items:center}.auth-entry-button{border:1px solid var(--moss);gap:8px;min-width:125px;padding:0 16px;font-size:12px;font-weight:800;display:flex;box-shadow:0 5px 14px #30482f2e}.auth-entry-button.is-signed-in{color:var(--moss);background:var(--surface);box-shadow:none}.menu-button{cursor:pointer;width:39px;display:none}.mobile-character-link{display:none}.hero-section{grid-template-columns:minmax(0,.79fr) minmax(540px,1.21fr);align-items:center;gap:55px;padding-block:62px 54px;display:grid}.hero-copy{padding:20px 0 12px}.version-pill{border:1px solid var(--border-dark);letter-spacing:.08em;border-radius:999px;margin-bottom:25px;font-size:10px;display:inline-flex;overflow:hidden}.version-pill span{color:var(--ink-soft);background:var(--surface);padding:7px 11px}.version-pill strong{color:var(--surface);background:var(--earth);padding:7px 10px}.kicker{color:var(--earth);letter-spacing:.18em;margin:0 0 11px;font-size:10px;font-weight:800}.hero-copy h1{max-width:520px;font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-size:clamp(45px,5vw,70px);font-weight:800;line-height:1.1}.hero-lede{max-width:520px;color:var(--ink-soft);margin:24px 0 0;font-size:15px;line-height:1.95}.hero-actions{gap:11px;margin-top:30px;display:flex}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:0 18px;font-size:13px;font-weight:750;transition:transform .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--surface);background:var(--moss)}.button-primary:hover{background:var(--moss-deep)}.button-secondary{color:var(--moss);border-color:var(--moss);background:0 0}.button-light{color:var(--moss-deep);background:var(--surface)}.hero-stats{gap:0;margin:39px 0 0;display:flex}.hero-stats div{border-left:1px solid var(--border);padding:0 22px}.hero-stats div:first-child{border-left:0;padding-left:0}.hero-stats dt{font-family:var(--font-serif);font-size:23px;font-weight:800}.hero-stats dd{color:var(--ink-soft);margin:2px 0 0;font-size:10px}.rule-map-panel{border:1px solid var(--border-dark);background-color:var(--surface);box-shadow:var(--shadow);background-image:radial-gradient(#415b3b1c .75px,#0000 .75px);background-size:15px 15px;border-radius:3px;padding:29px;position:relative}.rule-map-panel:before{content:"";pointer-events:none;border:1px solid #8a684c2e;position:absolute;inset:8px}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding-bottom:14px;display:flex;position:relative}.panel-heading h2,.section-heading-row h2,.character-preview h2{font-family:var(--font-serif);margin:0;font-size:27px}.panel-intro{color:var(--ink-soft);margin:14px 0 20px;font-size:12px;position:relative}.rule-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:relative}.map-card{border:1px solid var(--border);background:#fffdf8ed;flex-direction:column;justify-content:center;min-height:110px;padding:18px 42px 16px 50px;transition:border .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.map-card:hover{border-color:var(--earth);transform:translateY(-2px);box-shadow:0 10px 24px #2d372e14}.map-number{color:#a69e90;font:9px/1 var(--font-sans);position:absolute;top:9px;right:10px}.map-icon{border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:20px;left:15px}.tone-moss .map-icon{color:var(--moss);background:var(--moss-pale)}.tone-earth .map-icon{color:var(--earth);background:var(--earth-pale)}.tone-mist .map-icon{color:#54777e;background:var(--mist)}.map-card strong{font-family:var(--font-serif);font-size:15px}.map-card small{color:var(--ink-soft);margin-top:5px;font-size:10px;line-height:1.45}.map-arrow{color:var(--earth);position:absolute;bottom:14px;right:14px}.home-updates{grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:18px;padding-bottom:48px;display:grid}.announcement-card,.version-log{border:1px solid var(--border-dark);background:var(--surface)}.announcement-card{grid-template-columns:44px 1fr;gap:16px;padding:24px;display:grid;box-shadow:0 12px 34px #2c352b0f}.update-icon{width:40px;height:40px;color:var(--surface);background:var(--earth);place-items:center;display:grid}.update-heading-row{justify-content:space-between;align-items:start;gap:18px;display:flex}.update-heading-row h2,.version-log-heading h2{font-family:var(--font-serif);margin:0;font-size:21px}.update-heading-row>span{color:var(--moss);border:1px solid var(--border);background:var(--moss-pale);white-space:nowrap;padding:6px 9px;font-size:8px;font-weight:800}.announcement-copy>p:not(.kicker){color:var(--ink-soft);margin:11px 0 14px;font-size:10px;line-height:1.75}.version-log{padding:20px 22px}.version-log-heading{align-items:center;gap:12px;display:flex}.version-log-heading .update-icon{width:34px;height:34px;color:var(--moss);background:var(--moss-pale)}.version-log ol{gap:10px;margin:15px 0 0;padding:0;list-style:none;display:grid}.version-log li{border-top:1px solid var(--border);grid-template-columns:88px 1fr;gap:10px;padding-top:10px;display:grid}.version-log time{color:var(--earth);align-items:center;gap:4px;padding-top:2px;font-size:7px;display:flex}.version-log li div{gap:3px;display:grid}.version-log li strong{font-size:9px}.version-log li span{color:var(--ink-soft);font-size:8px;line-height:1.45}.home-lower{grid-template-columns:minmax(0,1.8fr) minmax(300px,.75fr);align-items:stretch;gap:24px;padding-bottom:72px;display:grid}.recent-block{min-width:0}.section-heading-row{justify-content:space-between;align-items:end;min-height:53px;margin-bottom:17px;display:flex}.section-heading-row h2{font-size:24px}.text-link{color:var(--moss);align-items:center;gap:6px;font-size:11px;font-weight:750;display:inline-flex}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recent-card{border:1px solid var(--border);background:#fffdf8a8;flex-direction:column;min-height:216px;padding:21px;transition:background .16s,transform .16s;display:flex}.recent-card:hover{background:var(--surface);transform:translateY(-3px)}.recent-card>svg{color:var(--earth)}.recent-card p{color:var(--mist-deep);letter-spacing:.1em;margin:23px 0 8px;font-size:9px;font-weight:800}.recent-card h3{font-family:var(--font-serif);margin:0;font-size:17px}.recent-card span{color:var(--ink-soft);margin-top:10px;font-size:11px;line-height:1.7}.recent-card strong{color:var(--moss);align-items:center;gap:6px;margin-top:auto;padding-top:15px;font-size:10px;display:flex}.character-preview{color:var(--surface);background:var(--moss);flex-direction:column;padding:27px;display:flex}.character-preview-top{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.character-seal{border:1px solid #ffffff5c;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.status-dot{color:#e9f2e5;background:#ffffff1a;border-radius:99px;padding:5px 8px;font-size:9px}.status-dot:before{content:"";background:#bcd7a8;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.character-preview .kicker{color:#cbdcbf}.character-preview h2{max-width:270px;color:var(--surface);font-size:24px;line-height:1.35}.character-preview>p:not(.kicker){color:#ffffffb3;margin:12px 0 18px;font-size:11px;line-height:1.7}.empty-sheet{border:1px solid #ffffff2e;grid-template-columns:1fr 1fr;margin-bottom:19px;display:grid}.empty-sheet div{border-bottom:1px solid #ffffff26;border-right:1px solid #ffffff26;flex-direction:column;gap:5px;min-height:50px;padding:9px 10px;display:flex}.empty-sheet div:nth-child(2n){border-right:0}.empty-sheet div:nth-child(n+3){border-bottom:0}.empty-sheet span{color:#ffffff85;font-size:8px}.empty-sheet b{font-family:var(--font-serif);font-size:12px}.character-preview .button{align-self:stretch;margin-top:auto}.site-footer{border-top:1px solid var(--border);color:var(--ink-soft);background:var(--paper-deep);padding:32px 0;font-size:10px}.footer-inner{grid-template-columns:minmax(220px,.8fr) minmax(350px,1.55fr) auto;align-items:start;gap:28px;display:grid}.footer-inner p{margin:0;line-height:1.65}.footer-project{gap:5px;display:grid}.footer-project strong{color:var(--ink);font-family:var(--font-serif);font-size:12px}.footer-legal{border-left:1px solid var(--border-dark);gap:7px;padding-left:24px;display:grid}.footer-legal a,.footer-meta a{color:var(--moss-deep);text-underline-offset:3px;font-weight:750;-webkit-text-decoration:underline #405c3d59;text-decoration:underline #405c3d59}.footer-meta{justify-items:end;gap:7px;min-width:115px;display:grid}.contact-page{background:linear-gradient(180deg, var(--surface) 0, var(--paper) 54%);min-height:calc(100vh - 74px);padding:58px 0 82px}.contact-shell{gap:26px;display:grid}.contact-hero{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);align-items:stretch;gap:26px;display:grid}.contact-intro{border:1px solid var(--border);background:#fffdf8c7;flex-direction:column;justify-content:center;min-height:360px;padding:clamp(34px,5vw,66px);display:flex}.contact-intro h1{font-family:var(--font-serif);margin:7px 0 13px;font-size:clamp(38px,5vw,60px);line-height:1.12}.contact-intro>p:not(.kicker){max-width:670px;color:var(--ink-soft);margin:0;font-size:14px;line-height:1.85}.contact-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.author-card{min-height:360px;color:var(--surface);background:var(--moss);flex-direction:column;justify-content:end;padding:36px;display:flex}.author-card-icon{border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:50px;height:50px;margin-bottom:auto;display:grid}.author-card p{color:#ffffffa6;letter-spacing:.15em;margin:0 0 7px;font-size:9px;font-weight:800}.author-card h2{color:var(--surface);font-family:var(--font-serif);margin:0;font-size:28px}.author-card strong{color:#ffffffbf;letter-spacing:.04em;margin-top:3px;font-size:12px}.author-card a{color:#fff;overflow-wrap:anywhere;border-top:1px solid #ffffff38;margin-top:24px;padding-top:18px;font-size:12px;font-weight:750}.contact-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.contact-details article{border:1px solid var(--border);background:#fffdf8b8;min-height:240px;padding:27px}.contact-details article>svg{color:var(--earth)}.contact-details h2{font-family:var(--font-serif);margin:25px 0 11px;font-size:19px}.contact-details p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.78}.contact-details p+p{margin-top:10px}.contact-license-links{flex-wrap:wrap;gap:8px 14px;margin-top:16px;display:flex}.contact-license-links a{color:var(--moss-deep);text-underline-offset:3px;font-size:10px;font-weight:800;text-decoration:underline}.auth-page,.account-page{background:linear-gradient(180deg, var(--surface), var(--paper));min-height:calc(100vh - 74px)}.auth-page{place-items:start center;padding:56px 20px 82px;display:grid}.auth-card{border:1px solid var(--border-dark);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);padding:36px}.auth-card .kicker{margin-top:30px}.auth-card h1,.account-shell h1{font-family:var(--font-serif);margin:8px 0 12px;font-size:clamp(32px,5vw,46px)}.queue-page{background:linear-gradient(180deg,var(--surface),var(--paper));place-items:start center;min-height:calc(100vh - 74px);padding:56px 20px 82px;display:grid}.queue-card{border:1px solid var(--border-dark);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow);text-align:center;justify-items:center;padding:38px;display:grid}.queue-icon{width:66px;height:66px;color:var(--surface);background:var(--moss);border-radius:50%;place-items:center;display:grid}.queue-card .kicker{margin:22px 0 0}.queue-card h1{font-family:var(--font-serif);margin:8px 0 22px;font-size:clamp(30px,5vw,43px)}.queue-position{color:var(--ink-soft);align-items:baseline;gap:9px;display:flex}.queue-position strong{color:var(--moss);font-family:var(--font-serif);font-size:58px;line-height:1}.queue-estimate{width:100%;color:var(--earth);border:1px solid var(--border);background:var(--earth-pale);justify-content:center;align-items:center;gap:11px;margin-top:20px;padding:15px 18px;display:flex}.queue-estimate div{text-align:left;gap:2px;display:grid}.queue-estimate small{color:var(--ink-soft);font-size:9px}.queue-estimate strong{font-size:15px}.queue-card>p:not(.kicker,.queue-notice){max-width:430px;color:var(--ink-soft);margin:16px 0 0;font-size:11px;line-height:1.7}.queue-loading{min-height:130px;color:var(--ink-soft);place-content:center;justify-items:center;gap:10px;display:grid}.queue-notice{color:var(--moss);margin:18px 0;font-size:10px}.queue-card form,.queue-card form .button{width:100%}.auth-intro,.account-shell header>p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.75}.auth-form{gap:15px;margin-top:25px;display:grid}.auth-form label,.account-panel label{color:var(--ink-soft);gap:7px;font-size:11px;font-weight:700;display:grid}.auth-form input,.account-panel input{border:1px solid var(--border-dark);width:100%;height:44px;color:var(--ink);background:var(--paper);outline:0;padding:0 12px}.auth-form input:focus,.account-panel input:focus{border-color:var(--moss);box-shadow:0 0 0 3px #405c3d1f}.auth-form .button{margin-top:5px}.auth-notice,.account-notice{border-left:3px solid var(--earth);color:var(--ink-soft);background:var(--earth-pale);padding:12px 14px;font-size:11px;line-height:1.6}.auth-switches{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px 16px;margin-top:20px;padding-top:17px;display:flex}.auth-switches button{color:var(--moss);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:750;display:inline-flex}.account-page{padding:50px 0 80px}.account-shell{gap:24px;display:grid}.account-shell header{padding:25px 0 8px}.account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.account-panel{border:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:290px;padding:26px;display:flex}.account-panel>svg{color:var(--earth)}.account-panel h2{font-family:var(--font-serif);margin:20px 0 24px;font-size:20px}.account-panel .button{margin-top:auto}.account-danger{background:#fff8f6;border:1px solid #cfa9a2;justify-content:space-between;align-items:center;gap:25px;padding:24px;display:flex}.account-danger h2{font-family:var(--font-serif);margin:0;font-size:19px}.account-danger p{color:var(--ink-soft);margin:7px 0 0;font-size:11px}.account-danger>div:last-child{gap:9px;display:flex}.danger-button{color:#fff;cursor:pointer;background:#8e3f35;border-color:#8e3f35}.rules-page{min-height:calc(100vh - 74px)}.rules-masthead{border-bottom:1px solid var(--border);background:var(--surface);padding:38px 0 29px}.rules-masthead-inner{justify-content:space-between;align-items:end;gap:32px;display:flex}.rules-masthead h1{font-family:var(--font-serif);margin:0;font-size:clamp(32px,4vw,48px)}.rules-masthead p{max-width:560px;color:var(--ink-soft);margin:12px 0 0;font-size:13px;line-height:1.7}.rules-count{border:1px solid var(--border);color:var(--earth);background:var(--paper);flex:none;padding:10px 14px;font-size:11px}.rules-toolbar{border-bottom:1px solid var(--border);background:var(--paper-deep);padding:17px 0}.rules-toolbar-inner{align-items:center;gap:11px;display:flex}.rules-search{border:1px solid var(--border-dark);background:var(--surface);flex:1;align-items:center;gap:10px;max-width:630px;height:45px;padding:0 14px;display:flex}.rules-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.rules-search kbd{border:1px solid var(--border);color:var(--ink-soft);background:var(--paper);border-radius:3px;padding:3px 6px;font-size:9px}.clear-search{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:5px}.category-select{border:1px solid var(--border-dark);min-width:155px;height:45px;color:var(--ink);background:var(--surface);padding:0 36px 0 13px;font-size:12px}.rules-layout{grid-template-columns:245px minmax(0,1fr);gap:42px;padding-top:31px;padding-bottom:80px;display:grid}.rules-sidebar{border-right:1px solid var(--border);align-self:start;max-height:calc(100vh - 130px);padding-right:18px;position:sticky;top:104px;overflow:auto}.sidebar-label{color:var(--earth);letter-spacing:.15em;margin:0 0 10px;font-size:9px;font-weight:800}.sidebar-categories{gap:2px;display:grid}.sidebar-category{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;justify-content:space-between;padding:10px 11px;font-size:12px;display:flex}.sidebar-category:hover,.sidebar-category.is-active{border-left-color:var(--moss);color:var(--moss-deep);background:#fffdf8bf;font-weight:750}.sidebar-category span{color:#938b7e;font-size:9px}.sidebar-divider{border:0;border-top:1px solid var(--border);margin:20px 0}.root-links{gap:2px;display:grid}.root-link{color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:11px}.root-link:hover,.root-link.is-active{color:var(--moss);font-weight:700}.rules-content{min-width:0;max-width:880px}.content-breadcrumb{color:var(--mist-deep);letter-spacing:.05em;margin:0 0 8px;font-size:10px;font-weight:750}.rules-content-heading{border-bottom:1px solid var(--border);margin-bottom:27px;padding-bottom:21px}.rules-content-heading h2{font-family:var(--font-serif);margin:0;font-size:32px}.rules-content-heading p{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.rule-section{padding:0 0 34px;scroll-margin-top:105px}.rule-section+.rule-section{border-top:1px solid var(--border);padding-top:29px}.rule-section h2,.rule-section h3,.rule-section h4{font-family:var(--font-serif);color:var(--ink)}.rule-section h2{margin:0 0 17px;font-size:26px}.rule-section h3{margin:0 0 15px;font-size:21px}.rule-section h4{margin:0 0 13px;font-size:17px}.rule-section-title{align-items:center;gap:9px;display:flex}.rule-section-title a{color:var(--border-dark);opacity:0}.rule-section:hover .rule-section-title a{opacity:1}.rule-markdown{color:#3f4c44;font-size:13px;line-height:1.9}.rule-markdown p{margin:0 0 14px}.rule-markdown strong{color:var(--ink)}.rule-markdown ul,.rule-markdown ol{padding-left:21px}.rule-markdown li{margin:5px 0}.rule-markdown blockquote{border-left:3px solid var(--earth);background:var(--earth-pale);margin:18px 0;padding:13px 17px}.rule-markdown table{border-collapse:collapse;background:var(--surface);width:100%;margin:20px 0;font-size:11px;line-height:1.55}.rule-markdown th,.rule-markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 11px}.rule-markdown th{color:var(--surface);background:var(--moss)}.rule-markdown tr:nth-child(2n) td{background:#faf7ef}.table-scroll{width:100%;overflow-x:auto}.search-summary{color:var(--ink-soft);margin:0 0 23px;font-size:12px}.search-summary strong{color:var(--earth)}.search-results{gap:12px;display:grid}.search-result{border:1px solid var(--border);color:inherit;text-align:left;cursor:pointer;background:#fffdf8c2;padding:19px 21px}.search-result:hover{border-color:var(--earth);background:var(--surface)}.search-result small{color:var(--mist-deep);font-size:9px;font-weight:750}.search-result h3{font-family:var(--font-serif);margin:7px 0 8px;font-size:18px}.search-result p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.7}.empty-state{border:1px dashed var(--border-dark);text-align:center;background:#fffdf880;padding:50px 25px}.empty-state h3{font-family:var(--font-serif)}.empty-state p{color:var(--ink-soft);font-size:12px}.characters-page{min-height:calc(100vh - 74px)}.signed-out-page{background-color:var(--paper);background-image:radial-gradient(#415b3b1a .7px,#0000 .7px);background-size:17px 17px;align-items:center;padding:70px 0;display:grid}.signin-panel{border:1px solid var(--border-dark);background:var(--surface);text-align:center;max-width:720px;box-shadow:var(--shadow);padding:56px}.signin-emblem{width:68px;height:68px;color:var(--surface);background:var(--moss);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}.signin-panel h1,.characters-masthead h1{font-family:var(--font-serif);margin:0;font-size:clamp(36px,5vw,55px)}.signin-panel>p:not(.kicker){max-width:550px;color:var(--ink-soft);margin:19px auto;font-size:13px;line-height:1.85}.signin-features{flex-wrap:wrap;justify-content:center;gap:8px;margin:25px auto 30px;display:flex}.signin-features span{border:1px solid var(--border);color:var(--ink-soft);background:var(--paper);align-items:center;gap:6px;padding:9px 11px;font-size:10px;display:inline-flex}.signin-guidance{border:1px solid var(--moss);max-width:430px;color:var(--moss-deep);background:var(--moss-pale);text-align:left;justify-content:center;align-items:center;gap:11px;margin:0 auto;padding:14px 17px;display:flex}.signin-guidance div{gap:4px;display:grid}.signin-guidance strong{font-size:12px}.signin-guidance span{color:var(--ink-soft);font-size:9px;line-height:1.5}.signin-panel>.text-link{width:fit-content;margin:20px auto 0}.signin-note{color:#858b84;max-width:420px;margin:11px auto 0;font-size:8px;display:block}.loading-page{color:var(--ink-soft);place-content:center;justify-items:center;gap:14px;display:grid}.loading-page p{font-size:12px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.characters-masthead{border-bottom:1px solid var(--border);background:var(--surface);padding:47px 0 37px}.character-heading-row{justify-content:space-between;align-items:end;gap:25px;display:flex}.characters-masthead h1{font-size:47px}.characters-masthead p:not(.kicker){color:var(--ink-soft);margin:11px 0 0;font-size:12px}.vault-actions{gap:9px;display:flex}.vault-body{padding-top:35px;padding-bottom:75px}.character-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.character-card{border:1px solid var(--border);min-height:150px;color:inherit;background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:16px;padding:21px;transition:transform .15s,border-color .15s;display:flex;position:relative}.character-card:hover{border-color:var(--earth);transform:translateY(-3px)}.character-monogram{width:54px;height:54px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;flex:none;place-items:center;font-size:21px;font-weight:800;display:grid}.character-monogram.has-avatar,.member-monogram.has-avatar{overflow:hidden}.character-monogram img,.member-monogram img{object-fit:cover;width:100%;height:100%;display:block}.character-card-copy{flex-direction:column;min-width:0;display:flex}.character-card-copy small{color:var(--mist-deep);font-size:9px}.character-card-copy strong{font-family:var(--font-serif);white-space:nowrap;text-overflow:ellipsis;margin-top:7px;font-size:19px;overflow:hidden}.character-card-copy em{color:var(--ink-soft);margin-top:8px;font-size:10px;font-style:normal}.card-chevron{color:var(--earth);position:absolute;bottom:13px;right:15px;transform:rotate(-90deg)}.vault-empty{border:1px dashed var(--border-dark);text-align:center;background:#fffdf894;justify-items:center;padding:75px 25px;display:grid}.vault-empty>svg{color:var(--earth)}.vault-empty h2{font-family:var(--font-serif);margin:17px 0 0}.vault-empty p{max-width:420px;color:var(--ink-soft);margin:11px 0 22px;font-size:12px;line-height:1.7}.vault-footer-links{justify-content:flex-end;gap:18px;margin-top:25px;display:flex}.vault-footer-links a,.vault-footer-links button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10px;display:inline-flex}.form-notice{border-left:3px solid var(--mist-deep);color:var(--ink);background:var(--mist);margin:0 0 18px;padding:11px 13px;font-size:11px}.sheet-toolbar{z-index:35;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ece4d4f5;position:sticky;top:74px}.sheet-toolbar-inner{align-items:center;gap:17px;min-height:61px;display:flex}.sheet-back{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:11px;font-weight:750;display:inline-flex}.save-state{color:var(--ink-soft);align-items:center;gap:6px;font-size:9px;display:flex}.unsaved-dot{background:var(--earth);border-radius:50%;width:6px;height:6px}.sheet-action-area{justify-items:end;gap:5px;margin-left:auto;padding-block:7px;display:grid}.cloud-save-reminder{color:var(--earth);align-items:center;gap:5px;font-size:7px;font-weight:750;display:flex}.sheet-actions{align-items:center;gap:6px;display:flex}.toolbar-action{border:1px solid var(--border-dark);min-height:34px;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:750;display:inline-flex}.toolbar-action:hover{background:var(--surface)}.toolbar-action.danger{color:#914d45}.toolbar-action:disabled{opacity:.55;cursor:wait}.sheet-actions .button:disabled{opacity:.65;cursor:wait}.sheet-layout{grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:25px;padding-top:31px;padding-bottom:80px;display:grid}.sheet-main{gap:17px;min-width:0;display:grid}.sheet-identity,.sheet-section{border:1px solid var(--border);background:var(--surface)}.sheet-identity{grid-template-columns:84px minmax(0,1fr);gap:24px;padding:26px;display:grid}.sheet-seal{width:84px;height:84px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:29px;font-weight:800;display:grid}.identity-fields label,.form-grid label{flex-direction:column;gap:6px;display:flex}.identity-fields label>span,.form-grid label>span{color:var(--ink-soft);letter-spacing:.04em;font-size:9px;font-weight:750}.name-field input{border:0;border-bottom:1px solid var(--border-dark);color:var(--ink);font-family:var(--font-serif);background:0 0;outline:0;padding:0 0 8px;font-size:28px;font-weight:750}.identity-grid{grid-template-columns:1fr 1fr 1fr 80px;gap:10px;margin-top:16px;display:grid}.identity-grid input,.identity-grid select,.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border);width:100%;color:var(--ink);background:#fbf8f0;outline:0;font-size:11px}.identity-grid input,.identity-grid select,.form-grid input,.form-grid select{height:38px;padding:0 10px}.identity-grid input:focus,.identity-grid select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.name-field input:focus{border-color:var(--mist-deep);box-shadow:0 0 0 3px #6f8e951c}.sheet-mixed-editor{background:var(--moss-pale);border:1px solid #cfddc7;grid-template-columns:auto 1fr 1fr 1fr;align-items:end;gap:8px;margin-top:12px;padding:11px;display:grid}.sheet-mixed-editor>strong{color:var(--moss);font-family:var(--font-serif);align-self:center;font-size:13px}.sheet-mixed-editor label{gap:5px;display:grid}.sheet-mixed-editor label span{color:var(--ink-soft);font-size:8px}.sheet-mixed-editor select{border:1px solid var(--border);background:var(--surface);min-width:0;height:34px;padding:0 7px;font-size:9px}.sheet-section{padding:26px}.sheet-section-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:21px;display:flex}.sheet-section-heading h2{font-family:var(--font-serif);margin:0;font-size:23px}.section-helper,.traits-heading p{max-width:570px;color:var(--ink-soft);margin:5px 0 0;font-size:9px;line-height:1.6}.point-buy{border:1px solid var(--border);background:var(--paper);flex-direction:column;align-items:flex-end;min-width:92px;padding:8px 11px;display:flex}.point-buy span{color:var(--ink-soft);font-size:8px}.point-buy strong{color:var(--moss);margin-top:2px;font-size:11px}.point-buy.over strong{color:#a34e44}.attribute-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.attribute-card{border:1px solid var(--border);background:var(--paper);text-align:center;padding:13px 8px 9px}.attribute-card>span{color:var(--ink-soft);font-size:9px;display:block}.attribute-card>strong{border:1px solid var(--moss);width:45px;height:45px;color:var(--moss);background:var(--surface);font-family:var(--font-serif);border-radius:50%;place-items:center;margin:8px auto;font-size:17px;display:grid}.score-stepper{grid-template-columns:24px minmax(0,1fr) 24px;display:grid}.score-stepper button,.score-stepper input{border:1px solid var(--border);height:28px;color:var(--ink);background:var(--surface)}.score-stepper button{cursor:pointer;place-items:center;display:grid}.score-stepper input{text-align:center;-moz-appearance:textfield;border-inline:0;min-width:0;font-size:11px}.score-stepper input::-webkit-inner-spin-button{appearance:none}.attribute-breakdown{color:var(--ink-soft);margin-top:7px;font-size:7px;display:block}.attribute-breakdown b{color:var(--moss);font-size:9px}.proficiency-badge{color:var(--moss);background:var(--moss-pale);border-radius:99px;padding:7px 10px;font-size:9px;font-weight:750}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.resource-card{border:1px solid var(--border);background:var(--paper);padding:14px}.resource-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.resource-card>div:first-child span{color:var(--ink-soft);font-size:9px}.resource-card>div:first-child strong{font-family:var(--font-serif);font-size:14px}.resource-bar{background:var(--border);height:4px;margin:10px 0 12px;overflow:hidden}.resource-bar i{background:var(--moss);height:100%;display:block}.resource-spirit .resource-bar i{background:var(--mist-deep)}.resource-herbs .resource-bar i{background:var(--earth)}.resource-inputs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.resource-inputs label{color:var(--ink-soft);align-items:center;gap:5px;font-size:8px;display:flex}.resource-inputs input{border:1px solid var(--border);background:var(--surface);text-align:center;width:100%;min-width:0;height:27px;padding:0 5px;font-size:10px}.resource-quick-adjust{grid-template-columns:repeat(4,1fr);gap:4px;margin:-3px 0 11px;display:grid}.resource-quick-adjust button{border:1px solid var(--border);height:27px;color:var(--moss);background:var(--surface);cursor:pointer;font-size:8px;font-weight:800}.resource-quick-adjust button:hover{color:var(--surface);border-color:var(--moss);background:var(--moss)}.form-grid{gap:12px;margin-top:18px;display:grid}.two-column{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:88px;padding:10px;line-height:1.65}.field-hint{color:var(--moss);font-size:8px;line-height:1.55}.story-grid{margin-top:0}.story-grid textarea{min-height:108px}.sheet-aside{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-dark) transparent;gap:13px;max-height:calc(100vh - 174px);padding-right:5px;display:grid;position:sticky;top:157px;overflow-y:auto}.quick-summary,.rules-help,.quick-resources{border:1px solid var(--border);background:var(--surface);padding:21px}.quick-summary h3,.rules-help h3{font-family:var(--font-serif);margin:0;font-size:18px}.quick-summary dl{margin:18px 0 0;display:grid}.quick-summary dl div{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.quick-summary dt{color:var(--ink-soft);font-size:9px}.quick-summary dd{text-align:right;margin:0;font-size:10px;font-weight:750}.rules-help{color:var(--surface);background:var(--moss)}.rules-help>svg{color:#cbdcbf}.rules-help h3{color:var(--surface);margin-top:13px}.rules-help p{color:#ffffffad;font-size:10px;line-height:1.7}.rules-help a{border-bottom:1px solid #ffffff73;margin-top:5px;padding-bottom:2px;font-size:10px;font-weight:750;display:inline-flex}.aside-notice{margin:0}.readonly-level{cursor:not-allowed;color:var(--ink-soft)!important;background:var(--paper-deep)!important}.quick-resources{padding:17px}.quick-resources-heading{justify-content:space-between;align-items:end;gap:8px;margin-bottom:11px;display:flex}.quick-resources-heading h3{font-family:var(--font-serif);margin:0;font-size:17px}.quick-resources-heading>small{color:var(--ink-soft);font-size:7px}.quick-resource-row{border-top:1px solid var(--border);padding:11px 0}.quick-resource-row>div:first-child{justify-content:space-between;align-items:end;display:flex}.quick-resource-row>div:first-child>span{color:var(--earth);font-size:9px;font-weight:850}.quick-spirit>div:first-child>span{color:var(--mist-deep)}.quick-resource-row strong{font-family:var(--font-serif);font-size:20px}.quick-resource-row strong small{color:var(--ink-soft);font-family:var(--font-sans);margin-left:3px;font-size:8px}.quick-adjust-buttons{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;display:grid}.quick-adjust-buttons button{border:1px solid var(--border);height:29px;color:var(--ink-soft);background:var(--paper);cursor:pointer;font-size:8px;font-weight:800}.quick-adjust-buttons button:hover{color:var(--surface);border-color:var(--earth);background:var(--earth)}.quick-spirit .quick-adjust-buttons button:hover{border-color:var(--mist-deep);background:var(--mist-deep)}.initiative-quick-button{border:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;grid-template-columns:18px auto 1fr auto;align-items:center;gap:7px;margin-top:3px;padding:9px 10px;display:grid}.initiative-quick-button>svg{color:var(--earth)}.initiative-quick-button span{font-size:8px;font-weight:800}.initiative-quick-button strong{min-width:0;color:var(--moss);font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.initiative-quick-button em{color:var(--moss);align-items:center;gap:3px;font-size:7px;font-style:normal;font-weight:800;display:flex}.dynamic-rules-section{background:#fbfaf5}.rules-engine-heading{align-items:center}.level-up-button{color:var(--surface);background:var(--earth)}.level-up-button:hover{background:#76553d}.level-up-button:disabled{opacity:.55;cursor:default;transform:none}.level-management-actions{flex:none;justify-items:stretch;gap:5px;display:grid}.level-management-actions>div{grid-template-columns:1fr 1fr;gap:4px;display:grid}.level-management-actions>div button{border:1px solid var(--border);min-height:30px;color:var(--ink-soft);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:0 7px;font-size:7px;font-weight:750;display:flex}.level-management-actions>div button:hover:not(:disabled){color:var(--earth);border-color:var(--earth)}.level-management-actions>div button:disabled{opacity:.4;cursor:not-allowed}.rules-engine-empty{color:var(--ink-soft);text-align:center;justify-items:center;padding:25px 15px;display:grid}.rules-engine-empty>svg{color:var(--earth)}.rules-engine-empty h2{font-family:var(--font-serif);margin:12px 0 4px;font-size:20px}.rules-engine-empty p{margin:0;font-size:10px}.formula-strip{border:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.formula-strip>div{border-right:1px solid var(--border);grid-template-columns:23px minmax(0,1fr);align-items:center;min-width:0;padding:14px;display:grid}.formula-strip>div:last-child{border-right:0}.formula-strip svg{color:var(--earth);grid-row:1/4;align-self:start;margin-top:2px}.formula-strip span{color:var(--ink-soft);font-size:8px;font-weight:750}.formula-strip strong{overflow-wrap:anywhere;font-family:var(--font-serif);margin-top:3px;font-size:11px}.formula-strip small{color:#8a8e86;margin-top:3px;font-size:7px}.interactive-formulas>div{grid-template-rows:auto auto auto 28px}.interactive-formulas>div>button{border:1px solid var(--border-dark);height:28px;color:var(--moss);background:var(--paper);cursor:pointer;grid-column:2;justify-content:center;align-self:end;align-items:center;gap:5px;margin-top:9px;padding:0 8px;font-size:8px;font-weight:800;display:inline-flex}.interactive-formulas>div>button:hover{color:var(--surface);border-color:var(--moss);background:var(--moss)}.checks-disclosure{border:1px solid var(--border);background:var(--paper);margin-top:10px}.checks-disclosure summary{color:var(--moss);cursor:pointer;align-items:center;gap:7px;padding:10px 13px;font-size:9px;font-weight:750;list-style:none;display:flex}.checks-disclosure summary::-webkit-details-marker{display:none}.ability-card summary::-webkit-details-marker{display:none}.checks-disclosure summary svg:last-child{margin-left:auto;transition:transform .15s}.checks-disclosure[open] summary svg:last-child{transform:rotate(90deg)}.check-formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 12px;display:grid}.check-formula-grid div{border:1px solid var(--border);background:var(--surface);grid-template-columns:1fr auto;padding:9px;display:grid}.check-formula-grid span{color:var(--ink-soft);font-size:8px}.check-formula-grid strong{font-family:var(--font-serif);font-size:10px}.check-formula-grid small{color:#8b8e87;grid-column:1/-1;margin-top:3px;font-size:7px}.interactive-check-grid div{grid-template-columns:1fr auto}.interactive-check-grid button{border:1px solid var(--border);height:25px;color:var(--moss);background:var(--paper);cursor:pointer;grid-column:1/-1;justify-content:center;align-items:center;gap:4px;margin-top:7px;font-size:7px;font-weight:800;display:flex}.skill-check-section{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.skill-check-section>header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.skill-check-section h3{font-family:var(--font-serif);margin:0;font-size:17px}.skill-check-section>header>span{color:var(--moss);align-items:center;gap:4px;font-size:8px;display:inline-flex}.skill-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.skill-roll-button{border:1px solid var(--border);min-width:0;min-height:56px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:8px 9px;display:grid}.skill-roll-button:hover{border-color:var(--earth);background:var(--earth-pale)}.skill-roll-button.is-proficient{border-left:3px solid var(--moss);background:var(--moss-pale)}.skill-roll-button>span{min-width:0;font-family:var(--font-serif);align-items:center;gap:4px;font-size:11px;font-weight:800;display:flex}.skill-roll-button>span svg{color:var(--moss)}.skill-roll-button>small{color:var(--ink-soft);text-align:right;font-size:7px}.skill-roll-button>strong{font-size:8px}.skill-roll-button>em{color:var(--earth);align-items:center;gap:3px;font-size:7px;font-style:normal;font-weight:800;display:inline-flex}.rules-engine-warning{border-left:3px solid var(--earth);color:var(--ink-soft);background:var(--earth-pale);margin-top:14px;padding:13px 15px;font-size:10px;line-height:1.7}.learned-abilities{margin-top:22px}.ability-list-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.ability-list-heading h3{font-family:var(--font-serif);margin:0;font-size:16px}.ability-list-heading span{color:var(--ink-soft);font-size:8px}.ability-card-list{gap:6px;display:grid}.ability-card{border:1px solid var(--border);background:var(--surface)}.ability-card summary{cursor:pointer;align-items:center;gap:11px;min-height:55px;padding:9px 12px;list-style:none;display:flex}.ability-card summary>svg{color:var(--earth);margin-left:auto;transition:transform .15s}.ability-card[open] summary>svg{transform:rotate(90deg)}.ability-level{border:1px solid var(--border);min-width:36px;color:var(--earth);background:var(--paper);text-align:center;padding:5px;font-size:8px;font-weight:800}.ability-name{flex-direction:column;min-width:0;display:flex}.ability-name strong{font-family:var(--font-serif);font-size:13px}.ability-name small{color:var(--ink-soft);margin-top:4px;font-size:8px}.ability-detail{border-top:1px solid var(--border);color:var(--ink-soft);background:#faf7ef;padding:15px 18px 17px 60px;font-size:10px;line-height:1.75}.ability-detail>p{margin:0 0 10px}.current-formula{background:var(--moss-pale);border:1px solid #cfddc7;gap:4px;margin:10px 0;padding:10px 12px;display:grid}.current-formula span{color:var(--moss);letter-spacing:.05em;font-size:7px;font-weight:800}.current-formula strong{color:var(--ink);font-size:9px}.roll-formulas{flex-wrap:wrap;gap:6px;display:flex}.roll-formulas span{border:1px solid var(--border);color:var(--ink);background:var(--surface);padding:6px 8px;font-size:8px}.ability-roll-actions{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.ability-roll-actions button{border:1px solid var(--moss);min-height:31px;color:var(--moss);background:var(--moss-pale);cursor:pointer;align-items:center;gap:5px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-flex}.ability-roll-actions button:hover{color:var(--surface);background:var(--moss)}.ability-note{border-left:2px solid var(--mist-deep);padding-left:9px;margin-top:10px!important}.soul-ability-block{margin-top:25px}.soul-card .ability-level{color:#567a81;background:var(--mist);border-color:#b9ced1}.rules-source-link{width:fit-content;color:var(--moss);align-items:center;gap:6px;margin-top:16px;font-size:9px;font-weight:750;display:flex}.traits-section{position:relative}.traits-heading{align-items:center}.traits-heading>div{min-width:0}.trait-explainer{color:var(--moss);background:var(--moss-pale);border:1px solid #cfdcc8;align-items:flex-start;gap:10px;margin-bottom:15px;padding:12px 14px;display:flex}.trait-explainer svg{flex:none}.trait-explainer span{color:var(--ink-soft);gap:3px;font-size:9px;line-height:1.55;display:grid}.trait-explainer strong{color:var(--moss);font-size:9px}.trait-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.trait-card{border:1px solid var(--border);background:var(--paper);flex-direction:column;min-height:145px;padding:15px;display:flex}.trait-card.is-faction{border-top:3px solid var(--moss);background:#f6f8f1}.trait-card header{align-items:center;gap:6px;display:flex}.trait-card header span{color:var(--surface);background:var(--earth);padding:4px 6px;font-size:7px;font-weight:800}.trait-card header em{color:var(--ink-soft);font-size:8px;font-style:normal}.trait-card header svg{color:var(--moss);margin-left:auto}.trait-card h3{font-family:var(--font-serif);margin:12px 0 7px;font-size:16px}.trait-card p{color:var(--ink-soft);margin:0 0 8px;font-size:9px;line-height:1.65}.trait-card>small{color:#7c817b;margin-top:3px;font-size:8px}.trait-card footer{gap:12px;margin-top:auto;padding-top:12px;display:flex}.trait-card footer button{color:var(--moss);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:8px;display:inline-flex}.trait-card footer button.danger{color:#914d45}.trait-empty{border:1px dashed var(--border-dark);color:var(--ink-soft);background:var(--paper);text-align:center;justify-items:center;gap:9px;padding:25px;display:grid}.trait-empty p{margin:0;font-size:9px}.trait-editor{z-index:10;border:1px solid var(--border-dark);background:var(--surface);flex-direction:column;display:flex;position:absolute;inset:18px;box-shadow:0 18px 55px #19231d38}.trait-editor>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding:17px 20px;display:flex}.trait-editor h3{font-family:var(--font-serif);margin:0;font-size:20px}.trait-editor>header button{border:1px solid var(--border);background:var(--paper);cursor:pointer;place-items:center;width:32px;height:32px;display:grid}.trait-form{grid-template-columns:1fr 1fr;gap:11px;padding:18px 20px;display:grid}.trait-form label{gap:6px;display:grid}.trait-form label.wide{grid-column:1/-1}.trait-form label>span{color:var(--ink-soft);font-size:8px;font-weight:750}.trait-form input,.trait-form select,.trait-form textarea{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--paper);font-size:10px}.trait-form input,.trait-form select{height:36px;padding:0 9px}.trait-form textarea{resize:vertical;min-height:66px;padding:9px}.trait-editor>footer{border-top:1px solid var(--border);background:var(--paper-deep);justify-content:flex-end;gap:7px;margin-top:auto;padding:13px 20px;display:flex}.trait-editor>footer .button:disabled{opacity:.45;cursor:not-allowed}.dice-tray{z-index:90;border:1px solid var(--border-dark);width:min(390px,100vw - 28px);max-height:calc(100vh - 105px);color:var(--ink);background:var(--surface);flex-direction:column;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 22px 70px #16221a47}.dice-tray>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:10px;padding:15px 17px 12px;display:flex}.dice-tray h2{font-family:var(--font-serif);margin:0;font-size:20px}.dice-tray>header>div:last-child{gap:5px;display:flex}.dice-tray>header button{border:1px solid var(--border);width:31px;height:31px;color:var(--ink-soft);background:var(--paper);cursor:pointer;place-items:center;display:grid}.dice-tray-body{min-height:0;padding:16px 17px 17px;overflow-y:auto}.dice-result-stage{min-height:118px;color:var(--surface);background:var(--moss);align-items:center;gap:18px;padding:15px;display:flex;overflow:hidden}.animated-die{clip-path:polygon(50% 0,85% 12%,100% 45%,88% 82%,50% 100%,12% 82%,0 45%,15% 12%);width:80px;height:80px;color:var(--moss);filter:drop-shadow(0 8px 10px #00000040);transform-style:preserve-3d;background:conic-gradient(from 25deg,#f9f3e4,#c8d8bd,#fffdf7,#b9cdb0,#f9f3e4);flex:none;place-items:center;display:grid}.animated-die span{clip-path:polygon(50% 0,100% 28%,83% 90%,17% 90%,0 28%);width:48px;height:48px;font-family:var(--font-serif);background:#ffffffc2;border:1px solid #415b3b59;place-items:center;font-size:24px;font-weight:900;display:grid}.animated-die.is-rolling{animation:.68s cubic-bezier(.21,.72,.31,1) dice-tumble}.animated-die.is-critical{color:#6b4b1e;background:conic-gradient(from 25deg,#fff1a8,#d9aa46,#fff9d9,#bd7c21,#fff1a8)}.animated-die.is-fumble{color:#7d3c35;background:conic-gradient(from 25deg,#f1c7bc,#9f5750,#f8e1da,#763f39,#f1c7bc)}@keyframes dice-tumble{0%{transform:translateY(-35px)rotate3d(1,1,.4,0)scale(.78)}45%{transform:translateY(8px)rotate3d(1,1,.4,470deg)scale(1.08)}70%{transform:translateY(-5px)rotate3d(.4,1,1,620deg)scale(.97)}to{transform:translateY(0)rotate3d(0,1,.2,720deg)scale(1)}}.roll-result-copy{min-width:0;display:grid}.roll-result-copy>span{color:#cbdcbf;letter-spacing:.05em;font-size:8px;font-weight:850}.roll-result-copy>strong{color:var(--surface);font-family:var(--font-serif);margin:4px 0;font-size:29px}.roll-result-copy>small{color:#ffffffad;overflow-wrap:anywhere;font-size:8px;line-height:1.5}.dice-detail-list{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.dice-detail-list span{border:1px solid var(--border);background:var(--paper);align-items:center;gap:6px;padding:6px 8px;font-size:8px;display:inline-flex}.dice-detail-list b{color:var(--earth)}.dice-detail-list em{color:var(--moss);font-style:normal;font-weight:800}.roll-note{border-left:3px solid var(--mist-deep);color:var(--ink-soft);background:var(--mist);margin:9px 0 0;padding:9px 10px;font-size:8px;line-height:1.55}.roll-options{grid-template-columns:1fr 94px;gap:9px;margin-top:12px;display:grid}.roll-options>div,.roll-options>label{gap:6px;display:grid}.roll-options span{color:var(--ink-soft);font-size:8px;font-weight:750}.roll-mode-tabs{grid-template-columns:repeat(3,1fr);display:grid}.roll-mode-tabs button,.roll-options input{border:1px solid var(--border);height:35px;color:var(--ink-soft);background:var(--paper);font-size:8px}.roll-mode-tabs button{cursor:pointer;border-right:0}.roll-mode-tabs button:last-child{border-right:1px solid var(--border)}.roll-mode-tabs button.is-selected{color:var(--surface);border-color:var(--earth);background:var(--earth)}.roll-mode-tabs button:disabled{opacity:.35;cursor:not-allowed}.roll-options input{text-align:center;width:100%;padding:0 8px}.reroll-button{width:100%;margin-top:10px}.reroll-button:disabled{opacity:.55;cursor:wait}.roll-history{border:1px solid var(--border);background:var(--paper);margin-top:9px}.roll-history summary{color:var(--moss);cursor:pointer;align-items:center;gap:5px;padding:9px 10px;font-size:8px;font-weight:800;list-style:none;display:flex}.roll-history>div{gap:5px;padding:0 10px 9px;display:grid}.roll-history>div span{color:var(--ink-soft);align-items:center;gap:5px;font-size:8px;display:flex}.roll-history>div b{color:var(--ink);margin-left:auto}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1e2a22b8;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.level-modal{border:1px solid var(--border-dark);background:var(--surface);flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 56px);display:flex;box-shadow:0 25px 80px #0e171152}.level-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding:23px 25px 18px;display:flex}.level-modal-header h2{font-family:var(--font-serif);margin:0;font-size:27px}.level-modal-header button{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);background:var(--paper);cursor:pointer;place-items:center;display:grid}.level-modal-body{min-height:0;padding:22px 25px;overflow-y:auto}.level-stepper{border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:repeat(3,1fr);padding:13px 25px;display:grid}.level-stepper span{color:#959892;align-items:center;gap:7px;font-size:8px;font-weight:750;display:flex;position:relative}.level-stepper span:after{content:"";background:var(--border);height:1px;position:absolute;bottom:-7px;left:28px;right:9px}.level-stepper span:last-child:after{display:none}.level-stepper b{border:1px solid var(--border-dark);background:var(--surface);border-radius:50%;place-items:center;width:22px;height:22px;font-size:8px;display:grid}.level-stepper .is-current{color:var(--earth)}.level-stepper .is-current b{color:var(--surface);border-color:var(--earth);background:var(--earth)}.level-stepper .is-done{color:var(--moss)}.level-stepper .is-done b{color:var(--surface);border-color:var(--moss);background:var(--moss)}.level-intro{color:var(--ink-soft);margin:0 0 17px;font-size:10px;line-height:1.7}.level-dice-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.level-die-card{border:1px solid var(--border);background:var(--paper);padding:15px}.die-card-heading{align-items:center;gap:9px;display:flex}.die-card-heading>svg{color:var(--earth)}.die-card-heading div{flex-direction:column;display:flex}.die-card-heading span{color:var(--ink-soft);font-size:8px}.die-card-heading strong{font-family:var(--font-serif);font-size:17px}.die-entry{grid-template-columns:1fr 1.4fr;gap:7px;margin:12px 0 8px;display:grid}.die-entry input,.die-entry button,.asi-selects select{border:1px solid var(--border-dark);height:37px;color:var(--ink);background:var(--surface)}.die-entry input{min-width:0;font-family:var(--font-serif);text-align:center;padding:0 10px;font-size:17px}.die-entry button{color:var(--moss);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:9px;font-weight:750;display:flex}.level-die-card>small{color:var(--ink-soft);font-size:8px}.level-die-card>p{border-top:1px solid var(--border);color:var(--ink-soft);margin:10px 0 0;padding-top:9px;font-size:8px}.level-die-card>p b{color:var(--moss);font-family:var(--font-serif);font-size:13px}.level-choice-block{border-top:1px solid var(--border);margin-top:20px;padding-top:17px}.level-choice-block.first-block{border-top:0;margin-top:0;padding-top:0}.level-choice-block h3{font-family:var(--font-serif);margin:0 0 11px;font-size:15px}.unlock-list{gap:6px;display:grid}.unlock-list>span{border:1px solid var(--border);background:var(--paper);gap:4px;padding:9px 11px;display:grid}.unlock-list b{font-size:10px}.unlock-list small{color:var(--ink-soft);font-size:8px;line-height:1.55}.soul-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.soul-choice-grid label{border:1px solid var(--border);min-height:40px;color:var(--ink-soft);background:var(--paper);text-align:center;cursor:pointer;place-items:center;padding:8px;font-size:9px;display:grid}.soul-choice-grid label.is-selected{border-color:var(--moss);color:var(--moss);background:var(--moss-pale);font-weight:800}.soul-choice-grid input{opacity:0;pointer-events:none;position:absolute}.asi-mode{gap:6px;display:flex}.asi-mode button{border:1px solid var(--border);color:var(--ink-soft);background:var(--paper);cursor:pointer;padding:8px 11px;font-size:9px}.asi-mode button.is-selected{border-color:var(--moss);color:var(--surface);background:var(--moss)}.asi-selects{gap:7px;margin-top:9px;display:flex}.asi-selects select{min-width:130px;padding:0 9px;font-size:10px}.inline-error{color:#a34e44;margin:7px 0 0;font-size:8px}.choice-help{color:var(--ink-soft);margin:-4px 0 11px;font-size:8px}.no-level-choice{color:var(--moss);background:var(--moss-pale);border:1px solid #cfddc7;align-items:center;gap:10px;padding:19px;display:flex}.no-level-choice span{gap:4px;display:grid}.no-level-choice strong{font-size:10px}.no-level-choice small{color:var(--ink-soft);font-size:8px}.level-review-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.level-review-grid>div{border:1px solid var(--border);background:var(--paper);gap:5px;padding:15px;display:grid}.level-review-grid span{color:var(--ink-soft);font-size:8px}.level-review-grid strong{color:var(--moss);font-family:var(--font-serif);font-size:19px}.level-review-grid small{color:#81857f;font-size:8px}.level-review-list{border-left:3px solid var(--earth);background:var(--earth-pale);margin-top:13px;padding:14px}.level-review-list h3{font-family:var(--font-serif);margin:0;font-size:13px}.level-review-list p{color:var(--ink-soft);margin:6px 0 0;font-size:9px;line-height:1.6}.level-modal-footer{border-top:1px solid var(--border);background:var(--paper-deep);justify-content:flex-end;gap:8px;padding:15px 25px;display:flex}.level-modal-footer .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.creation-overlay{background-color:var(--paper);background-image:radial-gradient(#415b3b1a .7px,#0000 .7px);background-size:17px 17px;min-height:calc(100vh - 74px);padding:34px 22px 70px}.creation-wizard{border:1px solid var(--border-dark);background:var(--surface);width:min(1060px,100%);min-height:720px;box-shadow:var(--shadow);flex-direction:column;margin:0 auto;display:flex}.creation-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding:24px 30px 20px;display:flex}.creation-header h1{font-family:var(--font-serif);margin:0;font-size:31px}.creation-header>button{border:1px solid var(--border);width:38px;height:38px;color:var(--ink);background:var(--paper);cursor:pointer;place-items:center;display:grid}.creation-progress{border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:repeat(6,1fr);padding:17px 30px;display:grid}.creation-progress button{color:#979a95;text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:8px;display:flex;position:relative}.creation-progress button:after{content:"";background:var(--border);height:1px;position:absolute;bottom:-8px;left:28px;right:8px}.creation-progress button:last-child:after{display:none}.creation-progress button span{border:1px solid var(--border-dark);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:8px;display:grid}.creation-progress button.is-current{color:var(--earth)}.creation-progress button.is-current span{color:var(--surface);border-color:var(--earth);background:var(--earth)}.creation-progress button.is-done{color:var(--moss);cursor:pointer}.creation-progress button.is-done span{color:var(--surface);border-color:var(--moss);background:var(--moss)}.creation-body{flex:1;min-height:0;padding:31px 34px;overflow-y:auto}.wizard-step.narrow-step{max-width:650px;margin:20px auto}.step-eyebrow{color:var(--earth);letter-spacing:.08em;margin:0 0 7px;font-size:8px;font-weight:850}.wizard-step>h2{font-family:var(--font-serif);margin:0;font-size:27px}.step-lead{max-width:720px;color:var(--ink-soft);margin:9px 0 23px;font-size:10px;line-height:1.75}.wizard-name-field{gap:8px;display:grid}.wizard-name-field span{color:var(--ink-soft);font-size:9px;font-weight:750}.wizard-name-field input{border:1px solid var(--border-dark);height:57px;color:var(--ink);background:var(--paper);font-family:var(--font-serif);outline:0;padding:0 15px;font-size:24px}.wizard-name-field input:focus{border-color:var(--moss);box-shadow:0 0 0 3px #415b3b1a}.beginner-note{border-left:3px solid var(--mist-deep);background:var(--mist);gap:4px;margin-top:20px;padding:15px;display:grid}.beginner-note strong{font-size:9px}.beginner-note span{color:var(--ink-soft);font-size:9px;line-height:1.6}.choice-card-grid{gap:9px;display:grid}.faction-choice-grid,.class-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-family-block{border:1px solid var(--border);background:#fffdf87a;margin-top:19px;padding:15px}.class-family-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:14px;margin-bottom:11px;padding-bottom:9px;display:flex}.class-family-heading strong{font-family:var(--font-serif);font-size:15px}.class-family-heading span{color:var(--ink-soft);font-size:8px}.medicine-class-family{background:var(--moss-pale);border-color:#c8d4c2}.medicine-class-family .class-family-heading{border-bottom-color:#b8c8b1}.choice-card{border:1px solid var(--border);min-height:148px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;padding:16px;display:flex;position:relative}.choice-card:hover{border-color:var(--earth)}.choice-card.is-selected{border-color:var(--moss);box-shadow:inset 0 0 0 1px var(--moss);background:var(--moss-pale)}.choice-check{border:1px solid var(--border);width:20px;height:20px;color:var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.choice-card.is-selected .choice-check{border-color:var(--moss);background:var(--moss)}.choice-card strong{font-family:var(--font-serif);padding-right:25px;font-size:16px}.choice-card small{color:var(--ink-soft);margin-top:8px;font-size:8px;line-height:1.55}.choice-card em{color:var(--moss);margin-top:auto;padding-top:11px;font-size:8px;font-style:normal;font-weight:800}.choice-card>span:last-child:not(.choice-check){color:var(--earth);margin-top:5px;font-size:7px}.class-choice-grid .choice-card{min-height:162px}.herb-resource-preview{border-left:3px solid var(--earth);background:var(--earth-pale);gap:4px;margin-top:14px;padding:13px 15px;display:grid}.herb-resource-preview strong{font-size:9px}.herb-resource-preview span{color:var(--ink-soft);font-size:8px;line-height:1.55}.mixed-panel,.subchoice-panel{border:1px solid var(--border-dark);background:#faf8f1;margin-top:17px;padding:17px}.mixed-panel h3,.subchoice-panel h3{font-family:var(--font-serif);margin:0;font-size:16px}.mixed-panel>div:first-child>p:last-child{color:var(--ink-soft);margin:6px 0 13px;font-size:8px}.segmented-choice{gap:7px;display:flex}.segmented-choice button{border:1px solid var(--border);min-height:38px;color:var(--ink-soft);background:var(--paper);cursor:pointer;place-items:center;gap:3px;padding:8px 13px;font-size:9px;display:grid}.segmented-choice button.is-selected{color:var(--surface);border-color:var(--moss);background:var(--moss)}.segmented-choice.three{grid-template-columns:repeat(3,1fr);margin-top:11px;display:grid}.segmented-choice small{color:inherit;opacity:.72;font-size:7px}.mixed-selects{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.mixed-selects label{gap:5px;display:grid}.mixed-selects label span{color:var(--ink-soft);font-size:8px}.mixed-selects select{border:1px solid var(--border);background:var(--surface);height:36px;padding:0 9px;font-size:9px}.mixed-selects p{color:var(--moss);grid-column:1/-1;margin:3px 0 0;font-size:8px}.method-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.method-tabs button{border:1px solid var(--border);color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;gap:4px;padding:14px;display:grid}.method-tabs button.is-selected{color:var(--moss);border-color:var(--moss);box-shadow:inset 0 0 0 1px var(--moss);background:var(--moss-pale)}.method-tabs strong{font-family:var(--font-serif);font-size:14px}.method-tabs small{color:var(--ink-soft);font-size:8px}.attribute-method-heading,.roll-set-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.attribute-method-heading span,.roll-set-heading span{color:var(--ink-soft);font-size:8px}.attribute-method-heading strong{color:var(--earth);background:var(--earth-pale);padding:6px 9px;font-size:9px}.attribute-method-heading strong.is-valid{color:var(--moss);background:var(--moss-pale)}.attribute-method-heading strong.is-invalid{color:#a34e44;background:#f4e8e4}.wizard-attribute-grid{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.wizard-attribute{border:1px solid var(--border);background:var(--paper);text-align:center;padding:13px 7px}.wizard-attribute>span{color:var(--ink-soft);font-size:8px}.wizard-attribute>div{grid-template-columns:25px 1fr 25px;align-items:center;margin:9px 0;display:grid}.wizard-attribute button{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:25px;height:27px}.wizard-attribute button:disabled{opacity:.3;cursor:default}.wizard-attribute strong{font-family:var(--font-serif);font-size:16px}.wizard-attribute small{color:var(--ink-soft);font-size:7px}.wizard-attribute small b{color:var(--moss);font-size:9px}.text-action{color:var(--moss);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:10px;padding:0;font-size:8px;font-weight:750;display:inline-flex}.roll-set-heading button{border:1px solid var(--border);color:var(--moss);background:var(--surface);cursor:pointer;align-items:center;gap:5px;padding:7px 9px;font-size:8px;display:flex}.roll-set-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.roll-set{border:1px solid var(--border);color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;gap:7px;padding:13px;display:grid}.roll-set.is-selected{border-color:var(--moss);box-shadow:inset 0 0 0 1px var(--moss);background:var(--moss-pale)}.roll-set span{color:var(--ink-soft);font-size:8px}.roll-set strong{font-family:var(--font-serif);font-size:13px}.rolled-assignment-grid{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:11px;display:grid}.rolled-assignment-grid label{border:1px solid var(--border);background:var(--paper);gap:6px;padding:10px 8px;display:grid}.rolled-assignment-grid label>span{color:var(--ink-soft);font-size:8px}.rolled-assignment-grid select{border:1px solid var(--border);background:var(--surface);height:34px;font-family:var(--font-serif);text-align:center}.rolled-assignment-grid small{color:var(--ink-soft);font-size:7px}.rolled-assignment-grid b{color:var(--moss);font-size:9px}.attribute-equation-note{border-left:3px solid var(--mist-deep);background:var(--mist);gap:4px;margin-top:15px;padding:12px 14px;display:grid}.attribute-equation-note strong{font-size:9px}.attribute-equation-note span{color:var(--ink-soft);font-size:8px;line-height:1.5}.review-hero{color:var(--surface);background:var(--moss);align-items:center;gap:14px;padding:17px;display:flex}.review-hero>span{width:48px;height:48px;font-family:var(--font-serif);border:1px solid #ffffff73;border-radius:50%;place-items:center;font-size:20px;display:grid}.review-hero h3{color:var(--surface);font-family:var(--font-serif);margin:0;font-size:19px}.review-hero p{color:#ffffffa6;margin:4px 0 0;font-size:8px}.review-hero>strong{border:1px solid #ffffff59;margin-left:auto;padding:7px 9px;font-size:8px}.review-grid{grid-template-columns:1.4fr .6fr;gap:9px;margin-top:10px;display:grid}.review-grid>section{border:1px solid var(--border);background:var(--paper);padding:15px}.review-grid h3{font-family:var(--font-serif);margin:0 0 10px;font-size:14px}.review-attributes{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.review-attributes span{border:1px solid var(--border);background:var(--surface);gap:3px;padding:8px;display:grid}.review-attributes small,.review-attributes em{color:var(--ink-soft);font-size:7px;font-style:normal}.review-attributes b{color:var(--moss);font-family:var(--font-serif);font-size:14px}.review-grid dl{margin:0}.review-grid dl div{border-top:1px solid var(--border);justify-content:space-between;padding:7px 0;display:flex}.review-grid dt{color:var(--ink-soft);font-size:8px}.review-grid dd{margin:0;font-size:9px;font-weight:800}.review-grid ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.review-grid li{border:1px solid var(--border);background:var(--surface);gap:3px;padding:8px;display:grid}.review-grid li b{font-size:9px}.review-grid li span{color:var(--ink-soft);font-size:7px;line-height:1.5}.wizard-error{color:#914d45;background:#f4e8e4;margin:15px 0 0;padding:10px;font-size:9px}.creation-footer{border-top:1px solid var(--border);background:var(--paper-deep);align-items:center;gap:10px;min-height:70px;padding:13px 30px;display:flex}.creation-footer>span{color:var(--ink-soft);margin-left:auto;font-size:8px}.creation-footer .button:last-child{margin-left:4px}.creation-footer .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.sheet-theme-archive{--paper:#f3ead8;--paper-deep:#e8dcc5;--surface:#fffaf0;--ink:#342b24;--ink-soft:#6d6258;--moss:#654b37;--moss-deep:#4a3426;--moss-pale:#e9dbc8;--earth:#946747;--earth-pale:#f0dfcd;--mist:#e7e2da;--mist-deep:#786d68;--border:#d9cbb6;--border-dark:#bca98d}.sheet-theme-moon{--paper:#e9edf4;--paper-deep:#d9e0eb;--surface:#f9fbff;--ink:#1e2b42;--ink-soft:#59657a;--moss:#3d577d;--moss-deep:#2d4262;--moss-pale:#dfe7f3;--earth:#75618b;--earth-pale:#e9e2f0;--mist:#e1e9f3;--mist-deep:#617a9a;--border:#ccd5e2;--border-dark:#aab8cc}.sheet-theme-forest{--paper:#edf0e4;--paper-deep:#dfe5d2;--surface:#fbfdf6;--ink:#24352c;--ink-soft:#59695f;--moss:#3f6548;--moss-deep:#2f4d36;--moss-pale:#dce9da;--earth:#7d6548;--earth-pale:#eee3d2;--mist:#dce9e2;--mist-deep:#617f70;--border:#d0d8c7;--border-dark:#aebaa7}.sheet-page{background:var(--paper)}.sheet-page .sheet-toolbar,.sheet-page .sheet-section,.sheet-page .sheet-identity,.sheet-page .quick-summary,.sheet-page .rules-help{background-color:var(--surface)}.sheet-seal.has-avatar{border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border-dark);overflow:hidden}.sheet-seal img{object-fit:cover;width:100%;height:100%}.sheet-theme-archive .sheet-identity,.sheet-theme-archive .sheet-section,.sheet-theme-archive .quick-resources,.sheet-theme-archive .rest-panel,.sheet-theme-archive .theme-selector,.sheet-theme-archive .campaign-join-card,.sheet-theme-archive .quick-summary{border:3px double var(--border-dark);box-shadow:inset 0 0 0 5px var(--surface), inset 0 0 0 6px var(--border);border-radius:0}@supports (color:color-mix(in lab, red, red)){.sheet-theme-archive .sheet-identity,.sheet-theme-archive .sheet-section,.sheet-theme-archive .quick-resources,.sheet-theme-archive .rest-panel,.sheet-theme-archive .theme-selector,.sheet-theme-archive .campaign-join-card,.sheet-theme-archive .quick-summary{box-shadow:inset 0 0 0 5px var(--surface), inset 0 0 0 6px color-mix(in srgb, var(--border) 55%, transparent)}}.sheet-theme-archive .sheet-section-heading{border-bottom:3px double var(--border-dark);padding-bottom:10px}.sheet-theme-archive .sheet-seal{box-shadow:0 0 0 4px var(--earth-pale), 0 0 0 5px var(--earth);border-radius:50%}.sheet-theme-archive .attribute-card{border:3px double var(--border-dark)}.sheet-theme-archive .attribute-card>strong{border-radius:0;transform:rotate(2deg)}.sheet-theme-moon{background-image:radial-gradient(circle at 14% 8%,#5a739b2e,#0000 28%),radial-gradient(circle at 86% 18%,#78609121,#0000 24%)}.sheet-theme-moon .sheet-toolbar{color:#f8fbff;background:#273b5bf5;border-bottom:0}.sheet-theme-moon .sheet-toolbar .sheet-back,.sheet-theme-moon .sheet-toolbar .save-state{color:#edf3ff}.sheet-theme-moon .sheet-toolbar .toolbar-action{color:#edf3ff;border-color:#ffffff40}.sheet-theme-moon .sheet-identity,.sheet-theme-moon .sheet-section,.sheet-theme-moon .quick-resources,.sheet-theme-moon .rest-panel,.sheet-theme-moon .theme-selector,.sheet-theme-moon .campaign-join-card,.sheet-theme-moon .quick-summary{border:0;border-radius:17px;box-shadow:0 14px 38px #2a3d5b1f}.sheet-theme-moon .sheet-identity{color:#f7faff;background:linear-gradient(135deg,#2c466d,#5d5279)}.sheet-theme-moon .sheet-identity .identity-fields label>span{color:#ffffffb8}.sheet-theme-moon .sheet-identity input,.sheet-theme-moon .sheet-identity select{color:#f7faff;background:#ffffff1a;border-color:#ffffff40;border-radius:9px}.sheet-theme-moon .sheet-identity option{color:#1e2b42;background:#f9fbff}.sheet-theme-moon .sheet-seal{background:#ffffff26;border:2px solid #ffffffbf;box-shadow:0 8px 24px #0f1c3138}.sheet-theme-moon .sheet-section-heading{border-bottom:1px solid var(--border);padding-bottom:11px}.sheet-theme-moon .attribute-card,.sheet-theme-moon .resource-card,.sheet-theme-moon .ability-card,.sheet-theme-moon .skill-roll-button{box-shadow:inset 0 0 0 1px var(--border);border:0;border-radius:12px}.sheet-theme-moon .attribute-card>strong{color:#f8fbff;background:linear-gradient(135deg,var(--moss),var(--earth));border:0;box-shadow:0 6px 14px #354b6d33}.sheet-theme-moon .button,.sheet-theme-moon input,.sheet-theme-moon select,.sheet-theme-moon textarea{border-radius:8px}.sheet-theme-forest .sheet-identity,.sheet-theme-forest .sheet-section,.sheet-theme-forest .quick-resources,.sheet-theme-forest .rest-panel,.sheet-theme-forest .theme-selector,.sheet-theme-forest .campaign-join-card,.sheet-theme-forest .quick-summary{border:1px solid var(--border-dark);border-left:6px solid var(--moss);position:relative;box-shadow:5px 6px #3f654812}.sheet-theme-forest .sheet-section:after{content:"";background:var(--earth-pale);border:1px solid var(--border);border-right:0;width:28px;height:8px;position:absolute;top:13px;right:-1px}.sheet-theme-forest .sheet-section-heading{border-bottom:1px dashed var(--border-dark);align-items:center;padding:0 38px 8px 0}.sheet-theme-forest .sheet-seal{border-radius:5px 50% 50%;transform:rotate(-2deg)}.sheet-theme-forest .attribute-grid{gap:5px}.sheet-theme-forest .attribute-card{border:0;border-left:3px solid var(--moss);text-align:left;background-image:linear-gradient(#3f654812 1px,#0000 1px);background-size:100% 18px;padding-left:11px}.sheet-theme-forest .attribute-card>strong{background:0 0;border:0;border-radius:0;margin-inline:0;font-size:22px}.sheet-theme-forest .resource-card,.sheet-theme-forest .ability-card{border-style:dashed}.sheet-theme-forest .name-field input{border-bottom-style:dashed}.shared-use-pool{border:1px solid var(--border);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;margin:13px 0 18px;padding:13px 15px;display:flex}.shared-use-pool>div:first-child{gap:3px;display:grid}.shared-use-pool .kicker{margin:0;font-size:7px}.shared-use-pool strong{font-family:var(--font-serif);font-size:13px}.shared-use-pool small{color:var(--ink-soft);font-size:8px}.limited-use-tracker{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;margin-top:11px;padding:10px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.limited-use-tracker{background:color-mix(in srgb, var(--surface) 78%, var(--paper))}}.limited-use-tracker>div:first-child{gap:2px;display:grid}.limited-use-tracker span{color:var(--ink);font-size:8px;font-weight:800}.limited-use-tracker small{color:var(--ink-soft);font-size:7px}.use-pips{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.use-pips button{border:1px solid var(--border-dark);color:#0000;background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;display:grid}.use-pips button.is-used{color:var(--surface);border-color:var(--earth);background:var(--earth)}.rest-panel,.theme-selector,.campaign-join-card{border:1px solid var(--border);background:var(--surface);padding:17px}.rest-panel-heading{justify-content:space-between;align-items:start;display:flex}.rest-panel-heading h3,.theme-selector h3,.campaign-join-card h3{font-family:var(--font-serif);margin:0;font-size:15px}.rest-panel-heading>svg{color:var(--earth)}.rest-buttons{grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;display:grid}.rest-button{border:1px solid var(--border);min-height:61px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:10px;display:flex}.rest-button svg{color:var(--moss);flex:none}.rest-button span{gap:2px;min-width:0;display:grid}.rest-button strong{font-size:9px}.rest-button small{color:var(--ink-soft);font-size:7px;line-height:1.35}.rest-button:disabled{opacity:.48;cursor:not-allowed}.long-rest-button{color:var(--surface);border-color:var(--moss);background:var(--moss)}.long-rest-button svg,.long-rest-button small{color:#ffffffc2}.rest-rule-note{color:var(--ink-soft);margin:10px 0 0;font-size:7px;line-height:1.55}.rest-modal{border:1px solid var(--border-dark);background:var(--surface);width:min(520px,100%);box-shadow:0 26px 80px #1019134d}.rest-modal>header{border-bottom:1px solid var(--border);justify-content:space-between;padding:19px 21px;display:flex}.rest-modal>header h2{font-family:var(--font-serif);margin:0;font-size:21px}.rest-modal>header button,.campaign-character-viewer>header>button{border:1px solid var(--border);width:34px;height:34px;color:var(--ink-soft);background:var(--paper);cursor:pointer;place-items:center;display:grid}.rest-roll-results{grid-template-columns:1fr 1fr;gap:10px;padding:19px 21px;display:grid}.rest-roll-results>div{border:1px solid var(--border);background:var(--paper);gap:5px;padding:16px;display:grid}.rest-roll-results span{color:var(--ink-soft);font-size:8px}.rest-roll-results strong{color:var(--moss);font-family:var(--font-serif);font-size:22px}.rest-roll-results small{color:var(--ink-soft);font-size:8px;line-height:1.5}.rest-refresh-note{color:var(--moss);background:var(--moss-pale);align-items:center;gap:7px;margin:0 21px 18px;padding:10px;font-size:9px;display:flex}.long-rest-summary{text-align:center;place-items:center;padding:25px 24px;display:grid}.long-rest-summary>svg{color:var(--earth)}.long-rest-summary p{max-width:400px;color:var(--ink);margin:14px 0 8px;font-size:11px;line-height:1.75}.long-rest-summary small{max-width:410px;color:var(--ink-soft);font-size:8px;line-height:1.55}.rest-modal>footer{border-top:1px solid var(--border);background:var(--paper-deep);justify-content:flex-end;gap:8px;padding:13px 21px;display:flex}.theme-selector>div:first-child,.campaign-join-card>div:first-child{margin-bottom:12px}.theme-options{gap:6px;display:grid}.theme-option{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;grid-template-columns:43px 1fr 18px;align-items:center;gap:8px;padding:8px;display:grid}.theme-option>i{color:#805c3e;background:#f5ead7;border:1px solid;grid-template-rows:8px 1fr;grid-template-columns:11px 1fr;gap:3px;width:43px;height:34px;padding:5px;display:grid}.theme-option>i b{opacity:.78;background:currentColor;display:block}.theme-option>i b:first-child{opacity:.25;grid-row:1/3}.theme-option>i b:nth-child(2){opacity:.85}.theme-option>i b:nth-child(3){opacity:.38}.theme-swatch-archive>i{box-shadow:inset 0 0 0 2px #f5ead7,inset 0 0 0 3px #805c3e73}.theme-swatch-moon>i{color:#99b7e2;background:#263d60;border-color:#607ba5;border-radius:7px;box-shadow:0 3px 7px #273c5c40}.theme-swatch-moon>i b:first-child{border-radius:4px}.theme-swatch-moon>i b:nth-child(2),.theme-swatch-moon>i b:nth-child(3){border-radius:3px}.theme-swatch-forest>i{color:#4d7253;background-color:#f2f5e9;background-image:linear-gradient(#4d72531a 1px,#0000 1px),linear-gradient(90deg,#4d72531a 1px,#0000 1px);background-size:7px 7px;border-style:dashed;grid-template-columns:5px 1fr}.theme-option span{gap:1px;display:grid}.theme-option strong{font-size:8px}.theme-option small{color:var(--ink-soft);font-size:7px}.theme-option.is-active{border-color:var(--moss);box-shadow:inset 0 0 0 1px var(--moss);background:var(--moss-pale)}.theme-option>svg{color:var(--moss)}.campaign-join-card p{color:var(--ink-soft);margin:5px 0 0;font-size:8px;line-height:1.55}.campaign-join-card label{gap:5px;margin:11px 0 8px;display:grid}.campaign-join-card label span{color:var(--ink-soft);font-size:8px;font-weight:750}.campaign-join-card input{border:1px solid var(--border-dark);width:100%;height:39px;color:var(--ink);background:var(--paper);letter-spacing:.12em;text-transform:uppercase;padding:0 10px;font-weight:850}.campaign-join-card .button{width:100%;min-height:38px;font-size:9px}.campaign-join-card>small{color:var(--earth);margin-top:6px;font-size:7px;display:block}.media-upload-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.media-upload-actions .button{min-height:38px;padding-inline:13px;font-size:9px}.media-upload-actions .button:disabled{opacity:.45;transform:none}.media-save-hint{color:var(--earth);background:var(--earth-pale);margin:12px 0 0;padding:10px;font-size:9px}.reference-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.reference-gallery figure{border:1px solid var(--border);background:var(--paper);margin:0;overflow:hidden}.reference-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.reference-gallery figcaption{align-items:center;gap:7px;min-height:37px;padding:6px 8px;display:flex}.reference-gallery figcaption span{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:8px;overflow:hidden}.reference-gallery figcaption button{color:#9b5047;cursor:pointer;background:0 0;border:0;place-items:center;width:25px;height:25px;display:grid}.empty-reference-gallery{border:1px dashed var(--border-dark);min-height:130px;color:var(--ink-soft);background:var(--paper);place-content:center;place-items:center;margin-top:15px;display:grid}.empty-reference-gallery p{color:var(--ink);font-family:var(--font-serif);margin:8px 0 2px;font-size:12px}.empty-reference-gallery small{font-size:8px}.campaign-vault{border-top:1px solid var(--border);margin-top:34px;padding-top:30px;scroll-margin-top:92px}.campaign-vault-heading{justify-content:space-between;gap:20px;display:flex}.campaign-vault-heading h2{font-family:var(--font-serif);margin:0;font-size:24px}.campaign-vault-heading p{color:var(--ink-soft);margin:7px 0 0;font-size:10px}.campaign-vault-heading>svg{color:var(--earth)}.campaign-create-row{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(230px,1fr) minmax(150px,.42fr) auto auto;align-items:end;gap:10px;margin-top:17px;padding:14px;display:grid}.campaign-create-row>label:first-child,.campaign-seat-field{gap:5px;display:grid}.campaign-create-row label>span{color:var(--ink-soft);font-size:8px;font-weight:750}.campaign-create-row input[type=text],.campaign-create-row>label:first-child input{border:1px solid var(--border-dark);height:41px;color:var(--ink);background:var(--paper);padding:0 11px}.campaign-field-help{color:var(--ink-soft);font-size:8px;line-height:1.45}.campaign-seat-field select{border:1px solid var(--border-dark);width:100%;height:41px;color:var(--ink);background:var(--paper);padding:0 9px}.campaign-seat-field small{max-width:180px;color:var(--ink-soft);font-size:7px;line-height:1.4}.campaign-create-row .button:disabled{opacity:.62;cursor:wait;transform:none}.secret-toggle{border:1px solid var(--border);background:var(--paper);cursor:pointer;align-items:center;gap:7px;min-height:41px;padding:0 11px;display:flex}.secret-toggle span{align-items:center;gap:5px;display:flex;color:var(--ink)!important}.campaign-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px;display:grid}.campaign-card{border:1px solid var(--border-dark);background:var(--surface);box-shadow:0 10px 28px #262f270d}.campaign-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:12px;padding:16px;display:flex}.campaign-card h3{font-family:var(--font-serif);margin:6px 0 2px;font-size:17px}.campaign-card header small{color:var(--ink-soft);font-size:8px}.campaign-room-link{min-height:39px;color:var(--surface);background:var(--moss);justify-content:center;align-items:center;gap:6px;margin:12px 12px 0;padding:0 11px;font-size:9px;font-weight:800;display:flex}.campaign-room-link:hover{background:var(--moss-deep)}.campaign-lock{color:var(--moss);letter-spacing:.05em;align-items:center;gap:5px;font-size:7px;font-weight:850;display:inline-flex}.campaign-lock.is-secret{color:var(--earth)}.inline-secret-toggle{color:var(--ink-soft);cursor:pointer;align-items:center;gap:5px;font-size:8px;display:flex}.campaign-key{color:var(--moss);background:var(--moss-pale);align-items:center;gap:9px;margin:12px;padding:10px 11px;display:flex}.campaign-key>div{flex:1;gap:2px;display:grid}.campaign-key span{color:var(--ink-soft);font-size:7px}.campaign-key strong{letter-spacing:.15em;font-size:12px}.campaign-key button{border:1px solid var(--moss);align-items:center;gap:4px;padding:6px 8px;display:flex}@supports (color:color-mix(in lab, red, red)){.campaign-key button{border:1px solid color-mix(in srgb, var(--moss) 35%, transparent)}}.campaign-key button{color:var(--moss);background:var(--surface);cursor:pointer;font-size:8px}.campaign-roster{gap:6px;padding:0 12px 12px;display:grid}.campaign-member{border:1px solid var(--border);background:var(--paper);grid-template-columns:36px 1fr auto;align-items:center;gap:9px;min-height:72px;padding:9px;display:grid}.member-monogram{width:36px;height:36px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;place-items:center;font-weight:800;display:grid}.campaign-member>div{gap:2px;min-width:0;display:grid}.campaign-member strong{font-family:var(--font-serif);font-size:11px}.campaign-member strong em{color:var(--earth);font-family:var(--font-sans);margin-left:6px;font-size:6px;font-style:normal}.campaign-member small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.campaign-member p{gap:8px;margin:3px 0 0;display:flex}.campaign-member p b{color:var(--moss);font-size:7px}.view-character-button{border:1px solid var(--border-dark);color:var(--moss);background:var(--surface);cursor:pointer;align-items:center;gap:4px;padding:6px 7px;font-size:7px;display:flex}.hidden-sheet-label{color:var(--ink-soft);align-items:center;gap:4px;font-size:7px;display:flex}.empty-roster,.campaign-loading,.campaign-empty{color:var(--ink-soft);place-items:center;display:grid}.empty-roster{gap:6px;min-height:75px;font-size:8px}.campaign-loading{gap:8px;min-height:130px;font-size:9px}.campaign-empty{border:1px dashed var(--border-dark);background:var(--surface);min-height:170px;margin-top:13px}.campaign-empty h3{font-family:var(--font-serif);margin:9px 0 3px}.campaign-empty p{margin:0;font-size:9px}.campaign-character-viewer{border:1px solid var(--border-dark);width:min(840px,100%);max-height:min(880px,92vh);color:var(--ink);background:var(--surface);flex-direction:column;display:flex;box-shadow:0 30px 100px #0f18125c}.campaign-character-viewer>header{color:var(--surface);background:var(--moss);grid-template-columns:58px 1fr 36px;align-items:center;gap:13px;padding:18px 21px;display:grid}.campaign-character-viewer>header>img,.campaign-character-viewer>header>span{object-fit:cover;width:58px;height:58px;font-family:var(--font-serif);border:2px solid #ffffffb3;border-radius:50%;place-items:center;font-size:21px;display:grid}.campaign-character-viewer>header .kicker{color:#ffffffa6;margin-bottom:3px}.campaign-character-viewer>header h2{font-family:var(--font-serif);margin:0;font-size:24px}.campaign-character-viewer>header small{color:#ffffffb3;font-size:8px}.campaign-character-viewer>header>button{color:var(--surface);background:#ffffff14;border-color:#ffffff4d}.viewer-scroll{min-height:0;padding:20px;overflow-y:auto}.viewer-scroll>section{margin-top:19px}.viewer-scroll h3{border-bottom:1px solid var(--border);font-family:var(--font-serif);margin:0 0 9px;padding-bottom:7px;font-size:16px}.viewer-resources{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.viewer-resources>div{border:1px solid var(--border);background:var(--paper);gap:3px;padding:12px;display:grid}.viewer-resources span{color:var(--ink-soft);font-size:8px}.viewer-resources strong{color:var(--moss);font-family:var(--font-serif);font-size:18px}.viewer-attributes{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.viewer-attributes>div{border:1px solid var(--border);background:var(--paper);place-items:center;gap:3px;padding:9px 4px;display:grid}.viewer-attributes span{color:var(--ink-soft);font-size:7px}.viewer-attributes strong{font-family:var(--font-serif);font-size:16px}.viewer-attributes small{color:var(--earth);white-space:nowrap;font-size:7px;font-weight:800}.viewer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.viewer-list>div{border:1px solid var(--border);background:var(--paper);padding:11px}.viewer-list h4{font-family:var(--font-serif);gap:2px;margin:0 0 6px;font-size:11px;display:grid}.viewer-list h4 small{color:var(--earth);font-family:var(--font-sans);font-size:7px}.viewer-list p,.viewer-story p{color:var(--ink-soft);white-space:pre-wrap;margin:0;font-size:8px;line-height:1.65}.viewer-story{grid-template-columns:1fr 1fr;gap:7px;display:grid}.viewer-story>h3{grid-column:1/-1}.viewer-story>div{border:1px solid var(--border);background:var(--paper);padding:11px}.viewer-story strong{margin-bottom:5px;font-size:8px;display:block}.viewer-gallery{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.viewer-gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);width:100%}.campaign-character-viewer>footer{border-top:1px solid var(--border);background:var(--paper-deep);justify-content:flex-end;padding:11px 20px;display:flex}.campaign-room-page{background-color:var(--paper);background-image:radial-gradient(#415b3b14 .7px,#0000 .7px);background-size:17px 17px;min-height:calc(100vh - 74px);padding-bottom:76px}.campaign-room-loading{color:var(--ink-soft);place-content:center;justify-items:center;gap:12px;display:grid}.campaign-room-loading p{font-size:11px}.campaign-room-error{text-align:center;justify-items:center;padding-top:90px;display:grid}.campaign-room-error>svg{color:var(--earth)}.campaign-room-error h1{font-family:var(--font-serif);margin:16px 0 7px;font-size:34px}.campaign-room-error p{color:var(--ink-soft);margin:0 0 19px;font-size:11px}.campaign-room-masthead{color:var(--surface);background:linear-gradient(115deg,#314930,#536347 56%,#6e5944);padding:38px 0 31px}.campaign-room-title-row{justify-content:space-between;align-items:end;gap:25px;display:flex}.campaign-room-title-row .kicker{color:#ffffff94;margin-top:19px}.campaign-room-title-row h1{font-family:var(--font-serif);margin:0;font-size:clamp(34px,5vw,52px)}.campaign-room-title-row p:last-child{color:#ffffffad;margin:9px 0 0;font-size:10px}.campaign-room-back{color:#ffffffb8;align-items:center;gap:6px;font-size:9px;display:inline-flex}.campaign-room-badges{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.role-badge,.sync-badge{color:#ffffffd1;background:#ffffff14;border:1px solid #ffffff45;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:8px;font-weight:800;display:inline-flex}.role-badge.is-gm{color:#3a2e22;background:#f0d8b0;border-color:#dfc69d}.campaign-room-layout{grid-template-columns:minmax(0,1.55fr) minmax(275px,.65fr);align-items:start;gap:16px;padding-top:25px;display:grid}.campaign-map-card,.campaign-roster-card,.campaign-dice-console,.campaign-roll-feed{border:1px solid var(--border-dark);background:var(--surface);box-shadow:0 14px 36px #262f270f}.campaign-map-card>header,.campaign-roster-card>header,.campaign-dice-console>header,.campaign-roll-feed>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:15px 17px;display:flex}.campaign-map-card h2,.campaign-roster-card h2,.campaign-dice-console h2,.campaign-roll-feed h2{font-family:var(--font-serif);margin:0;font-size:18px}.campaign-map-card header .kicker,.campaign-roster-card header .kicker,.campaign-dice-console header .kicker,.campaign-roll-feed header .kicker{margin-bottom:4px;font-size:7px}.campaign-map-card>header>small{max-width:48%;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.campaign-map-frame{background-color:#e5e1d5;background-image:linear-gradient(#415b3b14 1px,#0000 1px),linear-gradient(90deg,#415b3b14 1px,#0000 1px);background-size:25px 25px;place-items:center;min-height:440px;display:grid;overflow:auto}.campaign-map-frame>div{max-width:390px;color:var(--ink-soft);text-align:center;padding:30px}.campaign-map-frame>div svg{color:var(--earth)}.campaign-map-frame h3{color:var(--ink);font-family:var(--font-serif);margin:13px 0 6px}.campaign-map-frame p{margin:0;font-size:9px;line-height:1.6}.campaign-map-frame.has-map{background:#252b27;min-height:0;max-height:680px;display:block}.campaign-map-frame img{object-fit:contain;width:100%;min-height:360px;display:block}.campaign-map-actions{border-top:1px solid var(--border);align-items:center;gap:8px;min-height:61px;padding:9px 14px;display:flex}.campaign-map-actions .button{min-height:37px;font-size:8px}.campaign-map-actions>small{color:var(--ink-soft);margin-left:auto;font-size:7px}.campaign-roster-card>header>strong{width:34px;height:34px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;place-items:center;display:grid}.campaign-roster-card>div{gap:6px;max-height:440px;padding:10px;display:grid;overflow-y:auto}.room-member{border:1px solid var(--border);background:var(--paper);grid-template-columns:34px 1fr 16px;align-items:center;gap:8px;min-height:57px;padding:8px;display:grid}.room-member>span{width:34px;height:34px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;place-items:center;display:grid}.room-member>span.has-avatar{overflow:hidden}.room-member>span img{object-fit:cover;width:100%;height:100%;display:block}.room-member>div{gap:3px;min-width:0;display:grid}.room-member strong{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.room-member em{color:var(--earth);font-family:var(--font-sans);margin-left:5px;font-size:6px;font-style:normal}.room-member small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.room-member-detailed{grid-template-columns:34px 1fr auto}.room-member p{flex-wrap:wrap;gap:7px;margin:2px 0 0;display:flex}.room-member p b{color:var(--moss);font-size:6px}.room-view-character{border:1px solid var(--border-dark);min-height:29px;color:var(--moss);background:var(--surface);cursor:pointer;align-items:center;gap:4px;padding:0 7px;font-size:7px;display:flex}.room-view-character:disabled{opacity:.55;cursor:wait}.room-character-locked{border:1px solid var(--border);width:29px!important;height:29px!important;color:var(--ink-soft)!important;background:var(--surface)!important;border-radius:0!important}.room-empty-copy{color:var(--ink-soft);text-align:center;padding:25px;font-size:9px}.campaign-dice-console{grid-column:2}.campaign-dice-console>header>svg{color:var(--earth)}.campaign-dice-console form{gap:12px;padding:15px;display:grid}.dice-character-select,.campaign-dice-fields label{gap:5px;display:grid}.dice-character-select span,.campaign-dice-fields span,.campaign-roll-modes>span,.campaign-visibility>span{color:var(--ink-soft);font-size:7px;font-weight:800}.dice-character-select select,.campaign-dice-fields input,.campaign-dice-fields select{border:1px solid var(--border);width:100%;height:37px;color:var(--ink);background:var(--paper);padding:0 8px;font-size:9px}.campaign-dice-fields{grid-template-columns:.65fr .8fr 1fr;gap:6px;display:grid}.campaign-roll-modes,.campaign-visibility{gap:6px;display:grid}.campaign-roll-modes>div,.campaign-visibility>div{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.campaign-visibility>div{grid-template-columns:1fr 1fr}.campaign-roll-modes button,.campaign-visibility button{border:1px solid var(--border);min-height:32px;color:var(--ink-soft);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:4px;font-size:8px;display:flex}.campaign-roll-modes button.is-active,.campaign-visibility button.is-active{color:var(--surface);border-color:var(--moss);background:var(--moss)}.campaign-roll-modes button:disabled{opacity:.35;cursor:not-allowed}.campaign-visibility>small{color:var(--earth);font-size:7px}.campaign-roll-submit{width:100%}.campaign-roll-feed{min-width:0}.campaign-roll-feed>header>button{border:1px solid var(--border);color:var(--moss);background:var(--paper);cursor:pointer;align-items:center;gap:5px;padding:6px 8px;font-size:7px;display:flex}.roll-feed-list{gap:7px;max-height:490px;padding:12px;display:grid;overflow-y:auto}.room-roll{border:1px solid var(--border);background:var(--paper);grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);align-items:center;gap:12px;padding:10px 11px;display:grid}.room-roll.is-newest{border-left:4px solid var(--earth);animation:.65s ease-out newest-roll}@keyframes newest-roll{0%{background:var(--earth-pale);transform:translateY(-5px)}}.roll-who{grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;display:grid}.roll-who>span{width:31px;height:31px;color:var(--surface);background:var(--moss);font-family:var(--font-serif);border-radius:50%;place-items:center;display:grid}.roll-who>div{gap:2px;min-width:0;display:grid}.roll-who strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.roll-who small{color:var(--ink-soft);font-size:7px}.roll-who em{color:var(--earth);border:1px solid var(--border);align-items:center;gap:3px;padding:4px 5px;font-size:6px;font-style:normal;display:flex}.roll-result{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;min-width:0;display:grid}.roll-result>span{color:var(--ink-soft);font-family:var(--font-serif);font-size:10px}.roll-result>strong{color:var(--moss);font-family:var(--font-serif);grid-area:1/2/3;font-size:27px}.roll-result>small{color:var(--earth);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.empty-roll-feed{min-height:150px;color:var(--ink-soft);text-align:center;place-content:center;justify-items:center;display:grid}.empty-roll-feed h3{color:var(--ink);font-family:var(--font-serif);margin:8px 0 3px;font-size:13px}.empty-roll-feed p{margin:0;font-size:8px}.campaign-chat-card{border:1px solid var(--border-dark);background:var(--surface);grid-column:1/-1;box-shadow:0 14px 36px #262f270f}.campaign-chat-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:15px 17px;display:flex}.campaign-chat-card>header .kicker{margin-bottom:4px;font-size:7px}.campaign-chat-card>header h2{font-family:var(--font-serif);margin:0;font-size:18px}.campaign-chat-card>header>a{min-height:32px;color:var(--moss);border:1px solid var(--border-dark);background:var(--paper);align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.campaign-chat-messages{background-color:#f0ebdf;background-image:linear-gradient(#415b3b0e 1px,#0000 1px);background-size:100% 24px;align-content:start;gap:9px;min-height:260px;max-height:570px;padding:15px 17px;display:grid;overflow-y:auto}.chat-message{grid-template-columns:37px minmax(0,1fr);align-items:start;gap:8px;max-width:min(820px,88%);display:grid}.chat-message>img,.chat-message>span{width:37px;height:37px;color:var(--surface);background:var(--moss);object-fit:cover;font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:13px;display:grid;overflow:hidden}.chat-message>div{border:1px solid var(--border);background:var(--surface);padding:10px 12px;box-shadow:0 4px 12px #262f270a}.chat-message>div>header{align-items:center;gap:7px;display:flex}.chat-message>div>header strong{font-family:var(--font-serif);font-size:10px}.chat-message>div>header em{color:var(--moss);background:var(--moss-pale);padding:2px 5px;font-size:6px;font-style:normal;font-weight:850}.chat-message>div>header time{color:var(--ink-soft);margin-left:auto;font-size:6px}.chat-message p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font-size:9px;line-height:1.75}.chat-message.is-ooc{opacity:.82}.chat-message.is-ooc>div{background:var(--mist);border-style:dashed}.chat-message.is-ooc>div>header em{color:var(--mist-deep);background:var(--surface)}.chat-message.is-newest{animation:.65s ease-out newest-roll}.empty-chat-feed{min-height:220px;color:var(--ink-soft);text-align:center;place-content:center;justify-items:center;display:grid}.empty-chat-feed h3{color:var(--ink);font-family:var(--font-serif);margin:9px 0 4px;font-size:14px}.empty-chat-feed p{margin:0;font-size:8px}.campaign-chat-composer{border-top:1px solid var(--border);gap:9px;padding:14px 17px 16px;display:grid}.chat-speaker-row{grid-template-columns:minmax(180px,.55fr) minmax(220px,.45fr);gap:8px;display:grid}.chat-speaker-row label,.chat-content-field{gap:5px;display:grid}.chat-speaker-row label>span,.chat-content-field>span{color:var(--ink-soft);font-size:7px;font-weight:800}.chat-speaker-row input,.chat-speaker-row select,.chat-content-field textarea{border:1px solid var(--border-dark);width:100%;color:var(--ink);background:var(--paper);font-size:9px}.chat-speaker-row input,.chat-speaker-row select{height:36px;padding:0 9px}.chat-kind-toggle{grid-template-columns:1fr 1fr;align-self:end;gap:4px;display:grid}.chat-kind-toggle button{border:1px solid var(--border);min-height:36px;color:var(--ink-soft);background:var(--paper);cursor:pointer;font-size:8px}.chat-kind-toggle button.is-active{color:var(--surface);border-color:var(--moss);background:var(--moss)}.chat-content-field textarea{resize:vertical;min-height:92px;padding:10px;line-height:1.6}.campaign-chat-composer>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-chat-composer>footer small{color:var(--ink-soft);font-size:7px}.campaign-chat-composer>footer .button{min-width:110px}.campaign-chat-composer>footer .button:disabled{opacity:.5;cursor:not-allowed;transform:none}.campaign-room-toast{z-index:70;max-width:380px;color:var(--surface);background:var(--moss-deep);padding:12px 15px;font-size:9px;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 45px #19221b40}.campaign-room-tabs{z-index:20;border-bottom:1px solid var(--border-dark);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#f7f3e9f5;position:sticky;top:73px}.campaign-room-tabs>div{grid-template-columns:1fr 1fr;display:grid}.campaign-room-tabs button{border:0;border-right:1px solid var(--border);min-height:64px;color:var(--ink-soft);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:11px;padding:10px 20px;display:flex}.campaign-room-tabs button:first-child{border-left:1px solid var(--border)}.campaign-room-tabs button.is-active{color:var(--moss-deep);background:var(--surface);box-shadow:inset 0 -3px var(--earth)}.campaign-room-tabs button>span{text-align:left;gap:2px;display:grid}.campaign-room-tabs button strong{font-family:var(--font-serif);font-size:12px}.campaign-room-tabs button small{font-size:7px}.campaign-room-workspace{gap:14px;padding-top:20px;display:grid}.campaign-chapter-bar,.workbench-intro{border:1px solid var(--border-dark);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 16px;display:flex;box-shadow:0 10px 28px #262f270d}.campaign-chapter-bar>div:first-child{grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;display:grid}.campaign-chapter-bar strong{font-family:var(--font-serif);font-size:14px}.campaign-chapter-bar small{color:var(--ink-soft);grid-column:2;font-size:8px}.chapter-status{color:var(--ink-soft);border:1px solid var(--border);background:var(--paper);align-items:center;gap:4px;padding:5px 7px;font-size:7px;font-weight:850;display:inline-flex}.chapter-status.is-live{color:var(--surface);border-color:var(--moss);background:var(--moss)}.chapter-export-controls{align-items:center;gap:6px;display:flex}.chapter-export-controls select{border:1px solid var(--border);height:34px;color:var(--ink);background:var(--paper);padding:0 25px 0 8px;font-size:8px}.chapter-export-controls a,.icon-text-button{border:1px solid var(--border-dark);min-height:34px;color:var(--moss);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.gm-chapter-manager{border:1px solid var(--border);background:var(--earth-pale)}.gm-chapter-manager summary{min-height:42px;color:var(--earth);cursor:pointer;align-items:center;gap:7px;padding:0 14px;font-size:9px;font-weight:850;display:flex}.gm-chapter-manager summary::marker{display:none}.gm-chapter-manager>div{border-top:1px solid var(--border);grid-template-columns:auto 1fr 1.4fr auto;align-items:end;gap:8px;padding:13px;display:grid}.gm-chapter-manager label{gap:5px;display:grid}.gm-chapter-manager label span{color:var(--ink-soft);font-size:7px;font-weight:800}.gm-chapter-manager input{border:1px solid var(--border);height:37px;color:var(--ink);background:var(--surface);padding:0 9px;font-size:9px}.gm-chapter-manager .button{min-height:37px;font-size:8px}.campaign-public-grid{grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr);align-items:start;gap:14px;display:grid}.campaign-public-sidebar{gap:14px;display:grid}.campaign-public-grid .campaign-map-card,.campaign-public-sidebar>section,.campaign-public-streams>section,.character-workbench-panel,.personal-workbench-sidebar>section{border:1px solid var(--border-dark);background:var(--surface);box-shadow:0 14px 36px #262f270f}.campaign-public-grid section>header,.campaign-public-sidebar section>header,.campaign-public-streams section>header,.character-workbench-panel>header,.personal-workbench-sidebar section>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:13px 15px;display:flex}.campaign-public-grid section>header h2,.campaign-public-sidebar section>header h2,.campaign-public-streams section>header h2,.character-workbench-panel>header h2,.personal-workbench-sidebar section>header h2{font-family:var(--font-serif);margin:0;font-size:17px}.campaign-public-grid section>header .kicker,.campaign-public-sidebar section>header .kicker,.campaign-public-streams section>header .kicker,.character-workbench-panel>header .kicker,.personal-workbench-sidebar section>header .kicker{margin-bottom:3px;font-size:7px}.campaign-public-sidebar .campaign-roster-card>div{max-height:390px}.campaign-public-sidebar .campaign-dice-console{grid-column:auto}.member-modifiers{margin-top:3px}.member-modifiers summary{color:var(--earth);cursor:pointer;font-size:6px}.member-modifiers span{color:var(--ink-soft);white-space:normal;margin-top:3px;font-size:6px;line-height:1.5;display:block}.campaign-public-streams{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:start;gap:14px;display:grid}.campaign-public-streams .campaign-chat-card{grid-column:auto}.campaign-public-streams .campaign-chat-messages,.campaign-public-streams .roll-feed-list{min-height:320px;max-height:620px}.workbench-intro h2{font-family:var(--font-serif);margin:2px 0 4px;font-size:23px}.workbench-intro p{color:var(--ink-soft);margin:0;font-size:8px}.campaign-workbench-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);align-items:start;gap:14px;display:grid}.personal-workbench-sidebar{gap:14px;display:grid;position:sticky;top:156px}.saving-label{color:var(--moss);align-items:center;gap:5px;font-size:7px;font-weight:800;display:inline-flex}.workbench-character-select{gap:5px;margin:14px 15px 0;display:grid}.workbench-character-select span{color:var(--ink-soft);font-size:7px;font-weight:800}.workbench-character-select select{border:1px solid var(--border-dark);background:var(--paper);height:38px;padding:0 9px}.workbench-identity{border:1px solid var(--border);background:var(--paper);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 15px 0;padding:13px;display:grid}.workbench-identity>img,.workbench-identity>span{width:58px;height:58px;color:var(--surface);background:var(--moss);object-fit:cover;font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:22px;display:grid;overflow:hidden}.workbench-identity p,.workbench-identity h3{margin:0}.workbench-identity p{color:var(--earth);font-size:7px}.workbench-identity h3{font-family:var(--font-serif);margin:3px 0;font-size:21px}.workbench-identity small{color:var(--ink-soft);font-size:7px}.workbench-identity>a{min-height:32px;color:var(--moss);border:1px solid var(--border-dark);background:var(--surface);align-items:center;gap:5px;padding:0 8px;font-size:7px;font-weight:800;display:inline-flex}.workbench-resources{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 15px 0;display:grid}.workbench-resource{border:1px solid var(--border);background:var(--surface);gap:5px;padding:11px;display:grid}.workbench-resource>span{color:var(--earth);font-size:7px;font-weight:900}.workbench-resource>strong{font-family:var(--font-serif);font-size:23px}.workbench-resource>strong small{color:var(--ink-soft);font-size:11px}.workbench-resource>div{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.workbench-resource button{border:1px solid var(--border);min-height:27px;color:var(--moss);background:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:1px;padding:0;font-size:6px;display:flex}.workbench-story-editor{border:1px solid var(--border);background:var(--paper);margin:10px 15px 0}.workbench-story-editor summary{min-height:42px;color:var(--moss);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:8px;font-weight:850;display:flex}.workbench-story-editor>div{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;padding:11px;display:grid}.workbench-story-editor label{gap:4px;display:grid}.workbench-story-editor label span{color:var(--ink-soft);font-size:7px;font-weight:800}.workbench-story-editor textarea{border:1px solid var(--border);background:var(--surface);resize:vertical;min-height:84px;padding:8px;font-size:8px;line-height:1.6}.workbench-story-editor .button{grid-column:1/-1;justify-self:end}.workbench-roll-sharing{border:1px solid var(--border);background:var(--earth-pale);margin:10px 15px 0;padding:11px}.character-workbench-panel>.dynamic-rules-section{border-top:4px solid var(--moss);margin:12px 15px 15px}.workbench-empty{min-height:290px;color:var(--ink-soft);text-align:center;place-content:center;justify-items:center;padding:40px;display:grid}.workbench-empty h3{color:var(--ink);font-family:var(--font-serif);margin:10px 0 4px}.workbench-empty p{max-width:360px;margin:0;font-size:8px;line-height:1.7}.personal-note-card textarea{width:100%;min-height:240px;color:var(--ink);resize:vertical;background-color:#fffaf0;background-image:repeating-linear-gradient(#0000 0 23px,#64533d1a 24px);border:0;padding:13px;font-size:9px;line-height:24px}.personal-note-card footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;display:flex}.personal-note-card footer small{color:var(--ink-soft);font-size:6px}.personal-note-card .button{min-height:32px;font-size:7px}.campaign-chat-messages.is-compact{min-height:190px;max-height:370px;padding:10px}.campaign-chat-messages.is-compact .chat-message{grid-template-columns:29px minmax(0,1fr);max-width:100%}.campaign-chat-messages.is-compact .chat-message>img,.campaign-chat-messages.is-compact .chat-message>span{width:29px;height:29px;font-size:10px}.chat-message.is-private>div{background:#fff9e8;border-color:#bd9e70}.chat-message.is-private>div>header em{color:#73532e;background:#f2ddba}.private-chat-composer{border-top:1px solid var(--border);gap:8px;padding:11px;display:grid}.private-chat-composer label{gap:4px;display:grid}.private-chat-composer label span{color:var(--ink-soft);font-size:7px;font-weight:800}.private-chat-composer input,.private-chat-composer select,.private-chat-composer textarea{border:1px solid var(--border-dark);width:100%;color:var(--ink);background:var(--paper);font-size:8px}.private-chat-composer input,.private-chat-composer select{height:35px;padding:0 8px}.private-chat-composer textarea{resize:vertical;min-height:78px;padding:8px;line-height:1.6}.private-chat-composer .button{width:100%}.personal-roll-card .roll-feed-list{max-height:390px}.personal-roll-card .room-roll{grid-template-columns:1fr}.personal-roll-card .roll-result{border-top:1px solid var(--border);padding-top:7px}.dice-roll-error{color:#912f2f!important;background:#fff2f2!important;border-color:#db9f9f!important}.campaign-chat-channels{border-bottom:1px solid var(--border);background:var(--paper-deep);scrollbar-width:thin;gap:7px;padding:9px 11px;display:flex;overflow-x:auto}.campaign-chat-channels button{border:1px solid var(--border);min-width:128px;min-height:48px;color:var(--ink-soft);background:var(--surface);text-align:left;cursor:pointer;flex:none;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px;display:grid}.campaign-chat-channels button>svg,.campaign-chat-channels button>img{width:27px;height:27px;color:var(--moss);background:var(--moss-pale);object-fit:cover;border-radius:50%;padding:6px;overflow:hidden}.campaign-chat-channels button>img{padding:0}.campaign-chat-channels button>span{gap:2px;min-width:0;display:grid}.campaign-chat-channels button strong,.campaign-chat-channels button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-chat-channels button strong{color:var(--ink);font-size:8px}.campaign-chat-channels button small{font-size:6px}.campaign-chat-channels button.is-active{color:var(--moss);border-color:var(--moss);background:var(--moss-pale);box-shadow:inset 0 -3px var(--moss)}.room-member-actions{justify-items:stretch;gap:4px;display:grid}.room-kick-player{color:#8f4038;cursor:pointer;background:#fff4f1;border:1px solid #c78e87;min-height:25px;padding:0 6px;font-size:6px;font-weight:800}.gm-setting-list{gap:8px;padding:11px;display:grid}.gm-setting-toggle,.gm-player-limit{border:1px solid var(--border);width:100%;min-height:62px;color:var(--ink);background:var(--paper);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.gm-setting-toggle{cursor:pointer}.gm-setting-toggle>span,.gm-player-limit>span{gap:3px;display:grid}.gm-setting-toggle strong,.gm-player-limit strong{font-size:8px}.gm-setting-toggle small,.gm-player-limit small{color:var(--ink-soft);font-size:6px;line-height:1.5}.gm-setting-toggle em{min-width:45px;color:var(--ink-soft);border:1px solid var(--border);background:var(--surface);text-align:center;padding:5px;font-size:6px;font-style:normal;font-weight:850}.gm-setting-toggle.is-on{border-left:5px solid var(--moss);background:var(--moss-pale)}.gm-setting-toggle.is-on em{color:var(--surface);border-color:var(--moss);background:var(--moss)}.gm-player-limit select{border:1px solid var(--border-dark);width:74px;height:35px;color:var(--ink);background:var(--surface);flex:none;padding:0 7px}.gm-theme-picker{border:1px solid var(--border);background:var(--paper);padding:11px}.gm-theme-picker>span{color:var(--ink-soft);margin-bottom:8px;font-size:7px;font-weight:850;display:block}.gm-theme-picker>div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.theme-choice{border:1px solid var(--border);min-width:0;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;justify-items:start;gap:3px;padding:6px;display:grid}.theme-choice i{border:1px solid #0000001f;width:100%;height:24px;display:block}.theme-choice strong{font-size:7px}.theme-choice small{color:var(--ink-soft);font-size:6px}.theme-choice.theme-woodland i{background:linear-gradient(135deg,#f5f0df 0 58%,#456a4a 58%)}.theme-choice.theme-moonlit i{background:radial-gradient(circle at 78% 25%,#c4c8ff 0 7%,#0000 8%),linear-gradient(135deg,#0b1020,#28345e)}.theme-choice.theme-parchment i{background:repeating-linear-gradient(0deg,#e5c894 0 4px,#d5ae74 5px)}.theme-choice.is-selected{border-color:var(--moss);box-shadow:inset 0 0 0 2px var(--moss)}.gm-danger-zone,.membership-settings>div{background:#fff1ee;border:1px solid #c9877e;margin:0 11px 11px;padding:11px}.gm-danger-zone strong{color:#853b34;font-size:8px}.gm-danger-zone p,.membership-settings p{color:#7d5b56;margin:4px 0 9px;font-size:6px;line-height:1.55}.gm-danger-zone button,.membership-settings button{color:#fff;cursor:pointer;background:#9d4a42;border:1px solid #9d4a42;min-height:32px;padding:0 9px;font-size:7px;font-weight:850}.campaign-map-frame{min-height:340px}.campaign-map-frame.has-map{max-height:520px}.campaign-map-frame img{min-height:290px}.room-theme-woodland{--paper:#e9eee3;--paper-deep:#dbe5d5;--surface:#fffef8;--ink:#17271d;--ink-soft:#59685d;--moss:#315b3b;--moss-deep:#173b26;--moss-pale:#d7e8d8;--earth:#a05e36;--earth-pale:#f0dfce;--mist:#dbe8e0;--mist-deep:#547361;--border:#c3d0c0;--border-dark:#8ea18c;background-color:var(--paper);background-image:linear-gradient(90deg,#315b3b0a 1px,#0000 1px),linear-gradient(#315b3b0a 1px,#0000 1px);background-size:30px 30px}.room-theme-woodland .campaign-room-masthead{background:linear-gradient(112deg,#102f1e 0 43%,#365d3b 43% 76%,#a06139 76%)}.room-theme-woodland .campaign-public-grid section,.room-theme-woodland .campaign-public-sidebar section,.room-theme-woodland .campaign-public-streams section,.room-theme-woodland .character-workbench-panel,.room-theme-woodland .personal-workbench-sidebar section,.room-theme-woodland .campaign-chapter-bar,.room-theme-woodland .workbench-intro{border-left:6px solid var(--moss);border-radius:0;box-shadow:7px 8px #25482d17}.room-theme-woodland .campaign-chat-card{border-left-color:var(--earth)}.room-theme-woodland .campaign-chat-messages{background-color:#eef2e8;background-image:linear-gradient(#315b3b12 1px,#0000 1px)}.room-theme-woodland .campaign-room-tabs button.is-active{box-shadow:inset 0 -5px var(--earth)}.room-theme-moonlit{--paper:#080c18;--paper-deep:#0f1527;--surface:#151d32;--ink:#f2f4ff;--ink-soft:#a6aec8;--moss:#92a9ff;--moss-deep:#bec8ff;--moss-pale:#252f50;--earth:#d29ee8;--earth-pale:#302442;--mist:#202a43;--mist-deep:#9baddb;--border:#2e3855;--border-dark:#485778;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 75% 3%,#91a9ff2e,#0000 26%),radial-gradient(circle at 14% 22%,#d29ee81c,#0000 24%),linear-gradient(#080c18,#0b1020)}.room-theme-moonlit .campaign-room-masthead{background:radial-gradient(circle at 82% 18%,#c5ccff38,#0000 13%),linear-gradient(120deg,#070b16,#17244a 58%,#4b315e);border-bottom:1px solid #5d6da0}.room-theme-moonlit .campaign-room-tabs{border-color:var(--border-dark);background:#080c18eb}.room-theme-moonlit .campaign-room-tabs button.is-active{color:#f5f7ff;background:#1b2541;box-shadow:inset 0 -3px #d29ee8,0 0 22px #92a9ff1f}.room-theme-moonlit .campaign-public-grid section,.room-theme-moonlit .campaign-public-sidebar section,.room-theme-moonlit .campaign-public-streams section,.room-theme-moonlit .character-workbench-panel,.room-theme-moonlit .personal-workbench-sidebar section,.room-theme-moonlit .campaign-chapter-bar,.room-theme-moonlit .workbench-intro{background:linear-gradient(145deg,#151d32,#10172a);border-color:#415079;border-radius:18px;overflow:hidden;box-shadow:0 18px 55px #00000059,inset 0 1px #ffffff09}.room-theme-moonlit .campaign-public-grid section>header,.room-theme-moonlit .campaign-public-sidebar section>header,.room-theme-moonlit .campaign-public-streams section>header,.room-theme-moonlit .character-workbench-panel>header,.room-theme-moonlit .personal-workbench-sidebar section>header{background:linear-gradient(90deg,#92a9ff1f,#d29ee80d)}.room-theme-moonlit .campaign-chat-messages{background-color:#0c1222;background-image:radial-gradient(#92a9ff24 .7px,#0000 .8px);background-size:16px 16px}.room-theme-moonlit .chat-message>div,.room-theme-moonlit .room-roll,.room-theme-moonlit .room-member{background:#172139}.room-theme-moonlit .chat-message.is-private>div{color:#f7efff;background:#2c213e;border-color:#8c64a2}.room-theme-moonlit input,.room-theme-moonlit select,.room-theme-moonlit textarea{color:var(--ink);border-color:var(--border-dark);background-color:#0e1528}.room-theme-moonlit option{color:#eef1ff;background:#10172a}.room-theme-moonlit .personal-note-card textarea{color:#eef1ff;background-color:#11182a;background-image:repeating-linear-gradient(#0000 0 23px,#92a9ff1f 24px)}.room-theme-moonlit .gm-setting-toggle.is-on em,.room-theme-moonlit .campaign-visibility button.is-active,.room-theme-moonlit .campaign-roll-modes button.is-active{color:#0b1020}.room-theme-moonlit .gm-danger-zone,.room-theme-moonlit .membership-settings>div{background:#321d2a;border-color:#8e5969}.room-theme-moonlit .gm-danger-zone p,.room-theme-moonlit .membership-settings p{color:#dab6c1}.room-theme-parchment{--paper:#d6b77f;--paper-deep:#c9a66c;--surface:#f5e2b9;--ink:#3a281a;--ink-soft:#705a3c;--moss:#62472c;--moss-deep:#3d2b1d;--moss-pale:#e4c997;--earth:#943f2d;--earth-pale:#ebc29d;--mist:#ddc69b;--mist-deep:#765a36;--border:#b38b53;--border-dark:#785b37;background-color:var(--paper);background-image:repeating-linear-gradient(4deg,#4b2f1809 0 1px,#0000 1px 10px),radial-gradient(circle at 8% 20%,#653e1a1f,#0000 18%)}.room-theme-parchment .campaign-room-masthead{background:linear-gradient(110deg,#3a271b,#6a4728 62%,#8b3c2c);border-bottom:8px double #b98d52}.room-theme-parchment .campaign-room-tabs{border-bottom:4px double var(--border-dark);background:#e2c694f0}.room-theme-parchment .campaign-room-tabs button{border-color:#a47a47}.room-theme-parchment .campaign-room-tabs button.is-active{color:#3d2b1d;background:#f4dfb6;box-shadow:inset 0 -5px #943f2d}.room-theme-parchment .campaign-public-grid section,.room-theme-parchment .campaign-public-sidebar section,.room-theme-parchment .campaign-public-streams section,.room-theme-parchment .character-workbench-panel,.room-theme-parchment .personal-workbench-sidebar section,.room-theme-parchment .campaign-chapter-bar,.room-theme-parchment .workbench-intro{border:4px double var(--border-dark);background:#f5e2b9f5;border-radius:0;box-shadow:9px 9px #452a1424}.room-theme-parchment .campaign-public-grid section>header,.room-theme-parchment .campaign-public-sidebar section>header,.room-theme-parchment .campaign-public-streams section>header,.room-theme-parchment .character-workbench-panel>header,.room-theme-parchment .personal-workbench-sidebar section>header{border-bottom:3px double var(--border-dark);background:#cead7152}.room-theme-parchment .campaign-chat-messages{background-color:#e8cf9e;background-image:repeating-linear-gradient(0deg,#0000 0 27px,#5e41231f 28px)}.room-theme-parchment .chat-message>div,.room-theme-parchment .room-roll,.room-theme-parchment .room-member{background:#f7e6c0;border:1px solid #8f6a3e;box-shadow:3px 3px #4e30191a}.room-theme-parchment .chat-message.is-private>div{background:#f3cfac;border:2px dashed #943f2d}.sheet-theme-archive{background-color:#dcc9a8;background-image:repeating-linear-gradient(0deg,#55361e0b 0 1px,#0000 1px 22px)}.sheet-theme-archive .sheet-toolbar{color:#fff8ea;background:#37271f;border-bottom:5px double #c19c66}.sheet-theme-archive .sheet-toolbar .sheet-back,.sheet-theme-archive .sheet-toolbar .save-state{color:#fff8ea}.sheet-theme-archive .sheet-toolbar .toolbar-action{color:#fff8ea;background:#ffffff0a;border-color:#a98b68}.sheet-theme-archive .sheet-identity{background:linear-gradient(90deg,#fff9ed,#ead5ae);border-width:5px}.sheet-theme-archive .sheet-section{padding-top:27px}.sheet-theme-archive .sheet-section-heading h2{letter-spacing:.08em;text-transform:uppercase}.sheet-theme-archive .resource-card,.sheet-theme-archive .ability-card,.sheet-theme-archive .trait-card,.sheet-theme-archive .skill-roll-button{background:#fff9eb;border:1px solid #9b7b55;border-radius:0}.sheet-theme-moon{--paper:#080c17;--paper-deep:#0d1425;--surface:#151d31;--ink:#f1f4ff;--ink-soft:#aab2cc;--moss:#91a8f4;--moss-deep:#c1ccff;--moss-pale:#263251;--earth:#d0a0e8;--earth-pale:#332745;--mist:#202941;--mist-deep:#93a7d8;--border:#303a57;--border-dark:#4c5a80;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 86% 4%,#7f95f533,#0000 24%),radial-gradient(circle at 10% 19%,#d0a0e81f,#0000 20%),linear-gradient(#080c17,#0d1324)}.sheet-theme-moon .sheet-toolbar{background:#070b17f2;box-shadow:0 10px 35px #00000059}.sheet-theme-moon .sheet-identity,.sheet-theme-moon .sheet-section,.sheet-theme-moon .quick-resources,.sheet-theme-moon .rest-panel,.sheet-theme-moon .theme-selector,.sheet-theme-moon .campaign-join-card,.sheet-theme-moon .quick-summary{color:var(--ink);background:linear-gradient(145deg,#172039,#11182c);border:1px solid #3e4d74;box-shadow:0 20px 55px #00000052,inset 0 1px #ffffff0a}.sheet-theme-moon .sheet-identity{background:radial-gradient(circle at 88% 18%,#d0a0e838,#0000 25%),linear-gradient(135deg,#172546,#35264b)}.sheet-theme-moon .sheet-section-heading{border-bottom:1px solid #53628b}.sheet-theme-moon .sheet-section-heading h2,.sheet-theme-moon .quick-summary strong{color:#f5f6ff}.sheet-theme-moon .attribute-card,.sheet-theme-moon .resource-card,.sheet-theme-moon .ability-card,.sheet-theme-moon .trait-card,.sheet-theme-moon .skill-roll-button,.sheet-theme-moon .limited-use-tracker{color:var(--ink);box-shadow:none;background:#111a2f;border:1px solid #354362}.sheet-theme-moon .attribute-card>strong{color:#0c1224;background:linear-gradient(135deg,#9bb0ff,#d0a0e8)}.sheet-theme-moon input,.sheet-theme-moon select,.sheet-theme-moon textarea{color:var(--ink);background:#0c1325;border-color:#4a5980}.sheet-theme-moon option{color:#f1f4ff;background:#10182b}.sheet-theme-moon .button-primary,.sheet-theme-moon .long-rest-button{color:#0b1121}.sheet-theme-moon .theme-option.is-active{color:#f3f5ff;background:#263251}.sheet-theme-forest{background-color:#dfe9d0;background-image:linear-gradient(90deg,#27583114 1px,#0000 1px),linear-gradient(#27583114 1px,#0000 1px);background-size:28px 28px}.sheet-theme-forest .sheet-toolbar{color:#f6ffef;background:linear-gradient(90deg,#173921 0 72%,#b36b36 72%);border-bottom:0}.sheet-theme-forest .sheet-toolbar .sheet-back,.sheet-theme-forest .sheet-toolbar .save-state{color:#f6ffef}.sheet-theme-forest .sheet-toolbar .toolbar-action{color:#f6ffef;background:#ffffff12;border-color:#ffffff59}.sheet-theme-forest .sheet-identity{background:linear-gradient(105deg,#fbfff4 0 72%,#d5e4c4 72%);border-left-width:12px;box-shadow:9px 10px #255b301f}.sheet-theme-forest .sheet-section,.sheet-theme-forest .quick-resources,.sheet-theme-forest .rest-panel,.sheet-theme-forest .theme-selector,.sheet-theme-forest .campaign-join-card,.sheet-theme-forest .quick-summary{background:#fbfff3f5;border:0;border-left:9px solid #315f3a;border-radius:0;box-shadow:8px 9px #255b301f}.sheet-theme-forest .sheet-section:nth-of-type(2n){border-left-color:#a45f32}.sheet-theme-forest .sheet-section-heading{border-bottom:2px dashed #6c8b68}.sheet-theme-forest .attribute-card{background:#eef6e5;border-left-width:6px}.sheet-theme-forest .resource-card,.sheet-theme-forest .ability-card,.sheet-theme-forest .trait-card,.sheet-theme-forest .skill-roll-button{background:#edf5e6;border:0;border-left:4px solid #4b7952;border-radius:0}.campaign-character-viewer.sheet-theme-moon{color:var(--ink);border-color:var(--border-dark);background:#11182b}.campaign-character-viewer.sheet-theme-moon>header{color:#0d1324;background:linear-gradient(135deg,#9bb0ff,#d0a0e8)}.campaign-character-viewer.sheet-theme-moon>header .kicker,.campaign-character-viewer.sheet-theme-moon>header small{color:#0d1324ad}.campaign-character-viewer.sheet-theme-moon .viewer-resources>div,.campaign-character-viewer.sheet-theme-moon .viewer-attributes>div,.campaign-character-viewer.sheet-theme-moon .viewer-list>div,.campaign-character-viewer.sheet-theme-moon .viewer-story>div{color:var(--ink);background:#172039}.campaign-character-viewer.sheet-theme-forest{border-left:10px solid #315f3a;box-shadow:12px 14px #255b3029}.campaign-character-viewer.sheet-theme-archive{border:6px double var(--border-dark)}.sheet-page .rules-help{color:var(--surface);background:var(--moss)}.sheet-page :is(.save-state,.cloud-save-reminder,.toolbar-action,.section-helper,.traits-heading p,.point-buy span,.attribute-card>span,.attribute-breakdown,.resource-card>div:first-child span,.resource-inputs label,.field-hint,.quick-summary dt,.quick-summary dd,.rules-help p,.rules-help a,.quick-resource-row>div:first-child>span,.initiative-quick-button span,.formula-strip span,.checks-disclosure summary,.skill-check-section>header>span),.sheet-page :is(.identity-fields label>span,.form-grid label>span,.sheet-mixed-editor label span,.theme-option strong){font-size:10px}.sheet-page :is(.sheet-mixed-editor select,.theme-option small,.campaign-join-card p,.campaign-join-card label span,.campaign-join-card .button),.sheet-page small{font-size:9px}.sheet-theme-moon .rules-help{color:#f1f4ff;background:#10182b;border-color:#4c5a80}.sheet-theme-moon .rules-help :is(h3,p,a){color:#f1f4ff}.sheet-theme-moon .rules-help>svg{color:#d0a0e8}.campaign-room-page small,.campaign-room-page .kicker{font-size:8px}.campaign-room-page :is(.campaign-room-back,.role-badge,.sync-badge,.campaign-map-frame p,.campaign-map-actions .button,.room-member strong,.room-view-character,.dice-character-select span,.campaign-dice-fields span,.campaign-roll-modes>span,.campaign-visibility>span,.campaign-roll-modes button,.campaign-visibility button,.roll-who strong,.roll-result>span,.chat-message>div>header strong,.chat-message p,.chat-speaker-row label>span,.chat-content-field>span,.chat-kind-toggle button,.chapter-status,.chapter-export-controls select,.chapter-export-controls a,.icon-text-button,.gm-chapter-manager summary,.gm-chapter-manager label span,.gm-chapter-manager input,.gm-chapter-manager .button,.workbench-intro p,.saving-label,.workbench-character-select span,.workbench-identity p,.workbench-identity>a,.workbench-resource>span,.workbench-resource button,.workbench-story-editor summary,.workbench-story-editor label span,.workbench-story-editor textarea,.campaign-chat-channels button strong,.gm-setting-toggle strong,.gm-player-limit strong,.gm-theme-picker>span,.theme-choice strong,.gm-danger-zone strong,.gm-danger-zone button,.membership-settings button){font-size:9px}.campaign-room-page :is(.campaign-room-title-row p:last-child,.campaign-room-loading p,.campaign-room-error p,.room-member small,.campaign-visibility>small,.roll-who small,.roll-result>small,.chat-message>div>header time,.campaign-chat-composer>footer small,.campaign-chapter-bar small,.workbench-identity small,.workbench-empty p,.personal-note-card footer small,.campaign-chat-channels button small,.gm-setting-toggle small,.gm-player-limit small,.theme-choice small,.gm-danger-zone p,.membership-settings p){font-size:8px}.room-theme-moonlit .campaign-map-frame{color:var(--ink-soft);background-color:#0d1425;background-image:linear-gradient(#92a9ff1a 1px,#0000 1px),linear-gradient(90deg,#92a9ff1a 1px,#0000 1px)}.room-theme-moonlit .campaign-map-frame h3{color:var(--ink)}.room-theme-moonlit .campaign-map-frame>div svg{color:var(--earth)}.room-theme-moonlit .gm-danger-zone strong{color:#ffbac5}.room-theme-moonlit .room-kick-player{color:#ffd5d0;background:#3a202b;border-color:#a86770}@media (max-width:980px){.campaign-public-grid,.campaign-public-streams,.campaign-workbench-grid{grid-template-columns:1fr}.campaign-public-sidebar{grid-template-columns:1fr 1fr}.personal-workbench-sidebar{grid-template-columns:1fr 1fr;position:static}.personal-roll-card{grid-column:1/-1}.gm-chapter-manager>div{grid-template-columns:1fr 1fr}.gm-chapter-manager>div>button:first-child{grid-column:1/-1}}@media (max-width:640px){.campaign-room-tabs{top:59px}.campaign-room-tabs button{min-height:56px;padding:7px}.campaign-room-tabs button small{display:none}.campaign-room-workspace{width:calc(100% - 20px);padding-top:10px}.campaign-chapter-bar,.workbench-intro{flex-direction:column;align-items:stretch}.campaign-chapter-bar>div:first-child{grid-template-columns:1fr}.campaign-chapter-bar small{grid-column:1}.chapter-export-controls{grid-template-columns:1fr 1fr;display:grid}.chapter-export-controls select{min-width:0}.campaign-public-sidebar,.personal-workbench-sidebar{grid-template-columns:1fr}.personal-roll-card{grid-column:auto}.gm-chapter-manager>div,.workbench-story-editor>div{grid-template-columns:1fr}.gm-chapter-manager>div>button:first-child,.workbench-story-editor .button{grid-column:1}.workbench-identity{grid-template-columns:48px 1fr}.workbench-identity>img,.workbench-identity>span{width:48px;height:48px}.workbench-identity>a{grid-column:1/-1}.workbench-resources{grid-template-columns:1fr}.character-workbench-panel>.dynamic-rules-section{margin-left:8px;margin-right:8px}}.pdf-export-stage{z-index:-10;pointer-events:none;width:820px;position:fixed;top:0;left:-10000px}.printable-character{color:#2f2b27;width:820px;font-family:var(--font-sans);background:#fffaf0;padding:36px}.printable-theme-archive{background-color:#fffaf0;background-image:repeating-linear-gradient(0deg,#654b3706 0 1px,#0000 1px 18px);border:5px double #bca98d}.printable-theme-moon{color:#1e2b42;background-color:#f3f6fb;background-image:radial-gradient(circle at 90% 2%,#75618b24,#0000 18%),radial-gradient(circle at 8% 12%,#3d577d1f,#0000 20%)}.printable-theme-forest{color:#24352c;background-color:#f7faef;background-image:linear-gradient(#3f65480e 1px,#0000 1px),linear-gradient(90deg,#3f65480b 1px,#0000 1px);background-size:24px 24px;border-left:10px solid #3b6044;padding-left:49px}.printable-header{color:#fff;background:#654b37;border:4px double #ffffff7a;grid-template-columns:82px 1fr auto;align-items:center;gap:18px;padding:20px;display:grid}.printable-theme-moon .printable-header{background:linear-gradient(135deg,#273f63,#665475);border:0;border-radius:20px;box-shadow:0 13px 30px #2a3d5b2e}.printable-theme-forest .printable-header{color:#24352c;background:#fbfdf6e6;border:1px solid #aebaa7;border-left:7px solid #3b6044;box-shadow:5px 6px #3f654814}.printable-header>img,.printable-header>span{object-fit:cover;width:82px;height:82px;font-family:var(--font-serif);border:2px solid #ffffffb8;border-radius:50%;place-items:center;font-size:30px;display:grid}.printable-theme-forest .printable-header>img,.printable-theme-forest .printable-header>span{color:#fff;background:#3b6044;border-color:#3b6044;border-radius:5px 50% 50%}.printable-header small{color:#ffffffb3;letter-spacing:.14em;font-size:9px}.printable-theme-forest .printable-header small,.printable-theme-forest .printable-header p{color:#59695f}.printable-header h1{font-family:var(--font-serif);margin:4px 0;font-size:30px}.printable-header p{color:#ffffffc7;margin:0;font-size:11px}.printable-header>strong{border:1px solid #ffffff6b;padding:8px 10px;font-size:10px}.printable-character>section{margin-top:22px}.printable-character>section>h2{font-family:var(--font-serif);border-bottom:2px solid #bca98d;margin:0 0 10px;padding-bottom:7px;font-size:18px}.printable-theme-moon>section>h2{color:#f8fbff;background:#3d577d;border:0;border-radius:9px;padding:7px 12px}.printable-theme-forest>section>h2{background:#dce9dad1;border:0;border-left:5px solid #3f6548;padding:4px 10px}.printable-resources{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.printable-resources>div{background:#ffffff8c;border:1px solid #d9cbb6;gap:3px;padding:12px;display:grid}.printable-theme-moon .printable-resources>div{border:0;border-radius:10px;box-shadow:inset 0 0 0 1px #ccd5e2,0 5px 12px #2a3d5b12}.printable-theme-forest .printable-resources>div{border:1px dashed #aebaa7;border-left:4px solid #3f6548}.printable-resources span{color:#756a60;font-size:9px}.printable-resources b{font-family:var(--font-serif);font-size:16px}.printable-attributes{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.printable-attributes>div{background:#ffffff8f;border:1px solid #d9cbb6;place-items:center;gap:3px;padding:10px 5px;display:grid}.printable-theme-moon .printable-attributes>div{color:#f8fbff;background:linear-gradient(145deg,#3d577d,#75618b);border:0;border-radius:12px}.printable-theme-moon .printable-attributes span,.printable-theme-moon .printable-attributes small{color:#ffffffbf}.printable-theme-forest .printable-attributes>div{background:#ffffff80;border:0;border-left:4px solid #3f6548;place-items:start}.printable-attributes span,.printable-attributes small{color:#756a60;font-size:8px}.printable-attributes b{font-family:var(--font-serif);font-size:18px}.printable-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.printable-list>div,.printable-story>div{break-inside:avoid;background:#ffffff80;border:1px solid #d9cbb6;padding:11px}.printable-theme-moon .printable-list>div,.printable-theme-moon .printable-story>div{border:0;border-radius:10px;box-shadow:inset 0 0 0 1px #ccd5e2}.printable-theme-forest .printable-list>div,.printable-theme-forest .printable-story>div{border-style:dashed dashed dashed solid;border-left-width:4px;border-left-color:#3f6548}.printable-list h3,.printable-story h3{font-family:var(--font-serif);gap:2px;margin:0 0 6px;font-size:12px;display:grid}.printable-list h3 small{color:#8a684c;font-family:var(--font-sans);font-size:8px}.printable-list p,.printable-story p{color:#625c55;white-space:pre-wrap;margin:0;font-size:9px;line-height:1.65}.printable-list em{color:#8a684c;margin-top:5px;font-size:8px;font-style:normal;display:block}.printable-story{grid-template-columns:1fr 1fr;gap:8px;display:grid}.printable-gallery{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.printable-gallery figure{break-inside:avoid;margin:0}.printable-gallery img{object-fit:contain;background:#fff;border:1px solid #d9cbb6;width:100%;max-height:285px;display:block}.printable-gallery figcaption{color:#756a60;margin-top:4px;font-size:8px}.printable-character>footer{color:#756a60;text-align:center;border-top:1px solid #d9cbb6;margin-top:25px;padding-top:10px;font-size:8px}@media (max-width:1050px){.header-inner{gap:13px}.main-nav{gap:0}.nav-link{padding-inline:8px;font-size:12px}.header-search{display:none}.icon-button{width:39px;color:var(--moss);border:1px solid var(--border);background:0 0;display:flex}.hero-section{grid-template-columns:minmax(0,.72fr) minmax(480px,1.28fr);gap:30px}.hero-copy h1{font-size:48px}.home-updates{grid-template-columns:1fr 380px}.home-lower{grid-template-columns:1fr 310px}.character-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-layout{grid-template-columns:minmax(0,1fr) 225px}.identity-grid{grid-template-columns:1fr 1fr}.attribute-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr)}.footer-meta{grid-column:1/-1;justify-content:space-between;display:flex}.contact-details{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-details article:last-child{grid-column:1/-1}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.page-shell{width:min(100% - 30px,680px)}.header-inner{width:calc(100% - 28px);min-height:66px}.main-nav{border-bottom:1px solid var(--border);background:var(--surface);padding:12px 14px 18px;display:none;position:absolute;top:66px;left:0;right:0;box-shadow:0 12px 22px #2c352b1a}.main-nav.is-open{display:grid}.nav-link{min-height:42px;padding:0 10px}.nav-link:after{display:none}.mobile-character-link,.menu-button{display:flex}.auth-entry-button{min-width:112px;padding:0 11px;font-size:11px;display:flex}.brand-copy small{display:none}.hero-section{grid-template-columns:1fr;gap:36px;padding-top:37px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(42px,12vw,62px)}.rule-map-panel{padding:23px}.home-updates,.home-lower{grid-template-columns:1fr}.rules-layout{grid-template-columns:1fr;gap:20px}.rules-sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:none;padding:0 0 17px;position:static}.sidebar-categories{padding-bottom:5px;display:flex;overflow-x:auto}.sidebar-category{border-bottom:2px solid #0000;border-left:0;flex:none;width:auto}.sidebar-category:hover,.sidebar-category.is-active{border-left-color:#0000;border-bottom-color:var(--moss)}.sidebar-divider,.root-links,.rules-sidebar .sidebar-label:nth-of-type(2){display:none}.characters-page{min-height:calc(100vh - 66px)}.character-heading-row{flex-direction:column;align-items:start}.sheet-toolbar{top:66px}.sheet-toolbar-inner{flex-wrap:wrap;padding-block:7px}.sheet-action-area{width:100%;margin-left:0;padding-top:0}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.sheet-layout{grid-template-columns:1fr}.sheet-aside{grid-template-columns:1fr 1fr;max-height:none;padding-right:0;position:static;overflow:visible}.quick-resources{grid-column:1/-1}.skill-check-grid,.faction-choice-grid,.class-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-attribute-grid,.rolled-assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.creation-progress b{display:none}.formula-strip{grid-template-columns:1fr}.formula-strip>div{border-right:0;border-bottom:1px solid var(--border)}.formula-strip>div:last-child{border-bottom:0}.campaign-list{grid-template-columns:1fr}.campaign-create-row{grid-template-columns:1fr auto}.campaign-create-row>label:first-child{grid-column:1/-1}.reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:1fr;gap:18px}.footer-legal{border-top:1px solid var(--border-dark);border-left:0;padding:18px 0 0}.footer-meta{grid-column:auto}.contact-page{min-height:calc(100vh - 66px);padding-top:34px}.contact-hero{grid-template-columns:1fr}.contact-intro,.author-card{min-height:310px}.campaign-room-title-row{flex-direction:column;align-items:start}.campaign-room-badges{justify-content:flex-start}.campaign-room-layout{grid-template-columns:1fr}.campaign-dice-console{grid-column:auto}.campaign-map-frame{min-height:360px}.campaign-chat-card{grid-column:auto}}@media (max-width:580px){.brand-mark{width:36px;height:36px}.brand-copy strong{font-size:15px}.icon-button{display:none}.hero-section{padding-bottom:42px}.home-updates{padding-bottom:36px}.announcement-card{grid-template-columns:1fr;padding:19px}.update-heading-row{flex-direction:column;align-items:start;gap:8px}.version-log li{grid-template-columns:1fr;gap:5px}.hero-lede{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats{gap:0}.hero-stats div{flex:1;padding-inline:10px}.hero-stats dt{font-size:19px}.hero-stats dd{font-size:9px}.rule-map-panel{margin-inline:-5px;padding:21px 17px}.rule-map-grid{grid-template-columns:1fr}.map-card{min-height:92px}.recent-grid{grid-template-columns:1fr}.recent-card{min-height:190px}.contact-details{grid-template-columns:1fr}.contact-details article:last-child{grid-column:auto}.contact-intro{min-height:auto;padding:34px 24px}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{width:100%}.author-card{min-height:290px;padding:28px}.rules-masthead{padding-top:28px}.rules-masthead-inner{flex-direction:column;align-items:start;gap:15px}.rules-toolbar-inner{flex-direction:column;align-items:stretch}.rules-search{max-width:none}.category-select{width:100%}.rules-layout{padding-top:21px}.rules-content-heading h2{font-size:27px}.rule-markdown{font-size:12px}.signed-out-page{padding:35px 0}.signin-panel{width:calc(100% - 30px);padding:38px 21px}.signin-features{flex-direction:column;align-items:stretch}.signin-features span{justify-content:center}.vault-actions{width:100%}.vault-actions .button{flex:1;padding-inline:10px}.character-card-grid{grid-template-columns:1fr}.sheet-toolbar-inner{flex-wrap:wrap;min-height:106px;padding-block:8px}.save-state{margin-left:auto}.sheet-actions{width:100%;margin-left:0}.sheet-actions .button{margin-left:auto}.toolbar-action{flex:1;min-width:92px}.cloud-save-reminder{background:var(--earth-pale);justify-content:center;justify-self:stretch;padding:5px}.sheet-layout{padding-top:17px}.sheet-identity{grid-template-columns:55px minmax(0,1fr);gap:14px;padding:20px}.sheet-seal{width:55px;height:55px;font-size:20px}.name-field input{font-size:22px}.identity-grid,.sheet-mixed-editor{grid-template-columns:1fr}.sheet-section{padding:20px 15px}.attribute-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trait-card-grid{grid-template-columns:1fr}.traits-heading{flex-direction:column;align-items:stretch}.trait-editor{z-index:110;position:fixed;inset:12px;overflow-y:auto}.trait-form{grid-template-columns:1fr}.trait-form label.wide{grid-column:auto}.resource-grid,.two-column{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.sheet-aside{grid-template-columns:1fr}.rest-buttons{grid-template-columns:1fr 1fr}.shared-use-pool,.limited-use-tracker{flex-direction:column;align-items:stretch}.use-pips{justify-content:flex-start}.media-upload-actions{justify-content:stretch;width:100%}.media-upload-actions .button{flex:1}.reference-gallery,.campaign-create-row{grid-template-columns:1fr}.campaign-create-row>label:first-child{grid-column:auto}.campaign-create-row .button{width:100%}.secret-toggle{justify-content:center}.campaign-member{grid-template-columns:34px 1fr}.view-character-button,.hidden-sheet-label{grid-column:2;justify-self:start}.rest-modal,.campaign-character-viewer{border-inline:0;border-bottom:0;max-height:94vh}.rest-roll-results{grid-template-columns:1fr}.campaign-character-viewer>header{grid-template-columns:48px 1fr 34px;padding-inline:15px}.campaign-character-viewer>header>img,.campaign-character-viewer>header>span{width:48px;height:48px}.viewer-resources{grid-template-columns:1fr 1fr}.viewer-attributes{grid-template-columns:repeat(3,1fr)}.viewer-list,.viewer-story{grid-template-columns:1fr}.viewer-story>h3{grid-column:auto}.viewer-gallery{grid-template-columns:1fr 1fr}.rules-engine-heading{flex-direction:column;align-items:stretch}.level-up-button,.level-management-actions{width:100%}.check-formula-grid{grid-template-columns:1fr 1fr}.skill-check-section>header{flex-direction:column;align-items:start}.skill-check-grid{grid-template-columns:1fr}.ability-detail{padding-left:15px}.modal-backdrop{place-items:end center;padding:0}.level-modal{border-inline:0;border-bottom:0;max-height:94vh}.level-modal-header,.level-modal-body,.level-modal-footer,.level-stepper{padding-inline:17px}.level-stepper span{justify-content:center;font-size:0}.level-stepper b{font-size:8px}.level-dice-grid,.level-review-grid{grid-template-columns:1fr}.soul-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creation-overlay{min-height:calc(100vh - 66px);padding:0}.creation-wizard{min-height:calc(100vh - 66px);box-shadow:none;border-inline:0}.creation-header{padding:19px 17px 16px}.creation-header h1{font-size:25px}.creation-progress{padding:13px 17px}.creation-progress button{justify-content:center}.creation-progress button b{display:none}.creation-progress button:after{bottom:11px;left:calc(50% + 15px);right:-3px}.creation-body{padding:23px 17px}.wizard-step.narrow-step{margin:0}.faction-choice-grid,.class-choice-grid{grid-template-columns:1fr}.class-family-block{padding:11px}.class-family-heading{flex-direction:column;align-items:start;gap:4px}.choice-card{min-height:130px}.segmented-choice,.segmented-choice.three{flex-direction:column;grid-template-columns:1fr}.mixed-selects,.method-tabs{grid-template-columns:1fr}.wizard-attribute-grid,.rolled-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-set-grid,.review-grid{grid-template-columns:1fr}.review-attributes{grid-template-columns:repeat(2,1fr)}.review-hero{flex-wrap:wrap;align-items:flex-start}.review-hero>strong{width:100%;margin-left:62px}.creation-footer{padding:12px 17px}.creation-footer>span{display:none}.creation-footer .button:last-child{margin-left:auto}.dice-tray{border-inline:0;border-bottom:0;width:100%;max-height:86vh;bottom:0;right:0}.dice-result-stage{min-height:105px}.animated-die{width:67px;height:67px}.animated-die span{width:41px;height:41px;font-size:20px}.campaign-room-masthead{padding-top:28px}.campaign-room-layout{width:calc(100% - 20px);padding-top:12px}.campaign-map-frame{min-height:270px}.campaign-map-frame img{min-height:240px}.campaign-map-actions{flex-wrap:wrap;align-items:stretch}.campaign-map-actions .button{flex:1}.campaign-map-actions>small{width:100%;margin-left:0}.campaign-dice-fields{grid-template-columns:1fr 1fr}.campaign-dice-fields label:last-child{grid-column:1/-1}.room-roll{grid-template-columns:1fr}.room-view-character span{display:none}.roll-feed-list{max-height:560px}.campaign-chat-card>header{flex-direction:column;align-items:flex-start}.chat-message{max-width:100%}.chat-speaker-row{grid-template-columns:1fr}.campaign-chat-composer>footer{flex-direction:column;align-items:stretch}.campaign-chat-composer>footer .button{width:100%}.campaign-room-toast{max-width:none;bottom:10px;left:10px;right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.animated-die.is-rolling{animation:none}}
