/* Header / content / footer share the viewport; content never paints over the footer. */
.character-detail .person-summary .avatar.portrait-single{background-size:100% 100%;background-position:center;background-repeat:no-repeat;aspect-ratio:1;object-fit:contain}
.portal .footer{position:relative;z-index:2;background:#171c20;min-height:44px;padding:10px 20px;margin:0;gap:8px 20px;font-size:.61rem}
.portal .footer-edition{display:flex;align-items:center;gap:18px}.portal #frontend-version{white-space:nowrap;color:#b8b0a0;border-left:1px solid #445056;padding-left:14px;font-size:.65rem}
.character-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;margin:0 0 10px;flex-shrink:0}
.character-page-heading>div:first-child{display:flex;align-items:baseline;gap:16px;min-width:0}.character-page-heading h1{font-size:1.3rem;line-height:1.3;margin:0;white-space:nowrap}.character-page-heading p{font-size:.72rem;color:#9cacae;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.character-select-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.character-select-tools select{width:210px;min-height:33px;height:33px;padding:6px 30px 6px 11px;font-size:.71rem}.character-select-tools .badge{font-size:.55rem}.character-select-tools .button{min-height:33px;padding:6px 10px;font-size:.7rem}
.portal #characters-content{min-height:0}.character-detail .character-banner{min-height:63px;height:auto;padding:9px 16px;gap:12px;margin:0}.character-detail .character-banner .avatar{width:43px;height:43px;flex-basis:43px}.character-banner-name{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.character-detail .character-banner h2{font-size:1.15rem;margin:0;line-height:1.3}.character-game-name{font-size:.67rem;color:#a3b3b7}.character-banner-name .badge{font-size:.61rem}.character-portrait-button{min-height:30px;padding:5px 10px}
.character-detail .character-tabs{padding:5px 12px;gap:5px;flex-shrink:0}.character-tabs button{padding:7px 10px;font-size:.72rem;line-height:1.25}.character-detail .character-tab-panel{padding:12px 16px;min-height:0}.character-detail .character-save-note{padding:7px 16px;margin:0;font-size:.6rem;line-height:1.4;flex-shrink:0}
.character-detail .health-readings{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.character-detail .health-readings>div{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:9px 10px;min-width:0}.character-detail .health-readings small{font-size:.63rem;line-height:1.3}.character-detail .health-readings strong{font-size:.91rem;line-height:1.3;margin:0;white-space:nowrap}.character-detail .health-caption{margin:12px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.character-detail .health-caption h3{font-size:.84rem;margin:0}.health-caption small{font-size:.61rem}
.character-detail .body-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}.character-detail .body-region{padding:8px 10px;min-height:0}.body-region>div{font-size:.69rem}.body-region small{font-size:.6rem;line-height:1.4;margin-top:4px}.body-region meter{height:4px;margin:5px 0 0}
.character-detail .skill-controls{display:flex;gap:12px;margin:0 0 12px;align-items:center}.character-detail .skill-controls .search-field{flex:1}.character-detail .skill-controls input,.character-detail .skill-controls select{height:32px;min-height:32px;padding-block:5px}.skill-controls .search-field>.icon{bottom:8px}.character-detail .skill-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px 22px}.character-detail .skill-row{padding:4px 0 8px}.skill-row>div:first-child{font-size:.74rem}.skill-level{margin-top:6px;gap:3px}.skill-level i{height:5px}
.character-detail .trait-title-row{margin:0 0 9px}.trait-title-row h3{font-size:.88rem}.character-detail .trait-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px}.character-detail .native-trait{display:flex;align-items:center;text-align:left;gap:9px;padding:7px 10px;min-height:45px;cursor:pointer;transition:background .15s,border-color .15s}.character-detail .native-trait>.native-character-icon,.character-detail .native-trait>.icon{width:27px;height:27px;flex:0 0 27px}.native-trait>span{min-width:0}.character-detail .native-trait strong{font-size:.73rem;line-height:1.25}.native-trait small{font-size:.56rem;color:#aeaaa0;display:block;line-height:1.25;margin-bottom:3px}.character-detail .native-trait[aria-pressed=true]{background:#3b3930;border-color:#c8a36e;box-shadow:inset 0 0 0 1px #c8a36e30}.native-trait:hover{background:#2e3c43}.native-trait:focus-visible{outline:2px solid #d3b582;outline-offset:2px}.native-trait.occupation{border-left:2px solid #b69b74}
.trait-inspector{display:flex;align-items:center;gap:12px;background:#18252c;border:1px solid #47555b;border-radius:6px;padding:10px 13px;margin-top:10px;min-height:68px}.trait-inspector>img,.trait-inspector>.icon{width:32px;height:32px;flex:0 0 32px}.trait-inspector strong{font-size:.77rem}.trait-inspector p{font-size:.69rem;line-height:1.5;margin:3px 0 0;color:#b4c3c3;white-space:pre-line}
@media(min-width:960px) and (min-height:700px){
 #main[data-view=profile] #page{display:flex;flex-direction:column;gap:10px}#main[data-view=profile] .page-heading{margin:0;min-height:40px;flex-shrink:0}#main[data-view=profile] .page-heading>div{display:flex;align-items:baseline;gap:15px}#main[data-view=profile] .page-heading h1{font-size:1.3rem;margin:0}#main[data-view=profile] .profile-cover{height:clamp(120px,19dvh,185px);min-height:120px;margin:0;flex-shrink:0}#main[data-view=profile] .profile-cover-identity{bottom:15px;left:20px;gap:15px}#main[data-view=profile] .profile-cover-identity>.avatar{width:66px;height:66px}#main[data-view=profile] .profile-cover h2{font-size:1.35rem;margin:5px 0 7px}#main[data-view=profile] .profile-grid{min-height:0;flex:1;gap:14px}#main[data-view=profile] .card-heading{padding:10px 16px}#main[data-view=profile] .card-body{padding:12px 16px}#main[data-view=profile] .profile-grid .stack{gap:10px}#main[data-view=profile] .alias-form{margin:0 0 12px;padding:10px}#main[data-view=profile] .alias-form input,#main[data-view=profile] .alias-form .button{min-height:34px;height:34px}#main[data-view=profile] .definition-grid{gap:9px 20px;padding:0}#main[data-view=profile] .definition-grid dd{font-size:.8rem}#main[data-view=profile] .source-note{margin:9px 0 0;font-size:.65rem;line-height:1.4}#main[data-view=profile] .steam-state{margin-bottom:10px;gap:12px}#main[data-view=profile] .steam-state h3{font-size:.9rem;margin:0 0 5px}#main[data-view=profile] .steam-state p{font-size:.7rem;margin:0}#main[data-view=profile] .card-body>p{font-size:.73rem;margin:0 0 9px}
 .portal .workspace{height:100dvh;min-height:0;display:grid;grid-template-rows:var(--header-height) minmax(0,1fr) auto}
 .portal main{height:100%;min-height:0;max-width:none;align-self:stretch;justify-self:stretch;margin:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:12px 20px}
 .portal #page{height:100%;min-height:0}.portal .footer{margin:0;display:flex;flex-wrap:nowrap;min-height:44px}.portal .footer>span{min-width:0}.portal .footer #connection-status{font-size:.63rem}
 #page:has(#characters-content){display:flex;flex-direction:column}.portal #characters-content{flex:1;min-height:0;display:flex;flex-direction:column}.portal #characters-content>.character-detail{height:100%;max-height:100%;display:flex;flex-direction:column}.character-tab-panel{flex:1;overflow:auto}
 .overview-layout{height:100%;min-height:0;display:flex;flex-direction:column;padding:0 14px 12px}.overview-cover{height:clamp(128px,19dvh,215px);min-height:0;flex-shrink:0;padding:14px 2px}.overview-layout .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px;flex-shrink:0}.overview-layout .stat{min-height:88px;padding:10px 13px}.overview-layout .stat strong{font-size:1.35rem;margin:4px 0}.overview-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;min-height:0;margin-bottom:10px}.overview-cards>.card{min-height:0;overflow:auto}.overview-cards .card-heading{padding:10px 12px}.overview-cards .card-body{padding:12px}.overview-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-shrink:0}.overview-shortcuts>a,.overview-shortcuts>button{min-height:50px;padding:8px 10px}
}
@media(min-width:960px) and (max-width:1399px){.character-page-heading>div:first-child{display:block}.character-page-heading h1{font-size:1.15rem}.character-page-heading p{margin-top:2px;max-width:235px}.character-select-tools{gap:7px}.character-select-tools select{width:180px}.character-select-tools>.badge{display:none}.portal .footer-edition>span:first-child{display:none}.overview-cover .cover-copy{max-width:75%}.overview-cards .card-heading h2{font-size:.75rem}.overview-cards .card-body{padding:10px}.overview-rules .rule-list{gap:10px}.overview-shortcuts small{display:none}.overview-layout .stat{padding:9px 10px}.overview-layout .stat small{font-size:.6rem}}
@media(min-width:960px) and (max-height:850px){.character-detail .skill-list{gap:5px 20px}.character-detail .skill-row{padding:1px 0 6px}.character-detail .character-tab-panel{padding:9px 14px}.character-detail .native-trait{min-height:39px;padding:5px 8px}.character-detail .native-trait strong{font-size:.69rem}.trait-inspector{min-height:56px;padding:8px 11px}.overview-cover{height:125px}.overview-cover .cover-copy{padding:8px 12px}.overview-cover .cover-copy h1{font-size:1.35rem;margin:5px 0}.overview-layout .stat{min-height:78px}.overview-shortcuts>a,.overview-shortcuts>button{min-height:41px}}
@container (max-width:700px){.character-detail .health-readings{grid-template-columns:repeat(3,minmax(0,1fr))}.character-detail .body-regions{grid-template-columns:repeat(3,minmax(0,1fr))}.character-detail .skill-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:959px){.character-page-heading{flex-wrap:wrap;gap:10px}.character-page-heading>div:first-child{width:100%;justify-content:space-between}.character-select-tools{width:100%}.character-select-tools>label{flex:1;min-width:0}.character-select-tools select{width:100%}.character-detail .body-regions{grid-template-columns:repeat(3,minmax(0,1fr))}.portal #characters-content{display:block}.portal .footer-edition{flex-direction:row;flex-wrap:wrap}.portal #frontend-version{display:inline-block}.character-detail .character-save-note{padding:9px 12px}}
@media(max-width:540px){.character-page-heading p{max-width:45%;font-size:.64rem}.character-select-tools>.badge{display:none}.character-banner-name{gap:6px}.character-game-name{display:none}.character-detail .character-banner h2{font-size:1.05rem}.character-detail .character-banner{padding:9px 11px}.character-detail .character-banner .avatar{width:34px;height:34px;flex-basis:34px}.character-detail .character-tabs button{font-size:.64rem;padding:7px 3px}.character-detail .character-tab-panel{padding:12px}.character-detail .health-readings>div{display:block;padding:9px}.character-detail .health-readings strong{display:block;margin-top:3px}.character-detail .body-regions{grid-template-columns:repeat(2,minmax(0,1fr))}.character-detail .skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px}.character-detail .skill-controls{flex-wrap:wrap;gap:8px}.character-detail .skill-controls .search-field{flex-basis:100%}.character-detail .trait-list{grid-template-columns:repeat(2,minmax(0,1fr))}.character-detail .native-trait{padding:8px 7px;gap:6px}.character-detail .native-trait strong{font-size:.7rem}.trait-title-row{flex-wrap:wrap;gap:4px}.trait-inspector{align-items:start;min-height:0}.portal .footer-edition>span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.character-detail .native-trait{transition:none}}

/* Native game categories stay open; no search or group filter is needed. */
.character-detail .skill-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.skill-column{min-width:0;display:grid;gap:10px}.skill-category{min-width:0;padding:9px 12px;background:#172229;border:1px solid #38484f;border-radius:6px}.skill-category>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:3px;border-bottom:1px solid #48534d}.skill-category h3{margin:0;color:#d5bd91;font-size:.77rem;line-height:1.35}.skill-category header small{color:#92a5aa;font-size:.59rem;white-space:nowrap}.character-detail .skill-category .skill-row{padding:3px 0 5px;margin:0;min-height:0;border:0}.skill-category .skill-row>div:first-child{font-size:.69rem;line-height:1.25;gap:6px}.skill-category .skill-row strong{font-weight:500}.skill-category .skill-row span{font-size:.62rem;white-space:nowrap}.skill-category .skill-level{margin-top:3px;gap:3px}.skill-category .skill-level i{height:4px}
@container(max-width:700px){.character-detail .skill-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skill-column:last-child{grid-column:1/-1}.skill-column:last-child .skill-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
@container(max-width:440px){.character-detail .skill-groups{grid-template-columns:1fr}.skill-column:last-child{grid-column:auto}.skill-column:last-child .skill-category-list{display:block}.skill-category h3{font-size:.83rem}.skill-category .skill-row>div:first-child{font-size:.76rem}.character-detail .skill-category .skill-row{padding:5px 0 7px}}
.sound-preference{display:inline-flex;align-items:center;gap:7px;font-size:.73rem;color:#b5c4c5;cursor:pointer}.sound-preference input{width:16px;height:16px;min-height:0;accent-color:#bd9760;padding:0;margin:0}
@media(min-width:960px) and (max-height:850px){.skill-column{gap:8px}.skill-category{padding:7px 10px}.skill-category>header{padding-bottom:4px;margin-bottom:2px}.character-detail .skill-category .skill-row{padding:1px 0 3px}}
.portal #frontend-version{font-family:Arial,sans-serif;font-style:normal;font-weight:600;letter-spacing:.04em}
@media(min-width:960px) and (max-height:850px){.overview-cards .card-body{padding:10px 12px}}
