:root{--paper: #f4f6f4;--surface: #ffffff;--surface-2: #f8faf9;--surface-3: #eef1ef;--ink: #16222a;--ink-2: #1d2a2f;--muted: #52626a;--muted-2: #6b7b82;--line: #dce3e0;--line-soft: #edf1ef;--brand: #c53d2f;--accent: #1f7a4c;--accent-deep: #1f5c3d;--c-archetype: #7b42b6;--c-form: #4169b2;--c-style: #c53d2f;--c-stat: #c9831f;--c-skill: #1f8a4c;--tint-purple: #f5ecff;--tint-purple-border: #d4b4ef;--tint-purple-text: #6d38a6;--tint-red: #fff3f1;--tint-red-border: #efc9c4;--tint-red-text: #a43229;--tint-coral: #fff2e8;--tint-coral-border: #edc7aa;--tint-coral-text: #a04408;--tint-amber: #fff8e8;--tint-amber-border: #eadbb8;--tint-amber-text: #8a6500;--tint-green: #edf8f1;--tint-green-border: #b9e0c6;--tint-green-text: #167a3f;--tint-blue: #edf3ff;--tint-blue-border: #c7d9ea;--tint-blue-text: #245984;color:var(--ink-2);background:var(--paper);font-family:Inter,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--paper: #0e1218;--surface: #161f28;--surface-2: #1c2732;--surface-3: #232f3a;--ink: #eaf1f2;--ink-2: #dbe6e8;--muted: #9fb0b8;--muted-2: #8496a0;--line: #2a3742;--line-soft: #222f39;--brand: #e0685c;--accent: #3fae74;--accent-deep: #2f8f5c;--c-archetype: #b98fd6;--c-form: #7fa8db;--c-style: #e0685c;--c-stat: #e0a848;--c-skill: #5fb782;--tint-purple: #221a31;--tint-purple-border: #493a70;--tint-purple-text: #cbb4ee;--tint-red: #2c1a19;--tint-red-border: #6e3b36;--tint-red-text: #f0a59d;--tint-coral: #2c1f16;--tint-coral-border: #6e4a30;--tint-coral-text: #f0ab74;--tint-amber: #2a2411;--tint-amber-border: #5f5324;--tint-amber-text: #e6c766;--tint-green: #142519;--tint-green-border: #2f5a41;--tint-green-text: #86d3a5;--tint-blue: #14212f;--tint-blue-border: #33506e;--tint-blue-text: #8fbce4}*{box-sizing:border-box}body{margin:0;min-width:1180px}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--muted-2);background-clip:padding-box}.appShell{min-height:100vh;background:radial-gradient(1200px 480px at 18% -8%,rgba(216,100,88,.1),transparent 60%),radial-gradient(1100px 460px at 92% -6%,rgba(111,153,209,.1),transparent 60%),var(--paper)}[data-theme=dark] .appShell{background:radial-gradient(1200px 480px at 18% -8%,rgba(216,100,88,.12),transparent 60%),radial-gradient(1100px 460px at 92% -6%,rgba(111,153,209,.12),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.016) 0 1px,transparent 1px 80px),repeating-linear-gradient(90deg,rgba(255,255,255,.016) 0 1px,transparent 1px 80px),var(--paper)}[data-theme=dark] .libraryPanel,[data-theme=dark] .builderPanel,[data-theme=dark] .previewPanel,[data-theme=dark] .referenceDashboard,[data-theme=dark] .quickReferencePanel,[data-theme=dark] .referenceReader,[data-theme=dark] .enemyWorkPanel,[data-theme=dark] .heroStorageHead,[data-theme=dark] .playSheetHero{clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);border-radius:0}[data-theme=dark] .libraryPanel,[data-theme=dark] .previewPanel,[data-theme=dark] .referenceDashboard,[data-theme=dark] .quickReferencePanel{border-top:2px solid var(--line-soft)}[data-theme=dark] .libraryCard,[data-theme=dark] .tabs button,[data-theme=dark] .sectionSwitch button,[data-theme=dark] .referenceEntry,[data-theme=dark] .moveCard,[data-theme=dark] .referenceStatBox,[data-theme=dark] .referenceCards button,[data-theme=dark] .referenceSectionButtons button,[data-theme=dark] .homeReferenceList button,[data-theme=dark] .homeStatusRows span,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] .searchBox,[data-theme=dark] .primaryButton,[data-theme=dark] .iconButton,[data-theme=dark] .skillPill{border-radius:5px}.topbar{padding:18px 24px 0;background:transparent;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbarSection{padding-bottom:14px;margin:0 16px;border-bottom:1px solid var(--line)}.brand{border:0;background:transparent;display:inline-flex;align-items:center;gap:14px;padding:0;text-align:left}.topbarRight{display:flex;align-items:center;gap:14px}.themeToggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .12s ease,color .12s ease}.themeToggle:hover{background:var(--surface-3);color:var(--ink)}.hubBar{display:flex;align-items:center;gap:16px}.hubSection{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;padding-right:14px;border-right:3px solid var(--line-soft)}.hubSection.heroes{border-right-color:var(--c-archetype)}.hubSection.reference{border-right-color:var(--c-form)}.hubSection.workshop{border-right-color:var(--brand)}.hubSection.io{border-right-color:var(--c-skill)}.hubSectionName{font-size:16px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.hubSectionTag{font-family:JetBrains Mono,ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;letter-spacing:.1em;color:var(--muted-2);margin-top:2px}.hubSection.heroes .hubSectionTag{color:var(--tint-purple-text)}.hubSection.reference .hubSectionTag{color:var(--tint-blue-text)}.hubSection.workshop .hubSectionTag{color:var(--tint-red-text)}.hubSection.io .hubSectionTag{color:var(--tint-green-text)}.hubBack{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:750;padding:9px 15px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .12s ease,color .12s ease}.hubBack:hover{background:var(--surface-3);color:var(--ink)}.brandMark{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--brand);color:#fff;font-size:28px;font-weight:800;box-shadow:0 8px 22px #c53d2f38}.brand h1{margin:0;font-size:21px;line-height:1.12;color:var(--ink);letter-spacing:.1px}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.iconButton,.primaryButton{border:0;height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;color:#fff;background:var(--accent);padding:0 16px;font-weight:750;transition:transform .08s ease,background .15s ease,box-shadow .15s ease}.primaryButton:hover{background:#1c8d57;box-shadow:0 8px 20px #1f7a4c52}.primaryButton:active{transform:translateY(1px)}.iconButton{width:44px;padding:0;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}.iconButton:hover{background:#ffffff2e}.iconButton input{display:none}.homeDashboard{min-height:calc(100vh - 113px);border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:22px;display:grid;align-content:center}[data-theme=dark] .homeDashboard{background:linear-gradient(90deg,rgba(216,100,88,.08) 0 1px,transparent 1px 92px),linear-gradient(rgba(255,255,255,.03) 0 1px,transparent 1px 80px),var(--paper)}.homeConsole{display:grid;gap:18px}.homeConsoleHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}.homeConsoleHead h2{margin:0;font-size:56px;line-height:.95;letter-spacing:0}.homeConsoleHead p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.homeConsoleHead>span{color:var(--brand);font-weight:850;font-size:13px;letter-spacing:.12em}.homeConsoleGrid{display:grid;grid-template-columns:minmax(0,1.1fr) 430px;gap:24px;align-items:start}.homeLaunchList{display:grid;gap:18px}.homeLaunchRow{min-height:92px;border:0;border-left:8px solid #8e2f39;background:#8e2f39;color:#fff;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px 16px;align-items:center;padding:14px 20px;text-align:left;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 50%,calc(100% - 28px) 100%,0 100%);transition:filter .12s ease,transform .08s ease}.homeLaunchRow:hover{filter:brightness(1.08);transform:translate(2px)}.homeLaunchRow.heroes{background:#7a3b92;border-left-color:#a56ac7}.homeLaunchRow.reference{background:#245984;border-left-color:#6f99d1}.homeLaunchRow.workshop{background:#963a30;border-left-color:#d86458}.homeLaunchRow.io{background:#1f6e42;border-left-color:#5fb782}a.homeLaunchRow.table{background:#3d4c5c;border-left-color:#93a4b0;text-decoration:none;cursor:pointer;font:inherit}.homeLaunchIcon{width:46px;height:46px;display:grid;place-items:center}.homeLaunchRow strong{font-size:34px;line-height:1;overflow-wrap:anywhere}.homeLaunchRow em{grid-column:2;color:#ffffffb8;font-size:12px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.homeLaunchRow small{grid-column:3;grid-row:1 / 3;color:#ffffffc7;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;max-width:150px;text-align:right}.homeSysPanel{border:1px solid var(--line);background:var(--surface);color:var(--ink);min-height:500px;padding:18px;display:grid;gap:16px;align-content:start;box-shadow:0 16px 42px #0000002e}.homeSysHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.homeSysHeader span{color:var(--brand);font-size:13px;font-weight:850;letter-spacing:.06em}.homeSysHeader button{border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);min-height:34px;padding:0 10px;font-weight:700}.homeSysHero{display:grid;gap:6px;border-left:5px solid var(--brand);background:var(--surface-2);padding:12px}.homeSysHero span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.homeSysHero strong{font-size:22px;overflow-wrap:anywhere}.homeSysHero p{margin:0;color:var(--muted);font-size:13px}.homeReferenceList{display:grid;gap:7px}.homeReferenceList button,.homeStatusRows span{border:1px solid var(--line);border-radius:7px;background:var(--surface-2);min-height:46px;padding:10px;color:var(--ink)}.homeReferenceList button{display:flex;align-items:center;gap:8px;text-align:left;font-weight:850}.homeStatusRows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.homeStatusRows span{display:grid;gap:3px;color:var(--muted);font-size:12px;line-height:1.3}.homeStatusRows strong{color:var(--ink);font-size:19px;line-height:1}.sectionSwitch{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:8px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.sectionSwitch>span{padding:0 8px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.sectionSwitch>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.sectionSwitch button{min-height:48px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);display:grid;gap:2px;justify-items:start;padding:8px 10px;text-align:left;font-weight:850}.sectionSwitch button small{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.sectionSwitch button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sectionSwitch button.active small{color:var(--paper);opacity:.72}.workspace{display:grid;grid-template-columns:352px minmax(560px,1fr) 392px;gap:16px;padding:16px;min-height:calc(100vh - 81px)}.workspace.homeLayout{grid-template-columns:1fr;max-width:1280px;margin:0 auto;width:100%}.workspace.referenceLayout,.workspace.workshopLayout,.workspace.ioLayout{grid-template-columns:minmax(0,1fr) 392px}.libraryPanel,.builderPanel,.previewPanel{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:0;box-shadow:0 1px 2px #141e240a}.libraryPanel,.previewPanel{display:flex;flex-direction:column;overflow:hidden;position:sticky;top:97px;max-height:calc(100vh - 113px)}.panelHeader{display:flex;align-items:baseline;justify-content:space-between;padding:16px 16px 12px}.panelHeader h2,.previewPanel h2,.exportPanel h2{margin:0;font-size:17px}.panelHeader span{color:var(--muted-2);font-size:13px;font-weight:600}.searchBox{margin:0 16px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;height:42px;color:#7c8c93;transition:border-color .15s ease,box-shadow .15s ease}.searchBox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #1f7a4c1f}.searchBox input{border:0;outline:0;width:100%;background:transparent;font-size:14px;color:var(--ink-2)}.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:0 14px 12px}.tabs button{min-height:38px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:9px;font-size:12px;font-weight:750;transition:all .12s ease}.tabs button:hover{border-color:#aebcc3}.tabs button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.libraryList{overflow:auto;padding:2px 14px 16px}.libraryCard{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:12px 12px 12px 20px;margin:0 0 9px;position:relative;display:grid;gap:5px;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease}.libraryCard.selected{border-color:var(--accent-deep);background:var(--tint-green);box-shadow:inset 0 0 0 1px var(--accent-deep)}.libraryCard:hover{border-color:var(--tint-blue-border);box-shadow:0 10px 26px #23323a1a;transform:translateY(-1px)}.libraryCard.selected:after{content:"✓";position:absolute;top:10px;right:12px;color:var(--accent-deep);font-weight:900}.colorBar{position:absolute;left:0;top:0;bottom:0;width:6px}.cardTitle{font-size:16px;font-weight:800;padding-right:18px;min-width:0;overflow-wrap:anywhere}.cardMeta,.cardSummary,.buildSlot small,.exportPanel small,.issue span{color:var(--muted);font-size:12px;line-height:1.4;min-width:0;overflow-wrap:anywhere}.cardSummary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.itemBadges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.itemBadges.compact{gap:5px}.roleBadge,.purpleDiceBadge{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.roleBadge{border:1px solid var(--tint-amber-border);background:var(--tint-amber);color:var(--tint-amber-text)}.purpleDiceBadge{border:1px solid var(--tint-purple-border);background:var(--tint-purple);color:var(--tint-purple-text)}.builderPanel{padding:18px;overflow:auto}.referencePanel{display:grid;gap:14px;align-content:start;min-height:0;overflow:auto}.enemyPanel,.ioPanel,.heroStorage,.playSheetPanel{display:grid;gap:16px}.heroStorageHead,.playSheetHero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.heroStorageHead span,.playSheetHero span{color:var(--brand);font-size:12px;font-weight:900;text-transform:uppercase}.heroStorageHead h2,.playSheetHero h2{margin:4px 0;font-size:28px;line-height:1.05}.heroStorageHead p,.playSheetHero p{margin:0;max-width:680px;color:var(--muted)}.heroStorageHead .primaryButton{white-space:nowrap}.playSheetHero button{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:7px;padding:9px 12px;font-weight:800}.savedHeroCurrent{display:grid;gap:3px;padding:14px 16px;border-left:5px solid var(--accent);background:var(--tint-green)}.savedHeroCurrent strong{font-size:20px}.savedHeroCurrent span,.savedHeroCurrent small{color:var(--muted)}.savedHeroList{display:grid;gap:10px}.savedHeroList article{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.savedHeroList article.active{border-color:var(--accent);box-shadow:0 0 0 2px #1f7a4c1f}.savedHeroList article>button:first-child{border:0;background:transparent;display:grid;gap:3px;justify-items:start;padding:14px 16px;text-align:left}.savedHeroList strong{font-size:18px}.savedHeroList span,.savedHeroList small{color:var(--muted)}.playTrackerGrid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;gap:10px}.playTrackerGrid label,.playTrackerGrid .armorToggle{min-height:76px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;align-content:center;gap:8px;padding:12px;font-weight:800}.playTrackerGrid label span{display:inline-flex;align-items:center;gap:6px}.playTrackerGrid input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-weight:850}.heroTokenGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.playSheetColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.playSheetColumns>section{display:grid;align-content:start;gap:10px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.playSheetColumns h3{margin:0 0 4px;color:var(--ink);font-size:18px}.playStance,.playAbility{border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2)}.playStance{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:12px}.playStance>span{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-weight:900}.playStance strong,.playAbility strong{display:block;margin-bottom:3px;font-size:16px}.playStance p,.playStance small,.playAbility p,.activeTokenLine{margin:0;color:var(--muted)}.playAbility{padding:12px}.activeTokenLine{padding:10px 12px;border-radius:9px;background:var(--tint-purple);color:var(--tint-purple-text);font-weight:800}.playNotes{display:grid;gap:7px;font-weight:850}.playNotes textarea{min-height:110px;border:1px solid var(--line);border-radius:10px;padding:12px;resize:vertical}.quickReferencePanel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;display:grid;gap:14px;box-shadow:0 1px 2px #141e240a}.quickReferenceHead{display:flex;align-items:start;justify-content:space-between;gap:14px}.quickReferenceHead span{color:var(--brand);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.quickReferenceHead h2{margin:3px 0 0;font-size:22px}.quickReferenceHead p{margin:0;max-width:430px;color:var(--muted);font-size:13px;line-height:1.45}.turnStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.turnStrip span{min-height:46px;border:1px solid var(--tint-blue-border);border-radius:10px;background:var(--tint-blue);color:var(--tint-blue-text);display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:850}.turnStrip strong{width:26px;height:26px;border-radius:7px;background:var(--tint-blue-text);color:#fff;display:grid;place-items:center;flex:0 0 auto}.quickReferenceGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px}.basicActionsTable,.quickRulesStack section{border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:13px}.basicActionsTable h3,.quickRulesStack h3{margin:0 0 9px;color:var(--accent-deep);font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.basicActionsTable>div{display:grid;gap:6px}.basicActionsTable span{display:grid;grid-template-columns:68px 140px minmax(0,1fr);gap:9px;align-items:start;padding:8px;border-radius:8px;background:var(--surface)}.basicActionsTable strong{color:var(--accent-deep);font-weight:900}.basicActionsTable b{color:var(--ink)}.basicActionsTable em{color:var(--muted);font-style:normal;line-height:1.4}.quickRulesStack{display:grid;gap:12px}.quickRulesStack p{margin:0 0 8px;color:var(--muted);line-height:1.45}.tokenReferenceList{display:grid;gap:7px}.tokenReferenceList span{display:grid;gap:2px;padding:8px;border-radius:8px;background:var(--surface);color:var(--muted);line-height:1.35}.tokenReferenceList strong{color:var(--tint-amber-text)}.referenceDashboard,.referenceStatBox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px #141e240a}.enemyPanel,.ioPanel{display:grid;gap:14px;align-content:start;min-height:0;overflow:auto}.enemyPanel>*{min-width:0}.ioPanel>*{min-width:0}.enemyHeader,.ioHeader,.referenceHeader{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.enemyHeader h2,.ioHeader h2,.referenceHeader h2{margin:0;font-size:18px;overflow-wrap:anywhere}.enemyHeader>div>span,.ioHeader>div>span{color:var(--accent-deep);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.enemyHeader button,.enemySectionTitle button,.referenceHeader button{border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--accent-deep);min-height:38px;padding:0 12px;font-weight:850}.enemyHeader button:hover,.enemySectionTitle button:hover{border-color:var(--accent-deep);background:var(--tint-green)}.enemyHeader p,.ioHeader p,.referenceHeader p,.referenceStatBox p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.ioDropZone{border:1px dashed var(--tint-green-border);border-radius:12px;background:var(--tint-green);padding:16px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.ioDropZone svg{color:var(--accent-deep)}.ioDropZone strong,.ioGrid strong{color:var(--ink);font-size:16px;overflow-wrap:anywhere}.ioDropZone span{display:block;margin-top:3px;color:var(--muted);font-size:13px;line-height:1.45}.ioDropZone label,.ioGrid button{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-deep);min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-weight:850;cursor:pointer}.ioDropZone input{display:none}.ioImportMessage{margin:-2px 0 0;border:1px solid var(--tint-green-border);border-radius:10px;background:var(--tint-green);color:var(--accent-deep);padding:10px 12px;font-size:13px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.ioGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ioGrid article{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:13px;display:grid;gap:8px;min-width:0}.ioGrid svg{color:var(--accent-deep)}.ioGrid p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.mediaLibrary{border-top:1px solid var(--line-soft);padding-top:14px;display:grid;gap:12px}.mediaLibrary .enemySectionTitle span{color:var(--muted);font-size:12px;font-weight:850}.mediaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mediaGrid article{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:9px;display:grid;grid-template-columns:88px minmax(0,1fr) 36px;gap:10px;align-items:center;min-width:0}.mediaGrid img{width:88px;height:64px;object-fit:cover;border-radius:8px;background:var(--line-soft)}.mediaGrid strong{display:block;color:var(--ink);font-size:14px;line-height:1.2;overflow-wrap:anywhere}.mediaGrid span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.enemyComposer{border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:14px;display:grid;gap:12px}.enemyFormGrid,.enemySelectGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.38fr);gap:10px}.enemySelectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rosterPicker{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px;margin-bottom:12px;display:grid;gap:10px}.rosterBody{display:grid;gap:10px}.rosterSearch{display:flex;align-items:center;gap:8px}.rosterGroups{display:grid;gap:12px;max-height:340px;overflow-y:auto}.rosterGroup h4{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.rosterList{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px}.rosterList button{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:9px 11px;min-height:0}.rosterList button:hover{border-color:var(--accent)}.rosterList button.active{border-color:var(--accent);background:var(--tint-green)}.rosterList strong{color:var(--ink);font-size:13.5px}.rosterList span{color:var(--muted);font-size:12px}.rosterList small{color:var(--tint-red-text);font-size:11.5px}.armorControl{grid-column:1 / -1;display:grid;gap:5px}.armorControl>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.armorStates{display:flex;gap:6px}.armorStates button{flex:1;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);min-height:34px;font-weight:800;color:var(--ink)}.armorStates button.active{border-color:var(--accent);background:var(--tint-green);color:var(--accent-deep)}.enemyComposer label,.enemyNotes{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.enemyComposer input,.enemyComposer select,.enemyComposer textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);padding:9px 10px;font-size:14px;font-weight:650;min-width:0}.enemyComposer textarea{min-height:74px;resize:vertical;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:500}.enemyComposer input:focus,.enemyComposer select:focus,.enemyComposer textarea:focus{outline:2px solid rgba(31,122,76,.35);border-color:var(--accent)}.enemyCombat{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;display:grid;gap:12px}.enemyVitals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:stretch}.enemyVitals label,.tokenCounter{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:10px;display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;min-width:0}.enemyVitals label>span{display:inline-flex;align-items:center;gap:5px}.scaleSelect{grid-column:1 / -1}.scaleSelect small{color:var(--muted);font-size:12px;line-height:1.35;font-weight:750;text-transform:none;letter-spacing:0}.enemyVitals input,.enemyVitals select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 9px;font-size:15px;font-weight:850}.healValue{display:grid;place-items:center;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:18px;line-height:1}.numberStepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;align-items:center}.numberStepper button,.armorToggle{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-deep);min-height:34px;display:grid;place-items:center;font-weight:900}.numberStepper strong{color:var(--ink);text-align:center;font-size:17px;line-height:1;overflow-wrap:anywhere}.armorToggle{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--tint-green);border-color:var(--tint-green-border)}.armorToggle.spent{background:var(--tint-red);border-color:var(--tint-red-border);color:var(--brand)}.tokenGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.enemyControls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:12px}.levelControl,.enemyKindTabs{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:12px}.levelControl label{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.levelControl input[type=range]{width:100%;accent-color:var(--accent-deep)}.levelSteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px}.levelSteps button,.enemyKindTabs button{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-height:34px;color:var(--ink-2);font-weight:850}.levelSteps button.active,.enemyKindTabs button.active{border-color:var(--accent-deep);background:var(--tint-green);color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep)}.enemyKindTabs{display:grid;grid-template-columns:1fr;gap:7px}.enemySummaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.enemySummaryCard{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:12px;display:grid;gap:6px;min-width:0}.enemySummaryCard.primary{border-left:5px solid var(--brand);background:var(--tint-red)}.enemySummaryCard span,.enemySectionTitle h3{color:var(--accent-deep);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.enemySummaryCard strong{color:var(--ink);font-size:20px;line-height:1.1;overflow-wrap:anywhere}.enemySummaryCard p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.enemyVillains{border-top:1px solid var(--line-soft);padding-top:14px}.enemySectionTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.enemySectionTitle h3{margin:0}.enemyActionButtons{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.enemyActionButtons button{display:inline-flex;align-items:center;gap:6px}.enemyVillainGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.enemyVillainGrid article,.enemyVillainGrid button{border:1px solid var(--tint-purple-border);border-radius:10px;background:var(--tint-purple);padding:11px;display:grid;gap:6px;min-width:0;text-align:left}.enemyVillainGrid button.active{border-color:var(--tint-purple-text);box-shadow:inset 0 0 0 1px var(--tint-purple-text);background:var(--tint-purple)}.enemyVillainGrid strong{color:var(--tint-purple-text);font-size:15px;overflow-wrap:anywhere}.enemyVillainGrid p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.enemyVillainGrid span{color:var(--tint-purple-text);font-size:12px;font-weight:850;overflow-wrap:anywhere}.enemySheetCard,.enemyRoster{border-top:1px solid var(--line-soft);padding-top:14px}.enemySheetCard pre{margin:0;border:1px solid var(--line);border-left:5px solid var(--accent-deep);border-radius:10px;background:var(--surface-2);color:var(--ink);padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 Segoe UI,Inter,Arial,sans-serif}.enemyRosterList{display:grid;gap:8px}.enemyRosterList article{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:stretch}.enemyRosterList article>button:first-child{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 11px;display:grid;gap:4px;text-align:left;min-width:0}.enemyRosterList strong{color:var(--ink);overflow-wrap:anywhere}.enemyRosterList span{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.sceneWorkspace,.workshopHeroes,.workshopNotes,.presetWorkspace{display:grid;gap:14px}.workshopHeroHead{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;display:flex;align-items:start;justify-content:space-between;gap:14px}.workshopHeroHead span{color:var(--brand);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.workshopHeroHead h3{margin:4px 0;color:var(--ink);font-size:21px;line-height:1.1}.workshopHeroHead p{margin:0;color:var(--muted);line-height:1.45;max-width:760px}.workshopHeroHeadActions{display:grid;justify-items:end;gap:7px;min-width:210px}.workshopHeroHeadActions span{border:1px solid var(--tint-green-border);border-radius:999px;background:var(--tint-green);color:var(--accent-deep);padding:5px 10px;font-size:12px;font-weight:900;line-height:1.2}.workshopHeroHeadActions button{min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:6px;padding:0 11px;font-weight:850;max-width:100%;overflow-wrap:anywhere}.workshopHeroGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.workshopHeroGrid article{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px;display:grid;gap:11px;min-width:0}.workshopHeroGrid article.active{border-color:var(--accent);box-shadow:0 0 0 2px #1f7a4c1f}.workshopHeroTitle{display:flex;justify-content:space-between;gap:10px;min-width:0}.workshopHeroTitle div{display:grid;gap:3px;min-width:0}.workshopHeroTitle strong{color:var(--ink);font-size:18px;line-height:1.15;overflow-wrap:anywhere}.workshopHeroTitle span,.workshopHeroTitle small{color:var(--muted);font-size:12px;line-height:1.35}.workshopHeroMeta{display:flex;flex-wrap:wrap;gap:6px}.workshopHeroMeta span{border:1px solid var(--line);border-radius:999px;background:var(--tint-green);color:var(--accent-deep);padding:4px 8px;font-size:12px;font-weight:850;line-height:1.2;overflow-wrap:anywhere}.workshopStanceList{display:grid;gap:6px}.workshopStanceList>span{border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2);padding:8px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:7px;align-items:center;min-width:0}.workshopStanceList strong{width:24px;height:24px;border-radius:7px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:12px}.workshopStanceList em{color:var(--ink);font-style:normal;font-size:13px;font-weight:850;line-height:1.2;min-width:0;overflow-wrap:anywhere}.workshopStanceList small{color:var(--accent-deep);font-size:12px;font-weight:900;white-space:nowrap}.workshopStanceList .emptyLine{grid-template-columns:1fr;color:var(--muted);font-size:13px}.workshopHeroActions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.workshopHeroActions button{min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:6px;padding:0 11px;font-weight:850}.sceneFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sceneFields label,.workshopNotes label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.sceneScaleField{grid-column:1 / -1}.sceneFields input,.sceneFields select,.workshopNotes textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 11px;font-size:14px;font-weight:650;min-width:0}.sceneFields small{color:var(--muted);font-size:12px;line-height:1.35;font-weight:750;text-transform:none;letter-spacing:0}.workshopNotes textarea{min-height:180px;resize:vertical;line-height:1.5;font-weight:520;letter-spacing:0;text-transform:none}.sceneToolbar,.presetHeader{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sceneToolbar>span{color:var(--muted);font-size:13px;font-weight:800}.sceneToolbar>div{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.sceneToolbar button,.notesPromptGrid button{min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--accent-deep);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;font-weight:850}.sceneParameterBox{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px;display:grid;gap:12px}.sceneParameterColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(180px,.7fr);gap:12px}.sceneParameterColumns>div,.sceneParameterColumns label{display:grid;align-content:start;gap:8px;min-width:0}.sceneParameterColumns strong,.sceneParameterColumns label{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.sceneParameterColumns select{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);padding:9px 10px;font-size:14px;font-weight:800}.parameterChips{display:flex;flex-wrap:wrap;gap:7px}.parameterChips button{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);min-height:32px;padding:0 10px;font-size:12px;font-weight:850}.parameterChips button.active{border-color:var(--tint-green-border);background:var(--tint-green);color:var(--accent-deep)}.sceneParameterBox p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.sceneRosterGrid,.presetList{display:grid;gap:9px}.sceneRosterGrid article,.presetList article{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:stretch}.sceneRosterGrid article>button:first-child,.presetList article>button:first-child{border:1px solid var(--line);border-radius:11px;background:var(--surface);display:grid;gap:4px;justify-items:start;padding:12px;text-align:left;min-width:0}.sceneRosterGrid strong,.presetList strong{color:var(--ink);font-size:16px;overflow-wrap:anywhere}.sceneRosterGrid span,.sceneRosterGrid small,.presetList span,.presetList small{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.notesPromptGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.presetHeader{align-items:flex-start}.presetHeader span{color:var(--brand);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.presetHeader h3{margin:4px 0;font-size:22px}.presetHeader p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.dangerIcon{border:1px solid var(--tint-red-border);border-radius:10px;background:var(--tint-red);color:var(--brand);display:grid;place-items:center}button:disabled{cursor:not-allowed;opacity:.5}.referenceCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.referenceCards button{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:11px;display:grid;gap:2px;text-align:left;min-width:0}.referenceCards button:hover{border-color:var(--accent-deep);background:var(--tint-green)}.referenceCards strong{color:var(--ink);font-size:22px;line-height:1;min-width:0;overflow-wrap:anywhere}.referenceCards span{color:var(--muted);font-size:12px;font-weight:800;min-width:0;overflow-wrap:anywhere}.referenceBlock{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:13px}.collapsibleHeading{width:100%;border:0;background:transparent;color:var(--ink);padding:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;text-align:left;min-width:0}.collapsibleHeading span{min-width:0;overflow-wrap:anywhere}.collapsibleHeading em{flex:0 0 auto;border-radius:999px;background:var(--tint-blue);color:var(--tint-blue-text);padding:4px 9px;font-size:12px;font-style:normal;font-weight:850;white-space:nowrap}.referenceBlock>.collapsibleHeading{margin-bottom:9px;color:var(--accent-deep);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.referenceReader>.collapsibleHeading{align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line-soft)}.referenceReader>.collapsibleHeading span{font-size:22px;font-weight:900}.referenceEntry>.collapsibleHeading span{font-size:17px;font-weight:900}.referenceStatBox>.collapsibleHeading span{color:var(--accent-deep);font-size:16px;font-weight:950}.collapsibleContent{display:grid;gap:inherit}.referenceBlock>.collapsibleContent,.referenceStatBox>.collapsibleContent{gap:0}.referenceSectionButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.referenceSectionButtons button{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 11px;text-align:left;display:grid;gap:4px}.referenceSectionButtons button.active{border-color:var(--accent-deep);background:var(--tint-green);box-shadow:inset 0 0 0 1px var(--accent-deep)}.referenceSectionButtons strong{color:var(--ink);font-size:13px;min-width:0;overflow-wrap:anywhere}.referenceSectionButtons span{color:var(--muted);font-size:12px;font-weight:750;min-width:0;overflow-wrap:anywhere}.statSummaryRows span{display:grid;justify-content:stretch;align-items:start;gap:3px}.statSummaryRows strong{font-size:14px}.referenceReader{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:14px}.referenceReaderHeader{display:flex;justify-content:space-between;align-items:start;gap:14px;border-bottom:1px solid var(--line-soft);padding-bottom:13px}.referenceReaderHeader span{display:inline-flex;border:1px solid var(--tint-purple-border);border-radius:999px;background:var(--tint-purple);color:var(--tint-purple-text);padding:4px 10px;font-size:12px;font-weight:850}.referenceReaderHeader p,.referenceReaderHeader small,.referenceBody p,.referenceEntry p,.moveCard small{color:var(--muted);font-size:13px;line-height:1.5}.referenceReaderHeader p,.referenceBody p,.referenceEntry p{margin:0}.referenceReaderHeader small{max-width:210px;text-align:right}.referenceBody{display:grid;gap:8px;border:1px solid var(--tint-amber-border);border-left:5px solid var(--c-stat);background:var(--tint-amber);border-radius:10px;padding:12px}.referenceTableWrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.referenceTable{width:100%;border-collapse:collapse;min-width:620px;background:var(--surface)}.referenceTable th,.referenceTable td{border-bottom:1px solid var(--line-soft);padding:8px 10px;text-align:left;font-size:12px;vertical-align:top}.referenceTable th{background:var(--tint-blue);color:var(--tint-blue-text);font-weight:900}.referenceEntries{display:grid;gap:10px}.glossaryList{display:grid;gap:18px}.glossaryGroup h4{margin:0 0 8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--tint-purple-text)}.glossaryGroup dl{margin:0;display:grid;gap:8px}.glossaryTerm{border:1px solid var(--line);border-left:4px solid var(--c-stat);border-radius:10px;background:var(--surface);padding:9px 12px}.glossaryTerm dt{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 3px}.glossaryTerm dt strong{font-size:15px;font-weight:900}.glossaryTerm dt span{font-size:11px;font-style:italic;color:var(--muted)}.glossaryTerm dd{margin:0;font-size:13px;line-height:1.5}[data-theme=dark] .glossaryTerm{background:var(--surface-2, var(--surface));border-color:var(--line)}.referenceEntry{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:13px;display:grid;gap:9px}.moveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.moveCard{border:1px solid var(--tint-purple-border);border-left:5px solid var(--tint-purple-text);background:var(--tint-purple);border-radius:10px;padding:10px;display:grid;gap:6px}.moveCard span{color:var(--tint-purple-text);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.moveCard strong{color:var(--tint-purple-text);font-size:15px;min-width:0;overflow-wrap:anywhere}.moveCard p,.moveCard small{margin:0}.moveCard p{color:var(--ink);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.referenceSide{gap:12px}.statRows,.purpleList{display:grid;gap:7px;margin-top:12px}.statRows span,.purpleList span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:1px solid var(--line-soft);border-radius:9px;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:700}.statRows strong,.purpleList strong{color:var(--ink);font-size:16px}.purpleList span{border-color:var(--tint-purple-border);background:var(--tint-purple);color:var(--tint-purple-text)}.characterHeader{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:14px}.characterHeader label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.characterHeader input,.stanceTop input,.builderPanel textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);outline:0;transition:border-color .15s ease,box-shadow .15s ease}.characterHeader input:focus,.stanceTop input:focus,.builderPanel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f7a4c1f}.characterHeader input{height:46px;padding:0 13px;font-weight:700;font-size:16px}.stepRail{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:16px;position:sticky;top:0;z-index:2;background:var(--surface);padding:4px 0}.stepRail button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);font-size:12px;font-weight:800;transition:all .12s ease}.stepRail button:hover{border-color:var(--tint-blue-border)}.stepRail button span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-deep);font-weight:900}.stepRail button.active{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.stepRail button.active span{background:var(--surface);color:var(--accent-deep)}.stepCard{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;margin-bottom:12px;transition:box-shadow .15s ease,border-color .15s ease}.stepCard[data-active=true]{border-color:var(--tint-green-border);box-shadow:0 0 0 1px var(--tint-green-border),0 10px 28px #1f5c3d14}.stepHeader{display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:12px;margin-bottom:14px}.stepHeader>span{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--accent-deep);color:#fff;font-size:18px;font-weight:900}.stepHeader h2{margin:0;color:var(--ink-2);font-size:20px}.stepHeader p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.42}.stepHeader button{border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--accent-deep);min-height:36px;padding:0 13px;font-size:12px;font-weight:850;transition:all .12s ease}.stepHeader button:hover{border-color:var(--accent-deep);background:var(--tint-green)}.pathGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pathGrid button{min-height:130px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink-2);padding:14px;text-align:left;display:grid;align-content:start;gap:7px;transition:all .12s ease}.pathGrid button:hover{border-color:var(--tint-red-border);transform:translateY(-1px)}.pathGrid button.selected{border-color:var(--brand);background:var(--tint-red);box-shadow:inset 0 0 0 1px var(--brand)}.pathGrid strong{font-size:17px}.pathGrid span{color:var(--muted);font-size:13px;line-height:1.4}.selectedGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.abilityBlock,.emptyHint{border:1px solid var(--line);border-left:5px solid var(--c-archetype);border-radius:10px;background:var(--tint-purple);padding:13px}.abilityBlock strong{display:block;color:var(--tint-purple-text);font-size:15px}.abilityBlock p,.emptyHint{margin:6px 0 0;color:var(--ink);font-size:13px;line-height:1.5}.emptyHint{margin:0;background:var(--surface-2);color:var(--muted);border-left-color:var(--line)}.buildSummary{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px;margin-bottom:14px}.buildSlot,.skillStrip{border:1px solid var(--line);border-left-width:5px;border-radius:10px;padding:11px 13px;min-height:84px;background:var(--surface-2);color:var(--ink-2);text-align:left;width:100%;transition:border-color .12s ease,box-shadow .12s ease}.buildSlot:hover{box-shadow:0 6px 16px #23323a14}.buildSlot span,.skillStrip span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.buildSlot strong,.skillStrip strong{display:block;margin-top:5px;font-size:16px}.stanceStack{display:grid;gap:12px}.stanceCard{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.stanceCard:hover{border-color:var(--tint-red-border)}.stanceCard.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.stanceTop{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;margin-bottom:10px}.stanceIndex{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--brand);color:#fff;font-size:20px;font-weight:900}.stanceTop input{height:42px;padding:0 12px;font-size:18px;font-weight:850}.stanceParts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actionPreview{margin-top:10px;display:grid;gap:7px}.miniAction{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:10px;border:1px solid var(--tint-green-border);background:var(--tint-green);border-left:5px solid var(--c-skill);border-radius:9px;padding:9px 11px;font-size:13px;line-height:1.4}.miniAction strong{color:var(--tint-green-text)}.miniAction span{min-width:0;color:var(--ink)}.actionPreview p{margin:0;color:var(--muted);font-size:14px}.builderPanel textarea{margin-top:12px;min-height:84px;resize:vertical;padding:12px}.skillsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skillBox{min-height:112px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:13px}.skillBox>span{display:block;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px}.skillBox input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 11px;outline:0}.skillBox input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f7a4c1f}.skillPill{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;background:var(--tint-coral);color:var(--tint-coral-text);border:1px solid var(--tint-coral-border);padding:5px 11px;margin:0 6px 6px 0;font-size:13px;font-weight:600}.skillPill.muted{opacity:.46}.previewPanel{padding:14px;gap:12px;overflow:auto}.sheetPreview{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--surface-2),var(--surface-2));padding:16px}.sheetTitle{display:flex;gap:10px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}.sheetTitle h2{font-size:19px;margin:0}.sheetTitle p{margin:3px 0 0;color:var(--muted);font-size:13px}.sheetAbility{padding:12px 0;border-bottom:1px solid var(--line-soft)}.sheetAbility strong{color:var(--tint-purple-text)}.sheetAbility p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.sheetStance{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line-soft)}.sheetStance span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-weight:850}.sheetStance p{margin:4px 0 0;color:var(--muted);font-size:13px}.validationBox,.exportPanel,.rulesPanel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px}.validationBox{display:grid;gap:9px}.issue{display:flex;gap:9px;padding:10px;border-radius:9px;background:var(--surface-2);align-items:flex-start}.issue.error{background:var(--tint-red);color:var(--tint-red-text)}.issue.warning{background:var(--tint-amber);color:var(--tint-amber-text)}.issue.info{background:var(--tint-green);color:var(--tint-green-text)}.issue strong,.issue span{display:block}.issue strong{font-size:13px}.rulesPanel{display:grid;gap:12px}.rulesPanelHeader{display:grid;grid-template-columns:7px 1fr;gap:11px;align-items:start}.rulesPanelHeader>span{width:7px;height:100%;min-height:42px;border-radius:999px}.rulesPanelHeader h2{margin:0;font-size:18px}.rulesPanelHeader p,.rulesEmpty{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.rulesSection{border-top:1px solid var(--line-soft);padding-top:11px}.rulesSection h3{margin:0 0 7px;color:var(--accent-deep);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.rulesSection p{margin:0 0 8px;color:var(--ink);font-size:13px;line-height:1.5}.rulesSection p.currentAbility{border-left:4px solid var(--c-archetype);background:var(--tint-purple);border-radius:8px;padding:9px 10px}.formMetaSection{display:grid;gap:8px}.diceStrip{display:grid;grid-template-columns:minmax(116px,auto) 1fr;gap:10px;align-items:baseline;border:1px solid var(--tint-blue-border);border-left:5px solid var(--c-form);background:var(--tint-blue);border-radius:9px;padding:9px 11px}.diceStrip span{color:var(--tint-blue-text);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.diceStrip strong{color:var(--tint-blue-text);font-size:18px;line-height:1.15}.diceStrip.purple{border-color:var(--tint-purple-border);border-left-color:var(--tint-purple-text);background:var(--tint-purple)}.diceStrip.purple span,.diceStrip.purple strong{color:var(--tint-purple-text)}.rulesAction{border:1px solid var(--tint-green-border);border-left:5px solid var(--c-skill);background:var(--tint-green);border-radius:9px;padding:10px;margin-bottom:8px}.rulesAction strong{color:var(--tint-green-text);font-size:13px}.rulesAction p{margin:5px 0 0}.tagRow{display:flex;flex-wrap:wrap;gap:6px}.tagRow span{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);padding:4px 9px;font-size:12px;font-weight:700}.exportPanel{display:grid;gap:8px}.exportPanel button{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;min-height:58px;display:flex;align-items:center;gap:12px;padding:9px 13px;text-align:left;color:var(--ink-2);transition:all .12s ease}.exportPanel button:hover{border-color:var(--accent-deep);background:var(--tint-green);transform:translateY(-1px);box-shadow:0 8px 20px #1f5c3d1a}.exportPanel button:first-of-type{background:var(--ink);border-color:var(--ink);color:var(--paper)}.exportPanel button:first-of-type small{color:var(--paper);opacity:.72}.exportPanel button:first-of-type:hover{background:var(--surface-3)}.exportPanel strong,.exportPanel small{display:block}.exportPanel strong{font-size:14px}.importMessage{margin:0;font-size:13px;color:var(--accent-deep);font-weight:600}@media(max-width:1180px){body{min-width:0}.topbar{padding:14px 14px 0}.brand{max-width:100%}.brand>div{min-width:0}.brand h1,.brand p{overflow-wrap:anywhere}.workspace{grid-template-columns:1fr;padding:14px}.workspace.homeLayout,.workspace.referenceLayout,.workspace.workshopLayout,.workspace.ioLayout{grid-template-columns:1fr;max-width:none}.homeDashboard{min-height:auto;padding:16px;align-content:start}.homeConsoleGrid{grid-template-columns:1fr}.homeConsoleHead h2{font-size:40px}.sectionSwitch{grid-template-columns:1fr;gap:8px;padding:6px}.sectionSwitch>span{display:none}.sectionSwitch>div{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px}.sectionSwitch button{min-height:38px;justify-items:center;text-align:center;padding:7px 6px;font-size:13px}.sectionSwitch button small{display:none}.libraryPanel,.previewPanel{position:static;max-height:none}.builderPanel{order:1}.libraryPanel{order:2}.previewPanel{order:3}.buildSummary,.characterHeader,.enemyControls,.enemyFormGrid,.enemySelectGrid,.enemyVitals,.enemySummaryGrid,.enemyVillainGrid,.ioDropZone,.ioGrid,.stanceParts,.pathGrid,.skillsGrid,.referenceSectionButtons,.heroStorageHead,.playSheetHero,.playTrackerGrid,.playSheetColumns,.sceneFields,.sceneParameterColumns,.notesPromptGrid,.quickReferenceHead,.quickReferenceGrid,.mediaGrid,.turnStrip,.moveGrid{grid-template-columns:1fr}.heroStorageHead,.playSheetHero,.sceneToolbar,.presetHeader,.quickReferenceHead{display:grid}.heroTokenGrid,.referenceCards{grid-template-columns:repeat(2,minmax(0,1fr))}.referenceReaderHeader{display:grid;gap:8px}.referenceReaderHeader small{max-width:none;text-align:left}.enemySectionTitle,.statRows span,.purpleList span{display:grid;justify-content:stretch;gap:4px}.enemyHeader{display:grid}.ioDropZone{grid-template-columns:1fr}.mediaGrid article{grid-template-columns:76px minmax(0,1fr) 34px}.mediaGrid img{width:76px;height:56px}.enemyActionButtons{justify-content:stretch}.enemyActionButtons button{justify-content:center}.tokenGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stepRail{grid-template-columns:repeat(3,1fr);position:static}.stepHeader{grid-template-columns:40px 1fr}.stepHeader button{grid-column:1 / -1}.miniAction{grid-template-columns:1fr}}@media(max-width:420px){.topbar{padding:12px 12px 0}.brand{gap:10px}.brandMark{width:42px;height:42px;border-radius:11px;font-size:24px}.brand h1{font-size:18px;line-height:1.08}.brand p{display:none}.topbarSection .brand>div{display:none}.hubBar{gap:10px}.hubSectionName{font-size:14px;letter-spacing:.08em}.hubBack{padding:8px 11px}.workspace{padding:12px}.homeDashboard{padding:12px;border-radius:10px}.homeConsoleHead{grid-template-columns:1fr;align-items:start}.homeConsoleHead h2{font-size:31px}.homeLaunchRow{min-height:76px;grid-template-columns:34px minmax(0,1fr);clip-path:none;padding:12px}.homeLaunchIcon{width:32px;height:32px}.homeLaunchRow strong{font-size:22px}.homeLaunchRow em,.homeLaunchRow small{grid-column:2;grid-row:auto;max-width:none;text-align:left}.homeStatusRows,.heroTokenGrid{grid-template-columns:1fr}.heroStorageHead h2,.playSheetHero h2{font-size:24px}.basicActionsTable span{grid-template-columns:1fr;gap:3px}.referenceDashboard,.referenceReader,.referenceStatBox,.enemyPanel,.libraryPanel,.builderPanel,.previewPanel{border-radius:10px}.referenceCards{grid-template-columns:repeat(2,minmax(0,1fr))}.referenceCards button{padding:10px}.referenceCards strong{font-size:20px}.referenceReader>.collapsibleHeading span{font-size:20px}.referenceEntry,.moveCard{padding:10px}.diceStrip{grid-template-columns:1fr;gap:4px}.enemySummaryCard strong{font-size:18px}.enemyHeader button,.enemySectionTitle button{width:100%}.enemyRosterList article{grid-template-columns:minmax(0,1fr) 38px}.tokenGrid{grid-template-columns:1fr}.numberStepper{grid-template-columns:38px minmax(0,1fr) 38px}}.crashScreen{max-width:560px;margin:12vh auto 0;padding:28px 32px;border-radius:16px;background:var(--panel, #16222a);color:var(--ink, #eef4f4);border:1px solid rgba(197,61,47,.55);display:grid;gap:14px}.crashScreen h1{margin:0;font-size:24px}.crashScreen p{margin:0;opacity:.85}.crashScreen pre{margin:0;padding:10px 12px;border-radius:10px;background:#c53d2f1f;color:#e08a80;white-space:pre-wrap;word-break:break-word;font-size:13px}.crashScreen button{justify-self:start;padding:10px 18px;border-radius:10px;border:none;background:#c53d2f;color:#fff;font-weight:700;cursor:pointer}.dataLoadingHint{margin:6px 0 0;font-size:12px;letter-spacing:.04em;color:#c9831f;animation:dataLoadingPulse 1.4s ease-in-out infinite}@keyframes dataLoadingPulse{50%{opacity:.45}}.appToast{position:fixed;right:18px;bottom:18px;z-index:90;max-width:min(420px,calc(100vw - 36px));padding:12px 16px;border-radius:12px;background:var(--panel, #16222a);color:var(--ink, #eef4f4);border:1px solid rgba(123,66,182,.55);box-shadow:0 12px 32px #0a101473;font-size:13.5px;line-height:1.45;cursor:pointer;animation:appToastIn .22s ease-out}[data-theme=light] .appToast{background:#fff;color:#1d2a2f;border-color:#7b42b673;box-shadow:0 12px 32px #141e242e}@keyframes appToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onlineGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onlinePanel{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:13px;display:grid;gap:10px;align-content:start;min-width:0}.onlinePanel h3{display:inline-flex;align-items:center;gap:7px}.onlineHint{margin:0;color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.onlineWarning{margin:0;color:var(--tint-red-text);font-size:13px;line-height:1.4}.onlineFieldRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onlineFieldRow label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;min-width:0}.onlineFieldRow input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 11px;font-size:14px;font-weight:650;min-width:0}.onlineActions{display:flex;flex-wrap:wrap;gap:7px}.onlineActions button{border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--accent-deep);min-height:38px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-weight:850}.onlineActions button:hover:not(:disabled){border-color:var(--accent-deep)}.onlineActions button:disabled{opacity:.55;cursor:not-allowed}.onlineActions .ghostButton{color:var(--muted)}.partyBox{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px;display:grid;gap:10px}.partyChips{display:flex;flex-wrap:wrap;gap:7px}.partyChips button{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);min-height:32px;padding:0 12px;font-size:12px;font-weight:850}.partyChips button.active{border-color:var(--tint-green-border);background:var(--tint-green);color:var(--accent-deep)}.partyDetails{display:grid;gap:10px;border-top:1px solid var(--line-soft);padding-top:10px}.partyMembers{display:flex;flex-wrap:wrap;gap:7px}.partyMembers>span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);padding:6px 10px;font-size:13px;min-width:0}.partyMembers>span strong{color:var(--ink);font-weight:850}.partyMembers>span em{color:var(--muted);font-style:normal;font-size:12px}.partyMembers>span.missing{border-style:dashed;opacity:.75}.partyMembers>span button{border:none;background:none;color:var(--muted);display:inline-flex;padding:2px}.partyMembers>span button:hover{color:var(--tint-red-text)}.partyMembers .emptyLine{color:var(--muted);font-size:13px}.workshopHeroActions button.active{border-color:var(--tint-green-border);background:var(--tint-green);color:var(--accent-deep)}@media(max-width:900px){.onlineGrid,.onlineFieldRow{grid-template-columns:1fr}}.advancedLink{align-self:start;border:none;background:none;padding:2px 0;min-height:0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}.advancedLink:hover{color:var(--ink)}.flavorLine{color:var(--muted);font-style:italic}button,button *,h1,h2,h3,h4,.stepHeader,.sectionSwitch,.stepRail,.pathGrid,.itemBadges,.skillPill,.roleBadge,.emptyHint,.buildSlot{user-select:none;-webkit-user-select:none}button,button *{cursor:pointer}button:disabled,button:disabled *{cursor:default}.portraitBox{position:relative;flex:0 0 auto}.portraitPreview{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.25)}.portraitClear{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;padding:0;display:grid;place-items:center}.portraitUpload{width:56px;height:56px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35);display:grid;place-items:center;cursor:pointer;opacity:.75}.portraitUpload:hover{opacity:1}.portraitUpload input{display:none}
