:root{
  --ink:#332014;--ink-soft:#68472f;--paper:#ead7aa;--paper-light:#f8edcc;
  --paper-dark:#c79e58;--line:rgba(88,53,27,.38);--leather:#2a130a;
  --leather-mid:#4b2715;--gold:#d2a95d;--shadow:rgba(16,7,2,.76);
}
*{box-sizing:border-box}
html{background:#100906}
body{margin:0;min-height:100vh;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:radial-gradient(ellipse at 50% 8%,#422719 0,#24130c 43%,#0e0704 100%);overflow-x:hidden}
button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}
.topbar{width:min(1640px,calc(100% - 30px));margin:8px auto 0;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#f1d9a6;padding:5px 18px}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{font-size:22px}.brand h1{font-size:18px;margin:0}.brand p{font-size:11px;margin:2px 0 0;opacity:.72}.top-actions{display:flex;gap:7px;align-items:center}.auth-controls{display:flex;gap:7px;align-items:center}.auth-user{font-size:11px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1d9a6;opacity:.9}.top-actions button,.buttonlike{border:1px solid #9e7443;background:linear-gradient(#6b4528,#392013);color:#f5dfb6;border-radius:4px;padding:6px 10px;font-size:12px;box-shadow:inset 0 1px rgba(255,255,255,.12)}.top-actions .danger{border-color:#8d4939}

.book-shell{position:relative;width:min(1660px,calc(100% - 18px));margin:0 auto 18px;padding:38px 78px;border-radius:34px;background:
  radial-gradient(circle at 13% 18%,rgba(255,255,255,.09),transparent 19%),
  repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 2px,rgba(0,0,0,.025) 2px 5px),
  linear-gradient(90deg,#241008 0,#4d2816 10%,#32180e 18%,#4a2817 52%,#2a140b 100%);
  border:5px solid #120704;box-shadow:0 24px 62px rgba(0,0,0,.75),inset 0 0 0 3px #7d4c28,inset 0 0 0 8px #201008,inset 0 0 42px #0e0603;min-height:920px}
.book-shell::before{display:none}
.book-shell::after{content:"";position:absolute;right:18px;top:48px;bottom:48px;width:60px;border-radius:0 24px 24px 0;background:
  linear-gradient(90deg,rgba(69,38,15,.35),transparent 28%),
  repeating-linear-gradient(0deg,#f2dfa7 0 3px,#bc9250 3px 4px,#e6ca88 4px 8px,#9d7135 8px 9px);
  border:1px solid #7b562e;box-shadow:inset 11px 0 18px rgba(85,48,19,.38),8px 0 16px rgba(0,0,0,.58)}
.tabs{position:absolute;top:-5px;left:135px;right:135px;z-index:9;display:flex;gap:10px;align-items:flex-end}.tab{border:1px solid #8c6236;border-bottom:0;border-radius:11px 11px 0 0;padding:10px 25px 11px;background:linear-gradient(#eed79e,#c99b55);color:#3b2416;font-weight:700;box-shadow:0 -3px 9px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.55)}.tab.active{background:linear-gradient(#fae8b9,#e7c379);transform:translateY(2px)}
main{position:relative;z-index:3}.page{display:none}.page.active{display:block;animation:pageIn .2s ease-out}@keyframes pageIn{from{opacity:.35;transform:translateX(12px)}to{opacity:1;transform:none}}
.sheet-page{position:relative;min-height:830px;padding:22px 25px 26px;border-radius:10px 16px 17px 10px;overflow:hidden;background:
  linear-gradient(90deg,transparent 49.1%,rgba(61,34,14,.22) 49.55%,rgba(255,255,255,.52) 50%,rgba(63,36,16,.2) 50.45%,transparent 50.9%),
  radial-gradient(circle at 20% 16%,rgba(119,73,34,.07),transparent 20%),radial-gradient(circle at 80% 70%,rgba(119,73,34,.055),transparent 22%),
  repeating-linear-gradient(0deg,rgba(99,61,29,.02) 0 1px,transparent 1px 5px),
  linear-gradient(90deg,#e4c98c 0,#f8edcc 2%,#f8edcc 48.7%,#ead4a4 50%,#f7eccb 51.3%,#f8edcc 98%,#d7b774 100%);
  border:1px solid #815c31;box-shadow:inset 24px 0 34px rgba(93,52,21,.17),inset -18px 0 26px rgba(80,45,18,.2),0 7px 14px rgba(0,0,0,.48)}
.sheet-page::before,.sheet-page::after{content:"";position:absolute;top:5px;bottom:5px;width:15px;pointer-events:none;z-index:0}.sheet-page::before{left:4px;background:linear-gradient(90deg,rgba(68,37,16,.32),transparent)}.sheet-page::after{right:4px;background:linear-gradient(90deg,transparent,rgba(68,37,16,.31))}
.map-watermark{position:absolute;inset:0;pointer-events:none;opacity:.055;background:radial-gradient(circle at 76% 25%,transparent 0 34px,#78532e 35px 36px,transparent 37px),linear-gradient(145deg,transparent 61%,#78532e 61.4% 61.8%,transparent 62%)}
.frame-card{position:relative;background:rgba(255,250,231,.18);border:1px solid var(--line);box-shadow:inset 0 0 0 3px rgba(255,255,255,.16);padding:7px;min-width:0}.frame-card h2,.table-panel h2,.features-panel h2,.currency-panel h2{font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-align:center;margin:0 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;display:block}input,textarea,select{width:100%;border:0;border-bottom:1px solid rgba(95,60,31,.42);background:rgba(255,255,255,.06);padding:2px 4px;outline:none;text-transform:none;letter-spacing:0;font-weight:400}input:focus,textarea:focus,select:focus{background:rgba(255,247,205,.58);box-shadow:0 0 0 1px rgba(116,76,34,.32)}textarea{resize:vertical;min-height:50px}
.identity-strip{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .95fr;gap:10px;width:49.2%;padding:4px 5px 10px}.name-card{text-align:center;min-height:91px;padding:15px 10px 8px}.eyebrow{font-size:9px;letter-spacing:.28em;text-transform:uppercase}.name-card label{font-size:9px}.name-card input{font-size:22px;text-align:center;font-weight:700;border:0}.ink-flourish{display:block;margin-top:3px}.identity-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:8px}.identity-fields input{font-size:12px}
.character-layout{position:relative;z-index:1;display:grid;grid-template-columns:20.5% 29.1% 48.8%;gap:10px;align-items:start;margin-top:-111px;padding-top:111px}.left-column,.middle-column,.right-column{display:flex;flex-direction:column;gap:8px;min-width:0}.right-column{padding-left:15px;margin-top:-111px}
.ability-stack{padding:5px}.ability-row{display:grid;grid-template-columns:1fr 48px 43px;align-items:center;gap:5px;padding:4px 3px;border-bottom:1px solid rgba(94,59,30,.28)}.ability-row:last-child{border-bottom:0}.ability-row strong{font-size:10px;text-transform:uppercase}.ability-row input{text-align:center;font-size:16px;font-weight:700;padding:0}.modifier{border:1px solid var(--line);border-radius:3px;text-align:center;font-weight:700;padding:2px;background:rgba(255,248,224,.3)}
.check-row{display:grid;grid-template-columns:14px 1fr 30px;gap:3px;align-items:center;padding:1px 0;text-transform:none;font-size:10px;font-weight:400}.check-row input{width:12px;height:12px;margin:0}.check-row strong{text-align:right}.skills-panel{max-height:298px;overflow:auto}.passive-panel input{text-align:center;font-weight:700;font-size:14px}.text-panel textarea{min-height:70px}.combat-top-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.small-stat{text-align:center;min-height:72px;display:grid;place-items:center}.small-stat input{text-align:center;font-size:20px;font-weight:700;border:0}.shield{position:relative;border:0;background:transparent;padding-bottom:14px;overflow:visible}.shield::before{content:"";position:absolute;inset:0;background:var(--line);clip-path:polygon(0 0,100% 0,100% 73%,50% 100%,0 73%);z-index:0}.shield::after{content:"";position:absolute;inset:1px;background:var(--paper,#f4e8c7);clip-path:polygon(0 0,100% 0,100% 72%,50% 98%,0 72%);z-index:1}.shield label{position:relative;z-index:2}.hp-panel{display:grid;grid-template-rows:54px 74px 50px;text-align:center;padding:0}.hp-panel label{padding:6px;border-bottom:1px solid var(--line)}.hp-panel label:last-child{border-bottom:0}.hp-panel input{text-align:center;font-size:19px;font-weight:700;border:0}.hp-panel .current-hp input{font-size:31px}.hit-death-row{display:grid;grid-template-columns:1fr 1.35fr;gap:7px}.death-panel{display:grid;grid-template-columns:1fr 1fr;gap:4px}.death-panel h2{grid-column:1/-1}.death-panel input{text-align:center;font-size:16px;font-weight:700}
.table-panel{padding:6px;overflow:hidden}.table-panel table{width:100%;border-collapse:collapse;table-layout:fixed}.table-panel th{font-size:8px;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line);padding:3px}.table-panel td{border-bottom:1px solid rgba(92,59,31,.22);padding:2px}.table-panel input,.table-panel textarea{font-size:10px;padding:2px;border:0;background:transparent}.table-panel textarea{min-height:24px;resize:none}.table-panel th:last-child,.table-panel td:last-child{width:30px}.row-delete{width:21px;height:21px;border-radius:50%;border:1px solid #7f592c;background:#dfbd79;padding:0}.add-row{margin-top:5px;border:1px solid #826039;background:linear-gradient(#efd69a,#caa363);padding:4px 8px;font-size:10px;border-radius:3px}.equipment-panel{max-height:230px;overflow:auto}
.roleplay-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}.roleplay-stack label{border:1px solid var(--line);padding:7px}.roleplay-stack textarea{min-height:72px;border:0;margin-top:3px}.features-panel textarea{min-height:188px;font-size:12px;line-height:1.25}.right-column .treasure-panel{max-height:170px;overflow:auto}.currency-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.currency-grid label{text-align:center}.currency-grid input{text-align:center}.converter{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;font-size:10px}.converter output{align-self:end;font-weight:700}
.details-header{position:relative;z-index:1;display:grid;grid-template-columns:2fr repeat(6,1fr);gap:8px;margin-bottom:10px}.details-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr;gap:15px 28px;padding:0 10px}.wanted-poster{grid-column:1;grid-row:1 / span 2}.allies-panel{grid-column:2;grid-row:1}.additional-panel{grid-column:2;grid-row:2}.backstory-panel{grid-column:1 / -1;grid-row:3;min-height:390px}.backstory-panel textarea{min-height:335px}.details-layout>article{min-height:150px}.allies-panel textarea,.additional-panel textarea{min-height:125px}
.wanted-poster{position:relative;margin:18px auto 26px;width:min(92%,520px);padding:64px 42px 54px;text-align:center;color:#3d2615;background:linear-gradient(90deg,rgba(84,45,16,.12),transparent 10% 90%,rgba(84,45,16,.13)),radial-gradient(circle at 30% 28%,rgba(110,66,24,.11),transparent 18%),linear-gradient(#ecd39a,#e2bd73 55%,#d6aa61);filter:drop-shadow(0 12px 9px rgba(47,26,10,.42));clip-path:polygon(4% 2%,96% 2%,98% 7%,96% 14%,99% 22%,97% 32%,99% 43%,96% 54%,99% 65%,97% 75%,99% 87%,96% 98%,4% 98%,2% 92%,4% 83%,1% 72%,3% 61%,1% 50%,4% 39%,1% 29%,3% 18%,1% 8%)}.wanted-poster::before,.wanted-poster::after{content:"";position:absolute;left:-5%;right:-5%;height:58px;border-radius:50%/35%;background:linear-gradient(#c39149,#f0d596 35%,#bc8037 68%,#8d5727);border:1px solid #79481f;box-shadow:0 7px 9px rgba(51,27,10,.38),inset 0 6px 10px rgba(255,239,183,.48);z-index:-1}.wanted-poster::before{top:-22px}.wanted-poster::after{bottom:-22px;box-shadow:0 -7px 9px rgba(51,27,10,.3),inset 0 -6px 10px rgba(255,239,183,.42)}.wanted-pin{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c65f45,#7b1f16 58%,#3b0c08 72%);box-shadow:0 2px 5px rgba(0,0,0,.5);z-index:2}.wanted-kicker{font-size:37px;letter-spacing:.16em;font-weight:700;margin:0}.wanted-poster h2{font-size:15px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;border-bottom:1px solid #6c4524;padding-bottom:8px}.wanted-portrait{position:relative;width:min(56%,230px);aspect-ratio:4/5;margin:0 auto 10px;border:4px double #67411d;padding:3px;background:#d2aa68;display:block;cursor:pointer;overflow:hidden}.wanted-portrait img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:cover;object-position:center top;display:block}.wanted-portrait span{position:absolute;inset:3px;display:grid;place-content:center;padding:10px}.wanted-portrait [hidden]{display:none!important}.wanted-portrait small{display:block;font-size:9px}.wanted-poster h3{font-size:17px;margin:8px 0}.wanted-copy,.wanted-contact{font-size:12px;margin:5px auto;max-width:360px}.wanted-contact{font-style:italic}.wanted-reward{font-size:17px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;border-top:1px solid #76502d;border-bottom:1px solid #76502d;padding:7px;margin:12px 0}.wanted-whereabouts{text-align:left}.wanted-whereabouts textarea{min-height:92px;background:repeating-linear-gradient(transparent 0 24px,rgba(89,57,29,.42) 24px 25px);border:0;line-height:25px;padding:0 3px;resize:none}.spell-header{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.spell-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 34px;margin-top:12px;padding:0 8px}.spell-list{border:1px solid var(--line);padding:8px;background:rgba(255,250,231,.18)}.spell-list h2{text-align:center;font-size:13px;margin:0 0 5px}.spell-list textarea{min-height:120px}
.page-turn{position:absolute;top:50%;transform:translateY(-50%);z-index:12;width:54px;height:104px;border:0;background:transparent;color:#f1ca75;font-size:80px;line-height:1;text-shadow:0 3px 6px #000;opacity:.9}.page-turn:hover{opacity:1;transform:translateY(-50%) scale(1.08)}.page-turn-left{left:12px}.page-turn-right{right:20px}
#focusDialog{max-width:90vw;max-height:88vh;background:#f3e4bd;border:2px solid #6f4725;color:var(--ink)}#focusDialog form{min-width:min(800px,82vw)}#focusDialog header{display:flex;justify-content:space-between;align-items:center}#focusContent>*{max-height:70vh;overflow:auto}
@media(max-width:1200px){.book-shell{padding-left:50px;padding-right:50px}.tabs{left:92px}.character-layout{grid-template-columns:25% 35% 40%}.identity-strip{width:60%}.right-column{padding-left:8px}.roleplay-stack{grid-template-columns:1fr}.page-turn-left{left:3px}.page-turn-right{right:3px}.character-layout{margin-top:-111px;padding-top:111px}.right-column{margin-top:-111px}}
@media(max-width:820px){.topbar{width:100%;padding:8px}.book-shell{width:100%;margin:0;padding:42px 7px 10px;border-radius:0;border-width:0;min-height:0}.book-shell::before,.book-shell::after,.page-turn{display:none}.tabs{position:absolute;left:6px;right:6px;top:0;gap:4px}.tab{flex:1;padding:8px 4px;font-size:12px}.sheet-page{padding:10px;min-height:0;background:#f4e8c7}.identity-strip{width:100%;grid-template-columns:1fr}.character-layout,.details-layout,.spell-grid{grid-template-columns:1fr;margin-top:0;padding-top:0}.right-column{padding-left:0;margin-top:0}.details-header,.spell-header{grid-template-columns:repeat(2,1fr)}.wanted-poster{grid-column:auto;grid-row:auto;width:94%;padding-left:28px;padding-right:28px}.allies-panel,.additional-panel,.backstory-panel{grid-column:auto;grid-row:auto}.combat-top-row{grid-template-columns:repeat(3,1fr)}.roleplay-stack{grid-template-columns:1fr 1fr}.top-actions{flex-wrap:wrap;justify-content:flex-end}.brand h1{font-size:14px}}
@media print{body{background:white}.topbar,.tabs,.page-turn{display:none}.book-shell{padding:0;border:0;box-shadow:none;background:white;width:100%}.book-shell::before,.book-shell::after{display:none}.sheet-page{box-shadow:none;border:0;min-height:auto}.page{display:block!important;page-break-after:always}}

/* v0.4.0 rules engine */
.generated-features{display:grid;gap:5px;max-height:210px;overflow:auto;padding-right:3px}.generated-feature{border:1px solid rgba(91,57,29,.34);background:rgba(255,248,222,.24);border-radius:4px;padding:4px 6px}.generated-feature summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:11px;font-weight:700}.generated-feature summary small{font-weight:400;color:var(--ink-soft)}.generated-feature p{font-size:10px;line-height:1.35;margin:6px 0 2px;white-space:pre-line}.manual-feature-notes{margin-top:7px}.manual-feature-notes textarea{min-height:70px}.empty-rule{font-size:11px;font-style:italic;color:var(--ink-soft)}
.rules-page{padding-top:24px}.rules-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 18px;margin-bottom:12px}.rules-heading h2{font-size:25px;margin:2px 0}.rules-heading p{max-width:620px;margin:0;font-size:12px;line-height:1.4}.rules-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;padding:0 8px}.rules-column{display:flex;flex-direction:column;gap:12px}.rules-card{padding:10px;min-height:210px}.rules-card-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:5px}.rules-card-title h2{margin:0}.rules-help{font-size:9px;color:var(--ink-soft)}.rule-entry{border-bottom:1px solid rgba(91,57,29,.25);padding:7px 3px}.class-entry{display:grid;grid-template-columns:1.25fr 70px 1.2fr 28px;gap:7px;align-items:end}.class-entry label{font-size:9px}.class-entry select,.class-entry input{font-size:11px;padding:5px}.toggle-entry{display:grid;grid-template-columns:18px 1fr 28px;gap:7px;align-items:start}.toggle-entry>input{margin-top:4px}.toggle-entry strong{font-size:12px}.toggle-entry small{display:block;color:var(--ink-soft);font-size:9px}.toggle-entry p{font-size:10px;line-height:1.3;margin:3px 0}.override-entry{border-bottom:1px solid rgba(91,57,29,.25);padding:7px 3px}.override-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.override-head strong{font-size:12px}.override-head small{display:block;font-size:9px;color:var(--ink-soft)}.override-head select{width:110px;font-size:10px;padding:4px}.replacement-fields{display:grid;gap:5px;margin-top:6px}.replacement-fields[hidden]{display:none}.replacement-fields input,.replacement-fields textarea{font-size:10px}.replacement-fields textarea{min-height:54px}
@media(max-width:820px){.rules-layout{grid-template-columns:1fr;gap:12px}.rules-heading{display:block}.class-entry{grid-template-columns:1fr 70px}.class-entry .row-delete{grid-column:2}.generated-features{max-height:none}}

/* v0.5.0 campaign engine */
.tabs{left:92px;right:92px;gap:6px}.tab{padding:9px 15px;font-size:11px}
.campaign-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.campaign-summary{position:relative;z-index:1;margin:10px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.campaign-summary strong{font-size:17px}.campaign-summary span{font-size:10px;text-transform:uppercase}.campaign-summary p{width:100%;margin:0;font-size:11px}.campaign-page .rules-card label{margin:8px 0}.campaign-page .rules-card select{padding:7px}.campaign-page h3{margin:3px 0 6px}.campaign-page p,.campaign-page dd{white-space:pre-line;font-size:10px;line-height:1.35}.campaign-page dl,.vehicle-card dl{display:grid;grid-template-columns:90px 1fr;gap:4px 8px;margin:8px 0}.campaign-page dt,.vehicle-card dt{font-size:9px;font-weight:700;text-transform:uppercase}.campaign-page dd,.vehicle-card dd{margin:0}.library-entry{padding:8px 3px;border-bottom:1px solid rgba(91,57,29,.25)}.library-entry p{margin:4px 0}.vehicle-actions{position:relative;z-index:1;display:flex;gap:10px;align-items:end;margin:10px 0}.vehicle-actions label{flex:1}.vehicle-actions select{padding:7px}.vehicle-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-reference{position:relative;z-index:1;margin-top:16px}.vehicle-card header{display:flex;justify-content:space-between;align-items:start}.vehicle-card header span{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.vehicle-card h3{margin:2px 0 5px}.vehicle-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.vehicle-stats b{border:1px solid var(--line);padding:5px;text-align:center;font-size:10px}.vehicle-card p{font-size:10px;line-height:1.35}.vehicle-card textarea{min-height:60px}.vehicle-card select,.vehicle-card input{font-size:10px}.empty-rule.frame-card{padding:18px;text-align:center}
@media(max-width:1000px){.vehicle-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{left:70px;right:70px;overflow:auto}.tab{white-space:nowrap}}
@media(max-width:820px){.campaign-layout,.vehicle-grid,.vehicle-grid.compact{grid-template-columns:1fr}.vehicle-actions{display:block}.book-shell{padding-left:28px;padding-right:48px}.tabs{left:35px;right:35px}}

/* v0.5.1 currency and AC polish */
.single-converter{margin-top:9px;padding:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.single-converter h3{margin:0 0 6px;text-align:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.single-converter-row{display:grid;grid-template-columns:minmax(62px,.7fr) 1fr auto 1fr;gap:6px;align-items:end}
.single-converter-row label{font-size:10px}
.single-converter-row input,.single-converter-row select{width:100%;min-height:30px}
.converter-arrow{align-self:end;padding:0 1px 7px;font-size:18px;font-weight:700}
.single-converter output,.total-converter output{display:block;margin-top:6px;text-align:center;font-weight:700;font-size:13px}
.total-converter{padding-top:8px}
@media(max-width:520px){.single-converter-row{grid-template-columns:1fr 1fr}.converter-arrow{display:none}.single-converter-row label:last-child{grid-column:2}.single-converter-row label:first-child{grid-column:1}.single-converter-row label:nth-child(2){grid-column:1}.single-converter-row label:nth-child(4){grid-column:2}}


/* v0.5.2 typography, shield and paper printing */
.combat-top-row{grid-template-columns:.9fr 1fr 1.08fr .95fr 1.16fr}
.small-stat{min-height:76px;padding:6px 4px;overflow:visible}
.small-stat label{width:100%;font-size:8.5px;line-height:1.15;letter-spacing:.02em;white-space:normal}
.small-stat input{font-size:18px;line-height:1.05;padding:3px 1px;min-width:0}
.small-stat:nth-child(2) input{font-size:17px}
.small-stat:last-child input{font-size:16px}
.shield{min-height:86px;border:0!important;background-color:transparent!important;padding:13px 7px 17px;box-shadow:none!important;overflow:visible}
.shield::before,.shield::after{display:none}
.shield{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 150'%3E%3Cpath d='M16 12h108v72c0 29-19 47-54 59C35 131 16 113 16 84Z' fill='%23f2e1b7' stroke='%235a3821' stroke-width='6'/%3E%3Cpath d='M24 21h92v62c0 23-15 39-46 50-31-11-46-27-46-50Z' fill='none' stroke='%23a77a45' stroke-width='2'/%3E%3Cpath d='M31 34c25-8 53-8 78 0M31 47c25-8 53-8 78 0' fill='none' stroke='%23c7a36b' stroke-width='2' opacity='.45'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%}
.shield label{display:flex;min-height:56px;flex-direction:column;justify-content:center;align-items:center;padding:0 6px}
.shield input{max-width:78%;background:transparent}
.single-converter-row{grid-template-columns:minmax(70px,.72fr) minmax(110px,1fr) 24px minmax(110px,1fr);text-align:center}
.single-converter-row label{text-align:center}
.single-converter-row input,.single-converter-row select{text-align:center;text-align-last:center}
.converter-arrow{align-self:end;text-align:center;padding-bottom:6px}
.total-converter label{text-align:center}.total-converter select{text-align:center;text-align-last:center}

.print-dialog{width:min(700px,calc(100vw - 30px));border:2px solid #6e4727;border-radius:8px;background:#f4e6c1;color:var(--ink);padding:0;box-shadow:0 20px 70px #0008}
.print-dialog::backdrop{background:#120905cc}
.print-dialog form{padding:18px}.print-dialog header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:10px}.print-dialog h2{margin:0}.print-dialog header p{margin:3px 0 0;font-size:11px}.print-dialog header button{border:0;background:transparent;font-size:25px}.print-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.print-options label{font-size:10px}.print-options select,.print-options input{padding:7px;border:1px solid var(--line);background:#fff8df}.print-dialog fieldset{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border:1px solid var(--line);margin:12px 0}.print-dialog fieldset label,.print-check{display:flex;align-items:center;gap:7px;text-transform:none}.print-dialog fieldset input,.print-check input{width:auto}.print-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.print-dialog footer button{padding:8px 13px;border:1px solid #795431;background:#e4c27e;border-radius:4px}
@media(max-width:620px){.print-options{grid-template-columns:1fr 1fr}.print-dialog fieldset{grid-template-columns:1fr}}

@media print{
  @page{size:var(--print-page-size, A4 portrait);margin:var(--print-margin, 12mm)}
  html,body{background:#fff!important;color:#111!important;overflow:visible!important}
  body{font-size:10pt}
  .topbar,.tabs,.page-turn,.print-dialog,#focusDialog,.add-row,.row-delete,button{display:none!important}
  .book-shell{width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;min-height:0!important}
  .book-shell::before,.book-shell::after,.map-watermark{display:none!important}
  .page{display:none!important;animation:none!important}
  body.print-all .page,body.print-active .page.print-page,body.print-choose .page.print-page{display:block!important}
  .sheet-page{page-break-after:always;break-after:page;width:100%!important;min-height:0!important;padding:5mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  .sheet-page:last-of-type{page-break-after:auto;break-after:auto}
  body.print-journal .sheet-page{background:linear-gradient(90deg,#ead7aa,#f8edcc 3%,#f8edcc 97%,#d7b774)!important;border:1px solid #815c31!important}
  .frame-card,.spell-list{break-inside:avoid;page-break-inside:avoid;background:#fff!important;box-shadow:none!important;border-color:#555!important}
  body.print-journal .frame-card,body.print-journal .spell-list{background:#fff8df66!important;border-color:#815c31!important}
  input,textarea,select{background:transparent!important;color:#111!important;border-color:#777!important;box-shadow:none!important;appearance:none;-webkit-appearance:none}
  textarea{resize:none!important;overflow:visible!important}
  .generated-features,.skills-panel,.equipment-panel,.treasure-panel{max-height:none!important;overflow:visible!important}
  body.print-handwriting textarea{min-height:90px!important}
  .identity-strip,.character-layout,.details-layout,.spell-grid,.campaign-layout,.vehicle-grid{break-inside:auto}
  .shield{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* v0.6.0 Equipment & Wealth */
.equipment-page{min-height:1050px}
.equipment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.wealth-stat{text-align:center;padding:12px 8px}
.wealth-stat span{display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#735130}
.wealth-stat strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:22px;margin-top:5px;color:#3e2718}
.equipment-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(560px,1.45fr);gap:14px}
.wide-equipment-column{min-width:0}
.equipment-library-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;margin-bottom:8px}
.equipment-library-controls input,.equipment-library-controls select,.encumbrance-controls input,.encumbrance-controls select{padding:6px;border:1px solid rgba(95,60,31,.46);background:#fff8df99}
.equipment-library-results{max-height:470px;overflow:auto;border-top:1px solid rgba(95,60,31,.25);border-bottom:1px solid rgba(95,60,31,.25)}
.equipment-library-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid rgba(95,60,31,.18)}
.equipment-library-row:last-child{border-bottom:0}
.equipment-library-row strong{display:block;font-size:12px}
.equipment-library-row small{display:block;color:#735130;font-size:9px;margin-top:1px}
.equipment-library-row span{display:block;font-size:9px;color:#5a4535;margin-top:2px}
.equipment-manager-card{overflow:auto}
.equipment-manager-head,.equipment-manager-row{display:grid;grid-template-columns:52px minmax(230px,1fr) 82px 82px 82px 82px 54px;gap:5px;align-items:start}
.equipment-manager-head{position:sticky;top:0;z-index:2;background:#ead7aa;padding:5px 4px;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;font-weight:700;text-align:center}
.equipment-manager-row{padding:6px 4px;border-bottom:1px solid rgba(95,60,31,.22)}
.equipment-manager-row>input,.equipment-manager-row textarea{border:1px solid rgba(95,60,31,.27);background:rgba(255,255,255,.14);padding:5px;font-size:10px}
.equipment-manager-row>input{text-align:center}
.equipment-manager-row output{padding-top:7px;text-align:center;font-weight:700;font-size:10px}
.equipment-name-cell>div{display:flex;align-items:center;gap:5px}
.equipment-name-cell input{min-width:0;font-weight:700}
.equipment-name-cell textarea{width:100%;margin-top:3px;min-height:36px;resize:vertical}
.equipment-name-cell>small{display:block;font-size:8px;color:#76563b;margin-top:2px}
.equipment-source{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 4px;border-radius:10px;font-size:7px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.equipment-source.default{background:#d9be7d;color:#49301c;border:1px solid #8d6738}
.equipment-source.custom{background:#b98363;color:#fff8e8;border:1px solid #70452f}
.equipment-row-actions{display:flex;gap:4px;justify-content:center;padding-top:2px}
.equipment-row-actions button:not(.row-delete){width:22px;height:22px;border-radius:50%;border:1px solid #7f592c;background:#ecd092;padding:0}
.encumbrance-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.capacity-meter{height:14px;border:1px solid #795431;border-radius:8px;background:#d8c69e;overflow:hidden;margin:10px 0 5px}
.capacity-meter>div{height:100%;width:0;background:linear-gradient(90deg,#8caa6e,#d5aa58);transition:width .2s ease}
.capacity-meter>div[data-status*='over']{background:#a24f3f}
.capacity-meter>div[data-status*='heavy']{background:#a66e42}
.encumbrance-card p{margin:5px 0;font-weight:700}
.encumbrance-card small{display:block;font-size:9px;line-height:1.35;color:#6c523c}
.wealth-options-card .toggle-line{display:flex;align-items:center;gap:7px;text-transform:none;font-size:10px}
.wealth-options-card .toggle-line input{width:auto}
.wealth-options-card p{font-size:10px;margin:7px 0 0}

@media(max-width:1200px){.equipment-layout{grid-template-columns:1fr}.equipment-manager-head,.equipment-manager-row{grid-template-columns:50px minmax(220px,1fr) 78px 78px 78px 78px 50px}}
@media(max-width:820px){.equipment-summary{grid-template-columns:1fr 1fr}.equipment-library-controls,.encumbrance-controls{grid-template-columns:1fr}.equipment-manager-card{overflow-x:auto}.equipment-manager-head,.equipment-manager-row{min-width:780px}}
@media print{.equipment-library-card,.wealth-options-card .toggle-line,.equipment-row-actions,.equipment-manager-row input,.equipment-manager-row textarea{print-color-adjust:exact;-webkit-print-color-adjust:exact}.equipment-library-card{display:none!important}.equipment-layout{grid-template-columns:1fr!important}.equipment-summary{grid-template-columns:repeat(4,1fr)!important}.equipment-manager-head,.equipment-manager-row{grid-template-columns:45px 1fr 65px 65px 65px 65px!important}.equipment-manager-head span:last-child,.equipment-manager-row .equipment-row-actions{display:none!important}}

/* v0.6.5 authentication privacy gate */
.auth-gate{display:none;width:min(760px,calc(100% - 30px));min-height:360px;margin:70px auto 0;align-items:center;justify-content:center;padding:30px;color:#f1d9a6}
.auth-gate-card{width:min(520px,100%);padding:46px 32px;text-align:center;border:1px solid #8c6238;border-radius:12px;background:linear-gradient(145deg,rgba(75,39,21,.96),rgba(31,15,8,.98));box-shadow:0 24px 70px #0009,inset 0 1px rgba(255,255,255,.08)}
.auth-gate-login{margin-top:22px;padding:10px 22px;border:1px solid #b98745;border-radius:6px;background:linear-gradient(#8f5d2d,#5f3518);color:#fff0c9;font-family:Georgia,serif;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0005}.auth-gate-login:hover{filter:brightness(1.08)}
.auth-gate-mark{display:block;font-size:34px;color:var(--gold);margin-bottom:10px}.auth-gate h2{margin:0 0 10px;font-size:24px;color:#f5dfb6}.auth-gate p{margin:0;font-size:13px;line-height:1.5;color:#d9bc88}
body.auth-checking .auth-gate,body.auth-locked .auth-gate{display:flex}
body.auth-checking .book-shell,body.auth-locked .book-shell{display:none!important}
body.auth-checking .top-actions>#printBtn,body.auth-checking .top-actions>#exportBtn,body.auth-checking .top-actions>.buttonlike,body.auth-checking .top-actions>#resetBtn,body.auth-locked .top-actions>#printBtn,body.auth-locked .top-actions>#exportBtn,body.auth-locked .top-actions>.buttonlike,body.auth-locked .top-actions>#resetBtn{display:none!important}
body.auth-checking #googleLoginBtn{visibility:hidden}
body.auth-locked #googleLoginBtn{visibility:visible}
@media(max-width:620px){.auth-gate{margin-top:35px;min-height:300px}.auth-gate-card{padding:34px 20px}.auth-gate h2{font-size:21px}}

/* v0.7.0 — 2014 SRD Reference Integration */
.reference-page{min-height:1050px}
.reference-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.45fr);gap:16px}
.reference-picker-card label{display:block;margin:8px 0}
.reference-picker-card input,.reference-picker-card select{width:100%;padding:7px;border:1px solid rgba(95,60,31,.46);background:#fff8df99}
.reference-note{font-size:9px;line-height:1.4;color:#6b513a;margin:10px 0 0}
.reference-source-card dl{display:grid;grid-template-columns:95px 1fr;gap:6px 10px}
.reference-source-card dt{font-size:9px;text-transform:uppercase;font-weight:800;color:#6a4728}
.reference-source-card dd{margin:0;font-size:10px;line-height:1.35}
.reference-record-card{min-height:620px}
.reference-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(95,60,31,.35);padding-bottom:10px;margin-bottom:12px}
.reference-record-heading h2{margin:2px 0 0;font-size:24px}
.reference-add-btn{white-space:nowrap;align-self:center}
.reference-facts{display:grid;grid-template-columns:125px 1fr;gap:6px 12px;margin:0 0 16px;padding:10px;border:1px solid rgba(95,60,31,.24);background:rgba(255,248,223,.26)}
.reference-facts dt{font-size:9px;font-weight:800;text-transform:uppercase;color:#6d4c2e}
.reference-facts dd{margin:0;font-size:10px;line-height:1.4}
.reference-description{font-family:Georgia,'Times New Roman',serif;font-size:12px;line-height:1.55;white-space:normal}
.reference-source-line{margin-top:18px;padding-top:8px;border-top:1px solid rgba(95,60,31,.25);font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#785a3f}
.reference-link-btn{width:100%;margin:0 0 8px;padding:6px 8px;border:1px solid #8a633a;background:#ead19a;color:#4a301c;border-radius:4px;font-size:9px;font-weight:700;cursor:pointer}
.reference-link-btn:hover{filter:brightness(1.04)}
.equipment-source.srd{background:#8aa3a1;color:#fff;border:1px solid #4d6968}
@media(max-width:1050px){.reference-layout{grid-template-columns:1fr}.reference-record-card{min-height:420px}}
@media(max-width:620px){.reference-record-heading{display:block}.reference-add-btn{margin-top:10px}.reference-facts{grid-template-columns:1fr}.reference-facts dt{margin-top:5px}}
@media print{.reference-picker-card,.reference-source-card,.reference-add-btn{display:none!important}.reference-layout{grid-template-columns:1fr!important}.reference-record-card{min-height:0!important}}

/* v0.7.2 structured campaign choices + validation */
.choice-block{padding:8px 3px;border-bottom:1px solid rgba(91,57,29,.25)}
.choice-block:last-child{border-bottom:0}.choice-block>strong{display:block;font-size:12px}.choice-block>small{display:block;margin:2px 0 7px;font-size:9px;opacity:.8}
.choice-checks{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:4px 0}.choice-checks label{display:flex!important;align-items:center;gap:5px;margin:0!important;font-size:10px}.choice-checks input{width:auto!important}
.validation-warning,.validation-ok{padding:9px;border:1px solid var(--line);background:rgba(255,244,207,.35)}.validation-warning strong,.validation-ok strong{font-size:11px}.validation-warning ul{margin:6px 0 0 17px;padding:0;font-size:10px;line-height:1.45}.validation-ok p{margin:5px 0 0!important}

/* v0.8.1 multi-character home */
#characterHomeDialog,#newCharacterDialog{border:1px solid rgba(102,65,31,.55);border-radius:14px;background:#f3e4bd;color:#2b190f;box-shadow:0 24px 80px rgba(0,0,0,.45);width:min(680px,calc(100vw - 32px));padding:0}
#characterHomeDialog::backdrop,#newCharacterDialog::backdrop{background:rgba(24,12,7,.78);backdrop-filter:blur(2px)}
.character-home,#newCharacterForm{padding:24px}.character-home header,#newCharacterForm header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.character-home h2,#newCharacterForm h2{margin:.15rem 0;font-family:Georgia,serif}.character-home-list{display:grid;gap:10px;margin:18px 0}
.character-home-card{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:14px 16px;border:1px solid #9b7444;border-radius:9px;background:rgba(255,250,232,.72);color:inherit}
.character-home-card:hover{background:#fff5d7}.character-home-card span{opacity:.72}#newCharacterBtn{width:100%;padding:12px}
#newCharacterForm label{display:grid;gap:6px;margin:14px 0}#newCharacterForm input,#newCharacterForm select{font:inherit;padding:10px;border:1px solid #9b7444;border-radius:6px;background:#fff9e9}
#newCharacterForm footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

/* v0.8.3 guided character setup */
.creation-guide-card{margin-bottom:18px}.creation-guide-card[hidden]{display:none}.creation-guide-card>p{margin:.25rem 0 1rem}
#creationGuide{display:grid;gap:8px}.setup-choice{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px 12px;text-align:left;border:1px solid rgba(105,70,35,.45);border-radius:8px;background:rgba(255,250,232,.65);color:inherit}
.setup-choice:hover{background:#fff4d0}.setup-choice span{font-size:1.15rem}.setup-choice small{opacity:.7}
.homebrew-choice span{display:flex;align-items:center;gap:8px}.homebrew-choice small{font-weight:normal;opacity:.72;line-height:1.35}

/* v0.8.5 guided level-up */
.level-up-shell{max-width:720px}.level-up-shell footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
#levelUpSteps{display:grid;gap:9px;max-height:55vh;overflow:auto;padding-right:4px}.level-up-step{display:grid;gap:4px;padding:11px 13px;border:1px solid rgba(105,70,35,.4);border-radius:8px;background:rgba(255,250,232,.62)}.level-up-step span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65}.level-up-step p{margin:0}.level-up-step.choice{border-width:2px}.level-up-step.optional{border-style:dashed}

/* v0.8.6 Anh-Talamh flexible ASI */
.flexible-asi-guide{margin-top:12px;padding-top:12px;border-top:1px solid rgba(105,70,35,.35);display:grid;gap:8px}.flexible-asi-guide h3{margin:0;font-size:.95rem}.flexible-asi-guide p{margin:0;font-size:.82rem}.flexible-asi-guide label{display:grid;gap:3px;font-size:.78rem}.flexible-asi-guide [data-asi-picks]{display:grid;gap:6px}.flexible-asi-guide [data-asi-error]{min-height:1em;font-weight:700}

/* v0.8.7 guided level-one feat */
.level-one-feat-guide{margin-bottom:12px;padding:11px;border:1px solid rgba(105,70,35,.4);border-radius:8px;background:rgba(255,250,232,.55)}.guided-choice-pending,.guided-choice-complete{display:grid;gap:7px}.guided-choice-pending>span,.guided-choice-complete>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.guided-choice-pending p,.guided-choice-complete small{margin:0}.guided-choice-pending label{display:grid;gap:3px}.guided-choice-pending textarea{min-height:72px}

/* v0.8.12 caster dashboard + universal spell lookup */
.spell-slot-summary{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.spell-slot-summary span{padding:5px 8px;border:1px solid rgba(105,70,35,.35);border-radius:6px}.caster-dashboard.non-caster,.spell-header.non-caster{opacity:.82}.spell-reference-search{margin:12px 0;display:grid;gap:7px}.spell-reference-search h2,.spell-reference-search p{margin:0}.spell-reference-search input{width:100%}#spellReferenceResults{display:grid;gap:5px}#spellReferenceResults>button{text-align:left}.spell-quick-card{display:grid;gap:6px;padding:10px;border:1px solid rgba(105,70,35,.4);border-radius:8px}.spell-quick-card p{margin:0}

/* v0.8.14 future progression */
.rules-card-actions{display:flex;gap:8px;flex-wrap:wrap}.upcoming-class{display:grid;gap:8px;margin:12px 0}.upcoming-class h3{margin:0}.upcoming-level{display:grid;grid-template-columns:minmax(72px,100px) 1fr;gap:10px;padding:9px;border-top:1px solid rgba(105,70,35,.28)}.upcoming-level>strong{white-space:nowrap}.upcoming-level p{display:grid;gap:2px;margin:0 0 7px}.upcoming-level p span{font-size:.9em;opacity:.82}.upcoming-level p.choice b::before{content:"Choice required • "}.upcoming-level p.automatic b::before{content:"Granted • "}.upcoming-level p.spellcasting b::before{content:"Updates • "}

/* v0.8.15 editable level progression */
.multiclass-plan-overview{display:grid;gap:10px;padding:10px;margin:10px 0;border:1px solid rgba(105,70,35,.3);border-radius:8px}.multiclass-plan-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.multiclass-plan-fields label,.progression-note{display:grid;gap:4px}.upcoming-level.played{opacity:.72}.upcoming-level select{max-width:220px}.progression-note textarea{min-height:54px;resize:vertical}@media(max-width:720px){.multiclass-plan-fields{grid-template-columns:1fr}.upcoming-level{grid-template-columns:1fr}}

/* v0.8.17 progression decisions */
.progression-choice{display:grid;gap:4px;margin:8px 0;padding:8px;border-left:3px solid currentColor}.progression-choice span{font-weight:700}.multiclass-prereq{display:grid;gap:3px}.multiclass-prereq span{display:block}.multiclass-prereq .missing{font-weight:700}

/* v0.8.18 planned choice status */
.planned-choice-summary{display:block;margin-top:3px;font-weight:700}.planned-choice-summary.missing{font-weight:600}.progression-choice small{opacity:.8}

/* v0.8.19 ASI planner */
.asi-planner{display:grid;gap:7px;margin:8px 0;padding:10px;border:1px solid currentColor;border-radius:7px}.asi-planner legend{font-weight:700}.asi-planner label{display:grid;gap:4px}.asi-planner>label{display:flex;align-items:center;gap:7px}.asi-planner small{display:block}

/* v0.8.20 live feat narrowing */
.feat-search-results{display:grid;gap:4px;margin-top:5px;max-height:230px;overflow:auto}.feat-search-results button{display:grid;gap:2px;text-align:left;padding:7px 9px}.feat-search-results button small{font-weight:400}

/* v0.8.21 character-specific feat impact */
.feat-impact{margin-top:8px;padding:9px;border:1px solid currentColor;border-radius:7px}.feat-impact strong{display:block;margin-bottom:5px}.feat-impact ul{margin:0;padding-left:20px}.feat-impact li+li{margin-top:3px}

/* v0.8.22 decision consequence hints */
.feat-result-impact{display:block;margin-top:3px;font-size:.82em;opacity:.8}.feat-impact-summary{margin:0 0 6px}.multiclass-prereq small{font-weight:400;opacity:.8}

/* v0.8.23 multiple multiclass plans */
.multiclass-plan-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;margin:8px 0;padding:10px;border:1px solid currentColor;border-radius:7px}.multiclass-plan-row legend{font-weight:700}.multiclass-plan-row label{display:grid;gap:4px}@media(max-width:760px){.multiclass-plan-row{grid-template-columns:1fr}}

/* v0.8.24 progression validation */
.progression-plan-warning,.progression-plan-ok{margin:0 0 12px;padding:10px;border:1px solid currentColor;border-radius:8px}.progression-plan-warning p{margin:6px 0}.progression-plan-warning small{display:block;margin-top:7px;opacity:.8}.progression-plan-ok{font-weight:600}

/* v0.8.25 cumulative ASI planning */
.asi-error:not(:empty){display:block;margin-top:4px;font-weight:700}.asi-planner [data-asi-second][hidden]{display:none}

/* v0.9.1 resolved spell access */
.resolved-spell-option{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;text-align:left;margin:5px 0;padding:9px 10px}.resolved-spell-option>span:first-child{display:grid}.resolved-spell-option small{font-size:.78em;opacity:.78}.resolved-spell-state{font-weight:700;font-size:.82em}.resolved-spell-reason{grid-column:1/-1}.resolved-spell-option.spell-status-locked{opacity:.5;filter:grayscale(.65)}.resolved-spell-option.spell-status-available{opacity:.78}.resolved-spell-option.spell-status-prepared,.resolved-spell-option.spell-status-known,.resolved-spell-option.spell-status-granted{opacity:1}

.resolved-spell-option{grid-template-columns:1fr auto}.resolved-spell-detail{display:grid;grid-template-columns:1fr auto;gap:4px 12px;text-align:left;background:transparent;border:0;padding:0;min-width:0}.resolved-spell-detail>span:first-child{display:grid}.resolved-spell-reason{grid-column:1/-1}.resolved-spell-toggle{align-self:center;white-space:nowrap;padding:5px 9px}
