:root{--bg: #0b0c0f;--panel: #11131a;--muted: #8e95a3;--text: #e8ecf1;--accent: #50b3ff;--border: #232833;--radius: 16px;--card-min-width: 200px;--card-grid-spacer: 1em}@media (prefers-color-scheme: light){:root{--bg: #f6f7fb;--panel: #ffffff;--muted: #5a6578;--text: #0b0c0f;--accent: #0d6efd;--border: #e7eaf0}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(80,179,255,.15),transparent 50%),radial-gradient(1000px 500px at 120% 0%,rgba(80,179,255,.1),transparent 50%),var(--bg)}input[type=checkbox]{accent-color:var(--accent)}input[type=checkbox]:disabled{opacity:25%}input[type=checkbox]:disabled:checked{opacity:75%}.conjoined-checkbox:has(+.conjoined-checkbox){margin-right:0}.conjoined-checkbox+.conjoined-checkbox{margin-left:0}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;max-height:100%}.site-header{border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--panel),transparent 20%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;max-width:1000px;margin:0 auto}.site-header .nav .brand{font-weight:700;letter-spacing:.2px}.site-header .nav .links a{color:var(--muted);text-decoration:none;margin-left:1rem;padding:.25rem .5rem;border-radius:10px}.site-header .nav .links a.active,.site-header .nav .links a:hover{color:var(--text);background:color-mix(in oklab,var(--accent),transparent 88%)}.container{padding:1.25rem;display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;min-height:0}.panel{background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 10px 30px #0000001a}.main-container{display:flex;flex-direction:column;overflow:hidden}.main-panel{overflow:auto;flex-grow:1}.grid{display:flex;gap:1rem;flex-direction:column}.column{display:flex;flex-direction:column;gap:.75rem;align-items:start}.row{display:flex;gap:.75rem;align-items:center}label{font-size:.9em;color:var(--muted);min-width:9rem}input,select,textarea{padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in oklab,var(--panel),transparent 5%);color:var(--text);outline:none}textarea{min-height:120px;resize:vertical}.shrinking-input{flex-shrink:1;min-width:9rem;flex-grow:1}button{padding:.6rem .9rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--accent),transparent 88%);color:var(--text);cursor:pointer;font-size:1em}button.ghost{background:transparent}button.ghost[disabled]{cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.slim-button{padding:.3em .7em}.tiny-button{padding:.1em}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.site-footer{border-top:1px solid var(--border);padding:1rem;text-align:center;color:var(--muted)}code.kbd{background:color-mix(in oklab,var(--panel),transparent 5%);padding:.1rem .4rem;border-radius:6px;border:1px solid var(--border)}h4{margin-block-end:.5em}p{margin-block-start:.5em;margin-block-end:.5em}.tab-row{padding:0 1em}.tab{border-radius:1em 1em 0 0;border:1px solid var(--border);border-bottom:0px;background-color:var(--panel);cursor:pointer;padding:.5em}.display-none.display-none{display:none}.subclass-feature,.feature-preview{text-align:initial}.card{aspect-ratio:2.5/3.5;display:flex;flex-direction:column;max-width:300px;padding:0;container-type:inline-size}.card-top{position:relative;flex:1;font-size:5cqw}.card-image{width:100%;height:100%;object-fit:cover}.card-level-domain{position:absolute;top:0%;left:5%;font-weight:700;display:flex;flex-direction:column;text-align:center;border:1px solid var(--border);border-radius:0 0 .5em .5em;padding:.2em .4em;border-top-width:0}.card-recall-cost{position:absolute;top:0%;right:5%;font-weight:700;border:1px solid var(--border);border-radius:0 0 .5em .5em;padding:.2em .4em;border-top-width:0;text-align:center}.card-bottom{position:relative;padding:5%;display:flex;flex-direction:column;align-items:center;border-top:1px solid var(--border);font-size:5cqw}.card-feature-type{position:absolute;max-width:100%;left:50%;top:0%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:1em;background:var(--panel);border:1px solid var(--border);padding:.2em .5em}.card-title{font-weight:700;text-align:center;margin:.1em 0}.card-subtitle{font-weight:400;text-align:center;margin:.1em 0}.domain-card{min-width:var(--card-min-width);margin:.2em}.domain-card-preview{aspect-ratio:2.5/3.5;display:flex;flex-direction:column;max-width:500px}.domain-card-top{position:relative;flex:1}.domain-image{width:100%;height:100%;object-fit:cover}.domain-level-domain{position:absolute;top:0%;left:5%;font-weight:700;display:flex;flex-direction:column}.domain-recall-cost{position:absolute;top:0%;right:5%;font-weight:700}.domain-card-bottom{padding:5%;display:flex;flex-direction:column;align-items:center}*:has(>.under-labeled-entry+.under-labeled-entry){white-space:nowrap}.under-labeled-entry{line-height:1.5em;position:relative;margin-top:.3em}.under-labeled-entry .label{text-transform:uppercase;font-size:.5em;position:relative;top:3.3em;line-height:0}.under-labeled-entry+.under-labeled-entry{border-left:1px dotted currentColor;padding-left:.5em}.asset-text.clickable{cursor:help}.weapon,.armor,.inventory{align-items:stretch;text-align:initial}.weapon-section,.armor-section,.inventory-section{display:flex}.weapon-section>*,.armor-section>*,.inventory-section>*{flex-grow:1;padding-left:.2em}.weapon-stats,.armor-stats{text-transform:capitalize}.weapon-entry,.armor-entry{padding-bottom:.5em}.armor-stats{text-align:center}.preview{font-size:.75em;overflow-y:scroll;overflow-x:hidden;max-height:calc(100vh - 8rem);min-height:0;flex-shrink:1;position:sticky;top:0}.cs{position:relative;display:inline-block;cursor:pointer}.cs__native{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cs__button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:1px solid var(--panel);border-radius:4px;background:var(--panel)}.cs__button:focus-visible{outline:2px solid #2684ff;outline-offset:2px}.cs__label{margin-right:8px;opacity:.75}.cs__value--placeholder{opacity:.7}.cs__chev{margin-left:8px;opacity:.7}.cs__list{position:absolute;cursor:pointer;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;border:1px solid var(--panel);border-radius:4px;background:var(--panel);box-shadow:0 4px 18px #00000014;z-index:1000;padding:4px 0}.cs__opt{padding:6px 10px;line-height:1.35}.cs__opt:hover,.cs__opt.is-active{background:color-mix(in oklab,var(--accent),transparent 88%)}.cs__opt.is-selected{font-weight:600;background:var(--accent)}.cs__opt.is-disabled{opacity:.5;pointer-events:none}.builder-equipment-starter-item{padding-left:.9em}.builder-container{display:flex;flex-direction:row;gap:1.5rem}.builder-container h2{font-size:1.2em;font-weight:700;margin:0 .5em .5em}.step-selector{display:flex;flex-direction:column;gap:.2em;overflow:auto}.step-selector button{padding:.5em}.builder-identity{display:flex;flex-direction:row;gap:.5em}.builder-identity>*{flex-grow:1}.builder-identity-input{width:100%;border:none;padding:0}.builder-identity-level{flex-shrink:1;min-width:min-content}.step-selection{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:200px}.builder-entry{align-items:stretch;padding-bottom:1em}.identity-section{display:flex;flex-direction:column;align-items:start;justify-content:start;border:1px solid var(--border);border-radius:.5em;padding:.2em .5em;flex-grow:1;min-width:min-content;flex-shrink:1}.identity-section .identity-label{font-weight:700;font-size:.5em}.identity-section .identity-value{width:100%}.description-category{margin-bottom:1em}.description-option{display:inline-block;font-size:1em;margin:0 .1em}input.description-option{border-radius:.2em}.character-sheet{display:flex;flex-direction:column;align-items:stretch;background:color-mix(in oklab,var(--panel),transparent 8%);border:1px solid var(--border);border-radius:var(--radius);font-size:1.1vw;padding:1em;box-shadow:0 10px 30px #0000001a}.character-sheet section{border:1px solid var(--border);border-radius:.5em;padding:.5em}.character-sheet .flex-expand{flex-grow:1;align-items:stretch}.character-sheet .sheet-row{display:flex;flex-direction:row;justify-content:stretch}.character-sheet .sheet-column{display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex-grow:1}.character-sheet .class-block{display:flex;flex-direction:column;align-items:start;justify-content:center;text-transform:uppercase}.character-sheet .class-name{font-size:1.5em;font-weight:700;color:var(--text-primary)}.character-sheet .identity-block{display:flex;flex-direction:column;align-items:start;justify-content:center;flex-grow:1}.character-sheet .identity-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.character-sheet .identity-row>*{flex-grow:1}.character-sheet .badge-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5em;flex-shrink:1;padding:.5em}.character-sheet .badge-block .value{font-size:2em;font-weight:700}.character-sheet .badge-block.inverted .value{order:2}.character-sheet .badge-block .label{font-size:.75em;color:var(--text-secondary);text-transform:uppercase}.character-sheet .badge-block.inverted .label{order:1}.character-sheet .traits-section{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.character-sheet .trait-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5em;flex-shrink:1;padding:.5em}.character-sheet .trait-block .value{font-size:2em;font-weight:700}.character-sheet .trait-block .label{font-size:.7em;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.character-sheet .trait-block .application{font-size:.7em;color:var(--text-secondary)}.character-sheet .value-grid{display:flex}.character-sheet .value-grid .value-cell{border:1px solid var(--border);border-radius:999999em;text-align:center;cursor:pointer}.character-sheet .value-grid .value-cell.active{background:gray}.character-sheet .value-grid .value-cell.disabled{border-style:dashed;pointer-events:none;cursor:not-allowed}.character-sheet .armor-grid{display:grid;grid-template-columns:repeat(3,1em);gap:.5em .2em;align-self:center}.character-sheet .armor-grid .armor-cell{aspect-ratio:1;border:1px solid grey;border-radius:50%;cursor:pointer}.character-sheet .armor-grid .armor-cell.active{background:gray}.character-sheet .armor-grid .armor-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.character-sheet .damage-thresholds{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.5em}.character-sheet .damage-thresholds button{padding:.2em;flex-grow:0;flex-basis:content}.character-sheet .hope-grid{display:grid;margin:0 1em;grid-template-columns:repeat(6,1fr);gap:1.5em;justify-self:center}.character-sheet .hope-grid .hope-cell{aspect-ratio:1;width:2em;border:1px solid yellow;border-radius:50%;cursor:pointer}.character-sheet .hope-grid .hope-cell.active{background:#ff0}.character-sheet .hope-grid .hope-cell.disabled{border-color:var(--border);border-style:dashed;pointer-events:none;cursor:not-allowed}.character-sheet .hp-stress-section{display:flex;flex-direction:row;align-items:stretch}.character-sheet .hp-stress-grid{display:grid;flex-grow:1;min-width:1px;padding:.3em .5em;grid-template-columns:repeat(12,1fr);gap:.2em}.character-sheet .hp-stress-grid .value-cell{border:1px solid var(--grid-value-color, grey);border-radius:.2em;flex-grow:0;flex-shrink:1;min-width:1px;height:100%}.character-sheet .hp-stress-grid .value-cell.active{background:var(--grid-value-color, grey)}.character-sheet .hp-stress-grid .value-cell.disabled{border-color:var(--border)}.character-sheet .hp-grid{--grid-value-color: var(--hp-color, red)}.character-sheet div:has(+.headered-section),.character-sheet span:has(+.headered-section),.character-sheet section:has(+.headered-section){padding-bottom:1em}.character-sheet .headered-section{position:relative;padding:1em .5em .5em;text-align:center;border:1px solid var(--border);border-radius:.5em;margin:.1em;flex-grow:1}.character-sheet .headered-section:first-child{margin-top:1em}.character-sheet .headered-section .header{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:1em;background:var(--panel);border:1px solid var(--border);padding:.2em .5em}.character-sheet *:has(>.under-labeled-entry+.under-labeled-entry){white-space:nowrap}.character-sheet .experience-entry{display:flex;flex-direction:row}.character-sheet .experience-entry .experience-text{flex-grow:1;text-align:initial;text-decoration:underline}.character-sheet .experience-entry .experience-value{font-weight:700;text-decoration:underline;margin-left:.5em}.character-sheet .weapon,.character-sheet .armor,.character-sheet .inventory{align-items:stretch;text-align:initial}.character-sheet .inventory{flex-grow:5}.character-sheet .weapon-section,.character-sheet .armor-section,.character-sheet .inventory-section{display:flex}.character-sheet .weapon-section>*,.character-sheet .armor-section>*,.character-sheet .inventory-section>*{flex-grow:1;padding-left:.2em}.character-sheet .weapon-stats,.character-sheet .armor-stats{text-transform:capitalize}.character-sheet .armor-stats{text-align:center}.character-sheet .gold-section{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5em;padding:.5em}.character-sheet .inventory-entry{display:flex;align-items:center;justify-content:space-between}.character-cards-container{container:cards/inline-size}.character-cards{display:grid;gap:var(--card-grid-spacer);grid-template-columns:1fr}.character-cards>h3{grid-column:1/-1}@container cards (width > calc(400px + 1em)){.character-cards{grid-template-columns:repeat(min(2,var(--highest-card-count)),1fr)}}@container cards (width > calc(600px + 2em)){.character-cards{grid-template-columns:repeat(min(3,var(--highest-card-count)),1fr)}}@container cards (width > calc(800px + 3em)){.character-cards{grid-template-columns:repeat(min(4,var(--highest-card-count)),1fr)}}@container cards (width > calc(1000px + 4em)){.character-cards{grid-template-columns:repeat(min(5,var(--highest-card-count)),1fr)}}@container cards (width > calc(1200px + 5em)){.character-cards{grid-template-columns:repeat(min(6,var(--highest-card-count)),1fr)}}.character-cards-card{min-width:var(--card-min-width);flex-grow:1;margin:.2em}
