:root{--bg: #f5f6f4;--surface: #ffffff;--surface-2: #edeeec;--border: #d6d8d4;--border-soft: #e2e4e0;--text: #1a1c1f;--text-muted: #6b7280;--accent: #33518a;--accent-hover: #294273;--accent-contrast: #ffffff;--health: #b23a48;--health-soft: #fbecee;--arcane: #7a5bbd;--arcane-soft: #f0ebfa;--danger: #e5484d;--danger-contrast: #ffffff;--success: #1a9e5f;--editable: #ece3fb;--display-value-bg: #e6e7e4;--popover-bg: #fff8c5;--tooltip-bg: #f3eefc;--font-display: "Cinzel", "Trajan Pro", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--radius: 8px;--radius-lg: 14px;--shadow-1: 0 1px 2px hsla(0, 0%, 0%, .08), 0 1px 3px hsla(0, 0%, 0%, .06);--shadow-2: 0 2px 6px hsla(0, 0%, 0%, .12), 0 1px 2px hsla(0, 0%, 0%, .08)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #16181c;--surface: #1f2227;--surface-2: #272b31;--border: #363b42;--border-soft: #2b2f36;--text: #e8eaed;--text-muted: #9aa0a8;--accent: #6f97e8;--accent-hover: #85a9ef;--accent-contrast: #16181c;--health: #e07a86;--health-soft: #221c1e;--arcane: #a488e0;--arcane-soft: #2e2740;--success: #46c98a;--editable: #3a3350;--display-value-bg: #2c3036;--popover-bg: #4a4322;--tooltip-bg: #302b40}}[data-theme=dark]{--bg: #16181c;--surface: #1f2227;--surface-2: #272b31;--border: #363b42;--border-soft: #2b2f36;--text: #e8eaed;--text-muted: #9aa0a8;--accent: #6f97e8;--accent-hover: #85a9ef;--accent-contrast: #16181c;--health: #e07a86;--health-soft: #221c1e;--arcane: #a488e0;--arcane-soft: #2e2740;--success: #46c98a;--editable: #3a3350;--display-value-bg: #2c3036;--popover-bg: #4a4322;--tooltip-bg: #302b40}.flex{display:flex}.flex-grid{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;align-content:space-around}.vh100{max-height:100vh}.hidden{display:none}p{margin:0}.title{text-transform:capitalize}.font-large{font-size:1.5rem}.font-medium{font-size:1rem}.font-small{font-size:.5rem}.font-black{color:var(--text)}.nowrap{white-space:nowrap}.editable{cursor:pointer;background-color:var(--editable)}.readOnly{cursor:default}.underline{text-decoration:underline}.no-underline{text-decoration:none}.bold{font-weight:700}.pos-relative{position:relative}.inline{display:inline}.full-width{width:100%}.vh100 .header{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.row{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly}.column{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.character-info-header .row{align-items:stretch}.character-info-header .rounded-border-box{display:flex}.rounded-border-box.has-corner-action{position:relative}.corner-action{position:absolute;top:.15rem;right:.15rem}.level-up-btn{opacity:.65}.level-up-btn:hover,.level-up-btn:focus-visible{opacity:1;color:var(--accent)}.character-info-header>.row>.rounded-border-box{flex:0 0 28%;min-width:0}.character-info-header>.row>.column{flex:1 1 0;min-width:0}.character-info-header .column>.row>*{flex:1 1 0;min-width:0}.character-info-header .display-value{overflow-wrap:anywhere}.button-stack{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:360px;margin:1.5rem auto;padding:0 1rem}.button-stack>a{display:block}.button-stack button{width:100%}.settings-layout{display:flex;align-items:flex-start;gap:2rem;padding:1.5rem}.settings-nav{display:flex;flex-direction:column;gap:.25rem;flex:0 0 200px;position:sticky;top:1.5rem}.settings-nav button{width:100%;text-align:left;padding:.6rem .9rem;border-color:transparent;background-color:transparent;font-weight:500}.settings-nav button:hover:not(:disabled){background-color:var(--surface-2);box-shadow:none}.settings-nav button.active{background-color:var(--accent);color:var(--accent-contrast)}.settings-content{flex:1;min-width:0}.settings-sections{display:flex;flex-direction:column;max-width:640px}.settings-section{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.settings-section:first-child{padding-top:.25rem}.settings-section:last-child{border-bottom:none}.settings-section-title{margin:0;font-size:1.05rem;font-weight:600}.settings-description{margin:0;max-width:60ch;color:var(--text-muted);line-height:1.5}.settings-value{margin:0;font-weight:600}.settings-checkbox{display:flex;flex-direction:row;align-items:center;gap:.5rem;width:auto}.settings-checkbox input[type=checkbox]{width:auto}.settings-delay-input{width:6rem}.autosave-control{display:flex;flex-direction:row;align-items:flex-start;gap:1rem}.autosave-slider{width:340px;max-width:100%}.autosave-slider input[type=range]{width:100%}.autosave-ticks{position:relative;height:1rem;margin:.25rem 8px 0;font-size:.75rem;color:var(--text-muted)}.autosave-tick{position:absolute;transform:translate(-50%);white-space:nowrap}.autosave-tick.active{color:var(--accent);font-weight:600}.settings-content .identity-fields,.settings-content .identity-fields .column{align-items:flex-start;width:auto}.settings-content .identity-fields .identity-color{justify-content:flex-start;gap:.5rem;width:auto}@media(max-width:640px){.settings-layout{flex-direction:column}.settings-nav{flex-direction:row;flex-basis:auto;position:static;flex-wrap:wrap}.settings-nav button{width:auto}}.align-flex-start{align-items:flex-start}.justify-flex-start{justify-content:flex-start}.space-between{justify-content:space-between}.flex-direction-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.stat-display-container{width:150px}.stat-and-skill-panel>.row,.stat-and-skill-panel>.column{width:auto}.stat-display{width:100%}.padding-small{padding:.5rem}.padding-medium{padding:1rem}.padding-large{padding:1.5rem}.margin-small{margin:.5rem}.margin-medium{margin:1rem}.margin-large{margin:1.5rem}.rounded-border-box{border-style:solid;border-color:var(--border);border-width:2px;border-radius:var(--radius-lg)}.display-title{text-align:center;text-transform:uppercase;font-weight:700;font-size:1rem;margin:.5rem}.attack-name.has-range{cursor:help;text-decoration:underline dotted;text-underline-offset:2px}.ammo-badge{color:var(--muted, #888);font-variant-numeric:tabular-nums}.equipment-box{align-items:stretch;gap:0;padding:.35rem .9rem .75rem}.equipment-box>*{padding:.5rem 0}.equipment-box>*:first-child{padding-top:.25rem}.equipment-box>*:last-child{padding-bottom:.15rem}.equipment-box>*+*{border-top:1.5px dotted var(--border)}.equipment-subsection{align-items:stretch;gap:0}.equipment-subheading{align-items:baseline;margin-top:.35rem}.section-heading-with-add{display:inline-flex;align-items:center;gap:.5rem}.add-btn{padding:0 .45rem;line-height:1.4;font-size:.95rem;border-radius:var(--radius);color:var(--text-muted)}.add-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.coins-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem}.coin-field{display:inline-flex;align-items:center;gap:.3rem}.coin-input{width:3.4rem;padding:.25rem .4rem;text-align:right;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.coin-input::-webkit-outer-spin-button,.coin-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.coin-field.readonly .coin-amount{font-weight:600;font-variant-numeric:tabular-nums}.coin-denom{font-family:var(--font-display);font-size:.7rem;letter-spacing:.05em;color:var(--text-muted)}.coin-total{margin-left:auto;color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.equipment-row{align-items:center;gap:.5rem;padding:.1rem 0}.equipment-name{flex:1 1 auto;align-items:center;gap:.5rem;min-width:0;justify-content:flex-start}.equip-toggle{flex:none;width:.95rem;height:.95rem;padding:0;border:1.5px solid var(--border);border-radius:50%;background:var(--surface);box-shadow:none}.equip-toggle.on{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--surface)}.equip-toggle:hover:not(:disabled){border-color:var(--accent);box-shadow:none}.equip-spacer{flex:none;width:.95rem}.equipment-name-edit,.ammo-name-edit{display:inline-flex;align-items:center;gap:.4rem;min-width:0;padding:0;border:none;background:none;box-shadow:none;text-align:left;color:var(--accent)}.equipment-name-edit:hover:not(:disabled),.ammo-name-edit:hover:not(:disabled){box-shadow:none;text-decoration:underline}.equipment-name-edit svg{flex-shrink:0;opacity:0;font-size:.7em;transition:opacity .12s ease}.equipment-row:hover .equipment-name-edit svg,.equipment-name-edit:focus-visible svg{opacity:.55}.equipment-name-text.unequipped{color:var(--text-muted)}.detail-hint{cursor:help;text-decoration:underline dotted;text-decoration-color:var(--text-muted);text-underline-offset:2px}.equipment-controls{align-items:center;gap:.5rem;flex:none}.equipment-quantity-display,.equipment-weight{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.equipment-weight{min-width:3.2rem;text-align:right}.row-edit,.row-remove{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border:none;background:none;box-shadow:none;color:var(--text-muted)}.row-edit svg{font-size:.85em}.row-edit:hover:not(:disabled){color:var(--accent);box-shadow:none}.row-remove:hover:not(:disabled){color:var(--danger);box-shadow:none}.multi-line-text{align-items:stretch;gap:.1rem;padding:.55rem .85rem 0}.text-line-row{align-items:flex-start;gap:.5rem;padding:.2rem 0}.text-line-controls{flex:none;align-items:center;gap:.15rem}.equipment-encumbrance{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.equipment-encumbrance.over{color:var(--danger);font-weight:600}.equipment-encumbrance-tag{margin-left:.2rem;font-weight:700}.attunement-row{align-items:center;gap:.5rem;padding:.12rem 0;cursor:pointer}.attunement-name{min-width:0}.attunement-slots{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.attunement-slots[role=button]{cursor:pointer}.attunement-slots.full{color:var(--danger);font-weight:600}.ammo-row{align-items:center;gap:.5rem;padding:.1rem 0}.ammo-controls{align-items:center;gap:.5rem;flex:none}.stepper{display:inline-flex;align-items:stretch;height:1.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.stepper:focus-within{outline:2px solid var(--accent);outline-offset:1px}.stepper-input{width:2.4rem;padding:0 .35rem;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:center;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.stepper-input:hover:not(:disabled){box-shadow:none}.stepper-input:focus-visible{outline:none}.stepper-input::-webkit-outer-spin-button,.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-btns{display:flex;flex-direction:column;flex:none;border-left:1px solid var(--border)}.stepper-btns button{display:flex;align-items:center;justify-content:center;flex:1;min-width:1.25rem;padding:0 .25rem;border:none;border-radius:0;background:var(--surface-2);box-shadow:none;color:var(--text-muted);font-size:.55rem}.stepper-btns button:first-child{border-bottom:1px solid var(--border)}.stepper-btns button:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);box-shadow:none}.edit-equipment,.edit-limited-use-ability{display:flex;flex-direction:column;align-items:stretch;gap:.9rem}.edit-equipment .equipment-fields{gap:1rem;align-items:flex-end;justify-content:flex-start}.edit-ability-mechanics{align-items:stretch;gap:.5rem;text-align:left}.edit-action{align-items:stretch;gap:.4rem}.edit-action-header{justify-content:flex-start;gap:.5rem}.edit-action-header input{flex:1}.edit-effect-row{justify-content:flex-start;align-items:center;gap:.4rem;flex-wrap:wrap}.edit-effect-row input[type=number]{width:3.5rem}.add-action-btn,.add-effect-btn{align-self:flex-start}.no-spin{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.no-spin::-webkit-outer-spin-button,.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field>.weight-input{width:7rem}.limited-use-ability-meta{justify-content:flex-start;align-items:flex-start;gap:1rem}.uses-formula-btn{width:100%;text-align:left}.uses-formula-hint{color:var(--text-muted);font-size:.85em}.edit-equipment .equipment-armor{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--border);border-radius:.4rem;padding:.5rem .75rem .75rem}.edit-equipment .equipment-armor>legend{padding:0 .35rem}.settings-select-inline{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.edit-ammunition .ammo-weapons{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border);border-radius:.4rem;padding:.5rem .75rem}.other-proficiencies{align-items:stretch}.other-proficiencies .prof-row{display:grid;grid-template-columns:8rem 1fr;align-items:stretch;border-bottom:2px solid var(--border)}.other-proficiencies .prof-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;font-weight:700;font-size:.72rem;white-space:nowrap;padding:.4rem .5rem;border-right:2px dotted var(--border)}.other-proficiencies .prof-values{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .35rem;padding:.4rem .5rem}.other-proficiencies .prof-chip{display:inline-flex;align-items:center}.other-proficiencies .prof-chip-label,.other-proficiencies .prof-chip-popover{background:none;border:none;color:var(--text);cursor:pointer;padding:0;font:inherit}.other-proficiencies .prof-chip-label:hover{color:var(--accent)}.other-proficiencies .prof-chip-remove{visibility:hidden;background:none;border:none;color:var(--danger);cursor:pointer;padding:0 .1rem;margin-left:.1rem}.other-proficiencies .prof-chip:hover .prof-chip-remove{visibility:visible}.other-proficiencies .prof-add{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);cursor:pointer;line-height:1;width:1.5rem;height:1.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.other-proficiencies .prof-add:hover:not(:disabled){border-color:var(--accent)}.other-proficiencies .prof-title{text-align:center;font-weight:700;padding:.4rem}.other-proficiencies .senses-title{position:relative}.senses-add{position:absolute;right:.4rem;top:50%;margin-top:-.75rem}.typeahead{position:relative}.typeahead>input{width:100%}.typeahead-list{margin:.15rem 0 0;padding:.25rem;list-style:none;background:var(--surface);max-height:14rem;overflow-y:auto}.typeahead-list ul{list-style:none;margin:0;padding:0}.typeahead-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;padding:.3rem .4rem .1rem}.typeahead-option{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius)}.typeahead-option:hover{background:var(--surface-2);color:var(--accent)}.display-text{white-space:nowrap;margin:0}.prof-toggle{flex:0 0 auto;width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.8rem;line-height:1;border:2px solid var(--border);border-radius:4px;background:transparent;color:inherit}.prof-toggle.editable{cursor:pointer}.prof-toggle--proficient{border-color:var(--accent);color:var(--accent)}.prof-toggle--expert{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700}.prof-bonus-edit{background:transparent;border:none;padding:0 .2rem;cursor:pointer;opacity:.4;display:inline-flex;align-items:center}.prof-bonus-edit:hover{opacity:.9}.prof-bonus-edit.active{opacity:1;color:var(--accent)}.display-value{height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:.1rem .4rem .15rem;border-bottom:2px solid var(--border)}.display-value.tiny{font-size:1rem}.display-value.small{width:30%;font-size:1.5rem}.display-value.large{width:70%;font-size:2rem;min-height:2.4rem}.display-value.compact{font-size:1.25rem}.display-value.editable{cursor:pointer;background-color:transparent;border-radius:var(--radius) var(--radius) 0 0;transition:background-color .12s ease}.display-value.editable:hover{background-color:var(--editable)}.hp-box .row{justify-content:flex-start;padding:0 .6rem}.hp-box .display-label{flex:1;text-align:left}.display-label{white-space:nowrap;margin:.15rem 0 0;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:var(--text-muted)}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg)}html,body{height:100%;margin:0;color:var(--text)}a{color:var(--accent)}textarea,input,select,button{font-size:1rem;font-family:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;box-shadow:var(--shadow-1);background-color:var(--surface);line-height:1.5;margin:0}textarea:disabled,input:disabled,select:disabled,button:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed;box-shadow:none}select{cursor:pointer}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:1.15rem;height:1.15rem;padding:0;display:inline-grid;place-content:center;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer}input[type=checkbox]:before{content:"";width:.65rem;height:.65rem;transform:scale(0);transition:transform .1s ease;background-color:var(--accent);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}input[type=checkbox]:checked{border-color:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1)}button{color:var(--accent);font-weight:500;cursor:pointer;transition:box-shadow .12s ease,background-color .12s ease,transform .06s ease}textarea:hover:not(:disabled),input:hover:not(:disabled),button:hover:not(:disabled){box-shadow:var(--shadow-2)}button:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(1px)}.spellcasting{padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.spellcasting-classes{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.spellcasting-class-row{display:flex;flex-direction:row;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem}.spellcasting-class-row>.column{flex:1 1 0;min-width:0;width:auto}.spellcasting-class-row>.icon-button{flex:0 0 auto;padding:.4rem .55rem;display:inline-flex;align-items:center}.spell-area{display:flex;flex-direction:column;gap:1rem}.spell-banner{padding:.75rem 1rem;width:fit-content}.spell-banner .title{margin-bottom:.5rem}.spell-slot-tracker{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:nowrap}.spell-slot-tracker>.column,.spell-slot-tracker>.row{flex:0 0 auto;width:auto;gap:.25rem;justify-content:flex-start}.spell-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;align-items:start}.spell-level-card{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.spell-level-card>.rounded-border-box{border:none;padding:0}.spell-level-header{display:flex;flex-direction:row;align-items:center;gap:.75rem;min-height:2.75rem}.spell-level-number{font-size:1.25rem;font-weight:600;line-height:1;white-space:nowrap}.add-spell-level{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start}.spell-row-main{width:auto;justify-content:flex-start;gap:.5rem;flex-wrap:wrap}.prepared-toggle{width:1rem;height:1rem;flex:0 0 auto;cursor:pointer}.spell-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;line-height:1;padding:.15rem .35rem;border-radius:var(--radius);background-color:var(--display-value-bg);color:var(--text-muted)}.spell-badge.class-badge{text-transform:none}.edit-spell{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:min(640px,80vw)}.spell-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem 1rem}.spell-meta-grid label{display:flex;flex-direction:column;gap:.25rem}.spell-meta-grid select,.spell-meta-grid input{width:100%}.spell-meta-flags{justify-content:flex-start;gap:1.5rem;flex-wrap:wrap}.spell-components{align-items:stretch;gap:.5rem}.spell-component-toggles{justify-content:flex-start;gap:1.5rem;flex-wrap:wrap}.material-list{align-items:stretch;gap:.5rem}.material-row{justify-content:flex-start;gap:.5rem;flex-wrap:nowrap}.material-row>input[type=text]{flex:1 1 auto;min-width:0}.spell-mechanics{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem 1rem;margin:0;min-width:0}.spell-mechanics>legend{padding:0 .4rem;font-weight:600}.spell-mechanics-enable{display:flex;align-items:center;gap:.4rem;font-weight:600}.spell-mechanics-check{display:flex;align-items:center;gap:.5rem}.spell-mechanics-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1.25rem}.spell-mechanics-controls label{display:flex;flex-direction:column;gap:.25rem;min-width:0}.spell-mechanics-controls select{width:220px;max-width:100%;min-width:0}.spell-mechanics-growth{display:flex;flex-direction:column;gap:.7rem}.spell-mechanics-field-inline{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.spell-mechanics-field-inline select{flex:0 1 9rem;min-width:0}.spell-mechanics-growth .spell-mechanics-step-label{min-width:11.5rem}.spell-mechanics-block{display:flex;flex-direction:column;gap:.4rem}.spell-mechanics-row{align-items:center;gap:.5rem;flex-wrap:wrap}.spell-mechanics-row select{flex:0 1 9rem;min-width:0}.spell-mechanics-dice{width:5rem;flex:0 0 auto}.spell-mechanics-num{width:4.5rem}.spell-mechanics-inline-check{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.spell-mechanics-advanced{flex:1 1 auto}.spell-mechanics-instances{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.spell-mechanics-instances input{width:4.5rem;flex:0 0 auto}.spell-mechanics-step-label{flex:0 0 auto;font-size:.9rem}.spell-mechanics-scaling{border-top:1px solid var(--border);padding-top:.6rem;display:flex;flex-direction:column;gap:.6rem}.spell-mechanics-scaling>summary{cursor:pointer;font-weight:600}.edit-text-line{align-items:flex-start;gap:.75rem;width:100%}.edit-text-line .title{margin:0}.edit-group-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.04em;color:var(--text)}.edit-text-line-fields{align-items:flex-start;gap:.75rem;width:100%}.edit-text-line-fields .row{justify-content:flex-start;gap:.5rem;flex-wrap:wrap}.field-label-row{align-items:baseline}.btn-text{padding:.15rem .25rem;border:none;background:none;box-shadow:none;color:var(--accent);font-weight:500}.btn-text:hover:not(:disabled){box-shadow:none;text-decoration:underline}.add-detail-btn{align-self:flex-start}.edit-save{align-self:flex-start;margin-top:.25rem}.text-with-formulas-editor{display:flex;flex-direction:column;gap:.35rem;width:100%}.text-with-formulas-input{width:100%;min-height:2.2rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow-1);color:var(--text);line-height:1.5;white-space:pre-wrap;word-break:break-word;cursor:text}.text-with-formulas-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.text-with-formulas-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.formula-chip{display:inline-flex;align-items:center;margin:0 .1rem;padding:.05rem .35rem;border-radius:var(--radius);background-color:var(--accent);color:var(--accent-contrast);font-size:.85em;font-weight:600;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none}.formula-chip:hover{background-color:var(--accent-hover)}.text-with-formulas-toolbar{display:flex}.insert-value-menu{position:absolute;z-index:2;top:100%;left:0;display:flex;flex-direction:column;align-items:stretch;min-width:12rem;padding:.25rem;background:var(--popover-bg);border:1px solid var(--border);box-shadow:var(--shadow-2)}.insert-value-menu button{text-align:left}.insert-value-menu hr{width:100%;margin:.25rem 0;border:none;border-top:1px solid var(--border)}.modal-hint{color:var(--text-muted);font-size:.9rem;line-height:1.4}.field{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%}.field>.field-label{color:var(--text-muted);font-size:.9rem}.field>input{width:100%}.formula-edit-button{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:left;background-color:var(--editable)}.formula-edit-button .formula-preview{flex:1 1 auto;min-width:0;color:var(--text);font-weight:600}.formula-edit-button svg{flex:0 0 auto;color:var(--text-muted)}.add-row-button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem;width:100%;border-style:dashed}.edit-attack{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:min(520px,80vw)}.add-attack{gap:1rem;width:100%;min-width:min(520px,80vw)}.weapon-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;width:100%}.formula-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1rem;width:100%}.formula-with-damage{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:min(460px,80vw)}.damage-entry-list{display:flex;flex-direction:column;gap:.5rem}.damage-entry{display:flex;flex-direction:row;align-items:center;gap:.5rem}.damage-entry>.formula-edit-button{flex:1 1 auto}.damage-entry>select{flex:0 0 auto}.build-custom-formula{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:min(560px,90vw)}.build-custom-formula .edit-toggle{display:flex;flex-direction:row;align-items:center;gap:.5rem;align-self:flex-start;cursor:pointer}.formula-canvas{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface-2)}.edit-attack>.btn-primary,.formula-with-damage>.btn-primary,.build-custom-formula>.btn-primary{align-self:flex-start}.formula-type-row{justify-content:flex-start;gap:.5rem}.formula-expression{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1.1rem}.formula-syntax{color:var(--text-muted);font-weight:600;white-space:pre}.formula-syntax:empty{display:none}.formula-pip-wrap{position:relative;display:inline-flex;align-items:center}.formula-pip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .7rem;border:1px solid transparent;border-radius:999px;background-color:var(--accent);color:var(--accent-contrast);font-weight:600;font-size:.95rem;line-height:1.5;white-space:nowrap;box-shadow:none}.formula-pip:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:none}.formula-pip.open{outline:2px solid var(--accent);outline-offset:2px}.formula-pip-group{background-color:var(--surface);color:var(--text);border-color:var(--border)}.formula-pip-group:hover:not(:disabled){background-color:var(--surface);border-color:var(--accent)}.formula-pip-chevron{font-size:.7em;color:var(--text-muted);transition:transform .12s ease}.formula-pip-chevron.open{transform:rotate(90deg)}.formula-pip-remove{display:inline-flex;align-items:center;justify-content:center;margin-left:.15rem;padding:.1rem;border:none;background:none;color:var(--text-muted);box-shadow:none}.formula-pip-remove:hover:not(:disabled){color:var(--danger);box-shadow:none}.formula-add-pip{padding:.2rem;border-style:dashed;border-radius:999px}.formula-inline-editor{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background-color:var(--surface)}.atomic-editor{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.atomic-editor select,.atomic-editor>input{width:100%}.atomic-editor-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.atomic-change-type{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.9rem}.atomic-dice-fields{display:flex;flex-direction:column;gap:.4rem}.atomic-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.4rem}.atomic-type-grid button{width:100%}.slot-pips{flex-wrap:wrap;align-items:center;gap:.25rem}.death-save-row{align-items:flex-start;gap:.15rem}.death-save-row .slot-pips{flex-wrap:nowrap}button.slot-pip{padding:.15rem;border:none;box-shadow:none;background:transparent;display:inline-flex;align-items:center;font-size:1.1rem;line-height:1}button.slot-pip:hover:not(:disabled){box-shadow:none;color:var(--accent);transform:scale(1.1)}.limited-use-ability{align-items:stretch;gap:.25rem;padding:.35rem 0}.limited-use-ability-header{gap:.5rem;justify-content:flex-start}.limited-use-ability-name{flex:1;margin:0;text-align:left;font-weight:600}.limited-use-ability-name .popover-container{font-weight:400}.limited-use-ability .slot-pips,.limited-use-count{justify-content:flex-start;gap:.5rem}.ability-actions{align-items:stretch;gap:.25rem;margin-top:.25rem}.ability-action{align-items:stretch;gap:.15rem}.ability-action-row{justify-content:flex-start;align-items:center;gap:.5rem}.ability-action-row select{flex:0 1 auto}.ability-action-row input[type=number]{width:3.5rem}.ability-action-outcome{margin:0;text-align:left}.action-cost-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:.5rem;border:1px solid var(--border, currentColor);color:var(--text-muted, inherit);white-space:nowrap}.btn-primary:not(:disabled){background-color:var(--accent);color:var(--accent-contrast);border-color:transparent}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-secondary:not(:disabled){background-color:var(--surface-2);color:var(--text)}.btn-danger:not(:disabled){color:var(--danger)}.btn-danger.btn-filled:not(:disabled){background-color:var(--danger);color:var(--danger-contrast);border-color:transparent}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;line-height:1}#root{width:100vw}#error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.popover-container{position:fixed;z-index:10;width:max-content;max-width:min(340px,90vw);background:var(--popover-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2)}.popover-container.pinned{box-shadow:var(--shadow-2),0 0 0 2px var(--accent);cursor:move;resize:both;overflow:auto;max-width:90vw;max-height:80vh;min-width:8rem;min-height:3rem}.popover-container.dragging{-webkit-user-select:none;user-select:none}.popover-anchor{cursor:pointer}.popover-pin-hint{position:absolute;top:2px;right:5px;font-size:.7rem;line-height:1;opacity:.4;cursor:pointer}.popover-pin-hint:hover,.popover-container.pinned .popover-pin-hint{opacity:1}.modal-container{position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto}.modal-container .close:hover,.modal-container .close:focus{color:var(--text);text-decoration:none;cursor:pointer}.modal-titlebar{align-items:center;gap:1rem;margin-bottom:1rem}.modal-titlebar>.title{margin:0}.modal-titlebar-buttons{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex:0 0 auto}.modal-background{position:fixed;left:0;top:0;z-index:2;width:100%;height:100%;background-color:#00000080}.modal-content{position:fixed;left:50%;transform:translate(-50%);z-index:3;background-color:var(--surface);color:var(--text);margin-top:5vh;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);min-width:30%;max-width:70%;overflow:auto;max-height:90vh}#nav{display:flex;align-items:center;width:100%;padding:8px 16px;border-bottom:2px solid var(--border);background-color:var(--surface);z-index:2;height:80px}#sidebar{position:fixed;top:80px;left:0;bottom:0;z-index:4;overflow-y:auto;border-right:2px solid var(--border);background-color:var(--surface);box-shadow:var(--shadow-2);min-width:240px}#detail{flex:1;min-width:0;overflow:auto;scrollbar-width:thin;height:calc(100vh - 80px);container:detail / inline-size}.character-list{list-style:none;margin:1rem 0;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:0}.character-list>li{margin:0}#main-nav{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}#main-nav h1{margin:0 .5rem;font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-toggle{display:flex;flex-direction:column;align-items:center}.text-muted{color:var(--text-muted)}.save-indicator-error{color:var(--danger)}.save-indicator-unsaved{color:var(--text-muted);font-size:.7em}.modal-header{align-items:flex-start;gap:1rem;margin-bottom:1rem}.modal-header h1{margin:0}.nav-menu{position:relative}.nav-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:4;display:flex;flex-direction:column;min-width:200px;padding:4px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.nav-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.nav-menu-item:hover:not(:disabled){background-color:var(--border)}.nav-menu-item:disabled{opacity:.5;cursor:default}.nav-menu-divider{height:1px;margin:4px 0;background-color:var(--border)}.share-section{margin-top:1.25rem}.share-section h2{margin:0 0 .25rem;font-size:1.1rem}.share-section p{margin:0 0 .5rem}#right-nav-components{display:flex;align-items:center;gap:.5rem;margin-left:auto}#github-icon{width:16px}#save-container{display:flex;align-items:center;gap:.25rem}.presence-roster{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.presence-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border);background-color:var(--display-value-bg);white-space:nowrap}.presence-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.identity-fields{gap:.5rem;margin:.5rem 0}.identity-fields label{gap:.25rem}.identity-color{align-items:center;gap:.5rem}.character-sheet-container{width:100%;max-width:1200px;margin:0 auto}.page-container>.row{gap:1.5rem}@container detail (max-width: 1080px){.page-container>.row{flex-direction:column;align-items:stretch;gap:1rem}}.home{display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:3rem 1rem}.home-hero{text-align:center;margin-bottom:2.5rem}.home-hero h1{margin:0 0 .5rem;font-size:2.25rem}.home-hero p{margin:0 auto;max-width:36rem;font-size:1.1rem}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.option-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:box-shadow .12s ease,transform .12s ease}.option-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.option-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option-card-icon{display:inline-flex;font-size:1.75rem;color:var(--accent)}.option-card-heading{margin:0;font-size:1.15rem}.home-footnote{margin-top:2rem;font-size:.85rem;text-align:center}.character-picker{width:100%;max-width:900px;margin:0 auto;padding:2rem 1rem}.character-picker-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.character-picker-header h1{margin:0;font-size:1.75rem}.character-picker-empty{margin-bottom:1rem}.character-card{width:100%;text-align:left;font:inherit}.character-card-name{margin:0;font-size:1.15rem;color:var(--text)}.character-card-badge{margin-right:.4rem;color:var(--accent)}.create-card{flex-direction:row;align-items:center;justify-content:center;gap:.5rem;border-style:dashed;color:var(--text-muted);font:inherit}.create-card:hover{color:var(--accent)}.create-card .option-card-icon{font-size:1.15rem}@media(max-width:640px){#nav{height:auto;min-height:64px;padding:6px 10px}#main-nav{gap:.25rem}#main-nav h1{display:none}#right-nav-components{gap:.25rem}#detail{height:auto}#sidebar{top:64px}.modal-content{min-width:auto;max-width:92%;width:92%}.home,.character-picker{padding:1.5rem 1rem}.home-hero h1{font-size:1.75rem}.option-grid{grid-template-columns:1fr}}.tooltip{position:relative;display:inline-flex;align-items:center}.tooltip-bubble{position:absolute;z-index:10;white-space:nowrap;padding:.35rem .55rem;border-radius:var(--radius);background:var(--text);color:var(--surface);font-size:.8rem;line-height:1.2;box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;pointer-events:none}.tooltip:hover .tooltip-bubble,.tooltip:focus-visible .tooltip-bubble{opacity:1;visibility:visible}.tooltip-bottom .tooltip-bubble{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-top .tooltip-bubble{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-right .tooltip-bubble{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.tooltip-left .tooltip-bubble{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.tooltip-align-end.tooltip-bottom .tooltip-bubble,.tooltip-align-end.tooltip-top .tooltip-bubble{left:auto;right:0;transform:none}.spinner{animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.muted{color:var(--text-muted);font-size:.85rem}.add-spell,.spell-search-results{gap:.4rem}.spell-search-results{max-height:45vh;overflow-y:auto}.spell-search-results button{width:100%;align-items:center;gap:.5rem}.spell-add-actions{gap:.5rem;justify-content:flex-end;margin-top:.5rem}.spell-row-actions{gap:.25rem;align-items:center;flex-shrink:0}.roll-btn{color:var(--accent)}.roll-btn:hover{color:var(--accent-hover)}.roll-inline{align-items:center;gap:.35rem}.roll-modal{gap:.75rem;text-align:center;min-width:min(90vw,320px)}.roll-level-select{align-items:center;gap:.4rem;justify-content:center}.roll-formula{font-size:1.1rem;font-weight:600}.roll-go{align-self:center;min-width:8rem}.roll-modes{gap:.5rem;justify-content:center;align-items:center}.roll-section{gap:.5rem;align-items:center}.roll-section+.roll-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--display-value-bg)}.roll-section-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.roll-btn.check{color:var(--text-muted)}.roll-result{align-items:center;gap:.2rem;margin-top:.25rem}.roll-total{font-size:2.4rem;font-weight:700;color:var(--accent);line-height:1}.roll-total.roll-crit-success,.roll-total.roll-crit-fail{font-size:1.6rem;text-align:center}.roll-total.roll-crit-success{color:var(--success)}.roll-total.roll-crit-fail{color:var(--danger)}.roll-part{font-size:.9rem}.roll-history{margin-top:.25rem}.share-presence-banner{display:flex;align-items:center;gap:.6rem;margin:.5rem auto .75rem;max-width:900px;padding:.6rem .9rem;background:var(--popover-bg);color:var(--text);border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:var(--radius);font-size:.9rem}.share-presence-banner>span{flex:1}.share-presence-dismiss{display:inline-flex;align-items:center;justify-content:center;padding:.2rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.share-presence-dismiss:hover{color:var(--text)}.builder-modal{width:min(720px,92vw);max-width:92vw;display:flex;flex-direction:column;max-height:88vh;padding:20px 24px}.builder-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.builder-progress{display:flex;gap:.4rem;flex-wrap:wrap}.builder-progress-dot{width:12px;height:12px;padding:0;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:transform .1s ease,background .1s ease}.builder-progress-dot:hover{transform:scale(1.2);border-color:var(--accent)}.builder-progress-dot.active{background:var(--accent);border-color:var(--accent)}.builder-progress-dot.done{background:var(--accent-hover);border-color:var(--accent-hover);opacity:.6}.builder-title{margin:0 0 1rem;font-size:1.5rem}.builder-body{flex:1;overflow-y:auto;padding:4px 6px}.builder-step,.builder-below-grid{display:flex;flex-direction:column;gap:1.1rem}.builder-below-grid:empty{display:none}.builder-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.builder-step-count{font-size:.85rem}.builder-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.builder-choice{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;padding:.75rem .9rem;height:100%}.builder-choice.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.builder-choice-title{font-weight:600}.builder-choice-subtitle{font-size:.8rem}.builder-chips-block{display:flex;flex-direction:column;gap:.4rem}.builder-chips{display:flex;flex-wrap:wrap;gap:.4rem}.builder-chip{padding:.35rem .7rem;font-size:.9rem;border-radius:999px}.builder-chip.selected{background:var(--accent);color:var(--accent-contrast);border-color:transparent}.builder-field{display:flex;flex-direction:column;gap:.4rem}.builder-field-label{font-weight:600;font-size:.95rem}.builder-hint{font-size:.82rem}.builder-input,.builder-textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .6rem}.builder-textarea{resize:vertical}.builder-filter{margin-bottom:.6rem}.builder-method-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.builder-tab.selected{background:var(--accent);color:var(--accent-contrast);border-color:transparent}.builder-roll-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.builder-stat-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.builder-stepper-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.builder-stat-name{font-weight:600;font-size:.9rem}.builder-stepper{display:flex;align-items:center;gap:.4rem}.builder-stepper button{width:2rem;padding:.25rem 0;text-align:center}.builder-stepper-value{min-width:1.5rem;text-align:center;font-weight:600}.builder-budget{margin:0 0 .75rem}.builder-budget.over{color:var(--danger)}.builder-stat-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}.builder-stat-final{display:flex;flex-direction:column;align-items:center;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.builder-stat-score{font-size:1.4rem;font-weight:700;text-align:center}.builder-stat-breakdown{font-size:.8rem;font-weight:400;color:var(--text-muted);white-space:nowrap}.builder-stat-mod{font-size:.78rem}.builder-spell-block{display:flex;flex-direction:column;gap:.5rem}.builder-spell-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.25rem;max-height:220px;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius)}.builder-spell-row{display:flex;align-items:center;gap:.4rem;padding:.2rem .3rem;border-radius:var(--radius);cursor:pointer}.builder-spell-row input[type=checkbox]{border-radius:3px}.builder-spell-row.selected{background:var(--surface-2)}.builder-spell-empty{grid-column:1 / -1;margin:0;padding:.25rem;font-size:.85rem}.builder-asi-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.builder-asi-column{display:flex;flex-direction:column;gap:.35rem}.builder-radio{display:flex;align-items:center;gap:.45rem;cursor:pointer}.builder-check-row{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.builder-check-row>span{display:flex;flex-direction:column;gap:.15rem}.builder-weapon-select{margin-top:.4rem}.builder-language-picker{display:flex;flex-direction:column;gap:.4rem}.builder-combobox{position:relative}.builder-combobox-list{position:absolute;z-index:5;top:calc(100% + 2px);left:0;right:0;margin:0;padding:.25rem;list-style:none;max-height:220px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 18px #0000002e}.builder-combobox-option{display:block;width:100%;text-align:left;color:var(--text);font-weight:400;border:none;background:none;padding:.4rem .5rem;border-radius:calc(var(--radius) - 2px)}.builder-combobox-option:hover{background:var(--surface-2)}.builder-review{margin:0;display:flex;flex-direction:column;gap:.5rem}.builder-review-row{display:grid;grid-template-columns:130px 1fr;gap:.75rem}.builder-review-row dt{font-weight:600;color:var(--text-muted)}.builder-review-row dd{margin:0}@media(max-width:640px){.builder-review-row{grid-template-columns:1fr;gap:.15rem}}.builder-bonus-rows{display:flex;flex-wrap:wrap;gap:.5rem}.builder-bonus-row{display:flex;align-items:center;gap:.35rem}.builder-bonus-amount{font-weight:700;min-width:1.5rem;text-align:center}.builder-linkish{align-self:flex-start;padding:.2rem 0;background:none;border:none;box-shadow:none;color:var(--accent);cursor:pointer;font-size:.85rem}.builder-linkish:hover{text-decoration:underline}.builder-roll-controls{display:flex;flex-direction:column;gap:.6rem}.builder-pool{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem}.builder-pool-chip{min-width:2rem;padding:.3rem .5rem;text-align:center;font-weight:700;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.builder-pool-chip.used{opacity:.35;text-decoration:line-through}.tracker-row{align-items:stretch;gap:.6rem}.tracker-box{padding:.45rem .6rem}.tracker-box table{width:100%;border-collapse:collapse}.tracker-box>b{margin-top:.4rem}@media(max-width:820px){.character-info-header>.row{flex-wrap:wrap}.character-info-header>.row>.rounded-border-box{flex:1 1 100%}.character-info-header>.row>.column{flex:1 1 100%}.character-info-header .column>.row{flex-wrap:wrap}.character-info-header .column>.row>*{flex:1 1 9rem}.page-container>.row{flex-direction:column;align-items:stretch;gap:1rem}}@media(max-width:640px){#detail{padding:.5rem}.character-info-header .display-value.large{font-size:1.5rem;width:90%}.stat-display-container{width:100%}}.display-title,.display-label,.section-heading,.prof-title,.prof-label,.senses-title,.roll-section-title,.typeahead-group-label,b.pos-relative.margin-large{font-family:var(--font-display);letter-spacing:.04em}.display-label{font-size:.72rem}.section-heading,b.pos-relative.margin-large{font-weight:600;letter-spacing:.06em}#main-nav h1,.home-hero h1,.character-picker-header h1,.builder-title,.modal-titlebar>.title,.spell-banner .title,.settings-section-title{font-family:var(--font-display);letter-spacing:.02em}.display-value,.stat-modifier,.stat-score,.roll-total,.roll-part,.spell-level-number{font-variant-numeric:tabular-nums}.rounded-border-box{border-width:1.5px}.stat-modifier{margin:.1rem 0 .15rem;font-size:2.4rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.stat-score{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;margin:0 auto .15rem;padding:.05rem .55rem;font-size:.95rem;font-weight:600;color:var(--text-muted);background-color:var(--surface-2);border-radius:999px;cursor:default}.stat-score.editable{cursor:pointer;color:var(--text);background-color:var(--editable);transition:background-color .12s ease,box-shadow .12s ease}.stat-score.editable:hover{box-shadow:var(--shadow-1)}.defence-vitals .rounded-border-box{background-color:var(--surface);border-color:var(--border);box-shadow:var(--shadow-1)}.defence-vitals .display-value.large{color:var(--accent)}.hp-box{border-color:color-mix(in srgb,var(--health) 55%,var(--border));background-color:var(--health-soft)}.hp-box .display-value{border-bottom-color:color-mix(in srgb,var(--health) 45%,var(--border))}.death-save-row .slot-pip{color:var(--health)}.death-save-row .slot-pip:hover:not(:disabled){color:var(--health)}.spell-banner{border-color:var(--arcane);background-color:var(--arcane-soft)}.spell-level-number,.spell-slot-tracker .slot-pip{color:var(--arcane)}.spell-slot-tracker .slot-pip:hover:not(:disabled){color:var(--arcane)}.spell-level-card .prepared-toggle:checked{border-color:var(--arcane)}.spell-level-card .prepared-toggle:checked:before{background-color:var(--arcane)}.character-info-header>.row>.rounded-border-box .display-value.large{font-family:var(--font-display);font-weight:700;font-size:2.1rem;line-height:1.1;color:var(--text);letter-spacing:.01em}.character-info-header>.row>.rounded-border-box .display-label{color:var(--accent)}.home-hero h1{position:relative;display:inline-block;padding-bottom:.6rem}.home-hero h1:after{content:"";position:absolute;left:50%;bottom:0;width:3rem;height:2px;transform:translate(-50%);background-color:var(--accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:640px){.character-info-header>.row>.rounded-border-box .display-value.large{font-size:1.6rem}}.stat-and-skill-panel>.row{gap:1.25rem}.page-container>.row>.column{gap:.85rem}.popover-container,.insert-value-menu{background:var(--tooltip-bg)}.section-heading-edit{display:inline-flex;align-items:center;gap:.4rem;margin:0 auto;padding:.15rem .5rem;background:none;border:none;box-shadow:none;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);cursor:pointer}.section-heading-edit svg{font-size:.75em;color:var(--text-muted)}.section-heading-edit:hover:not(:disabled){color:var(--accent);box-shadow:none}.section-heading-edit:hover:not(:disabled) svg{color:var(--accent)}.edit-skills{display:flex;flex-direction:column;gap:.75rem;min-width:min(520px,82vw)}.skill-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.skill-edit-row{display:flex;flex-direction:column;gap:.4rem;padding:.6rem 0;border-bottom:1px solid var(--border-soft)}.skill-edit-row:last-child{border-bottom:none}.skill-edit-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.skill-edit-name{font-weight:600}.skill-edit-meta{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.04em}.skill-edit-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.skill-prof-group{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex:0 0 auto}.skill-prof-btn{border:none;border-radius:0;box-shadow:none;background:var(--surface);color:var(--text-muted);font-size:.85rem;padding:.3rem .7rem}.skill-prof-btn+.skill-prof-btn{border-left:1px solid var(--border)}.skill-prof-btn:hover:not(:disabled){box-shadow:none;background:var(--surface-2)}.skill-prof-btn.selected{background:var(--accent);color:var(--accent-contrast)}.skill-bonus-cell{display:inline-flex;align-items:center;gap:.35rem;flex:1 1 12rem;min-width:0}.skill-bonus-cell .formula-edit-button{flex:1 1 auto}.skill-bonus-clear{flex:0 0 auto;padding:.3rem .55rem;line-height:1}
