/* Compact tables share native column sizing for headings and values. */
.sim-view-toggle{display:flex;gap:0;margin-left:auto}
.sim-view-toggle button{border:1px solid var(--gold);border-radius:0;padding:6px 10px;background:var(--bg);color:var(--ink);font:inherit;font-size:calc(12px * var(--guide-font-scale));cursor:pointer}
.sim-view-toggle button:first-child{border-radius:6px 0 0 6px}
.sim-view-toggle button:last-child{border-radius:0 6px 6px 0;border-left:0}
.sim-view-toggle button[aria-pressed=true]{background:var(--gold);color:var(--bg);font-weight:700}
.sim-view-toggle button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.sim-list-meta,.sim-list-usable{display:none}
.simulator [data-class-view=list] .sim-table-scroll{overflow:auto}
.simulator [data-class-view=list] .sim-rec-table{display:table;min-width:1080px;width:100%;table-layout:fixed;font-size:calc(12px * var(--guide-font-scale))}
.simulator [data-class-view=list] .sim-rec-table>colgroup{display:table-column-group}
.simulator [data-class-view=list] .sim-rec-name-col{width:180px}
.simulator [data-class-view=list] .sim-rec-stat-col{width:48px}
.simulator [data-class-view=list] .sim-rec-total-col{width:76px}
.simulator [data-class-view=list] .sim-rec-actions-col{width:92px}
.simulator [data-class-view=list] .sim-rec-table>thead{display:table-header-group}
.simulator [data-class-view=list] .sim-rec-table>tbody{display:table-row-group}
.simulator [data-class-view=list] .sim-rec-table>:is(thead,tbody)>tr{display:table-row}
.simulator [data-class-view=list] .sim-rec-table>:is(thead,tbody)>tr>:is(th,td){display:table-cell;min-width:0;max-width:none;padding:5px 6px;vertical-align:middle;white-space:normal;line-height:1.4}
.simulator [data-class-view=list] .sim-rec-table>thead th,.simulator [data-class-view=list] .sim-rec-table>thead th:not(:has(button)){display:table-cell;position:static;text-align:center}
.simulator [data-class-view=list] .sim-rec-table>thead th:first-child{text-align:left}
.simulator [data-class-view=list] .sim-rec-table>thead button{padding:3px 0;border:0;background:transparent;font-size:calc(11px * var(--guide-font-scale))}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>th{position:sticky;left:0;background:var(--bg2);text-align:left}
.simulator [data-class-view=list] .sim-rec-job{font-size:calc(13px * var(--guide-font-scale))}
.simulator [data-class-view=list] .sim-rec-job img{width:24px;height:24px}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>th>small{display:inline;color:var(--ink3);font-size:calc(10px * var(--guide-font-scale))}
.simulator [data-class-view=list] .sim-list-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 6px;margin-top:3px;color:var(--ink2);font-size:calc(10px * var(--guide-font-scale));font-weight:400}
.sim-list-tier{padding:1px 5px;border-radius:8px;background:var(--c);color:#fff;font-weight:700}
.simulator [data-class-view=list] .sim-list-usable{display:inline;margin:0;font-size:inherit;font-weight:400;color:var(--ink2)}
.simulator [data-class-view=list] .sim-list-usable .class-proficiency{display:inline;margin-left:8px}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label]{display:table-cell;text-align:center}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label]::before{content:none}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td .sim-stat-value{font-size:calc(12px * var(--guide-font-scale));font-weight:700}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td .sim-modifier{display:block;margin-top:2px;font-size:calc(10px * var(--guide-font-scale));line-height:1.2}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td.sim-rec-reasons{font-size:calc(11px * var(--guide-font-scale));line-height:1.5;text-align:left}
.simulator [data-class-view=list] .sim-rec-reasons>.sim-fit-compact{margin-top:2px}
.simulator [data-class-view=list] .sim-rec-reasons>.sim-fit-compact:not([open]){display:inline-block;margin-right:8px}
.simulator [data-class-view=list] .sim-rec-reasons>.sim-inline-evidence:not([open]){display:inline-block}
.simulator [data-class-view=list] .sim-rec-table .sim-row-actions{display:flex;flex-wrap:wrap;min-width:0;gap:4px}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td:last-child button{padding:3px 7px;font-size:calc(11px * var(--guide-font-scale))}
.simulator [data-class-view=list] .sim-all-current{box-shadow:inset 3px 0 var(--gold2)}
.simulator .sim-comparison{overflow:visible;scroll-margin-top:var(--sim-nav-offset,53px)}
.simulator .sim-comparison td.sim-all-best{background:color-mix(in srgb,#2ecc71 18%,var(--bg2));color:var(--pos);font-weight:700}
.sim-picker-footer{flex:none;padding:10px 14px;border-top:1px solid var(--line);background:var(--bg2)}
.sim-picker-footer button{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--gold);border-radius:7px;background:var(--brand);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.sim-picker-footer button:disabled{opacity:.5;cursor:default}
.sim-picker-footer button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.sim-selectors .sim-image-picker-trigger{height:auto;min-height:max(52px,calc(48px * var(--guide-font-scale)))}
.sim-picker-selection-label{line-height:1.3}
.sim-picker-selection-count{display:block;margin-top:2px;font-size:calc(10px * var(--guide-font-scale));color:var(--ink3);font-weight:400}

/* Keep the character overview on the same columns, including on phones. */
.simulator [data-class-view=list] .sim-character-overview{padding-inline:0}
.simulator .sim-rec-overview-table td.hi{color:var(--pos);font-weight:700}
.simulator .sim-rec-overview-table td.lo{color:var(--neg)}
.simulator [data-class-view=list] .sim-rec-overview-table>thead{display:table-header-group!important}
.simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr{display:table-row;padding:0!important}
.simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr>td[data-mobile-label]{display:table-cell!important;padding:5px 6px!important;text-align:center!important}
.simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr>.sim-overview-skills-cell{display:table-cell;visibility:visible;vertical-align:middle}
.simulator [data-class-view=list] .sim-overview-mobile-skills{display:none}
.simulator [data-class-view=list] .sim-rec-overview-table .sim-overview-skills{max-height:none}
.sim-overview-skill-details>summary,.sim-all-help>summary{cursor:pointer;color:var(--gold2);font-size:calc(12px * var(--guide-font-scale))}
.sim-all-help{margin:8px 12px}
.sim-all-help>p{margin:8px 0;font-size:calc(12px * var(--guide-font-scale));line-height:1.5}

/* Narrow lists mirror the class catalog: one compact strip of ten stats. */
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-table-scroll{overflow:visible}
  .simulator [data-class-view=list] .sim-rec-table{display:block;min-width:0;width:100%}
  .simulator [data-class-view=list] .sim-rec-table>colgroup{display:none}
  .simulator [data-class-view=list] .sim-rec-table>thead{display:block}
  .simulator [data-class-view=list] .sim-rec-overview-table>thead{display:none!important}
  .simulator [data-class-view=list] .sim-rec-table>thead>tr{display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) minmax(0,1.3fr);gap:2px;padding:5px 8px}
  .simulator [data-class-view=list] .sim-rec-table>thead th{display:block;padding:0;border:0;box-shadow:none}
  .simulator [data-class-view=list] .sim-rec-table>thead th:first-child{grid-column:1/-1}
  .simulator [data-class-view=list] .sim-rec-table>thead th:not(:has(button)){display:none}
  .simulator [data-class-view=list] .sim-rec-table>thead button{font-size:clamp(8px,2vw,11px);white-space:normal;line-height:1.3}
  .simulator [data-class-view=list] .sim-rec-table>tbody{display:block}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr{display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) minmax(0,1.3fr);gap:2px;padding:7px 8px;border-bottom:1px solid var(--line);background:var(--bg2)}
  .simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr{display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) minmax(0,1.3fr)!important;padding:7px 8px!important}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>th{display:flex;align-items:center;flex-wrap:wrap;gap:2px 7px;grid-column:1/-1;position:static;padding:0 0 3px;border:0;box-shadow:none;background:transparent}
  .simulator [data-class-view=list] .sim-list-meta{display:inline-flex;margin:0}
  .simulator [data-class-view=list] .sim-rec-job{font-size:calc(13px * var(--guide-font-scale))}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label],
  .simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr>td[data-mobile-label]{display:flex!important;flex-direction:column;justify-content:center;gap:0;min-width:0;padding:3px 0!important;border:0;border-radius:3px;background:var(--bg);text-align:center;line-height:1.2;font-size:clamp(10px,2.6vw,14px)}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label]::before{content:attr(data-mobile-label);display:block;text-align:center;color:var(--ink3);font-size:clamp(8px,2vw,10px)!important;font-weight:400}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label="成長合計"]::before{content:"合計"}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td .sim-stat-value{font-size:clamp(10px,2.6vw,14px)}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td .sim-modifier{font-size:clamp(7px,1.8vw,10px);white-space:nowrap}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td.sim-combined{background:color-mix(in srgb,var(--gold) 22%,var(--bg2))}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td.sim-all-best{background:color-mix(in srgb,#2ecc71 18%,var(--bg2));color:var(--pos)}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td:not([data-mobile-label]){display:block;grid-column:1/-1;min-width:0;padding:1px 0;border:0;text-align:left}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr>td:last-child:not(.sim-overview-skills-cell){display:flex;justify-content:flex-end}
  .simulator [data-class-view=list] .sim-rec-table .sim-row-actions{justify-content:flex-end}
  .simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr>.sim-overview-skills-cell{display:block}
}

.simulator .sim-rec-table .sim-class-toggle{border:0;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.simulator .sim-rec-table .sim-class-toggle:disabled{opacity:1;cursor:default}
.simulator [data-class-view=list] .sim-class-toggle::after{content:'▸';color:var(--gold2);font-size:10px}
.simulator [data-class-view=list] .sim-class-expanded .sim-class-toggle::after{content:'▾'}
.simulator [data-class-view=list] tr[data-class-details-id]{cursor:pointer}
.simulator [data-class-view=list] tr:not(.sim-class-expanded) .sim-class-details{display:none}
.simulator [data-class-view=list] .sim-class-details .sim-list-usable{display:block}
.simulator [data-class-view=list] tr[data-class-details-id]>td:last-child{vertical-align:top;text-align:right}
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-class-details-id]{position:relative}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-class-details-id]>th{padding-right:55px;min-height:28px}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-recommend-class]>th{padding-right:145px}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-class-details-id]:not(.sim-class-expanded)>td.sim-rec-reasons{display:none}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-class-details-id]>td:last-child{position:absolute;right:8px;top:7px;z-index:2;padding:0}
}

/* One persistent sorting toolbar, alongside the character overview. */
.sim-overview-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:0 8px 6px}
.sim-overview-toolbar>strong{font-size:calc(12px * var(--guide-font-scale));color:var(--ink)}
.sim-overview-identity{display:flex;align-items:center;gap:8px;min-width:0}
.sim-overview-identity img{width:36px;height:36px;object-fit:contain;flex:none}
.sim-overview-identity small{display:block;color:var(--ink3);font-size:calc(10px * var(--guide-font-scale));font-weight:400;overflow-wrap:anywhere}
.sim-overview-aptitudes{margin:0;padding:0 8px 5px;color:var(--ink2);overflow-wrap:anywhere}
.sim-overview-aptitudes b{color:var(--ink3);font-weight:400;margin-right:6px}
.sim-overview-profile-details{padding:6px 8px;border-top:1px solid var(--line)}
.sim-overview-profile-content{margin-top:8px;min-width:0}
.sim-overview-profile-content .sim-class-details{display:block!important}
/* Only the compact summary sticks; the separate dossier uses normal page flow. */
.simulator .sim-character-overview{max-height:none;overflow:visible;overscroll-behavior:auto}
.sim-overview-profile-details{position:static;background:var(--bg2)}
.sim-aptitude-summary dl{margin:0}
.sim-aptitude-summary dl>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:4px 0}
.sim-aptitude-summary dt{color:var(--ink3);font-weight:400;white-space:nowrap}
.sim-aptitude-summary dd{margin:0;overflow-wrap:anywhere}
.sim-overview-character-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:0 8px 8px}
.sim-overview-character-tabs button{font:inherit;padding:3px 8px;border:1px solid var(--gold);border-radius:5px;background:var(--bg);color:var(--ink)}
.sim-overview-character-tabs button[aria-pressed=true]{background:var(--gold);color:var(--bg);font-weight:700}
@media(max-width:1100px){
  .simulator .sim-rec-overview-table>tbody>tr>.sim-overview-skills-cell{display:none!important}
  .sim-overview-identity img{width:30px;height:30px}
}
.simulator .sim-overview-toolbar .sim-overview-sort-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0 0 0 auto;font-size:calc(11px * var(--guide-font-scale))}
.sim-overview-sort-controls>label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.simulator .sim-overview-sort-controls select{min-width:0;max-width:150px;border:1px solid var(--gold);border-radius:5px;padding:3px 5px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}
.simulator [data-class-view=list] .sim-rec-table>thead{display:none!important}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label]::before{content:attr(data-mobile-label);display:block;color:var(--ink3);font-size:calc(9px * var(--guide-font-scale));font-weight:400}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr>td[data-mobile-label="成長合計"]::before{content:'合計'}
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-rec-overview-table>tbody>tr>th{display:none}
}

/* Expanded job dossier: a full-width document, separate from the stat row. */
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-class-details-id]>td.sim-rec-reasons{display:none}
}
.simulator .sim-rec-table>tbody>tr.sim-expanded-detail-row[hidden]{display:none!important}
.simulator [data-class-view=list] .sim-rec-table>tbody>tr.sim-expanded-detail-row{cursor:default}
.simulator .sim-rec-table>tbody>tr.sim-expanded-detail-row>td{padding:0;text-align:left;white-space:normal}
.sim-class-details{padding:14px 16px;background:var(--bg);border-block:1px solid var(--line);border-left:3px solid var(--gold);color:var(--ink2);font-size:calc(12px * var(--guide-font-scale));line-height:1.6;overflow-wrap:anywhere}
.sim-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sim-detail-heading>strong{color:var(--gold2);font-size:calc(14px * var(--guide-font-scale))}
.sim-detail-heading>a{white-space:nowrap;font-size:calc(11px * var(--guide-font-scale))}
.sim-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.sim-detail-grid>section{min-width:0}
.sim-detail-wide{grid-column:1/-1}
.sim-class-details h4{margin:0 0 8px;color:var(--gold2);font-size:calc(12px * var(--guide-font-scale));font-weight:700}
.sim-class-details h3{margin:8px 0;font-size:calc(13px * var(--guide-font-scale))}
.sim-class-details p{margin:4px 0}
.sim-class-details dl{margin:0}
.sim-class-details dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.sim-class-details dt{color:var(--ink3)}
.sim-class-details dd{margin:0;color:var(--ink)}
.sim-detail-skill{display:grid;grid-template-columns:65px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.sim-detail-skill>span,.sim-detail-muted{color:var(--ink3)}
.sim-detail-stat-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;margin-bottom:12px}
.sim-detail-stat-strip>div{display:flex;flex-direction:column;align-items:center;padding:5px 0;background:var(--bg2);border-radius:3px}
.sim-detail-stat-strip span{font-size:calc(10px * var(--guide-font-scale));color:var(--ink3)}
.sim-detail-stat-strip b{font-size:calc(12px * var(--guide-font-scale))}
.sim-class-details .sim-fit-heading{font-size:inherit;margin-bottom:4px}
.sim-class-details .sim-fit-profile{display:block}
.sim-class-details .sim-fit-profile>span{display:block;font-size:inherit}
.sim-detail-evidence{border-top:1px solid var(--line);padding-top:12px}
.sim-detail-evidence section{margin:12px 0 0}
.sim-detail-evidence ul{margin:4px 0 10px;padding-left:20px}
.sim-class-details .sim-rec-score table{width:100%;min-width:0;table-layout:fixed}
.sim-class-details .sim-rec-score th,.sim-class-details .sim-rec-score td{position:static;min-width:0;max-width:none;padding:5px 8px;font-size:inherit;white-space:normal;box-shadow:none}
.sim-class-details .sim-rec-score th{width:65%;background:transparent;text-align:left}
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr.sim-expanded-detail-row{display:block;padding:0}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr.sim-expanded-detail-row>td:last-child{display:block;padding:0;text-align:left}
}
@media(max-width:600px){
  .sim-class-details{padding:12px 10px;font-size:calc(11px * var(--guide-font-scale))}
  .sim-detail-grid{grid-template-columns:1fr;gap:16px}
  .sim-class-details dl>div{grid-template-columns:76px minmax(0,1fr)}
  .sim-detail-stat-strip span{font-size:clamp(8px,2vw,10px)}
  .sim-detail-stat-strip b{font-size:clamp(10px,2.5vw,12px)}
}

.sim-overview-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-left:auto;min-width:0}
.simulator .sim-overview-actions .sim-overview-sort-controls{margin:0}
.sim-overview-actions .sim-view-toggle{margin:0;flex:none}
.simulator .sim-overview-actions .sim-view-toggle button{padding:3px 7px;font-size:calc(11px * var(--guide-font-scale))}

.sim-comparison-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sim-comparison-actions button,.sim-all-characters-section .sim-result-head>button,.sim-all-characters-section [data-character-apply]{border:1px solid var(--gold);border-radius:6px;background:var(--bg);color:var(--ink);padding:6px 10px;font:inherit;font-size:calc(12px * var(--guide-font-scale));cursor:pointer}
.sim-comparison-actions button[aria-expanded=true]{background:var(--gold);color:var(--bg);font-weight:700}
.sim-comparison-actions button:disabled,.sim-all-characters-section [data-character-apply]:disabled{opacity:.45;cursor:not-allowed}
.sim-comparison-actions button:focus-visible,.sim-all-characters-section button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.sim-comparison-actions>:is(#sim-open-all-classes,#sim-open-recommendations,#sim-open-all-characters){padding:8px 12px;border:1px solid var(--gold);border-radius:6px;background:var(--brand);color:#fff;font:inherit;font-size:calc(13px * var(--guide-font-scale));font-weight:700;cursor:pointer}
.sim-comparison-actions>:is(#sim-open-all-classes,#sim-open-recommendations,#sim-open-all-characters)[aria-expanded=true]{background:var(--gold);color:var(--bg)}
@media(max-width:700px){
  .sim-comparison-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
  .sim-comparison-actions>:is(#sim-open-all-classes,#sim-open-recommendations,#sim-open-all-characters){min-width:0;padding:8px 4px;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.4;font-size:calc(12px * var(--guide-font-scale))}
}
.sim-all-characters-section{margin-bottom:16px;min-width:0;overflow:visible;scroll-margin-top:var(--sim-nav-offset,53px)}
.sim-all-characters-section .sim-character-reasons{white-space:normal;text-align:left;font-size:calc(11px * var(--guide-font-scale));line-height:1.5}
.sim-all-characters-section td.sim-all-best{background:color-mix(in srgb,#2ecc71 18%,var(--bg2));color:var(--pos);font-weight:700}
.sim-character-reasons summary{cursor:pointer;color:var(--gold2)}
.sim-overview-toolbar>strong>small{color:var(--ink3);font-size:calc(10px * var(--guide-font-scale));font-weight:400}
@media(max-width:1100px){
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-character-compare]{position:relative}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-character-compare]>th{padding-right:55px;min-height:28px}
  .simulator [data-class-view=list] .sim-rec-table>tbody>tr[data-character-compare]>td:last-child{position:absolute;right:8px;top:7px;z-index:2;padding:0}
}

.sim-trait-summary{margin-bottom:6px;color:var(--ink2);font-size:calc(11px * var(--guide-font-scale));line-height:1.5}
.sim-trait-summary p{margin:2px 0}
.sim-trait-summary b{color:var(--ink3);font-weight:400;margin-right:5px}
.sim-character-reasons>details>summary{font-size:calc(11px * var(--guide-font-scale))}
.sim-character-loading{padding:12px 16px;color:var(--ink3)}
.sim-character-detail-panel .sim-profile-panel{background:transparent;border:0;border-radius:0;padding:0;min-width:0}
.sim-character-detail-panel .sim-profile-panel h3{margin:0 0 8px;color:var(--gold2);font-size:calc(12px * var(--guide-font-scale))}
.sim-character-detail-panel h5{margin:8px 0 4px;color:var(--ink3);font-size:inherit}
.sim-character-detail-panel .tbl{overflow:visible}
.sim-character-detail-panel .tbl table{width:100%;min-width:0;table-layout:fixed}
.sim-character-detail-panel .tbl :is(th,td){min-width:0;white-space:normal;overflow-wrap:anywhere;padding:6px;position:static;font-size:inherit;box-shadow:none}
@media(max-width:1100px){
  .sim-trait-summary{display:none}
}
@media(max-width:600px){
  .sim-character-detail-panel .tbl table,.sim-character-detail-panel .tbl tbody{display:block}
  .sim-character-detail-panel .tbl tr:has(th){display:none}
  .sim-character-detail-panel .tbl tr:has(td){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding:6px 0;gap:4px}
  .sim-character-detail-panel .tbl td{display:block;text-align:left;border:0}
  .sim-character-detail-panel .tbl td:first-child,.sim-character-detail-panel .tbl td:nth-child(n+5){grid-column:1/-1}
  .sim-character-detail-panel .tbl td::before{content:attr(data-field);display:block;color:var(--ink3);font-size:calc(10px * var(--guide-font-scale))}
}

.sim-trait-summary h4{margin:0 0 4px;color:var(--gold2);font-size:inherit;font-weight:700}
.sim-trait-summary+.sim-trait-summary{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.sim-trait-level{margin-top:4px}
.sim-trait-level>.level-skill-list,.sim-trait-level .skl{font-size:inherit}
.sim-class-details .sim-trait-summary{display:block;margin:0}

/* Multi-combination controls sit above the character identity. */
#sim-comparison-toolbar .sim-overview-actions{order:-1;width:100%;margin-left:0;justify-content:flex-end}
.simulator #sim-comparison-toolbar .sim-comparison-growth-toggle{flex:none;border:1px solid var(--gold);border-radius:5px;padding:3px 7px;background:var(--bg);color:var(--ink);font:inherit;font-size:calc(11px * var(--guide-font-scale));cursor:pointer}
.simulator #sim-comparison-toolbar .sim-comparison-growth-toggle[aria-pressed=true]{background:var(--gold);color:var(--bg);font-weight:700}
.sim-comparison-growth-toggle:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}

/* Landscape phones and wide desktop screens share the compact sticky summary. */
.sim-landscape-info-toggle,.sim-landscape-character-info{display:none}
.sim-overview-toolbar>strong{display:flex;align-items:center;gap:8px}
.simulator .sim-overview-disclosure{flex:none;border:1px solid var(--gold);border-radius:5px;padding:3px 7px;background:var(--bg);color:var(--ink);font:inherit;font-size:calc(11px * var(--guide-font-scale));cursor:pointer}
.sim-overview-disclosure:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.simulator .sim-overview-summary[hidden]{display:none}
.sim-character-overview[data-collapsed=true] .sim-overview-identity small,
.sim-character-overview[data-collapsed=true]>.sim-overview-character-tabs{display:none}
/* Portrait comparison: separate navigation, controls and character summary. */
@media (max-width:700px) and (orientation:portrait){
  .simulator .sim-comparison>.sim-result-head{gap:8px;padding:12px}
  .simulator .sim-comparison>.sim-result-head h2{flex:1;min-width:0}
  .simulator #sim-comparison-toolbar{padding:12px 0;max-height:50vh;max-height:50dvh}
  .simulator #sim-comparison-toolbar .sim-overview-character-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:0 12px 12px;padding:0 0 4px}
  .simulator #sim-comparison-toolbar .sim-overview-character-tabs button{flex:none;min-height:36px;padding:6px 12px}
  .simulator #sim-comparison-toolbar .sim-overview-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0 12px 10px}
  .simulator #sim-comparison-toolbar .sim-overview-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin:0;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .simulator #sim-comparison-toolbar .sim-comparison-growth-toggle{justify-self:start;min-height:36px;padding:6px 12px}
  .simulator #sim-comparison-toolbar .sim-view-toggle{grid-column:2;grid-row:1;align-self:stretch}
  .simulator #sim-comparison-toolbar .sim-view-toggle button{min-height:36px;padding:6px 12px}
  .simulator #sim-comparison-toolbar .sim-overview-sort-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column:1/-1;grid-row:2;gap:8px;width:100%;margin:0}
  .simulator #sim-comparison-toolbar .sim-overview-sort-controls select{width:100%;max-width:none;min-height:36px;padding:6px 8px}
  .simulator #sim-comparison-toolbar .sim-overview-toolbar>strong{justify-content:space-between;width:100%;min-width:0;gap:12px}
  .simulator #sim-comparison-toolbar .sim-overview-identity{flex:1;min-width:0;align-items:flex-start}
  .simulator #sim-comparison-toolbar .sim-overview-identity>span{min-width:0}
  .simulator #sim-comparison-toolbar .sim-overview-identity img{width:32px;height:32px}
  .simulator #sim-comparison-toolbar .sim-overview-disclosure{align-self:flex-start;min-height:36px;padding:6px 10px;white-space:nowrap}
  .simulator #sim-comparison-toolbar .sim-overview-aptitudes{padding:0 12px 10px}
  .simulator #sim-comparison-toolbar .sim-rec-overview-table>tbody>tr{padding-inline:12px!important}
}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px), (orientation:landscape) and (min-width:1101px){
  .simulator .sim-character-overview{padding-block:5px;line-height:1.3}
  .simulator .sim-overview-toolbar{flex-wrap:nowrap;gap:4px 8px;padding-bottom:4px}
  .simulator .sim-overview-toolbar>strong{min-width:0}
  .simulator .sim-overview-identity{gap:5px}
  .simulator .sim-overview-identity img{width:24px;height:24px}
  .simulator .sim-overview-identity small,
  .simulator .sim-overview-summary>.sim-overview-aptitudes{display:none}
  .simulator #sim-comparison-toolbar .sim-overview-actions{order:0;width:auto;margin-left:auto}
  .simulator .sim-overview-actions{gap:4px;flex-wrap:nowrap}
  .simulator .sim-overview-sort-controls{flex-wrap:nowrap;gap:4px}
  .simulator .sim-overview-sort-controls select{max-width:110px}
  .simulator .sim-landscape-info-toggle{display:block;flex:none;border:1px solid var(--gold);border-radius:5px;padding:3px 7px;background:var(--bg);color:var(--ink);font:inherit;font-size:calc(11px * var(--guide-font-scale));cursor:pointer}
  .sim-landscape-info-toggle:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
  .sim-landscape-info-toggle[aria-expanded=true]{background:var(--gold);color:var(--bg)}
  .sim-landscape-character-info{display:block;margin-top:6px;color:var(--ink2)}
  .sim-landscape-character-info .sim-overview-aptitudes{padding:4px 0 0}
  .simulator .sim-rec-overview-table>tbody>tr>td[data-mobile-label]{padding-block:2px!important}
  .simulator .sim-overview-character-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .sim-overview-character-tabs button{flex:none}
}
