#panel-character{padding:0;background:transparent;border:0}.character-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.character-heading h2{margin:2px 0 6px;font-size:32px}.character-heading p{margin:0;color:#aaa087;font-size:13px}.character-heading p span{display:inline-block;margin-left:10px;color:#cfb77e}.character-rank{text-align:right}.character-rank small{display:block;font-size:11px;color:#a69c83}.character-rank strong{font-size:20px;color:#dfc78e}.character-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(360px,1.5fr);gap:18px;align-items:start}.character-card{border:1px solid #51442d;background:linear-gradient(130deg,#252118c9,#11130fd9);min-width:0}.character-card>header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #51442d;gap:8px}.character-card h3{margin:0;font-size:21px}.character-card>header>span{color:#c9b581;font-size:12px}.character-card-body{padding:0 16px}.attribute{padding:16px 0;border-bottom:1px solid #403923}.attribute>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.attribute strong{font-size:14px}.attribute>div>span{font-size:22px;color:#e6d6a6}.attribute small{font-size:11px;color:#9e947c}.point-allocation{display:flex;align-items:flex-end;gap:12px;margin-top:12px}.point-allocation label{display:block;flex:1;font-size:11px;color:#b8ac91}.point-allocation output{float:right;color:#efd488;font-weight:bold}.point-allocation input[type=range]{display:block;width:100%;padding:0;margin:9px 0 6px;min-height:22px;accent-color:#c3984f;cursor:pointer;background:transparent;border:0}.point-allocation button{min-height:34px;padding:6px 15px;font-size:12px}.character-note{font-size:12px;color:#ada187;line-height:1.6;margin:16px 0}.character-tabs{display:flex;border-bottom:1px solid #51442d}.character-tabs button{flex:1;background:transparent;border:0;border-radius:0;padding:12px 8px;font-size:13px;border-bottom:2px solid transparent}.character-tabs button[aria-selected=true]{background:#6b482524;color:#efd090;border-bottom-color:#c79d52}.character-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.character-skill{border:1px solid #423a28;padding:12px;background:#0e100c60;min-width:0}.character-skill-top{display:flex;align-items:center;gap:10px}.character-skill-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:#10120f;border:1px solid #6d5731}.character-skill-icon img{width:42px;height:42px;object-fit:contain}.training-icon-fallback{font-family:Georgia,serif;color:#d7b778;font-size:24px}.character-skill-title{flex:1;min-width:0}.character-skill-title h4{font-family:Arial,sans-serif;margin:0 0 5px;font-size:13px;color:#e7d7ac;line-height:1.3}.skill-rank{font-size:12px;color:#c8b177}.character-skill-title [data-read-time]{display:block;font-size:10px;color:#9d957e;margin-top:4px}.skill-auto{font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px}.skill-auto input{accent-color:#bd9750;width:15px;height:15px;margin:0;min-height:0}.skill-description{font-size:11px;line-height:1.5;color:#a49b83;margin:10px 0}.skill-training-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #403722;margin-top:12px;padding-top:10px}.skill-training-footer>span{font-size:10px;line-height:1.4;color:#b7a98b}.skill-training-footer button{font-size:11px;padding:7px 9px;min-height:32px;white-space:nowrap}.book-count{color:#edcf86;margin-left:4px}.teaching-choice{padding:16px;border-bottom:1px solid #51442d}.teaching-choice h4{margin:0}.teaching-choice p{font-size:12px;color:#b6a98c}.teaching-choice>div{display:flex;gap:8px}.teaching-choice button{flex:1}.horse-overview{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 16px;border-bottom:1px solid #403722;font-size:13px}.horse-overview small{width:100%;color:#a49b83;font-size:11px;line-height:1.5}
#training-dialog{color:#e6dab9;background:linear-gradient(145deg,#25261df7,#0d100dfc);border:1px solid #a18447;border-radius:16px;width:min(500px,calc(100% - 32px));max-height:88svh;margin:auto;padding:28px 22px 22px;box-sizing:border-box;overflow:auto;box-shadow:0 24px 100px #0009}#training-dialog[open]{animation:training-enter .2s ease-out}#training-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.training-handle{position:absolute;top:0;left:calc(50% - 44px);width:88px;height:22px;padding:0;background:transparent;border:0;min-height:0;touch-action:none;cursor:grab}.training-handle:after{content:'';display:block;width:40px;height:4px;margin:auto;border-radius:4px;background:#9d947a}.training-close{position:absolute;right:12px;top:12px;width:32px;height:32px;padding:0;min-height:0;background:transparent;border:0;font-size:27px;color:#bfb08b}.training-title{display:flex;gap:12px;align-items:center;padding-right:22px}.training-title h2{font-size:22px;margin:3px 0 5px}.training-title small{font-size:9px;letter-spacing:.13em;color:#c6a461}.training-title span{font-size:12px;color:#bfae83}.training-intro{font-size:12px;color:#bdb195;line-height:1.6;margin:18px 0}.training-books,.reading-aids{border:0;padding:0;margin:18px 0;min-width:0}.training-books legend,.reading-aids legend{font-size:11px;color:#c9b885;margin-bottom:9px}.training-books label,.reading-aids label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #48412b;background:#10120d55;margin-top:6px;cursor:pointer;font-size:12px}.training-books label:has(input:checked){border-color:#b49352;background:#72532b25}.training-books input,.reading-aids input,.rank-confirm input{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:#c7a25b;flex-shrink:0}.training-books label>span,.reading-aids label>span{flex:1}.training-books small,.reading-aids small,.training-empty small{display:block;color:#a79e85;font-size:11px;line-height:1.5;margin-top:4px}.training-requirements{border-block:1px solid #51442d;padding:8px 0}.training-requirements>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px}.training-requirements span{color:#b4a78b}.training-empty{padding:18px;border:1px dashed #6e5835;font-size:13px}.rank-confirm{display:flex;align-items:flex-start;gap:9px;color:#d6b68c;font-size:12px;line-height:1.5}.training-block{font-size:12px;color:#d1ad85;min-height:18px;line-height:1.5}.training-submit{width:100%;padding:12px;font-weight:bold}.reading-aids label:has(input:disabled){opacity:.65}
@keyframes training-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.character-skill-list{grid-template-columns:1fr}.character-layout{grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr)}}@media(max-width:700px){.character-heading h2{font-size:27px}.character-heading{margin:12px 0 16px}.character-heading p span{display:block;margin:5px 0 0}.character-layout{grid-template-columns:1fr;gap:14px}.character-card>header{padding:13px}.character-skill-list{padding:10px}.character-card-body{padding:0 13px}.attribute{padding:12px 0}.character-card h3{font-size:20px}#training-dialog{width:100%;max-width:100%;max-height:88svh;margin:auto 0 0;border-radius:18px 18px 0 0;padding:28px 18px max(18px,env(safe-area-inset-bottom))}.training-title h2{font-size:23px}.training-books,.reading-aids{margin:16px 0}.point-allocation input[type=range]{min-height:30px}.point-allocation button{min-height:40px}}
@media(prefers-reduced-motion:reduce){#training-dialog[open]{animation:none}}
.character-page-heading h2{font-size:30px;margin:0 0 8px}.character-page-heading p{font-size:13px;line-height:1.6;color:#b8a98c;margin:0;max-width:480px}.character-page-heading{margin:4px 0 14px}.character-page-action{display:flex;justify-content:flex-end;margin:-38px 0 20px}.character-page-action button{font-size:12px;min-height:36px;padding:8px 14px}.character-overview{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(340px,1.4fr);gap:20px;align-items:start}.character-overview-details{display:grid;gap:20px;scroll-margin-top:130px}.character-card{position:relative;box-shadow:inset 0 0 0 4px #12120d,inset 0 0 0 5px #4d41232e}.character-card:before{content:'';position:absolute;top:-1px;left:-1px;width:25px;height:25px;border-top:2px solid #ac8240;border-left:2px solid #ac8240;pointer-events:none}.character-card>header{padding:17px 18px}.character-card-body{padding:16px 18px}.profile-identity{text-align:center;padding:25px 15px 16px;background:radial-gradient(ellipse at center,#67503938,transparent 70%)}.profile-identity>img{width:112px;height:128px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 8px 15px #0009)}.profile-identity h2{font:25px Georgia,serif;margin:14px 0 6px}.profile-identity p{font-size:12px;color:#b6a98e;margin:0}.profile-progress{padding:16px 18px;border-block:1px solid #55482c}.profile-progress>div{display:flex;justify-content:space-between;font-size:12px;color:#b9aa8c;margin-bottom:10px}.profile-progress>small{display:block;text-align:right;font-size:10px;color:#a49a7d;margin-top:7px}.profile-progress progress,.skill-development progress{display:block;width:100%;height:7px;border:1px solid #51452c;border-radius:0;background:#080a07;appearance:none}.profile-progress progress::-webkit-progress-bar,.skill-development progress::-webkit-progress-bar{background:#080a07}.profile-progress progress::-webkit-progress-value,.skill-development progress::-webkit-progress-value{background:linear-gradient(90deg,#8d622d,#d2ad5c)}.profile-progress progress::-moz-progress-bar,.skill-development progress::-moz-progress-bar{background:#c79b4e}.profile-equipment{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:14px}.profile-equipment:empty{display:none}.profile-equipment button{padding:4px;width:38px;height:44px;min-height:0;border:1px solid #61502d;background:#10110b}.profile-equipment img{width:100%;height:100%;object-fit:contain}.unspent-points{display:grid;gap:8px;padding:0 16px 16px}.unspent-points button{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding:9px 10px;min-height:40px;background:#4c392524;border-color:#615030;text-align:left}.unspent-points strong{padding:5px 8px;border:1px solid #796039;color:#d5ae64;font-size:13px}.stat-table{border:1px solid #4f432b;background:#090b07a3}.table-caption{text-align:center;padding:9px;color:#c9aa6e;font:11px Georgia,serif;letter-spacing:.1em;background:#3a2e1729;border-block:1px solid #4b3d22}.status-row{display:grid;grid-template-columns:40px 35px 30px minmax(70px,1fr) minmax(50px,auto);align-items:center;gap:8px;padding:8px 10px;font-size:12px;border-bottom:1px solid #41351e4d}.status-row>span{color:#b6a98b}.status-row strong{text-align:right;color:#e3cd94}.status-row strong:last-child{color:#d9b9a1}.status-row button{width:28px;height:28px;min-height:0;padding:0;font-size:20px;background:linear-gradient(#6f4b24,#382714);border:1px solid #846335}.status-row>span:nth-last-child(2){padding-left:6px}.attribute-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:8px 10px}.attribute-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:11px;color:#b4a788}.attribute-metrics strong{color:#dfc992;text-align:right}.character-bonus-list,.character-effect-list{list-style:none;margin:0;padding:0;border:1px solid #4f432b;background:#090b077d}.character-bonus-list li,.character-effect-list li{padding:12px 14px;color:#ddc18b;font-size:12px;line-height:1.5;border-bottom:1px solid #41351e4d}.character-bonus-list li:last-child,.character-effect-list li:last-child{border:0}.character-effect-list small{display:block;color:#a99a7e;margin-top:3px;font-size:10px}.development-summary{display:flex;align-items:center;gap:16px}.development-summary>strong{font-size:26px;color:#d9b86d;border:1px solid #685130;background:#3e2d1844;padding:12px;text-align:center;min-width:68px}.development-summary>strong small{display:block;font-size:8px;letter-spacing:.04em;margin-top:5px;color:#a8997b}.development-summary>div>small{font-size:9px;color:#b08d4e;letter-spacing:.12em}.development-summary h3{margin:5px 0 8px;font-size:21px}.development-summary p{font-size:12px;color:#b6a88c;line-height:1.5;margin:0}.skill-tree-section{margin-top:22px}.skill-section-heading{margin:0 0 12px}.skill-section-heading h3{font:22px Georgia,serif;color:#dec490;margin:0 0 4px}.skill-section-heading small{font-size:12px;color:#a7987c}.skill-tree-section .character-skill-list{padding:0;gap:14px}.skill-tree-section .character-skill{padding:0;background:linear-gradient(120deg,#242117bd,#10120d);border-color:#5d4b2c}.skill-tree-section .character-skill-top{padding:12px;background:#654a202b;border-bottom:1px solid #514127}.skill-tree-section .character-skill-title h4{font:18px Georgia,serif;margin-bottom:5px}.skill-development{padding:14px 14px 0}.skill-development>div{display:flex;justify-content:space-between;color:#ac9e82;font-size:11px;margin-bottom:8px}.skill-development strong{font-size:10px}.skill-tree-section .skill-description{padding:0 14px;margin:12px 0;font-size:12px;min-height:36px;line-height:1.6}.skill-allocate-button{display:block;width:calc(100% - 28px);margin:0 14px 14px;font-size:12px;min-height:36px;background:linear-gradient(#3e3423,#221e15);border-color:#5c4c30}.skill-book-resources{display:grid;gap:6px;margin:10px 14px 14px}.skill-book-resources button{display:flex;align-items:center;gap:10px;min-height:40px;padding:7px 9px;text-align:left;background:#5d472120;border:1px solid #51432a;font-size:12px}.skill-book-resources button:disabled{opacity:.45}.skill-book-resources img{width:24px;height:28px;object-fit:contain;flex-shrink:0}.skill-book-resources span{flex:1}.skill-book-resources small{display:block;font-size:10px;color:#a89c7e;margin-top:3px}.skill-book-resources b{font-size:11px;color:#b8a078;border:1px solid #51432a;padding:4px 7px}.missing-book{font-size:11px;padding:11px;border:1px solid #4b412c;color:#a89e85;margin:0;line-height:1.5}.training-requirements-button{justify-content:center!important;color:#d9bd81}.skill-read-progress{margin:10px 14px;font-size:11px;color:#c2ac7a}.character-skill>[data-read-time]{display:block;margin:10px 14px;font-size:11px;color:#c5ad7c}#panel-skills{padding:0;background:transparent;border:0}.character-allocation-sheet{width:min(540px,calc(100% - 32px));max-height:88svh;overflow:auto;padding:32px 24px 24px;margin:auto;box-sizing:border-box;border:1px solid #a18447;border-radius:16px;background:linear-gradient(140deg,#24251bf7,#0d100dfc);color:#e0d5b8;box-shadow:0 25px 100px #0009;position:fixed}.character-allocation-sheet[open]{animation:training-enter .2s ease-out}.character-allocation-sheet::backdrop{background:#0009;backdrop-filter:blur(3px)}.character-allocation-sheet h2{font:25px Georgia,serif;color:#d6a653;margin:8px 0 14px}.character-allocation-sheet>p{font-size:13px;line-height:1.7;color:#b6aa8d;margin:0 0 22px}.allocation-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 14px;border:1px solid #645333;background:#0b0d09;font-size:13px;margin-bottom:22px;color:#b8ad91}.allocation-preview strong{display:flex;align-items:center;gap:13px;color:#e8c57d;font-size:22px;white-space:nowrap}.allocation-to{font-size:11px;color:#ab9873}.allocation-range-label{display:block;font-size:14px}.allocation-range-label input{display:block;appearance:none;width:100%;height:7px;padding:0;border:1px solid #987439;border-radius:0;background:#4e4229;margin:22px 0 26px;accent-color:#cfa655;min-height:0}.allocation-range-label input::-webkit-slider-thumb{appearance:none;width:22px;height:26px;background:#cda35e;border:3px solid #251b0f;outline:1px solid #cda35e;cursor:grab}.allocation-range-label input::-moz-range-thumb{width:18px;height:22px;background:#cda35e;border:3px solid #251b0f;border-radius:0}.allocation-stepper{display:grid;grid-template-columns:46px 1fr 46px;gap:10px}.allocation-stepper button{padding:0;min-height:46px;font-size:24px}.allocation-stepper input{width:100%;text-align:center;font-size:18px;background:#0b0d09;border:1px solid #685534;color:#e7d3a2;padding:8px;appearance:textfield}.allocation-limits{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#a99d80;margin-top:12px}.allocation-max{padding:12px 0;font-size:13px;font-weight:bold;border:0;background:transparent;color:#d4bf94;margin:10px 0 22px}.character-allocation-sheet footer{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.character-allocation-sheet footer button{font-size:14px;padding:12px 20px;min-height:44px}body[data-view=skills] .heading,body[data-view=character] .heading{display:none}
@media(max-width:800px){.character-overview{grid-template-columns:1fr}.profile-overview{max-width:none}.profile-identity{padding:18px}.profile-identity>img{width:90px;height:100px}.character-page-action{margin:10px 0 18px;justify-content:flex-start}.character-overview-details{gap:16px}.character-card-body{padding:14px}.character-overview{gap:16px}.skill-tree-section .character-skill-list{grid-template-columns:1fr}.character-allocation-sheet{width:100%;max-width:100%;margin:auto 0 0;padding:26px 20px max(20px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.character-allocation-sheet h2{font-size:25px}.character-allocation-sheet>p{font-size:13px}.allocation-preview{padding:17px 13px}.allocation-limits{font-size:11px}.character-card>header{padding:15px}.status-row{gap:6px;grid-template-columns:32px 28px 28px minmax(65px,1fr) minmax(40px,auto);font-size:11px}.attribute-metrics{gap:0 16px}.character-page-heading h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.character-allocation-sheet[open]{animation:none}}
.character-vitals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.character-vitals>span{display:flex;flex-direction:column;gap:5px;border:1px solid #48412b;padding:12px;color:#ada087;font-size:11px}.character-vitals strong{font-size:18px;color:#e5d6ab}@media(max-width:700px){.character-vitals{gap:7px}.character-vitals>span{padding:10px;font-size:10px}.character-vitals strong{font-size:16px}}

.profile-identity:has(.profile-model-stage){background:#191911}
.profile-model-stage{position:relative;width:100%;height:340px;overflow:hidden;touch-action:pan-y;cursor:grab}
.profile-model-stage:active{cursor:grabbing}.profile-model-stage>.selection-loading{position:absolute;inset:0}
.profile-model-canvas{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .15s ease-out;pointer-events:none}
.profile-model-stage.model-ready>.selection-loading{display:none}.profile-model-stage.model-ready>.profile-model-canvas{opacity:1}
@media(max-width:800px){.profile-model-stage{height:280px}}
@media(prefers-reduced-motion:reduce){.profile-model-canvas{transition:none}}

/* These pages contain their own framed cards; the wrapper has no frame. */
#panel-character,#panel-skills{box-shadow:none}
#panel-character::before,#panel-skills::before{content:none}
.character-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;margin:4px 0 22px}
.character-page-heading>div:first-child{min-width:0;flex:1}
.character-page-heading .character-page-action{flex:0 0 auto;margin:0}
@media(max-width:800px){.character-page-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:18px}.character-page-heading .character-page-action{margin:0}}
