:root{--bg:#080f18;--chrome:#101e2e;--panel:#1d3148;--panel-end:#1b2d43;--panel2:#121f2e;--surface:#29445f;--surface-strong:#2f4e6b;--line:#607b98;--line-strong:#7893b0;--line-muted:#7893b0b8;--text:#f1f5fc;--dim:#c7d3e0;--subtle:#c0d0e1;--teal:#63e0cf;--teal-dim:#318d83;--text-on-accent:#e9fffb;--accent-ink:#07241f;--teal-wash:#63e0cf1a;--teal-wash-strong:#63e0cf26;--teal-wash-soft:#63e0cf12;--teal-border:#63e0cf7a;--teal-border-strong:#63e0cf94;--teal-border-soft:#63e0cf5c;--gold:#f2c77b;--gold-wash:#f2c77b14;--gold-wash-soft:#f2c77b0b;--violet:#c6a6ff;--violet-wash:#c6a6ff12;--violet-wash-soft:#c6a6ff0e;--green:#72e0a5;--green-wash:#72e0a514;--red:#ff8585;--hp:#ff9292;--mp:#8cc7ff}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);padding:20px;font-family:Segoe UI,Arial,sans-serif;font-size:15px}h1{color:var(--teal);letter-spacing:1px;margin-bottom:4px;font-size:22px}.sub{color:var(--dim);margin-bottom:20px;font-size:13px}.layout{grid-template-columns:1fr 340px;gap:18px;max-width:1100px;margin:0 auto;display:grid}@media (width<=900px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px 18px}.panel h2{color:var(--gold);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px;font-size:15px}.hint{color:var(--dim);margin-top:8px;font-size:12.5px}select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;outline:none;padding:6px 8px;font-size:14px}select:focus{border-color:var(--teal)}.slot-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.slot-row .slot{flex-direction:column;flex:180px;gap:4px;display:flex}.slot-row .slot label{color:var(--dim);text-transform:uppercase;letter-spacing:1px;font-size:11.5px}.attr-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.attr-name b{color:var(--text)}.attr-name span{color:var(--dim);font-size:12px}.statgrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px}.stat .label{color:var(--dim);text-transform:uppercase;letter-spacing:1px;font-size:11px}.stat .value{color:var(--teal);margin-top:2px;font-size:24px;font-weight:600}.breakdown b{color:var(--text);font-weight:600}.class-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.class-head .cname{color:var(--teal);letter-spacing:.5px;font-weight:700}.class-head .clvl{color:var(--gold);font-size:12.5px}.skill-title{color:var(--teal);font-weight:600}.skill-cap{border:1px solid var(--line);color:var(--gold);vertical-align:middle;white-space:nowrap;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:500;display:inline-block}.btn{border:1px solid var(--line);background:var(--panel);width:26px;height:26px;color:var(--text);cursor:pointer;border-radius:6px;font-size:15px}.btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.gift-desc{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--teal-dim);color:var(--dim);border-radius:6px;margin:6px 0 0 30px;padding:8px 10px;font-size:12.5px;line-height:1.5}.checkbox-row{align-items:center;gap:8px;margin-bottom:8px;font-size:13.5px;display:flex}.checkbox-row input{accent-color:var(--teal);width:16px;height:16px}.expbtn{background:var(--teal-dim);border:1px solid var(--teal);color:var(--text-on-accent);cursor:pointer;border-radius:6px;margin-top:12px;padding:8px 16px;font-size:13.5px}.expbtn:hover{background:var(--teal);color:var(--accent-ink)}.mark{color:var(--gold)}.mnemo-head .mnemo-title{color:var(--violet);font-weight:700}.mnemo-head .mnemo-level{color:var(--gold);font-size:12.5px}.mnemo-remove{border:1px solid var(--line);background:var(--panel2);color:var(--dim);cursor:pointer;border-radius:6px;padding:4px 8px}:root{--nav-width:168px;--receipt-width:220px;--topbar-height:66px}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);padding:0;font-size:15px;overflow:hidden}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--line);background:var(--chrome);z-index:5;align-items:center;gap:16px;padding:0 20px;display:flex;position:relative}.brand{color:var(--text);align-items:center;gap:10px;min-width:190px;text-decoration:none;display:flex}.brand-mark{background:linear-gradient(145deg,var(--teal-dim),var(--chrome));border:1px solid var(--teal);border-radius:11px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:800;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:1.1px;font-size:12px}.topbar-spacer{flex:1}.save-status{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:flex}.save-status i{background:var(--green);border-radius:50%;width:7px;height:7px}.app-workspace{height:calc(100dvh - var(--topbar-height));grid-template-columns:var(--nav-width) minmax(0,1fr) var(--receipt-width);display:grid}body.nav-collapsed{--nav-width:60px}body.receipt-collapsed{--receipt-width:54px}.side-nav{border-right:1px solid var(--line);background:var(--chrome);flex-direction:column;height:100%;padding:13px 9px;display:flex;overflow:hidden}.nav-top{justify-content:space-between;align-items:center;gap:6px;padding:4px 5px 13px;display:flex}.nav-caption,.eyebrow{letter-spacing:1.4px;color:var(--subtle);font-size:10px;font-weight:750}.icon-control{border:1px solid var(--line);background:var(--panel2);width:29px;height:29px;color:var(--dim);cursor:pointer;border-radius:8px;font-size:18px}.nav-list{flex-direction:column;gap:5px;display:flex}.nav-item{width:100%;min-height:42px;color:var(--dim);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:0 10px;display:flex}.nav-item.is-active{background:var(--teal-wash);border-color:var(--teal-border);color:var(--text-on-accent)}.nav-glyph{text-align:center;flex:0 0 21px;width:21px;font-size:20px}.nav-label{font-size:12px;font-weight:650}.nav-list hr{background:var(--line);border:0;height:1px;margin:8px 3px}.nav-item-disabled{opacity:.4;cursor:default}body.nav-collapsed .nav-caption,body.nav-collapsed .nav-label{display:none}body.nav-collapsed .nav-item{justify-content:center;padding:0}.main-stage{min-width:0;height:100%;padding:26px clamp(16px,3vw,42px) 50px;overflow:auto}.workspace-view{width:min(100%,1040px);margin:0 auto}.workspace-view[hidden],.nav-item[hidden]{display:none!important}.page-heading{max-width:820px;margin:0 0 22px}.page-heading .eyebrow{color:var(--teal);margin-bottom:8px}.page-heading h1{margin:0 0 9px;font-size:clamp(27px,3vw,35px);line-height:1.12}.page-heading p{color:var(--dim);font-size:13px;line-height:1.6}.content-panel{background:linear-gradient(150deg,var(--panel),var(--panel-end));border:1px solid var(--line);border-radius:14px;margin:0 0 16px;padding:20px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{margin:4px 0 0;font-size:18px}.section-heading>span{color:var(--dim);font-size:10px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.mode-card{text-align:left;border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:12px;align-content:start;gap:5px;min-height:94px;padding:12px;display:grid}.mode-card.is-active{border:2px solid var(--teal);background:var(--teal-wash-strong);padding:11px}.mode-symbol,.rule-symbol{color:var(--teal);font-size:20px}.mode-card b,.rule-card b{font-size:14px}.mode-card span:not(.mode-symbol){color:var(--text-muted,var(--text));font-size:12px;line-height:1.4}.mode-card small{color:var(--gold);font-size:11px;font-weight:700}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.rule-card{border:1px solid var(--line);background:var(--panel2);text-align:left;cursor:pointer;border-radius:11px;flex-direction:column;align-items:flex-start;gap:6px;min-height:104px;padding:11px;display:flex}.rule-card.is-active{border:2px solid var(--teal);background:var(--teal-wash);padding:10px}.rule-card>span:not(.rule-symbol){color:var(--text-muted,var(--text));font-size:12px;line-height:1.4}.rule-card .rule-state{color:var(--dim);margin-top:auto;font-weight:700}.rule-card.is-active .rule-state{color:var(--teal)}#attributesPanel{margin-bottom:0}.profile-row{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-row label{color:var(--dim);font-size:12px}.profile-row select{min-width:280px}.attr-row{border-bottom:1px solid var(--line-muted);grid-template-columns:minmax(140px,1fr) minmax(100px,160px) 30px;align-items:center;gap:12px;padding:8px 0;display:grid}.attr-row:last-child{border:0}.attr-name{width:auto}.attr-name b{font-size:13px}select,input[type=search],textarea{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;outline:none;padding:9px 10px}.hint{color:var(--dim);margin-top:9px;font-size:11px;line-height:1.5}.catalog-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.catalog-toolbar>span{color:var(--dim);font-size:10px}.search-box{border:1px solid var(--line);background:var(--panel);max-width:460px;color:var(--dim);border-radius:9px;flex:1;align-items:center;gap:8px;padding:0 11px;display:flex}.search-box input{background:0 0;border:0;width:100%;padding:11px 0}#skills{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:12px;display:grid}.class-catalog-card,.class-sheet-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;min-width:0;overflow:hidden}.class-catalog-card.is-selected,.class-sheet-card.is-selected{border-color:var(--teal-border-strong)}.class-catalog-head,.class-sheet-head{cursor:pointer;align-items:center;gap:10px;min-height:76px;padding:12px;list-style:none;display:flex}.class-catalog-head::-webkit-details-marker{display:none}.class-sheet-head::-webkit-details-marker{display:none}.class-crest{background:var(--surface-strong);border:1px solid var(--line-strong);width:38px;height:38px;color:var(--teal);border-radius:11px;flex:0 0 38px;place-items:center;font-size:19px;font-weight:800;display:grid}.class-catalog-name{flex:1;gap:4px;min-width:0;display:grid}.class-catalog-name .cname{color:var(--text);font-size:14px;font-weight:750}.class-meta{color:var(--dim);font-size:11px;line-height:1.35}.class-catalog-state{color:var(--dim);white-space:nowrap;font-size:10px}.class-chevron{color:var(--dim);flex:none;font-size:18px}.class-catalog-card[open] .class-chevron,.class-sheet-card[open] .class-chevron{transform:rotate(180deg)}.class-intro{color:var(--dim);padding:0 0 8px;font-size:12px;line-height:1.5}.class-sheet-perk{color:var(--dim);padding:0 0 10px;font-size:12px;line-height:1.5}.class-catalog-card[open]{z-index:1002;border-color:var(--teal-border-strong);background:var(--surface);width:min(860px,100vw - 40px);max-height:min(82vh,900px);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 90px #000b}body:has(.class-catalog-card[open]):before{content:"";-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1001;background:#030914c9;position:fixed;inset:0}.class-catalog-card[open] .class-intro{font-size:13px}.class-sheet-card[open]{grid-column:1/-1}.class-sheet-card .skill-card{margin-bottom:9px}.class-catalog-card .skill-card{margin:0 0 8px}.class-block{border:1px solid var(--teal-border-soft);background:var(--teal-wash-soft);border-radius:11px;margin-bottom:12px;padding:12px}.class-head{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.class-head .cname{color:var(--teal);font-weight:750}.class-head .clvl{color:var(--gold);text-align:right;font-size:11px}.skill-card{border:1px solid var(--line);background:var(--panel2);border-radius:9px;margin-bottom:9px;padding:12px}.skill-card.is-selected{border-color:var(--teal-border);background:var(--teal-wash-strong)}.skill-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.skill-title{color:var(--text);font-size:13px;font-weight:700}.skill-title .en{color:var(--dim);font-size:10px;font-weight:400}.skill-cap{border:1px solid var(--line);color:var(--gold);border-radius:4px;margin-left:4px;padding:1px 5px;font-size:9px}.sl-badge{color:var(--gold);white-space:nowrap;font-size:11px}.skill-action{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;width:30px;height:30px;font-size:17px}.skill-add{color:var(--teal);border-color:var(--teal-border-soft);background:var(--teal-wash-soft)}.skill-action:disabled{opacity:.25;cursor:default}.skill-desc{color:var(--dim);margin-top:8px;font-size:12px;line-height:1.6}.skill-desc .eff{color:var(--text)}.trig{color:var(--gold);margin-top:6px;font-size:11px}.gift-row .num{width:18px;color:var(--gold)}.gift-desc{border:1px solid var(--line);border-left:3px solid var(--teal-dim);background:var(--panel2);color:var(--dim);border-radius:7px;margin:7px 0 0 26px;padding:9px 11px;font-size:11px;line-height:1.5}details.ref summary{cursor:pointer;color:var(--gold);font-size:11px}.ref-item{border-top:1px solid var(--line);color:var(--dim);padding:7px 4px;font-size:11px}.primary-button,.secondary-button,.sheet-open-button{border:1px solid var(--teal-dim);background:var(--teal-wash);color:var(--text-on-accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:12px;font-weight:700;display:inline-flex}.secondary-button{background:var(--panel2);border-color:var(--line);color:var(--text)}.sheet-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.detail-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.detail-stat{border:1px solid var(--line);background:var(--panel2);border-radius:8px;gap:5px;padding:11px;display:grid}.detail-stat span{color:var(--dim);font-size:10px}.detail-stat strong{font-size:20px}.breakdown{border-top:1px dashed var(--line);color:var(--dim);margin-top:12px;padding-top:10px;font-size:11px;line-height:1.7}.breakdown b{color:var(--text)}.sheet-counters{color:var(--dim);flex-wrap:wrap;gap:17px;font-size:11px;display:flex}.sheet-counters b{color:var(--teal)}.note{color:var(--dim);border-left:3px solid var(--teal-dim);margin:9px 0 12px;padding-left:9px;font-size:11px;line-height:1.5}.valid{border:1px solid;border-radius:8px;padding:11px;font-size:12px;line-height:1.5}.valid.ok{color:var(--green);border-color:var(--green);background:var(--green-wash)}.valid.warn{color:var(--gold);border-color:var(--gold);background:var(--gold-wash)}.field-label{color:var(--dim);margin:11px 0 5px;font-size:11px;display:block}#quirkChoice,#zeroTrigger,#zeroEffect{width:100%}.dynamic-choices{gap:9px;margin-top:12px;display:grid}.notes-label{color:var(--dim);gap:5px;margin-top:12px;font-size:11px;display:grid}.notes-label textarea{width:100%}.receipt-panel{border-left:1px solid var(--line);background:var(--chrome);height:100%;padding:12px 11px;overflow:auto}.receipt-header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.receipt-heading{align-items:center;gap:8px;font-size:12px;display:flex}.mini-stats{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.mini-stat{border:1px solid var(--line);background:var(--panel2);border-radius:8px;justify-items:center;gap:3px;padding:8px 2px;display:grid}.mini-stat b{font-size:18px}.mini-stat small{color:var(--dim);font-size:9px}.hp-stat b{color:var(--hp)}.mp-stat b{color:var(--mp)}.ip-stat b{color:var(--gold)}.receipt-level{color:var(--dim);justify-content:space-between;gap:8px;padding-top:9px;font-size:10px;display:flex}.receipt-level b{color:var(--text);font-size:12px}.receipt-panel hr{background:var(--line);border:0;height:1px;margin:12px 0}.receipt-section-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;width:100%;font-size:12px;font-weight:750;display:flex}.receipt-section-toggle span:last-child{color:var(--dim);margin-left:auto}.receipt-count{border:1px solid var(--teal-border-soft);color:var(--teal);border-radius:7px;padding:4px 7px}.receipt-list{gap:5px;margin-top:8px;display:grid}.receipt-class{border:1px solid var(--line);border-radius:7px;overflow:hidden}.receipt-class-toggle{background:var(--panel2);text-align:left;cursor:pointer;border:0;gap:6px;width:100%;padding:8px;font-size:10px;display:flex}.receipt-class-toggle small{color:var(--gold);margin-left:auto}.receipt-skills{background:var(--panel2);gap:5px;padding:7px;display:grid}.receipt-skills>div{color:var(--dim);justify-content:space-between;gap:5px;font-size:10px;display:flex}.receipt-skills small{color:var(--teal)}.receipt-empty{color:var(--dim);font-size:10px}.receipt-extra-title{letter-spacing:1px;color:var(--subtle);margin-bottom:7px;font-size:9px;font-weight:750}.receipt-selected{color:var(--dim);gap:6px;font-size:10px;display:grid}.receipt-tag{align-items:center;gap:6px;display:flex}.receipt-tag span:first-child{color:var(--teal)}.sheet-open-button{width:100%;margin-top:16px;font-size:11px}body.receipt-collapsed .receipt-heading,body.receipt-collapsed .receipt-content{display:none}body.receipt-collapsed .receipt-header{justify-content:center;margin:0}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--dim);border-radius:11px;padding:26px}.empty-state b{color:var(--text);margin-bottom:8px;display:block}.toast{z-index:20;opacity:0;border:1px solid var(--gold);background:var(--panel);max-width:calc(100vw - 30px);color:var(--gold);border-radius:10px;padding:12px 16px;font-size:12px;transition:opacity .18s,transform .18s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);box-shadow:0 12px 35px #0000004d}.toast[hidden]{display:none}.toast-visible{opacity:1;transform:translate(-50%)}.compat-controls,.compat-panels{clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#classSlots{display:none}.mnemo-block{border:1px solid var(--violet);background:var(--violet-wash-soft);border-radius:10px;margin:10px 0;padding:11px}.mnemo-title{color:var(--violet);font-weight:700}.mnemo-level{color:var(--gold);font-size:11px}.mnemo-head select{min-width:160px;max-width:100%}.mnemo-remove{border:1px solid var(--line);background:var(--panel2);color:var(--dim);border-radius:6px;padding:5px 8px}.heroic-slot{border:1px dashed var(--gold);background:var(--gold-wash-soft);border-radius:8px;margin:9px 0;padding:10px}.heroic-slot .heroic-status{margin-top:6px;font-size:11px}@media (width<=1120px){:root{--nav-width:60px;--receipt-width:200px}.nav-caption,.nav-label{display:none}.nav-item{justify-content:center;padding:0}}@media (width<=820px){body{overflow:auto}.app-workspace{height:auto;min-height:calc(100dvh - var(--topbar-height));grid-template-columns:52px minmax(0,1fr)}.side-nav{height:calc(100dvh - var(--topbar-height));align-self:start;position:sticky;top:0}.receipt-panel{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;height:auto;max-height:330px}.main-stage{height:auto;min-height:calc(100dvh - var(--topbar-height));padding:18px 13px 30px;overflow:visible}.topbar{padding:0 12px}.save-status{max-width:48%;font-size:9px}.rule-grid{grid-template-columns:1fr}.rule-card{grid-template-columns:25px 1fr;align-items:center;min-height:88px;display:grid}.rule-card .rule-state{grid-column:2}.mode-grid{grid-template-columns:1fr}.sheet-heading{flex-direction:column;align-items:flex-start}.detail-stat-grid{grid-template-columns:repeat(2,1fr)}.class-catalog-content{padding-left:12px}}@media (width<=480px){.brand{min-width:0}.brand-copy small,.catalog-toolbar>span{display:none}.content-panel{padding:14px}.class-catalog-head{padding:11px}.class-catalog-state{display:none}.attr-row{grid-template-columns:minmax(90px,1fr) 105px 27px;gap:6px}.attr-name span{display:none}}.icon-control:hover,.secondary-button:hover,.mnemo-remove:hover{border-color:var(--line-strong);color:var(--text)}.class-catalog-card:hover{border-color:var(--line-strong)}.class-catalog-card.is-selected{border-color:var(--teal-border-strong)}.mode-card,.rule-card,.mode-card b,.rule-card b{color:var(--text)}.skill-title .en{color:var(--dim);font-size:12px}.skill-cap{font-size:11px}.sl-badge,.trig{font-size:12px}.gift-desc,.ref-item,.mnemo-muted,.mnemo-locked{color:var(--dim);font-size:12px;line-height:1.55}.class-meta,.class-catalog-state{color:var(--dim);font-size:12px}.nav-label{font-size:13px}.receipt-panel{color:var(--text)}.receipt-panel small,.receipt-empty,.receipt-selected{color:var(--dim)}.eyebrow,.nav-caption{color:var(--subtle)}.field-label,.notes-label,.heroic-slot .heroic-options label,.heroic-slot .heroic-source{color:var(--dim);font-size:12px}select{min-width:0;max-width:100%}.profile-row{flex-wrap:wrap;min-width:0}.profile-row select{flex:180px;width:min(100%,360px);min-width:0}.attr-row{min-width:0}.attr-row select{width:100%;min-width:0}.app-workspace,.main-stage,.workspace-view,.content-panel{min-width:0}@media (width<=820px){.app-workspace{grid-template-columns:52px minmax(0,1fr)}.main-stage,.workspace-view{width:100%;max-width:100%}.profile-row{flex-direction:column;align-items:flex-start;gap:7px}.profile-row select{flex:0 auto;width:100%}.attr-row{grid-template-columns:minmax(0,1fr) minmax(82px,105px) 24px;gap:6px}.rule-card{grid-template-columns:25px minmax(0,1fr);gap:7px;min-height:0;padding:12px}.rule-card>span:not(.rule-symbol){overflow-wrap:anywhere;grid-column:2}.rule-card .rule-state{grid-column:2;margin-top:0}}@media (width<=480px){.content-panel{min-width:0}.attr-row{grid-template-columns:minmax(0,1fr) minmax(72px,92px) 22px}.attr-name{min-width:0}.attr-name b{font-size:13px}.topbar,.save-status{min-width:0}}#skills:not([data-sheet]){align-items:stretch}#skills:has(.class-catalog-card){grid-auto-rows:1fr;align-items:stretch}.class-catalog-card{flex-direction:column;height:100%;min-height:116px;display:flex}.class-catalog-card:not([open]) .class-catalog-head{flex:1;align-items:center;min-height:116px}.class-catalog-head{gap:12px;min-width:0}.class-catalog-head .cname{overflow-wrap:anywhere;font-size:16px;line-height:1.2}.class-catalog-head .class-meta{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.class-catalog-head .class-catalog-state{white-space:normal;text-align:right;flex:none;max-width:78px;font-size:12px;line-height:1.25}.class-catalog-head .class-crest{flex-basis:40px;width:40px;height:40px}.class-catalog-head .class-chevron{flex:0 0 18px}.class-catalog-card[open]{height:auto;display:block}@media (width<=820px){#skills:has(.class-catalog-card){grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.class-catalog-card:not([open]) .class-catalog-head{min-height:104px}.class-catalog-head .cname{font-size:16px}.class-catalog-head .class-meta{font-size:13px}}@media (width<=480px){.class-catalog-head{gap:9px}.class-catalog-head .class-crest{flex-basis:36px;width:36px;height:36px}.class-catalog-head .class-catalog-state{max-width:66px;font-size:11px;display:block}}.receipt-class-toggle,.receipt-class-toggle>span:first-child{color:var(--text)}.receipt-class-toggle small{color:var(--gold)}.catalog-intro{color:var(--dim);margin:0 0 2px;font-size:13px;line-height:1.55}.optional-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));align-items:stretch;gap:12px;display:grid}.optional-catalog-section{gap:12px;display:grid}.optional-section-heading{gap:5px;margin-top:4px;display:grid}.optional-section-heading h2{color:var(--text);font-size:20px;line-height:1.2}.optional-section-heading p{color:var(--dim);font-size:13px}.optional-catalog-card{min-width:0;min-height:116px;margin:0}.optional-catalog-card:not([open]) .class-catalog-head{min-height:116px}.optional-catalog-card .class-catalog-head{align-items:center}.optional-catalog-card .class-catalog-name{flex:1 1 0;min-width:0}.optional-catalog-card .cname{overflow-wrap:anywhere;font-size:16px;line-height:1.25}.optional-catalog-card .class-meta{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.optional-catalog-card .class-crest{flex-basis:40px;width:40px;height:40px}.optional-catalog-card .class-catalog-state{flex:none;font-size:12px}.optional-catalog-card[open]{height:auto;display:block}.optional-catalog-card .class-detail-content{gap:12px;display:grid}.optional-description{color:var(--dim);white-space:pre-line;font-size:14px;line-height:1.65}.optional-bonus{border-left:3px solid var(--gold);background:var(--gold-wash-soft);color:var(--gold);padding:9px 11px;font-size:13px;line-height:1.5}.optional-choices{border:1px solid var(--line);background:var(--panel2);border-radius:9px;gap:12px;padding:12px;display:grid}.optional-choices .field-label,.optional-choices .hint{color:var(--dim);margin:0 0 6px;font-size:13px;font-weight:650}.optional-choices select{width:100%}.quirk-choice,.zero-choice{gap:6px;display:grid}.optional-catalog-card .notes-label{color:var(--dim);gap:7px;font-size:13px;line-height:1.45;display:grid}.optional-catalog-card textarea{border:1px solid var(--line);background:var(--panel2);width:100%;min-height:78px;color:var(--text);resize:vertical;border-radius:8px;padding:9px 10px}.optional-catalog-card .primary-button,.optional-catalog-card .secondary-button{justify-self:start}@media (width<=820px){.optional-catalog-grid{grid-template-columns:minmax(0,1fr)}.optional-catalog-card:not([open]) .class-catalog-head{min-height:104px}}@media (width<=480px){.optional-catalog-card .class-catalog-head{gap:9px}.optional-catalog-card .class-crest{flex-basis:36px;width:36px;height:36px}.optional-catalog-card .class-catalog-state{white-space:normal;text-align:right;max-width:66px}.optional-description{font-size:13.5px}}.quirk-catalog-card .primary-button,.quirk-catalog-card .secondary-button{border-radius:7px;min-height:0;padding:6px 10px;font-size:11px;line-height:1.25}.class-catalog-card:not([open]) .class-catalog-head{padding-bottom:30px;position:relative}.class-catalog-head .class-catalog-state.picked{z-index:1;white-space:nowrap;text-align:right;pointer-events:none;max-width:none;font-size:11px;line-height:1.15;position:absolute;bottom:8px;right:14px}.class-catalog-head .class-catalog-name{align-self:center}.receipt-panel{font-size:13px}.receipt-heading{font-size:14px}.receipt-section-toggle{font-size:13px}.receipt-level{font-size:12px}.receipt-level b{font-size:13px}.mini-stat small{font-size:11px}.receipt-class-toggle{font-size:12px}.receipt-class-toggle small{font-size:11px}.receipt-skills>div{font-size:12px}.receipt-skills small{font-size:11px}.receipt-empty{font-size:12px}.receipt-extra-title{letter-spacing:.7px;font-size:11px}.receipt-selected,.receipt-tag,.sheet-open-button{font-size:12px}@media (width<=1100px){.receipt-panel{padding:11px 9px}.receipt-heading{font-size:13px}.receipt-section-toggle{font-size:12px}.receipt-level,.receipt-class-toggle,.receipt-skills>div{font-size:11px}}@media (width<=480px){.class-catalog-card:not([open]) .class-catalog-head{padding-bottom:29px}.class-catalog-head .class-catalog-state.picked{font-size:10px;bottom:7px;right:12px}}.sheet-optional-link{border:1px solid var(--line);background:var(--surface);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:13px;display:flex}.sheet-optional-copy{gap:5px;min-width:0;display:grid}.sheet-optional-copy b{color:var(--text);overflow-wrap:anywhere;font-size:14px}.sheet-optional-copy span{color:var(--dim);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.sheet-optional-link .secondary-button{flex:none}@media (width<=560px){.sheet-optional-link{flex-direction:column;align-items:flex-start}}.class-catalog-card[open].is-opening{transform-origin:50%;animation:.24s cubic-bezier(.2,.8,.2,1) both class-modal-flyout}@keyframes class-modal-flyout{0%{transform:translate(calc(-50% + var(--modal-from-x,0px)),calc(-50% + var(--modal-from-y,0px))) scale(var(--modal-from-scale,.3));opacity:.84}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}body:has(.class-catalog-card[open]):before{animation:.18s ease-out both class-modal-backdrop}@keyframes class-modal-backdrop{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.class-catalog-card[open].is-opening{animation:none!important}body:has(.class-catalog-card[open]):before{animation:none!important}}.book-catalog[hidden]{display:none!important}.book-catalog{z-index:20000;color:var(--text);position:fixed;inset:0}.book-catalog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#16251cad;place-items:center;padding:clamp(10px,2.4vw,28px);display:grid;position:absolute;inset:0}.book-catalog-page{transform-origin:0;background:linear-gradient(90deg,#486f520b,#0000 4.5% 95.5%,#486f520b),#fffdf6;border:1px solid #c5d2c5;border-radius:5px;flex-direction:column;width:min(1160px,100vw - 28px);min-height:min(520px,88vh);max-height:min(92vh,1100px);display:flex;overflow:hidden;box-shadow:0 28px 90px #08140c61,inset 0 0 0 7px #ffffffb8}.book-catalog.is-opening .book-catalog-page,.book-catalog.is-opening .book-catalog-page{animation:.36s cubic-bezier(.2,.75,.2,1) both book-catalog-turn-in}.book-catalog.is-leaving .book-catalog-page{animation:.26s cubic-bezier(.5,0,.8,.3) both book-catalog-turn-out}@keyframes book-catalog-turn-in{0%{opacity:0;transform:perspective(1800px)rotateY(-9deg)translate(34px)scale(.985)}to{opacity:1;transform:perspective(1800px)rotateY(0)translate(0)scale(1)}}@keyframes book-catalog-turn-out{0%{opacity:1;transform:perspective(1800px)rotateY(0)translate(0)scale(1)}to{opacity:0;transform:perspective(1800px)rotateY(7deg)translate(28px)scale(.99)}}body.book-catalog-open{overflow:hidden}.book-catalog-header{color:#fff;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%2096'%20preserveAspectRatio='none'%3e%3cg%20fill='none'%20stroke='%23d9eadc'%20stroke-width='1.15'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.48'%3e%3cpath%20d='M0%208%20C42%208%2042%2030%2076%2030%20C101%2030%20108%2015%20127%2015%20C146%2015%20151%2032%20169%2032%20C185%2032%20191%2022%20204%2022%20C220%2022%20224%2042%20245%2042%20C265%2042%20274%2028%20292%2028%20C312%2028%20320%2050%20343%2050%20C368%2050%20375%2030%20398%2030%20C420%2030%20426%2054%20450%2054%20C475%2054%20481%2036%20504%2036%20C524%2036%20535%2048%20553%2048'/%3e%3cpath%20d='M1200%208%20C1158%208%201158%2030%201124%2030%20C1099%2030%201092%2015%201073%2015%20C1054%2015%201049%2032%201031%2032%20C1015%2032%201009%2022%20996%2022%20C980%2022%20976%2042%20955%2042%20C935%2042%20926%2028%20908%2028%20C888%2028%20880%2050%20857%2050%20C832%2050%20825%2030%20802%2030%20C780%2030%20774%2054%20750%2054%20C725%2054%20719%2036%20696%2036%20C676%2036%20665%2048%20647%2048'/%3e%3cpath%20d='M0%2088%20C55%2088%2058%2066%2091%2066%20C117%2066%20120%2080%20139%2080%20C158%2080%20164%2061%20184%2061%20C206%2061%20211%2077%20232%2077%20C253%2077%20260%2057%20283%2057%20C305%2057%20313%2075%20337%2075%20C360%2075%20368%2058%20390%2058%20C412%2058%20420%2076%20443%2076%20C468%2076%20477%2062%20499%2062'/%3e%3cpath%20d='M1200%2088%20C1145%2088%201142%2066%201109%2066%20C1083%2066%201080%2080%201061%2080%20C1042%2080%201036%2061%201016%2061%20C994%2061%20989%2077%20968%2077%20C947%2077%20940%2057%20917%2057%20C895%2057%20887%2075%20863%2075%20C840%2075%20832%2058%20810%2058%20C788%2058%20780%2076%20757%2076%20C732%2076%20723%2062%20701%2062'/%3e%3cpath%20d='M80%2030%20C66%2012%2062%204%2063%200%20M80%2030%20C96%2014%20105%2012%20116%2013%20M169%2032%20C155%2048%20151%2056%20153%2065%20M169%2032%20C184%2012%20194%208%20205%208%20M292%2028%20C279%2010%20269%205%20257%205%20M292%2028%20C310%2012%20322%2012%20333%2017%20M398%2030%20C383%2048%20379%2059%20382%2068%20M398%2030%20C416%2012%20428%2010%20439%2015'/%3e%3cpath%20d='M1120%2030%20C1134%2012%201138%204%201137%200%20M1120%2030%20C1104%2014%201095%2012%201084%2013%20M1031%2032%20C1045%2048%201049%2056%201047%2065%20M1031%2032%20C1016%2012%201006%208%20995%208%20M908%2028%20C921%2010%20931%205%20943%205%20M908%2028%20C890%2012%20878%2012%20867%2017%20M802%2030%20C817%2048%20821%2059%20818%2068%20M802%2030%20C784%2012%20772%2010%20761%2015'/%3e%3c/g%3e%3cg%20fill='%23d9eadc'%20opacity='.55'%3e%3cpath%20d='M63%200%20C48%202%2046%2013%2061%2018%20C70%2011%2069%205%2063%200Z%20M116%2013%20C112%200%20123%20-3%20132%205%20C129%2015%20121%2018%20116%2013Z%20M257%205%20C244%20-2%20237%207%20247%2017%20C258%2015%20262%2010%20257%205Z%20M333%2017%20C336%203%20348%204%20351%2015%20C344%2024%20337%2024%20333%2017Z'/%3e%3cpath%20d='M1137%200%20C1152%202%201154%2013%201139%2018%20C1130%2011%201131%205%201137%200Z%20M1084%2013%20C1088%200%201077%20-3%201068%205%20C1071%2015%201079%2018%201084%2013Z%20M943%205%20C956%20-2%20963%207%20953%2017%20C942%2015%20938%2010%20943%205Z%20M867%2017%20C864%203%20852%204%20849%2015%20C856%2024%20863%2024%20867%2017Z'/%3e%3c/g%3e%3c/svg%3e") 50%/cover no-repeat,linear-gradient(110deg,#32664f,#244b39);border-bottom:4px solid #d6e4d8;flex:none;justify-content:space-between;align-items:center;gap:18px;padding:clamp(18px,2.4vw,30px) clamp(20px,3vw,38px) 18px;display:flex}.book-catalog-eyebrow{letter-spacing:.17em;color:#e1eee4;text-transform:uppercase;margin-bottom:5px;font:600 10px/1.4 Oswald,Arial Narrow,sans-serif;display:block}.book-catalog-header h2{color:#fff;margin:0;font:600 clamp(28px,3.5vw,42px)/1.04 Cormorant Garamond,Georgia,serif}.book-catalog-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff73;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font:300 28px/1 Arial,sans-serif;display:grid}.book-catalog-close:hover{background:#ffffff3b}.book-catalog-body{overscroll-behavior:contain;padding:clamp(17px,2.5vw,30px) clamp(18px,3vw,38px);overflow:auto}.book-catalog-intro{color:#53645a;max-width:88ch;margin:0 0 18px;font-size:14px;line-height:1.65}.book-catalog-toolbar{z-index:2;background:linear-gradient(#fffdf6 82%,#fffdf600);align-items:center;gap:14px;padding:8px 0 13px;display:flex;position:sticky;top:-1px}.book-catalog-search{background:#fff;border:1px solid #cbd8cd;border-radius:4px;flex:1;align-items:center;gap:9px;max-width:540px;padding:0 13px;display:flex}.book-catalog-search>span{color:#477158;font-size:22px}.book-catalog-search input{width:100%;min-width:0;height:42px;font-size:14px;box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.book-catalog-count{color:#64746a;letter-spacing:.08em;text-transform:uppercase;font:500 11px Oswald,Arial Narrow,sans-serif}.book-catalog-group{margin:8px 0 23px}.book-catalog-group-title{color:#32664f;border-bottom:1px solid #d6e1d7;margin:0 0 11px;padding:0 0 7px;font:500 20px Cormorant Garamond,Georgia,serif}.book-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.book-catalog-entry{background:#ffffffd1;border:1px solid #dce5dd;border-radius:4px;min-width:0;box-shadow:0 1px 4px #23432e09}.book-catalog-entry.is-selected{background:#f3f8f3;border-color:#558768}.book-catalog-entry-action,.book-catalog-entry-content{text-align:left;flex-direction:column;align-items:flex-start;gap:7px;width:100%;min-height:100%;padding:13px 15px;display:flex}.book-catalog-entry-action{color:inherit;cursor:pointer;background:0 0;border:0}.book-catalog-entry-action:hover:not(:disabled){background:#f5f9f5}.book-catalog-entry-action:disabled{cursor:not-allowed;opacity:.53}.book-catalog-entry strong{color:#263d2d;font:600 19px/1.12 Cormorant Garamond,Georgia,serif}.book-catalog-entry-en{color:#738278;letter-spacing:.08em;text-transform:uppercase;font:500 10px Oswald,Arial Narrow,sans-serif}.book-catalog-entry-meta{color:#4f765b;font-size:11px;font-weight:650;line-height:1.4}.book-catalog-entry p{color:#56635a;margin:0;font-size:12px;line-height:1.55}.book-catalog-entry-status{color:#32664f;font-size:11px;font-weight:700}.book-catalog-entry-status.is-muted{color:#8a7662}.book-catalog-entry-extra{border-top:1px solid #e5ebe5;gap:5px;width:100%;padding-top:7px;display:grid}.book-catalog-entry-extra p{margin:0}.book-catalog-entry-select{color:#32664f;letter-spacing:.1em;text-transform:uppercase;align-self:flex-end;margin-top:auto;padding-top:6px;font:600 10px Oswald,Arial Narrow,sans-serif}.book-catalog-empty{text-align:center;color:#68766c;padding:26px}.book-catalog-notes{background:#f7faf6;border:1px solid #d9e3da;border-left:3px solid #659174;margin:18px 0 8px;padding:15px 17px}.book-catalog-notes h3{color:#32664f;margin:0 0 8px;font:500 19px Cormorant Garamond,Georgia,serif}.book-catalog-notes h3:not(:first-child){margin-top:15px}.book-catalog-notes p{color:#55635a;margin:6px 0;font-size:12px;line-height:1.55}.book-catalog-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.book-catalog-rule-grid p{background:#fff;border:1px solid #e0e8e0;margin:0;padding:9px}.book-catalog-rule-grid b,.book-catalog-rule-grid span{display:block}.book-catalog-rule-grid b{color:#32664f;font-size:12px}.book-catalog-rule-grid span{margin-top:4px;font-size:11px}.book-catalog-footer{background:#f8faf6;border-top:1px solid #d6e1d7;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(18px,3vw,38px);display:flex}.book-catalog-footer>span{color:#728076;text-align:right;font-size:11px}.book-catalog-footer .secondary-button{min-height:40px}.book-pick-list{gap:8px;margin-top:12px;display:grid}.book-pick-row{border:1px solid var(--line);background:var(--surface);border-radius:4px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.book-pick-row>.num{color:var(--book-accent);font-weight:700}.book-pick-current{flex:1;gap:2px;min-width:0;display:grid}.book-pick-current strong{overflow-wrap:anywhere;color:var(--text);font-size:13px}.book-pick-current span{color:var(--dim);font-size:10px}.book-pick-open,.book-reference-open{color:#2e6749;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#f5faf5;border:1px solid #8caf97;border-radius:3px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font:600 11px Oswald,Arial Narrow,sans-serif;display:inline-flex}.book-pick-open:hover,.book-reference-open:hover{background:#e8f2e9;border-color:#548466}.book-pick-note{color:var(--dim);margin:8px 0 0;font-size:11px;line-height:1.5}.book-reference-launch{border:1px solid #d7e2d8;border-left:3px solid var(--book-accent);background:#f8fbf7;border-radius:3px;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding:12px;display:flex}.book-reference-launch>span{gap:4px;min-width:0;display:grid}.book-reference-launch strong{color:var(--book-accent-dark);font:600 17px Cormorant Garamond,Georgia,serif}.book-reference-launch small{color:var(--dim);font-size:11px}@media (width<=680px){.book-catalog-backdrop{padding:0}.book-catalog-page{border:0;border-radius:0;width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh}.book-catalog-grid{grid-template-columns:minmax(0,1fr)}.book-catalog-body{padding:16px}.book-catalog-header{padding:17px 18px 14px}.book-catalog-header h2{font-size:30px}.book-catalog-toolbar{align-items:stretch}.book-catalog-rule-grid{grid-template-columns:1fr}.book-catalog-footer{flex-direction:column;align-items:stretch}.book-catalog-footer>span{text-align:left}.book-pick-row{flex-wrap:wrap;align-items:flex-start}.book-pick-current{flex:calc(100% - 28px)}.book-pick-open,.book-reference-open{width:100%;min-height:42px}.book-reference-launch{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.book-catalog.is-opening .book-catalog-page,.book-catalog.is-leaving .book-catalog-page{animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f8f5;--chrome:#fff;--panel:#fff;--panel-end:#f7fbf8;--panel2:#f5f9f6;--surface:#fff;--surface-strong:#e8f2eb;--line:#dbe9df;--line-strong:#adcbb8;--line-muted:#507c5e38;--text:#253029;--dim:#56645c;--subtle:#78877e;--book-accent:#32664f;--book-accent-dark:#244b39;--book-accent-soft:#3a705217;--book-accent-wash:#3a705224;--book-accent-line:#3a70526b;--teal:var(--book-accent);--teal-dim:var(--book-accent-dark);--text-on-accent:#fff;--accent-ink:#fff;--teal-wash:var(--book-accent-soft);--teal-wash-strong:var(--book-accent-wash);--teal-wash-soft:#3a70520b;--teal-border:var(--book-accent-line);--teal-border-strong:#3a7052a6;--teal-border-soft:#3a705238;--gold:#94804f;--gold-wash:#94804f1a;--gold-wash-soft:#94804f0e;--violet:#75648e;--violet-wash:#75648e1a;--violet-wash-soft:#75648e0e;--green:#47785d;--green-wash:#47785d17;--red:#b34639;--hp:#b34639;--mp:#416d8e;--nav-width:178px;--receipt-width:236px;--topbar-height:68px}html,body{background:var(--bg);color:var(--text)}body{background:radial-gradient(ellipse at 0% 0%,#3a705209,transparent 32rem), var(--bg);font-family:Roboto Condensed,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}h1,.page-heading h1,.class-overview-heading h2{letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-weight:600}a{color:var(--book-accent-dark)}::selection{color:var(--text);background:#3a70522e}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--book-accent);outline-offset:3px}.topbar{border-bottom:2px solid var(--book-accent);background:#fff;box-shadow:0 2px 10px #253a2c0b}.brand{color:var(--text)}.brand-mark{background:var(--book-accent);border:1px solid var(--book-accent-dark);color:#fff;border-radius:3px;font-family:Cormorant Garamond,Georgia,serif;box-shadow:inset 0 0 0 3px #ffffff24}.brand-copy strong{color:var(--book-accent-dark);letter-spacing:.13em;font-family:Oswald,Arial Narrow,sans-serif}.brand-copy small{color:var(--dim);font-size:11px}.save-status{color:var(--dim)}.app-workspace{background:0 0}.side-nav,.receipt-panel{border-color:var(--line);background:#fff}.side-nav{box-shadow:1px 0 8px #253a2c06}.nav-caption,.eyebrow{color:var(--book-accent-dark);letter-spacing:.13em;font-family:Oswald,Arial Narrow,sans-serif}.nav-item{color:var(--dim);border-radius:3px}.nav-item:hover{background:var(--book-accent-soft);color:var(--text)}.nav-item.is-active{color:var(--book-accent-dark);box-shadow:inset 3px 0 var(--book-accent);background:linear-gradient(90deg,#3a705221,#3a705209);border-color:#3a705233}.nav-glyph{color:var(--book-accent)}.icon-control{border-color:var(--line);background:var(--panel2);color:var(--dim);border-radius:3px}.icon-control:hover{border-color:var(--book-accent);color:var(--book-accent-dark);background:#fff}.main-stage{background:0 0}.workspace-view{max-width:1240px}.page-heading{max-width:980px;margin-bottom:26px}.page-heading .eyebrow{color:var(--book-accent)}.page-heading h1{color:var(--book-accent-dark);letter-spacing:.02em;text-shadow:none;font-size:clamp(32px,3.2vw,46px);line-height:1.03}.page-heading p{color:var(--dim);max-width:78ch;font-size:14px;line-height:1.65}.content-panel{border:1px solid var(--line);background:#fff;border-radius:3px;padding:clamp(16px,1.8vw,24px);position:relative;box-shadow:0 2px 8px #253a2c09}.content-panel:before{content:"";background:linear-gradient(180deg,var(--book-accent),#3a705200);opacity:.65;width:2px;position:absolute;top:0;bottom:0;left:0}.section-heading{margin-bottom:18px}.section-heading .eyebrow{color:var(--book-accent)}.section-heading h2,.optional-section-heading h2{color:var(--text);letter-spacing:.045em;font-family:Oswald,Arial Narrow,sans-serif;font-weight:500}.section-heading>span{color:var(--dim)}.mode-card,.rule-card{border:1px solid var(--line);color:var(--text);background:linear-gradient(#fff,#f7fbf8);border-radius:3px;transition:border-color .16s,background .16s,transform .16s}.mode-card:hover,.rule-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.mode-card.is-active,.rule-card.is-active{border:1px solid var(--book-accent);background:linear-gradient(145deg,#3a705218,#3a705206);box-shadow:inset 0 0 0 1px #3a70520f}.mode-symbol,.rule-symbol{color:var(--book-accent)}.mode-card b,.rule-card b{color:var(--text);letter-spacing:.02em;font-family:Oswald,Arial Narrow,sans-serif}.mode-card span:not(.mode-symbol),.rule-card>span:not(.rule-symbol){color:var(--dim)}.mode-card small,.rule-card .rule-state,.rule-card.is-active .rule-state{color:var(--book-accent-dark)}select,input[type=search],textarea{color:var(--text);background:#fff;border:1px solid #d8e8dd;border-radius:3px;box-shadow:inset 0 1px 2px #253a2c06}select:hover,input[type=search]:hover,textarea:hover{border-color:var(--line-strong)}select:focus,input:focus,textarea:focus{border-color:var(--book-accent)}select option{color:var(--text);background:#fff}.search-box{border-color:var(--line);background:#fff;border-radius:3px}.search-box input{box-shadow:none;background:0 0}.search-box input::placeholder{color:#78877e}.catalog-toolbar>span{color:var(--subtle)}.profile-row label,.field-label,.notes-label,.hint,.catalog-intro,.optional-section-heading p{color:var(--dim)}#skills{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:13px}#skills:has(.class-catalog-card){grid-auto-rows:auto}.class-catalog-card,.class-sheet-card{border:1px solid var(--line);background:#fff;border-radius:3px;transition:border-color .16s,box-shadow .16s;box-shadow:0 2px 8px #253a2c09}.class-catalog-card:hover,.class-sheet-card:hover{border-color:var(--line-strong)}.class-catalog-card.is-selected,.class-sheet-card.is-selected{border-color:var(--book-accent);box-shadow:inset 0 0 0 1px #3a70521a}.class-catalog-head,.class-sheet-head{gap:12px;min-height:88px;padding:14px}.class-crest{color:var(--book-accent-dark);background:#edf5ef;border:1px solid #bfd8c8;border-radius:3px;font-family:Cormorant Garamond,Georgia,serif;font-size:23px;font-weight:600}.class-catalog-name{min-width:0}.class-catalog-name .cname{color:var(--text);letter-spacing:.01em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-family:Cormorant Garamond,Georgia,serif;font-size:21px;font-weight:600;line-height:1.12}.class-meta{color:var(--dim);overflow-wrap:normal;word-break:normal;font-size:12px;line-height:1.35}.class-catalog-state{color:var(--dim);font-size:11px}.class-catalog-state.picked{color:var(--book-accent-dark);font-weight:700}.class-chevron{color:var(--book-accent)}.class-catalog-card[open],.class-sheet-card[open]{border-color:var(--book-accent);box-shadow:0 18px 54px #253a2c2e}.class-catalog-card[open]{background:#fff;width:min(1120px,100vw - 48px);max-height:min(88vh,1020px)}body:has(.class-catalog-card[open]):before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b2d228f}body:has(.class-catalog-card[open]){overflow:hidden}.class-catalog-card[open] .class-detail-content{padding:0 18px 20px}.class-sheet-card[open]{background:#fff}.class-detail-content{padding:0 14px 14px}.class-detail-layout{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;min-width:0;display:grid}.class-overview{border-right:1px solid var(--line);background:#fff;align-self:start;min-width:0;padding:17px}.class-overview-heading{color:#fff;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%2096'%20preserveAspectRatio='none'%3e%3cg%20fill='none'%20stroke='%23d9eadc'%20stroke-width='1.15'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.48'%3e%3cpath%20d='M0%208%20C42%208%2042%2030%2076%2030%20C101%2030%20108%2015%20127%2015%20C146%2015%20151%2032%20169%2032%20C185%2032%20191%2022%20204%2022%20C220%2022%20224%2042%20245%2042%20C265%2042%20274%2028%20292%2028%20C312%2028%20320%2050%20343%2050%20C368%2050%20375%2030%20398%2030%20C420%2030%20426%2054%20450%2054%20C475%2054%20481%2036%20504%2036%20C524%2036%20535%2048%20553%2048'/%3e%3cpath%20d='M1200%208%20C1158%208%201158%2030%201124%2030%20C1099%2030%201092%2015%201073%2015%20C1054%2015%201049%2032%201031%2032%20C1015%2032%201009%2022%20996%2022%20C980%2022%20976%2042%20955%2042%20C935%2042%20926%2028%20908%2028%20C888%2028%20880%2050%20857%2050%20C832%2050%20825%2030%20802%2030%20C780%2030%20774%2054%20750%2054%20C725%2054%20719%2036%20696%2036%20C676%2036%20665%2048%20647%2048'/%3e%3cpath%20d='M0%2088%20C55%2088%2058%2066%2091%2066%20C117%2066%20120%2080%20139%2080%20C158%2080%20164%2061%20184%2061%20C206%2061%20211%2077%20232%2077%20C253%2077%20260%2057%20283%2057%20C305%2057%20313%2075%20337%2075%20C360%2075%20368%2058%20390%2058%20C412%2058%20420%2076%20443%2076%20C468%2076%20477%2062%20499%2062'/%3e%3cpath%20d='M1200%2088%20C1145%2088%201142%2066%201109%2066%20C1083%2066%201080%2080%201061%2080%20C1042%2080%201036%2061%201016%2061%20C994%2061%20989%2077%20968%2077%20C947%2077%20940%2057%20917%2057%20C895%2057%20887%2075%20863%2075%20C840%2075%20832%2058%20810%2058%20C788%2058%20780%2076%20757%2076%20C732%2076%20723%2062%20701%2062'/%3e%3cpath%20d='M80%2030%20C66%2012%2062%204%2063%200%20M80%2030%20C96%2014%20105%2012%20116%2013%20M169%2032%20C155%2048%20151%2056%20153%2065%20M169%2032%20C184%2012%20194%208%20205%208%20M292%2028%20C279%2010%20269%205%20257%205%20M292%2028%20C310%2012%20322%2012%20333%2017%20M398%2030%20C383%2048%20379%2059%20382%2068%20M398%2030%20C416%2012%20428%2010%20439%2015'/%3e%3cpath%20d='M1120%2030%20C1134%2012%201138%204%201137%200%20M1120%2030%20C1104%2014%201095%2012%201084%2013%20M1031%2032%20C1045%2048%201049%2056%201047%2065%20M1031%2032%20C1016%2012%201006%208%20995%208%20M908%2028%20C921%2010%20931%205%20943%205%20M908%2028%20C890%2012%20878%2012%20867%2017%20M802%2030%20C817%2048%20821%2059%20818%2068%20M802%2030%20C784%2012%20772%2010%20761%2015'/%3e%3c/g%3e%3cg%20fill='%23d9eadc'%20opacity='.55'%3e%3cpath%20d='M63%200%20C48%202%2046%2013%2061%2018%20C70%2011%2069%205%2063%200Z%20M116%2013%20C112%200%20123%20-3%20132%205%20C129%2015%20121%2018%20116%2013Z%20M257%205%20C244%20-2%20237%207%20247%2017%20C258%2015%20262%2010%20257%205Z%20M333%2017%20C336%203%20348%204%20351%2015%20C344%2024%20337%2024%20333%2017Z'/%3e%3cpath%20d='M1137%200%20C1152%202%201154%2013%201139%2018%20C1130%2011%201131%205%201137%200Z%20M1084%2013%20C1088%200%201077%20-3%201068%205%20C1071%2015%201079%2018%201084%2013Z%20M943%205%20C956%20-2%20963%207%20953%2017%20C942%2015%20938%2010%20943%205Z%20M867%2017%20C864%203%20852%204%20849%2015%20C856%2024%20863%2024%20867%2017Z'/%3e%3c/g%3e%3c/svg%3e") 50%/100% 100% no-repeat,linear-gradient(105deg,#346b51,#28553e);border-bottom:3px solid #d2e6d8;margin:-17px -17px 17px;padding:15px 18px 14px}.class-kicker{color:#eff7f1;letter-spacing:.14em;text-transform:uppercase;font-family:Oswald,Arial Narrow,sans-serif;font-size:10px;line-height:1.35;display:block}.class-overview-heading h2{color:#fff;margin:6px 0 3px;font-size:clamp(34px,3vw,46px);line-height:.98}.class-english{color:#e5f2e8;letter-spacing:.09em;text-transform:uppercase;font-family:Oswald,Arial Narrow,sans-serif;font-size:12px}.class-art-row{grid-template-columns:minmax(116px,.82fr) minmax(0,1fr);align-items:start;gap:13px;display:grid}.class-art-frame{border:1px solid var(--line);background:#f7fbf8;min-width:0;padding:5px}.class-art{aspect-ratio:330/570;object-fit:contain;object-position:top center;width:100%;max-height:390px;display:block}.class-art-placeholder{aspect-ratio:330/570;min-height:220px;color:var(--book-accent);background:radial-gradient(#3a705211,#0000 62%),repeating-linear-gradient(135deg,#3a705206 0 1px,#0000 1px 13px),#f6faf7;border:1px solid #d6e8dc;flex-direction:column;justify-content:center;align-items:center;gap:11px;display:flex}.class-art-placeholder span{font-family:Cormorant Garamond,Georgia,serif;font-size:58px;line-height:1}.class-art-placeholder small{letter-spacing:.12em;color:#637b69;text-align:center;font-family:Oswald,Arial Narrow,sans-serif;font-size:9px}.class-progress-label{color:var(--dim);letter-spacing:.065em;justify-content:space-between;align-items:baseline;gap:7px;font-family:Oswald,Arial Narrow,sans-serif;font-size:10px;display:flex}.class-progress-label strong{color:var(--book-accent-dark);white-space:nowrap;font-size:13px}.class-progress-track,.class-skills-progress{background:#e9f2ec;border:1px solid #d8e8dd;height:6px;margin-top:7px;overflow:hidden}.class-progress-track span,.class-skills-progress span{background:linear-gradient(90deg,#78a487,#3b7153);height:100%;transition:width .18s;display:block}.class-progress-state{color:var(--dim);margin-top:7px;font-size:12px;line-height:1.4}.class-progress-state.is-complete{color:var(--green);font-weight:700}.class-bonus-panel{border-left:3px solid var(--book-accent);background:#eef6f0;margin-top:15px;padding:11px}.class-panel-label{color:#405b48;letter-spacing:.11em;margin-bottom:7px;font-family:Oswald,Arial Narrow,sans-serif;font-size:12px;display:block}.class-bonus-list{flex-wrap:wrap;gap:6px;display:flex}.class-bonus-chip{min-height:27px;color:var(--book-accent-dark);background:#fff;border:1px solid #dceae0;align-items:center;padding:4px 8px;font-size:12px;line-height:1.3;display:inline-flex}.class-bonus-locked{color:var(--dim);font-size:12px;line-height:1.45}.class-bonus-choice{flex-direction:column;flex:100%;gap:7px;margin-top:2px;display:flex}.class-bonus-choice-label{color:#566b5b;font-size:12px;line-height:1.35}.class-bonus-choice-options{flex-wrap:wrap;gap:6px;display:flex}.class-bonus-choice-option{color:#28553e;cursor:pointer;background:#fff;border:1px solid #c6d9cc;border-radius:3px;flex:82px;justify-content:center;align-items:center;min-height:34px;padding:6px 10px;font:600 13px/1.2 Roboto Condensed,Segoe UI,sans-serif;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.class-bonus-choice-option:hover{background:#f5faf6;border-color:#668d72}.class-bonus-choice-option.is-selected{color:#fff;background:#32664f;border-color:#32664f}.class-bonus-choice-option:focus-visible{outline-offset:2px;outline:2px solid #32664f}@media (width<=560px){.class-bonus-choice-option{min-height:38px;font-size:14px}}@media (prefers-reduced-motion:reduce){.class-bonus-choice-option{transition:none}}.class-free-benefit{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.class-free-benefit span{color:#637b68;letter-spacing:.11em;margin-bottom:3px;font-family:Oswald,Arial Narrow,sans-serif;font-size:9px;display:block}.class-free-benefit strong{color:var(--book-accent-dark);font-size:14px;line-height:1.4;display:block}.class-art-caption{color:#435a4a;letter-spacing:.09em;text-align:center;margin-top:10px;font-family:Oswald,Arial Narrow,sans-serif;font-size:11px}.class-intro{border-top:1px solid var(--line);color:var(--dim);margin-top:13px;padding-top:11px;font-size:15px;line-height:1.62}.class-skills{background:#fff;min-width:0;padding:17px}.class-skills-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:9px;display:flex}.class-skills-heading .class-kicker{color:var(--book-accent-dark)}.class-skills-heading h3{color:var(--text);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 0;font-family:Oswald,Arial Narrow,sans-serif;font-size:clamp(17px,1.5vw,21px);font-weight:500}.class-level-total{color:var(--dim);white-space:nowrap;align-items:baseline;gap:3px;display:flex}.class-level-total strong{color:var(--book-accent-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:30px;line-height:1}.class-level-total span{font-family:Oswald,Arial Narrow,sans-serif;font-size:11px}.class-skills-progress{margin:0 0 13px}.skill-list{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.class-catalog-card .skill-card,.class-sheet-card .skill-card{margin:0 0 9px}.skill-card{background:#fff;border:1px solid #dceae0;border-radius:2px;min-width:0;margin:0;padding:0;overflow:hidden}.skill-card.is-selected{box-shadow:inset 3px 0 var(--book-accent);border-color:#9cbea8}.skill-head{color:#fff;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%2096'%20preserveAspectRatio='none'%3e%3cg%20fill='none'%20stroke='%23d9eadc'%20stroke-width='1.15'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.48'%3e%3cpath%20d='M0%208%20C42%208%2042%2030%2076%2030%20C101%2030%20108%2015%20127%2015%20C146%2015%20151%2032%20169%2032%20C185%2032%20191%2022%20204%2022%20C220%2022%20224%2042%20245%2042%20C265%2042%20274%2028%20292%2028%20C312%2028%20320%2050%20343%2050%20C368%2050%20375%2030%20398%2030%20C420%2030%20426%2054%20450%2054%20C475%2054%20481%2036%20504%2036%20C524%2036%20535%2048%20553%2048'/%3e%3cpath%20d='M1200%208%20C1158%208%201158%2030%201124%2030%20C1099%2030%201092%2015%201073%2015%20C1054%2015%201049%2032%201031%2032%20C1015%2032%201009%2022%20996%2022%20C980%2022%20976%2042%20955%2042%20C935%2042%20926%2028%20908%2028%20C888%2028%20880%2050%20857%2050%20C832%2050%20825%2030%20802%2030%20C780%2030%20774%2054%20750%2054%20C725%2054%20719%2036%20696%2036%20C676%2036%20665%2048%20647%2048'/%3e%3cpath%20d='M0%2088%20C55%2088%2058%2066%2091%2066%20C117%2066%20120%2080%20139%2080%20C158%2080%20164%2061%20184%2061%20C206%2061%20211%2077%20232%2077%20C253%2077%20260%2057%20283%2057%20C305%2057%20313%2075%20337%2075%20C360%2075%20368%2058%20390%2058%20C412%2058%20420%2076%20443%2076%20C468%2076%20477%2062%20499%2062'/%3e%3cpath%20d='M1200%2088%20C1145%2088%201142%2066%201109%2066%20C1083%2066%201080%2080%201061%2080%20C1042%2080%201036%2061%201016%2061%20C994%2061%20989%2077%20968%2077%20C947%2077%20940%2057%20917%2057%20C895%2057%20887%2075%20863%2075%20C840%2075%20832%2058%20810%2058%20C788%2058%20780%2076%20757%2076%20C732%2076%20723%2062%20701%2062'/%3e%3cpath%20d='M80%2030%20C66%2012%2062%204%2063%200%20M80%2030%20C96%2014%20105%2012%20116%2013%20M169%2032%20C155%2048%20151%2056%20153%2065%20M169%2032%20C184%2012%20194%208%20205%208%20M292%2028%20C279%2010%20269%205%20257%205%20M292%2028%20C310%2012%20322%2012%20333%2017%20M398%2030%20C383%2048%20379%2059%20382%2068%20M398%2030%20C416%2012%20428%2010%20439%2015'/%3e%3cpath%20d='M1120%2030%20C1134%2012%201138%204%201137%200%20M1120%2030%20C1104%2014%201095%2012%201084%2013%20M1031%2032%20C1045%2048%201049%2056%201047%2065%20M1031%2032%20C1016%2012%201006%208%20995%208%20M908%2028%20C921%2010%20931%205%20943%205%20M908%2028%20C890%2012%20878%2012%20867%2017%20M802%2030%20C817%2048%20821%2059%20818%2068%20M802%2030%20C784%2012%20772%2010%20761%2015'/%3e%3c/g%3e%3cg%20fill='%23d9eadc'%20opacity='.55'%3e%3cpath%20d='M63%200%20C48%202%2046%2013%2061%2018%20C70%2011%2069%205%2063%200Z%20M116%2013%20C112%200%20123%20-3%20132%205%20C129%2015%20121%2018%20116%2013Z%20M257%205%20C244%20-2%20237%207%20247%2017%20C258%2015%20262%2010%20257%205Z%20M333%2017%20C336%203%20348%204%20351%2015%20C344%2024%20337%2024%20333%2017Z'/%3e%3cpath%20d='M1137%200%20C1152%202%201154%2013%201139%2018%20C1130%2011%201131%205%201137%200Z%20M1084%2013%20C1088%200%201077%20-3%201068%205%20C1071%2015%201079%2018%201084%2013Z%20M943%205%20C956%20-2%20963%207%20953%2017%20C942%2015%20938%2010%20943%205Z%20M867%2017%20C864%203%20852%204%20849%2015%20C856%2024%20863%2024%20867%2017Z'/%3e%3c/g%3e%3c/svg%3e") 50%/100% 100% no-repeat,linear-gradient(100deg,#346b51,#28553e);border-bottom:1px solid #89ae98;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:8px 10px 8px 13px;display:flex}.skill-heading-copy{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.skill-title{color:#fff;letter-spacing:.025em;flex-wrap:wrap;align-items:center;gap:7px;font-family:Oswald,Arial Narrow,sans-serif;font-size:16px;font-weight:600;line-height:1.25;display:flex}.skill-title .en,.skill-title-en{color:#e5f2e8;font-family:Roboto Condensed,Segoe UI,sans-serif;font-size:12px;font-weight:400}.skill-cap{color:#edf5ef;letter-spacing:.02em;white-space:nowrap;border:1px solid #ffffff7a;border-radius:2px;padding:1px 5px;font-size:10px;font-weight:500;display:inline-block}.skill-level-control{flex:none;justify-content:flex-end;align-items:center;gap:7px;display:flex}.skill-stars{align-items:center;gap:2px;display:flex}.skill-star{color:#eff7f1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff52;border-radius:2px;justify-content:center;align-items:center;width:29px;min-width:29px;height:29px;min-height:29px;padding:4px;transition:background .12s,border-color .12s,transform .12s;display:inline-flex}.skill-star svg{width:18px;height:18px;display:block;overflow:visible}.skill-star path{fill:#0000;stroke:currentColor;stroke-width:1.45px;stroke-linejoin:round}.skill-star.is-active{color:#fff;background:#fff3;border-color:#fff}.skill-star.is-active path{fill:#fff;stroke:#fff}.skill-star:hover:not(:disabled){background:#ffffff3d;border-color:#fff;transform:translateY(-1px)}.skill-star:focus-visible{outline:2px solid var(--book-accent-dark);outline-offset:2px}.skill-star:disabled{opacity:.35;cursor:not-allowed}.sl-badge{color:#f4faf6;white-space:nowrap;letter-spacing:.025em;font-family:Oswald,Arial Narrow,sans-serif;font-size:11px}.skill-desc{color:#4a5a50;overflow-wrap:break-word;margin:0;padding:11px 13px 13px;font-size:14.5px;line-height:1.62}.skill-desc .eff{color:#253029;font-weight:500}.skill-desc .trig,.trig{color:#315d45;border-left:2px solid #91b49d;margin-top:8px;padding:3px 0 3px 8px;font-size:12px}.gift-row{align-items:center;gap:10px;margin-top:8px;display:flex}.gift-row .num{color:var(--book-accent-dark);text-align:right;width:20px}.gift-desc{border-radius:2px;margin:7px 0 0 30px;padding:9px 11px;font-size:13px;line-height:1.5;color:#506057!important;background:#f3f8f4!important;border:1px solid #dceae0!important;border-left:3px solid #628f6d!important}.gift-desc b{color:#294d3a!important}.gift-desc [style*=color]{color:#5b6b60!important}details.ref{margin-top:12px}details.ref summary{cursor:pointer;color:var(--book-accent-dark);letter-spacing:.035em;font-family:Oswald,Arial Narrow,sans-serif;font-size:12px}.ref-item{border-top:1px solid var(--line);color:#506057;padding:8px 4px;font-size:13px;line-height:1.5}.ref-item b{color:var(--text)}.ref-item .ev{color:#315d45}.btn{color:var(--book-accent-dark);cursor:pointer;background:#f3f8f4;border:1px solid #a6c8b4;border-radius:3px;font-family:Oswald,Arial Narrow,sans-serif;font-size:14px}.btn:disabled{opacity:.35;cursor:default}.btn:hover:not(:disabled){border-color:var(--book-accent);color:#204a36;background:#eaf4ed}.heroic-slot{color:var(--text);background:#f6faf7;border:1px dashed #a2c4af;border-radius:2px;margin:10px 0 13px;padding:12px}.heroic-slot select{width:100%;margin-top:7px}.heroic-slot .heroic-status{margin-top:7px;font-size:13px;line-height:1.5}.heroic-slot .heroic-status.bad{color:var(--red)}.heroic-slot .heroic-status.good{color:var(--green)}.heroic-slot .heroic-body{color:#536158;white-space:pre-line;margin-top:8px;font-size:13px;line-height:1.55}.heroic-slot .heroic-source{color:var(--dim);margin-top:5px;font-size:12px}.heroic-slot .heroic-options{gap:7px;margin-top:8px;display:grid}.heroic-slot .heroic-options label{color:var(--dim);gap:4px;font-size:12px;display:grid}.class-mastered{color:var(--green);font-weight:700}.class-unmastered{color:var(--dim)}.mnemo-block{background:#f7f3fa;border:1px solid #b7a9c8;border-radius:3px;margin:12px 0 16px;padding:13px 14px}.mnemo-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.mnemo-head .mnemo-title,.mnemo-title{color:#5d4d78;font-weight:700}.mnemo-head .mnemo-level,.mnemo-level{color:var(--book-accent-dark);font-size:12px}.mnemo-progress{background:#eae3f0;border-radius:1px;height:5px;margin:7px 0 10px;overflow:hidden}.mnemo-progress span{background:#76648e;height:100%;display:block}.mnemo-remove{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:#fff;border-radius:3px;padding:5px 9px}.mnemo-remove:hover{border-color:var(--red);color:var(--red)}.mnemo-locked{color:var(--red);margin-top:6px;font-size:12px}.mnemo-muted{color:var(--dim);margin:5px 0 9px;font-size:13px}.valid{border:1px solid;border-radius:3px;padding:11px 14px;font-size:14px}.valid.ok{color:#315f46;background:#f0f7f1;border-color:#a8c9b1}.valid.warn{color:#795b24;background:#fbf7eb;border-color:#dcc895}.note{color:var(--dim);border-left:3px solid #91b49d;margin-top:10px;padding-left:10px;font-size:13px;line-height:1.5}.expbtn,.primary-button,.sheet-open-button{background:var(--book-accent);border:1px solid var(--book-accent-dark);color:#fff;letter-spacing:.035em;border-radius:3px;font-family:Oswald,Arial Narrow,sans-serif;font-weight:600}.expbtn:hover,.primary-button:hover,.sheet-open-button:hover{background:var(--book-accent-dark);color:#fff;border-color:#214b37}.secondary-button{border-color:var(--line-strong);color:var(--book-accent-dark);background:#fff;border-radius:3px}.secondary-button:hover{border-color:var(--book-accent);background:#f3f8f4}.detail-stat,.stat,.mini-stat{border-color:var(--line);background:#fff}.detail-stat span,.mini-stat small{color:var(--dim)}.receipt-panel{color:var(--text);box-shadow:-2px 0 10px #253a2c06}.receipt-heading,.receipt-section-toggle,.receipt-level,.receipt-extra-title{color:var(--text)}.receipt-class{border-color:var(--line)}.receipt-class-toggle{color:var(--text);background:#f3f8f4}.receipt-class-toggle>span:first-child{color:var(--text)}.receipt-class-toggle small,.receipt-skills small{color:var(--book-accent-dark)}.receipt-empty,.receipt-selected,.receipt-panel small{color:var(--dim)}.receipt-count{border-color:var(--line-strong);color:var(--book-accent-dark);background:#f3f8f4}.toast{border-color:var(--book-accent);color:var(--book-accent-dark);background:#fff}.empty-state{border-color:var(--line-strong);color:var(--dim);background:#fff}.empty-state b{color:var(--text)}.class-catalog-card{height:auto;min-height:0}.class-catalog-card:not([open]) .class-catalog-head{min-height:96px;padding:12px;position:static}.class-catalog-head .class-chevron{text-align:center;flex:0 0 22px;width:22px;margin-left:2px}.class-catalog-head{align-items:center;min-width:0}.class-catalog-head .class-catalog-name{flex:1 1 0;min-width:0}.class-catalog-head .cname,.optional-catalog-card .cname{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.class-catalog-head .class-meta{overflow-wrap:normal;word-break:normal}.class-catalog-head .class-catalog-state.picked{white-space:normal;text-align:right;max-width:88px;margin-left:auto;font-size:11px;line-height:1.25;position:static;bottom:auto;right:auto}.class-catalog-card[open] .class-catalog-head{min-height:76px}.class-catalog-card[open] .class-detail-layout{min-width:0}.class-sheet-card[open] .class-detail-layout{align-items:start}.class-sheet-card .class-overview{align-self:start}.class-sheet-card .class-skills{min-width:0}.class-sheet-card .class-head{margin-bottom:0}.class-catalog-card .class-intro{color:var(--dim)}.optional-catalog{gap:22px;display:grid}.optional-catalog-grid{align-items:stretch}.optional-catalog-card{border-color:var(--line);background:#fff;border-radius:3px}.optional-catalog-card[open]{border-color:var(--book-accent)}.optional-catalog-card .class-detail-content{background:#fff}.optional-section-heading .eyebrow{color:var(--book-accent)}.optional-section-heading h2{color:var(--text)}.optional-description{color:#4a5a50}.optional-bonus{border-left-color:var(--book-accent);color:var(--book-accent-dark);background:#eef6f0}.optional-choices{border-color:var(--line);background:#f7fbf8;border-radius:3px}.optional-choices .field-label,.optional-choices .hint{color:var(--dim)}.optional-catalog-card textarea{color:var(--text);border-color:var(--line);background:#fff}.sheet-optional-link{border-color:var(--line);background:#fff;border-radius:3px}.sheet-optional-copy b{color:var(--text)}.sheet-optional-copy span{color:var(--dim)}.quirk-choice,.zero-choice{min-width:0}.class-detail-layout{align-items:start}.class-overview{align-self:start;height:max-content}@media (width<=1120px){:root{--nav-width:60px;--receipt-width:210px}.nav-caption,.nav-label{display:none}.nav-item{justify-content:center;padding:0}}@media (width<=1120px) and (width>=821px){#skills:has(.class-catalog-card){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-workspace{height:auto;min-height:calc(100dvh - var(--topbar-height));grid-template-columns:52px minmax(0,1fr)}.side-nav{height:calc(100dvh - var(--topbar-height));align-self:start;position:sticky;top:0}.receipt-panel{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;height:auto;max-height:330px}.main-stage{height:auto;min-height:calc(100dvh - var(--topbar-height));padding:18px 13px 30px;overflow:visible}.topbar{padding:0 12px}.save-status{max-width:48%;font-size:10px}.rule-grid,.mode-grid{grid-template-columns:1fr}.rule-card{grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;min-height:0;display:grid}.rule-card .rule-state{grid-column:2}.sheet-heading{flex-direction:column;align-items:flex-start}.detail-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-layout{grid-template-columns:minmax(0,1fr)}.class-overview{border-right:0;border-bottom:1px solid var(--line)}.class-overview-heading{margin-left:-17px;margin-right:-17px}.class-art-row{grid-template-columns:minmax(116px,.55fr) minmax(0,1fr)}.class-art{max-height:300px}}@media (width<=560px){.class-catalog-card[open]{width:calc(100vw - 20px);max-height:92vh}.class-catalog-card[open] .class-detail-content{padding:0 12px 14px}.class-detail-content{padding:0 12px 12px}.class-overview,.class-skills{padding:14px}.class-overview-heading{margin:-14px -14px 14px}.class-overview-heading h2{font-size:34px}.class-art-row{grid-template-columns:minmax(104px,.5fr) minmax(0,1fr);gap:11px}.class-art{max-height:260px}.class-skills-heading{align-items:center}.skill-head{align-items:flex-start}.skill-heading-copy{flex-basis:100%}.skill-level-control{justify-content:space-between;width:100%}.skill-star{width:32px;min-width:32px;height:32px;min-height:32px}.class-catalog-name .cname{font-size:19px}}@media (width<=390px){.class-art-row{grid-template-columns:1fr}.class-art-frame{width:100%;max-width:210px;margin:0 auto}.class-art{max-height:280px}.class-catalog-head{gap:8px;padding:11px}.class-catalog-head .class-crest{flex-basis:36px;width:36px;height:36px}.class-catalog-head .class-catalog-state.picked{max-width:70px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.class-catalog-card[open]{overscroll-behavior:contain;scrollbar-gutter:stable;overflow:auto}.class-catalog-card[open]>.class-catalog-head,.class-sheet-card[open]>.class-sheet-head{border:0;border-bottom:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:0;height:42px;min-height:42px;margin:0;padding:4px 12px;display:flex}.class-catalog-card[open]>.class-catalog-head{z-index:6;position:sticky;top:0}.class-summary-close{color:#435a4a;background:#f7fbf8;border:1px solid #dceae0;align-items:center;gap:8px;padding:4px 7px 4px 10px;font-size:12px;line-height:1;display:inline-flex}.class-summary-close span[aria-hidden=true]{color:var(--book-accent-dark);font-size:20px;line-height:.8}.class-summary-close:hover{color:var(--book-accent-dark);border-color:var(--book-accent)}.class-detail-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.class-art-column{flex-direction:column;align-items:stretch;gap:14px;min-width:0;display:flex}.class-art-frame{border:1px solid var(--line);background:#f7fbf8;justify-content:center;align-items:center;width:100%;min-height:0;padding:8px;display:flex;overflow:hidden}.class-art{aspect-ratio:auto;object-fit:contain;object-position:center;clip-path:polygon(4.5% 4.5%,78% 4.5%,78% 22%,100% 22%,100% 52%,78% 52%,78% 97.5%,4.5% 97.5%);width:100%;max-width:360px;height:clamp(300px,46vh,460px);max-height:none;display:block}.class-art-placeholder{aspect-ratio:auto;width:100%;max-width:360px;height:clamp(300px,46vh,460px);min-height:0}.class-identity-meta{min-width:0}.class-bonus-panel{margin-top:0;padding:14px 15px}.class-skills-heading{align-items:center;margin-bottom:10px}.class-skills-heading h3{margin:0}.class-level-total{flex:none}@media (width<=820px){.class-detail-layout{grid-template-columns:minmax(0,1fr)}.class-art-frame{max-width:420px;margin:0 auto}.class-art,.class-art-placeholder{height:clamp(280px,42vh,360px)}}@media (width<=560px){.class-art-frame{max-width:380px}.class-art,.class-art-placeholder{height:clamp(280px,42vh,350px)}.class-summary-close{min-height:32px}}:root{--bg:#f4f8f5;--chrome:#fff;--panel:#fff;--panel-end:#f8fbf8;--panel2:#f3f8f4;--surface:#f5faf6;--surface-strong:#e7f2ea;--line:#d8e7dd;--line-strong:#aecab8;--line-muted:#436f5238;--text:#253029;--dim:#56645c;--subtle:#78877e;--book-accent:#32664f;--book-accent-dark:#244b39}.topbar{background:linear-gradient(100deg,#244b39,#2f5d47 58%,#244b39);border-bottom:3px solid #cfe3d5;box-shadow:0 2px 10px #233e2d1f}.brand,.brand-copy strong{color:#fff}.brand-mark{color:#244b39;background:#e7f2ea;border-color:#b8d2c0;box-shadow:inset 0 0 0 3px #ffffff52}.brand-copy small,.save-status{color:#e2eee6}.save-status i{background:#b8d8c1;box-shadow:0 0 0 3px #b8d8c12e}.app-workspace{background:#eaf3ed;padding-inline:24px;position:relative}.app-workspace:before,.app-workspace:after{content:"";z-index:4;pointer-events:none;background-color:#e8f2eb;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%22220%22%20viewBox%3D%220%200%2048%20220%22%3E%0A%3Crect%20width%3D%2248%22%20height%3D%22220%22%20fill%3D%22%23e8f2eb%22%2F%3E%0A%3Cpath%20d%3D%22M24%20-8%20C5%2012%2043%2028%2024%2048%20C5%2068%2043%2084%2024%20104%20C5%20124%2043%20140%2024%20160%20C5%20180%2043%20196%2024%20228%22%20fill%3D%22none%22%20stroke%3D%22%2391b49d%22%20stroke-width%3D%221.15%22%20opacity%3D%22.8%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22M24%2034%20C15%2020%205%2024%207%2011%20C17%2013%2023%2022%2024%2034%20C25%2022%2031%2013%2041%2011%20C43%2024%2033%2020%2024%2034Z%22%2F%3E%0A%3Cpath%20d%3D%22M24%2088%20C15%2074%205%2078%207%2065%20C17%2067%2023%2076%2024%2088%20C25%2076%2031%2067%2041%2065%20C43%2078%2033%2074%2024%2088Z%22%2F%3E%0A%3Cpath%20d%3D%22M24%20142%20C15%20128%205%20132%207%20119%20C17%20121%2023%20130%2024%20142%20C25%20130%2031%20121%2041%20119%20C43%20132%2033%20128%2024%20142Z%22%2F%3E%0A%3Cpath%20d%3D%22M24%20196%20C15%20182%205%20186%207%20173%20C17%20175%2023%20184%2024%20196%20C25%20184%2031%20175%2041%20173%20C43%20186%2033%20182%2024%20196Z%22%2F%3E%0A%3Cpath%20d%3D%22M7%2048%20C14%2039%2018%2043%2016%2052%20C13%2057%209%2055%207%2048Z%20M41%2048%20C34%2039%2030%2043%2032%2052%20C35%2057%2039%2055%2041%2048Z%22%2F%3E%0A%3Cpath%20d%3D%22M7%20102%20C14%2093%2018%2097%2016%20106%20C13%20111%209%20109%207%20102Z%20M41%20102%20C34%2093%2030%2097%2032%20106%20C35%20111%2039%20109%2041%20102Z%22%2F%3E%0A%3Cpath%20d%3D%22M7%20156%20C14%20147%2018%20151%2016%20160%20C13%20165%209%20163%207%20156Z%20M41%20156%20C34%20147%2030%20151%2032%20160%20C35%20165%2039%20163%2041%20156Z%22%2F%3E%0A%3C%2Fg%3E%3Cg%20fill%3D%22%23ffffff%22%20opacity%3D%22.95%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%226%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2260%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%22114%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%22168%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%22216%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E);background-position:top;background-repeat:repeat-y;background-size:24px 220px;width:24px;position:absolute;top:0;bottom:0}.app-workspace:before{border-right:1px solid #c5dccd;left:0}.app-workspace:after{border-left:1px solid #c5dccd;right:0;transform:scaleX(-1)}.side-nav,.main-stage,.receipt-panel{position:relative}.side-nav,.receipt-panel{background:#fbfdfb}.class-overview-heading{background:linear-gradient(105deg,#346b51,#28553e);border-bottom-color:#d2e6d8}.skill-head{background:linear-gradient(100deg,#346b51,#28553e);border-bottom-color:#89ae98}.class-art-frame{background:#f7fbf8;border-color:#d8e8dd}.class-bonus-panel,.gift-desc,.heroic-slot{background:#eef6f0}.class-intro{color:#4d5e53}@media (width<=820px){.app-workspace{background:0 0;padding-inline:0}.app-workspace:before,.app-workspace:after{display:none}}.class-catalog-card[open]>.class-expanded-summary,.class-sheet-card[open]>.class-expanded-summary{color:#fff;background:linear-gradient(105deg,#346b51,#28553e);border-bottom:3px solid #d2e6d8;justify-content:space-between;gap:18px;height:auto;min-height:58px;padding:8px 16px}.class-catalog-card[open]>.class-expanded-summary{z-index:6;position:sticky;top:0}.class-expanded-identity{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;margin-right:auto;display:flex}.class-expanded-name{color:#fff;overflow-wrap:normal;word-break:normal;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(24px,2.3vw,32px);font-weight:600;line-height:1.05}.class-expanded-en{color:#e5f2e8;letter-spacing:.11em;text-transform:uppercase;font-family:Oswald,Arial Narrow,sans-serif;font-size:10px}.class-header-progress{flex-direction:column;flex:0 0 112px;gap:5px;width:112px;display:flex}.class-header-level{color:#e5f2e8;justify-content:flex-end;align-items:baseline;gap:4px;font-family:Oswald,Arial Narrow,sans-serif;font-size:11px;display:flex}.class-header-level strong{color:#fff;font-family:Cormorant Garamond,Georgia,serif;font-size:25px;line-height:1}.class-header-track{background:#ffffff38;border-radius:5px;height:5px;display:block;overflow:hidden}.class-header-track>span{background:#d6eadc;border-radius:5px;height:100%;transition:width .18s;display:block}.class-summary-close{color:#fff;background:#ffffff14;border:1px solid #ffffff61;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;padding:0;font-family:Arial,sans-serif;font-size:25px;font-weight:300;line-height:1;transition:background .14s,border-color .14s,transform .14s;display:flex}.class-expanded-summary:hover .class-summary-close{background:#fff3;border-color:#fff;transform:rotate(90deg)}.class-expanded-summary:focus-visible{outline-offset:-4px;outline:3px solid #d6eadc}.class-overview-heading{display:none}.class-skills-heading{margin-bottom:12px}.class-skills-progress{display:none}.class-intro{color:#4d5e53;overflow-wrap:break-word;margin:15px 1px 0;font-family:Georgia,serif;font-size:14px;line-height:1.65}.skill-scaling-hints{background:#f1f7f2;border:1px solid #dceae0;border-left:3px solid #628f6d;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:7px 9px;display:flex}.skill-scaling-label{color:#5d7463;letter-spacing:.09em;font-family:Oswald,Arial Narrow,sans-serif;font-size:10px;font-weight:600}.skill-scaling-value{color:#53645a;font-variant-numeric:tabular-nums;background:#fff;border-radius:2px;align-items:baseline;gap:5px;padding:2px 7px;font-size:12px;display:inline-flex}.skill-scaling-value strong{color:#28553e;font-size:14px;font-weight:700}.class-catalog-card[open]{scrollbar-width:thin;scrollbar-color:#7e9d87 #edf4ef}.class-catalog-card[open]::-webkit-scrollbar{width:10px}.class-catalog-card[open]::-webkit-scrollbar-track{background:#edf4ef}.class-catalog-card[open]::-webkit-scrollbar-thumb{background:#7e9d87;border:2px solid #edf4ef;border-radius:8px}.class-catalog-card[open]::-webkit-scrollbar-thumb:hover{background:#547b60}@media (width<=560px){.class-catalog-card[open]>.class-expanded-summary,.class-sheet-card[open]>.class-expanded-summary{gap:9px;padding:8px 10px}.class-expanded-name{font-size:23px}.class-header-progress{flex-basis:82px;width:82px}.class-summary-close{flex-basis:32px;width:32px;height:32px;min-height:32px}}.class-expanded-identity{max-width:min(62%,620px)}.class-expanded-also{color:#e5f2e8;letter-spacing:.015em;text-transform:none;overflow-wrap:break-word;margin-top:4px;font-family:Roboto Condensed,Segoe UI,sans-serif;font-size:12px;line-height:1.25;display:block}.class-expanded-also strong{color:#fff;font-weight:700}.skill-subheading-row{flex-wrap:wrap;align-items:center;gap:9px;min-width:0;display:flex}.skill-language-toggle{background:#0c26192e;border:1px solid #ffffff57;border-radius:3px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.skill-language-option{color:#e5f2e8;cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;min-width:30px;min-height:26px;padding:3px 6px;font-family:Oswald,Arial Narrow,sans-serif;font-size:12px;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-flex}.skill-language-option[aria-pressed=true]{color:#28553e;background:#f0f6f1}.skill-language-option:disabled{opacity:.38;cursor:not-allowed}.skill-language-option:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=560px){.class-expanded-identity{max-width:calc(100% - 8px)}.class-expanded-also{max-width:100%;font-size:12px}.skill-subheading-row{gap:6px}.skill-language-option{min-width:28px;min-height:28px}}@media (prefers-reduced-motion:reduce){.skill-language-option{transition:none}}.class-art{clip-path:none}
/*$vite$:1*/