.editor-groups{display:flex;flex-wrap:wrap;gap:14px 24px;margin:18px 0!important;align-items:flex-start}
.editor-group{min-width:0}.editor-group>span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--theme-muted,#5a7e87);margin-bottom:8px}.editor-group>div{display:flex;flex-wrap:wrap;gap:6px}
.editor-context{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 0;border-top:1px solid var(--theme-line,#bedadb);color:var(--theme-muted,#63818b);font-size:12px}.editor-context a{color:var(--theme-ink,#226675)}
.character-admin-editor{max-width:900px;margin:20px 0;padding:24px;border:1px solid var(--theme-line,#9fc9cb);border-radius:18px;background:var(--theme-surface,#fff);box-shadow:0 8px 25px #173c4b0b}
.character-admin-editor .we-toolbar{margin-bottom:10px}.character-admin-editor .we-toolbar h2{font-size:26px}.character-admin-editor .admin-actions{margin-top:16px}
.character-change-preview{border-top:2px solid #1a8c98;margin-top:22px;padding-top:12px}.character-change-preview table{width:100%;border-collapse:collapse;text-align:left}.character-change-preview th,.character-change-preview td{padding:10px;border-bottom:1px solid var(--theme-line,#dce9e9);overflow-wrap:anywhere}
.halo-tools{grid-column:1/-1;padding:14px 22px;border-top:1px solid var(--theme-line,#d5e5df);background:var(--theme-surface,#f5fbf8)}.halo-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:12px}.halo-controls label{display:grid;gap:8px;font-size:12px}.halo-controls input{width:100%;accent-color:#a08037}.halo-tools .admin-actions{display:flex;flex-wrap:wrap;gap:8px}.halo-tools p{font-size:12px;margin:10px 0 0}.soul-halo{pointer-events:none}
.admin-workspace .admin-tabs{gap:7px}.admin-workspace .admin-tabs button:focus-visible,.editor-tabs a:focus-visible{outline:3px solid #159caa;outline-offset:3px}
@media(max-width:700px){.editor-group{flex-basis:100%}.editor-group>div>a{flex:1;text-align:center}.character-admin-editor{padding:16px}.halo-controls{grid-template-columns:1fr}.halo-tools{padding:14px}.character-change-preview th,.character-change-preview td{padding:7px}.admin-workspace .admin-heading img{width:48px;height:48px}}
.catalog-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:16px 0;max-width:1200px}
.catalog-stack>.settings-card{min-width:0;position:relative;transition:border-color .15s,box-shadow .15s}
.catalog-stack > details > summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;min-height:36px}
.catalog-stack > details > summary::-webkit-details-marker{display:none}
.catalog-stack > details > summary:before{content:'›';font-size:22px;color:var(--theme-muted,#54838c);transition:transform .15s}
.catalog-stack > details[open]>summary:before{transform:rotate(90deg)}
.catalog-stack > details[open]>summary{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--theme-line,#d3e5e5)}
.catalog-row-title{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:650;font-size:15px}
.catalog-row-title>b{color:var(--theme-muted,#718e94);margin-right:7px;font-size:12px}
.catalog-row-title>small{display:block;font-size:11px;font-weight:400;color:var(--theme-muted,#66818b);margin-top:5px}
.catalog-order-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}
.technique-sort-row{border:1px solid var(--theme-line,#c5dddd);border-radius:12px;overflow:hidden;background:var(--theme-surface,#fff)}
.technique-sort-row .combat-select{width:100%;margin:0;border:0;border-radius:0}
.technique-sort-row .catalog-order-controls{justify-content:flex-end;padding:5px 8px;border-top:1px solid var(--theme-line,#c5dddd)}
.technique-sort-row.drop-before{box-shadow:0 -3px var(--theme-accent,#159caa)}
.technique-sort-row.drop-after{box-shadow:0 3px var(--theme-accent,#159caa)}
.catalog-order-controls button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--theme-line,#c5dddd);background:var(--theme-surface,#f4faf8);border-radius:9px;color:var(--theme-muted,#386b77);cursor:pointer}
.catalog-order-controls button:disabled{opacity:.3;cursor:default}
.catalog-order-controls button:focus-visible{outline:2px solid #159caa;outline-offset:2px}
.catalog-order-controls .catalog-grip{cursor:grab;touch-action:none;font-size:23px}
.catalog-stack .is-dragging{opacity:.45}
.catalog-stack .drop-before{box-shadow:inset 0 4px #159eaa;border-top-color:#159eaa}
.catalog-stack .drop-after{box-shadow:inset 0 -4px #159eaa;border-bottom-color:#159eaa}
.catalog-order-hint{font-size:12px;color:var(--theme-muted,#63818b)}
.game-rules{max-width:1200px}.game-rules>header{margin:24px 0}.game-rules>header p{color:var(--theme-muted,#63818b)}
.game-rules nav{display:flex;flex-wrap:wrap;gap:10px}.game-rules nav a{padding:9px 15px;border:1px solid var(--theme-line,#c3dfdd);border-radius:10px;text-decoration:none;background:var(--theme-surface,#f4faf8)}
.game-rules>div{scroll-margin-top:24px;margin:28px 0}.game-rules .combat-save{position:static;margin-top:14px}.game-rules .we-toolbar>button{display:none}
.game-rules .rules-start-values{display:block}.game-rules .rules-start-values input{max-width:340px}
.image-library{margin-top:28px}.image-library-stats{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.image-library-stats>div{min-width:170px;padding:17px 23px;border:1px solid var(--theme-line,#c3dedc);border-radius:15px;background:var(--theme-surface,#f5fbf8)}.image-library-stats strong{display:block;font-size:25px;color:var(--theme-ink,#235764)}.image-library-stats span{font-size:12px;color:var(--theme-muted,#64808a)}
.image-library-note{font-size:12px;line-height:1.6;color:var(--theme-muted,#65818b)}.image-library-filters{display:flex;flex-wrap:wrap;gap:15px;padding:18px;background:var(--theme-soft,#eff7f5);border-radius:14px;margin:20px 0}.image-library-filters label{display:grid;gap:6px;font-size:12px;flex:1;min-width:180px}.image-library-filters input,.image-library-filters select{padding:11px;border:1px solid var(--theme-line,#b9d5d9);border-radius:9px;background:var(--theme-surface,#fff);color:var(--theme-ink,#244f5e);min-width:0}
.image-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px;margin:18px 0}.image-library-card{overflow:hidden;background:var(--theme-surface,#fff);border:1px solid var(--theme-line,#c9dfe1);border-radius:17px;min-width:0}.image-library-preview{height:180px;display:grid;place-items:center;background-color:var(--theme-soft,#e5edee);background-image:linear-gradient(45deg,#fff8 25%,transparent 25%,transparent 75%,#fff8 75%),linear-gradient(45deg,#fff8 25%,transparent 25%,transparent 75%,#fff8 75%);background-size:20px 20px;background-position:0 0,10px 10px}.image-library-preview img{width:100%;height:180px;object-fit:contain}.image-library-copy{padding:16px}.image-library-copy>small{color:var(--theme-muted,#64808a);font-size:10px;text-transform:uppercase;letter-spacing:1px}.image-library-copy h3{font-size:16px;overflow-wrap:anywhere;margin:9px 0}.image-library-copy p,.image-library-copy li{font-size:12px}.image-library-copy ul{padding-left:18px}.image-library-copy code{display:block;font-size:10px;overflow-wrap:anywhere;padding-top:10px}.image-library-copy summary{cursor:pointer;font-size:12px;color:var(--theme-muted,#4c7984)}
@media(max-width:600px){.catalog-order-controls{gap:3px}.catalog-order-controls button{width:31px;height:35px}.catalog-stack > details > summary{gap:8px}.catalog-row-title{font-size:13px}.catalog-stack>.settings-card{padding:14px}.image-library-stats>div{min-width:0;flex:1;padding:13px}.image-library-stats{gap:8px}}
@media(prefers-reduced-motion:reduce){.catalog-stack>.settings-card,.catalog-stack > details > summary:before{transition:none}}
.image-delete-link{margin-top:14px;background:transparent;border:1px solid var(--theme-line,#e6c9c4);border-radius:8px;color:var(--theme-muted,#984c42);padding:8px 12px;cursor:pointer}.image-delete-dialog{max-height:85dvh;overflow:auto}.image-delete-dialog>strong{overflow-wrap:anywhere}.image-delete-warning{border:2px solid var(--theme-line,#c76242);background:var(--theme-surface,#fff9f3)}.image-delete-warning h2{color:var(--theme-danger,#a34028)}.image-delete-uses{max-height:180px;overflow:auto;background:var(--theme-soft,#fff0e5);border-radius:10px;padding:4px 12px}.image-delete-ack{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-weight:600}.image-delete-ack input{width:20px;height:20px;flex-shrink:0}.image-delete-confirm{background:#a74634;color:white;border:0;border-radius:10px;padding:12px 16px;cursor:pointer}.image-delete-confirm:disabled{opacity:.4;cursor:default}
.image-delete-dialog .image-delete-ack{display:flex;flex-direction:row;align-items:flex-start}
.image-library-stats .image-library-total{background:var(--theme-soft,#e3f3ef);border-color:var(--theme-line,#91c9c4)}.image-library-stats .image-library-total strong{color:var(--theme-ink,#12616b)}@media(max-width:600px){.image-library-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.image-library-stats>div{min-width:0}.image-library-stats strong{font-size:22px}}
.content-editor .technique-editor-layout{grid-template-columns:270px minmax(340px,1fr) minmax(360px,1.15fr);gap:20px}.technique-editor-layout .combat-select{display:flex;align-items:center;gap:12px}.technique-editor-layout .technique-list-art{width:58px;height:58px;flex-shrink:0;border:1px solid var(--theme-line,#b5d4da);box-shadow:0 3px 8px #173d4c14}.technique-list-copy{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.technique-list-copy strong{font-size:14px}.technique-editor-layout .technique-list-copy small{font-size:11px}.technique-editor-heading{display:flex;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--theme-line,#d5e6e6)}.technique-editor-heading>div:last-child{min-width:0;overflow-wrap:anywhere}.technique-editor-heading .tech-editor-art{width:108px;height:108px;flex-shrink:0;box-shadow:0 5px 14px #153f4e18}.technique-editor-heading .eyebrow{font-size:9px}.technique-editor-heading h3{font-size:24px;margin:8px 0!important}.content-editor .technique-section-title{font-size:14px;margin:12px 0 0;padding-top:16px;border-top:1px solid var(--theme-line,#d9e8e8)}.technique-editor-heading+.technique-section-title{border:0;padding-top:0}.tech-editor-art .tile:has(img){background-image:none}.technique-editor-layout .combat-select:focus-visible{outline:2px solid #1899a4;outline-offset:2px}
@media(max-width:1450px){.content-editor .technique-editor-layout{grid-template-columns:250px minmax(0,1fr)}.technique-editor-layout .technique-effects{grid-column:2}}
@media(max-width:850px){.content-editor .technique-editor-layout{grid-template-columns:minmax(0,1fr)}.technique-editor-layout .technique-effects{grid-column:auto}.content-editor .technique-editor-layout .combat-list{position:static;max-height:310px}.technique-editor-heading .tech-editor-art{width:84px;height:84px}.technique-editor-heading h3{font-size:21px}}
.tile.optimized-technique{background-image:none!important;overflow:hidden}.tile.optimized-technique:before{display:none!important}.tile.optimized-technique>img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:auto}

.editor-mobile-section{display:none}
@media(max-width:700px){.editor-tabs.editor-groups{display:none}.editor-mobile-section{display:grid;gap:6px;font-size:12px;margin:14px 0}.editor-mobile-section select{padding:12px;border:1px solid var(--theme-line,#b9d5d9);border-radius:10px;background:var(--theme-surface,#fff);color:var(--theme-ink,#244f5e);max-width:100%}}

/* Focused support view: readable summaries before optional histories. */
.character-support { min-width:0; }
.character-support .admin-tabs { flex-wrap:wrap; margin:1rem 0; }
.support-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0; }
.support-metrics article { border:1px solid var(--theme-line,#bad6da); border-radius:16px; padding:18px; background:var(--theme-surface,#f3faf8); }
.support-metrics small,.support-metrics strong { display:block; }
.support-metrics strong { font-size:1.45rem; margin-top:6px; overflow-wrap:anywhere; }
.support-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--theme-line,#cadfe1); }
.support-row h3,.support-row p { margin:0 0 6px; }
.support-row button { flex-shrink:0; }
.support-table { overflow-x:auto; margin:20px 0; }
.support-table table { width:100%; border-collapse:collapse; text-align:left; }
.support-table th,.support-table td { padding:12px; border-bottom:1px solid var(--theme-line,#cadfe1); }
.support-table caption { text-align:left; font-weight:700; margin-bottom:10px; }
.support-ledger { padding:12px; border-bottom:1px solid var(--theme-line,#cadfe1); }
.character-support .settings-card { margin-top:16px; }
@media(max-width:700px){.support-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.support-row { align-items:flex-start; flex-direction:column; }}

.npc-availability{display:inline-block;padding:4px 9px;border-radius:7px;font-size:.8rem;font-weight:600;margin-top:5px}.npc-availability.available{background:var(--theme-soft,#dbf0e7);color:var(--theme-ink,#205d48)}.npc-availability.unavailable{background:var(--theme-soft,#edf0f1);color:var(--theme-muted,#52646c)}.npc-remove{border-top:1px solid var(--theme-line,#cadfe1);padding-top:12px}

.npc-thumbnail{display:block;width:80px;height:80px;overflow:hidden;border-radius:16px;flex-shrink:0}.npc-thumbnail .npc-portrait{border-radius:0;background:transparent}

.npc-list-thumbnail{display:block;width:62px;height:62px;flex-shrink:0;overflow:hidden;border-radius:12px}.npc-list-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.admin-workspace:has(.character-support)>.we-toolbar,.admin-workspace:has(.character-support)>nav.admin-tabs{display:none}
.character-support label{display:grid;gap:7px;font-size:.85rem}
.character-support input,.character-support select,.character-support textarea{width:100%;min-width:0;box-sizing:border-box;padding:11px 13px;border:1px solid var(--theme-line,#bad6da);border-radius:10px;background:var(--theme-surface,#fff);color:var(--theme-ink,#214d5a);font:inherit}
.character-support .character-change-preview{display:grid;gap:14px;max-width:850px}.character-support .character-change-preview>button{justify-self:start}
@media(max-width:600px){.npc-list-thumbnail{width:44px;height:44px}.npc-availability{font-size:.7rem}.character-support .admin-tabs{gap:6px}.character-support .admin-tabs button{padding:9px 11px}}

.campaign-list-thumbnails{display:flex;gap:4px;align-items:center;flex-shrink:0}.campaign-list-thumbnails .npc-list-thumbnail:not(:first-child){margin-left:-25px;border:2px solid var(--theme-line,#f5faf9)}.catalog-row-title{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.campaign-list-thumbnails .npc-list-thumbnail:not(:first-child){margin-left:-30px}}

.npc-focus-previews{display:grid;gap:9px;align-content:start;min-width:0}.npc-focus-previews figure{height:auto;width:100%;aspect-ratio:1.45}.npc-focus-previews figure>img{position:absolute;inset:0}.npc-focus-previews .npc-battle-preview{aspect-ratio:1.45}.npc-focus-previews .npc-campaign-preview{aspect-ratio:4/5}.npc-focus-previews figcaption{font-size:17px}.npc-focus-previews>small{color:var(--theme-muted,#557985)}.npc-focus-previews details>summary{font-size:12px;cursor:pointer}
