/* Pack 05 replaces the inner game surface; the shared outer frame/topbar stay. */
.game-shell>.stats-modal{position:absolute;left:20px;top:76px;width:1880px;height:984px;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;transform:none;box-shadow:none;overflow:hidden;z-index:22;background:#14130f;outline:0;display:block}
.game-shell>.stats-modal>.modal-head{display:none}
.game-shell>.stats-modal>.modal-body{position:absolute;inset:0;margin:0;padding:0;overflow:hidden;background:none}
.game-shell[data-ui-screen=stats] :is(.view-frame,.control-deck,.ui-content-frame,.compass-plate){visibility:hidden;pointer-events:none}
.character-stats{position:absolute;left:-20px;top:-76px;width:1920px;height:1080px;background:#161410 url('./assets/ui/stats/Panels/ui_background_leather.webp') repeat;color:#dbc9aa;font:24px/1.2 var(--heading);isolation:isolate}
.character-stats img{position:absolute;pointer-events:none;user-select:none;max-width:none}
.character-stats h1{position:absolute;left:486px;top:95px;width:1354px;margin:0;text-align:center;font:500 29px var(--heading);letter-spacing:.13em;text-transform:uppercase}
.character-stats h1:before,.character-stats h1:after{content:'';position:absolute;top:7px;width:210px;height:30px;background:center/100% 100% no-repeat}
.character-stats h1:before{left:0;background-image:url('./assets/ui/stats/Decor/ui_heading_line_left.png')}.character-stats h1:after{right:0;background-image:url('./assets/ui/stats/Decor/ui_heading_line_right.png')}
.stats-portrait{position:absolute;left:56px;top:96px;width:404px;height:404px;background:#171812 url('./assets/ui/stats/Portraits/ui_portrait_empty.png') center/cover}
.stats-face{position:absolute;inset:0;background-repeat:no-repeat;mask:url('./assets/ui/stats/Portraits/ui_portrait_mask.png') center/100% 100%;-webkit-mask:url('./assets/ui/stats/Portraits/ui_portrait_mask.png') center/100% 100%}
.stats-portrait-frame{inset:0;width:100%;height:100%}
.stats-name{position:absolute;left:54px;top:494px;width:410px;height:58px;display:flex;align-items:center;justify-content:center}
.stats-name img{inset:0;width:100%;height:100%}.stats-name span{z-index:1;max-width:334px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 27px var(--heading)}
.stats-attributes{position:absolute;left:468px;top:148px;width:646px;height:400px;background:url('./assets/ui/stats/Panels/ui_attributes.webp') center/100% 100%;color:#30251a}
.character-stats .stats-attributes h2{position:absolute;left:50px;top:26px;right:110px;margin:0;padding-bottom:14px;border-bottom:1px solid #80634270;font:500 25px var(--heading);letter-spacing:.08em;text-transform:uppercase}
.stats-attributes dl{position:absolute;left:50px;top:75px;width:486px;margin:0}
.stats-attributes dl>div{position:relative;height:60px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;border-bottom:1px solid #80634260}.stats-attributes dl>div:last-child{border:0}
.stats-attributes dt{grid-column:2;font-size:26px}.stats-attributes dd{grid-column:3;margin:0;max-width:235px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:27px;font-variant-numeric:tabular-nums}
.stats-attributes dl img{left:0;top:9px;width:42px;height:42px;object-fit:contain}.stats-attributes dd.normal{color:#315536}.stats-attributes dd.affected{color:#863d2a;font-size:23px}
.stats-attribute-divider{left:572px;top:76px;width:30px;height:276px}
.stats-illustration{position:absolute;left:1114px;top:148px;width:748px;height:400px;overflow:hidden;border:4px ridge #6b5130;box-sizing:border-box}.stats-illustration img{inset:0;width:100%;height:100%;object-fit:cover}
.stats-skills{position:absolute;left:48px;top:552px;width:1824px;height:426px;background:url('./assets/ui/stats/Panels/ui_skills.webp') center/100% 100%}
.character-stats .stats-skills h2{position:absolute;left:0;top:26px;width:100%;margin:0;text-align:center;font:500 26px var(--heading);text-transform:uppercase;letter-spacing:.15em}
.stats-skill-columns{position:absolute;left:42px;right:22px;top:68px;height:342px;display:grid;grid-auto-flow:column;grid-template-columns:820px 820px;grid-template-rows:repeat(6,56px);column-gap:80px;overflow:hidden}
.stats-skill{position:relative;display:grid;grid-template-columns:80px 276px 378px 76px;align-items:center;height:56px;padding:0;background:none;border:0;outline:none;cursor:help;font:23px var(--heading)}
.stats-skill:after{content:'';position:absolute;left:112px;right:0;bottom:0;height:2px;background:url('./assets/ui/stats/Decor/ui_row_separator.png') center/100% 2px}.stats-skill:nth-child(6n):after{display:none}
.stats-skill:hover{background:url('./assets/ui/stats/Rows/ui_row_hover.png') center/100% 100%}.stats-skill:focus-visible{background:url('./assets/ui/stats/Rows/ui_row_focus.png') center/100% 100%}
.stats-skill-medal{position:relative;left:12px;width:54px;height:54px;background:url('./assets/ui/stats/Skills/ui_medallion.png') center/contain no-repeat}.stats-skill-medal img,.stats-skill-medal .hud-glyph{position:absolute;left:8px;top:8px;width:38px;height:38px;object-fit:contain}
.stats-skill-label{padding-left:20px;padding-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-skill-bar{position:relative;width:378px;height:32px}.stats-skill-frame{inset:0;width:378px;height:32px}
.stats-skill-track{position:absolute;left:9px;top:5px;width:360px;height:22px;background:url('./assets/ui/stats/Bars/ui_skill_track.png') center/100% 100%;overflow:hidden}
.stats-skill-fill{position:absolute;left:0;top:0;height:22px;max-width:360px;overflow:hidden;background:url('./assets/ui/stats/Bars/ui_skill_fill_blue.png') left center/360px 22px no-repeat;transition:width 150ms ease-out}
.stats-skill-fill img{right:0;top:0;width:3px;height:22px}.stats-skill-value{text-align:right;font-variant-numeric:tabular-nums}
.stats-unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:17px var(--heading);color:#9f9684}.stats-skill.unavailable .stats-skill-medal{opacity:.62}.stats-skill.unavailable .stats-skill-bar{opacity:.6}.stats-skill.unavailable .stats-skill-value{color:#9f9684}
.stats-skills-divider{left:894px;top:55px;width:36px;height:342px}
.game-shell .stats-back{position:absolute;left:801px;top:990px;width:318px;height:62px;min-height:0;border:0;border-radius:0;box-shadow:none;padding:0;display:flex;gap:19px;align-items:center;justify-content:center;background:url('./assets/ui/stats/Controls/ui_back_normal.png') center/100% 100%;font:25px var(--heading);color:#ddcba7}
.stats-back kbd{background:url('./assets/ui/stats/Controls/ui_keycap.png') center/100% 100%;font:16px var(--sans);width:40px;height:32px;display:grid;place-items:center;padding:0;border:0}.stats-back:after{content:'';position:absolute;inset:0;pointer-events:none;background:center/100% 100% no-repeat}.stats-back:hover:after{background-image:url('./assets/ui/stats/Controls/ui_back_hover_overlay.png')}.stats-back:active:after{background-image:url('./assets/ui/stats/Controls/ui_back_pressed_overlay.png')}.stats-back:focus-visible:after{background-image:url('./assets/ui/stats/Controls/ui_back_focus_overlay.png')}
.stats-hero-navigation{position:absolute;left:60px;top:996px;display:flex;gap:14px}.game-shell .stats-hero-navigation button{width:48px;height:48px;min-height:0;padding:0;border:1px solid #6d5b3b;border-radius:50%;background:#181611;box-shadow:none;font:36px/1 var(--heading);color:#c6b08a}.stats-hero-navigation button:hover{color:#f0d6a6;border-color:#b09158}
.stats-training{position:absolute;right:70px;top:1004px;display:flex;align-items:center;gap:14px;font:20px var(--heading);color:#a9997e}.stats-training select{font:20px var(--heading);max-width:230px;background:#16140f;color:#c7b494;border:1px solid #65563a;padding:7px}
.character-stats :is(button,select):focus-visible{outline:2px solid #ccb281;outline-offset:2px}
.stats-modal .modal-notice{display:none}
@media(prefers-reduced-motion:reduce){.stats-skill-fill{transition:none}}

/* XP is a sibling of the blue fill: its width is relative to the full track. */
.stats-practice-fill{position:absolute;left:0;bottom:0;height:3px;box-sizing:border-box;background:#d5a449;border-top:1px solid #8c6530;pointer-events:none;transition:width 150ms ease-out}
.stats-skill.training-focused{background:linear-gradient(90deg,#b77a2526,#bd893211 70%,transparent)}
.stats-skill.training-focused .stats-skill-label{color:#f0d7a3}
.stats-skill.training-focused .stats-skill-medal:after{content:'';position:absolute;inset:1px;border:2px solid #d5a449;border-radius:50%;box-shadow:0 0 5px #d5a44955;pointer-events:none}
.stats-training select:disabled{opacity:.7;cursor:not-allowed}
.character-practice-tooltip{position:fixed;z-index:1000;box-sizing:border-box;padding:16px 20px;background:#12130fee;border:1px solid #c19a50;box-shadow:0 2px 10px #0009,inset 0 0 0 2px #8c65302b;color:#ded1b9;font:19px/1.4 var(--heading,Georgia,serif);pointer-events:none;max-width:calc(100vw - 24px)}
.character-practice-tooltip strong{display:block;margin-bottom:8px;color:#e6b85c;font-size:1.08em}
.character-practice-tooltip dl{margin:0}.character-practice-tooltip dl>div{display:flex;justify-content:space-between;gap:8px}.character-practice-tooltip dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.character-practice-tooltip p{margin:9px 0 0}.character-practice-tooltip .practice-tooltip-focus{color:#e3b95e}.practice-tooltip-bar{height:12px;border:1px solid #8c6530;background:#0b1012;margin-top:8px}.practice-tooltip-bar i{display:block;height:100%;background:#d5a449}
@media(prefers-reduced-motion:reduce){.stats-practice-fill{transition:none}}
