[hidden]{display:none!important}.modal-open{overflow:hidden}.overview-page{max-width:1440px}.overview-hero{padding-bottom:28px}.overview-hero p{max-width:880px}.overview-main{display:grid;gap:16px}.overview-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;color:#7d334d;text-transform:uppercase}.overview-auth{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-width:4px}.overview-auth>div:first-child{display:grid;gap:4px}.overview-auth strong{font:800 18px Cinzel,serif}.overview-auth #authCopy{color:#685c5d;font-size:11px;line-height:1.45}.overview-auth-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.overview-user{padding:7px 10px;background:#e0d3b6;border:1px solid #c0aa80;font-size:10px;font-weight:900}.overview-panel{padding:22px;border-width:5px}.overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px}.overview-status{display:grid;gap:4px}.overview-status strong{font:800 17px Cinzel,serif}.overview-status small{color:#6d6060;font-size:10px}.overview-upload{position:relative;overflow:hidden}.overview-upload input{position:absolute;opacity:0;inset:0;cursor:pointer}.overview-heading{display:flex;align-items:end;gap:18px;margin-bottom:18px}.overview-heading h2,.noble-title-row h2{font:800 25px Cinzel,serif;margin:4px 0 0;letter-spacing:.06em}.overview-heading i{height:2px;background:#c2ab7e;flex:1;margin-bottom:7px}.kingdom-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:780px;margin:8px auto 0;gap:20px}.kingdom-card{text-align:center;padding:10px 14px;background:#e4d7bd;border:1px solid #c2ae85}.kingdom-icon{width:64px;height:64px;margin:0 auto 9px;display:grid;place-items:center;transform:rotate(45deg);background:#7d334d;border:3px solid #a98349;box-shadow:0 0 0 5px #efe4ca}.kingdom-icon span{transform:rotate(-45deg);font-size:25px;color:#fff3cf}.kingdom-card label{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#6e5a49}.kingdom-value{font-size:38px;font-weight:900;line-height:1.1;margin-top:4px;color:#2b222a}.region-stats-wrap{overflow:auto;padding-bottom:4px}.region-grid{display:grid;grid-template-columns:140px repeat(var(--regions),minmax(155px,1fr));min-width:620px;max-width:930px;margin:auto;border:1px solid #bca77f;background:#fffaf0}.region-grid .blank{border-bottom:2px solid #bca77f;background:#e7dac0}.region-column-head{text-align:center;border-bottom:2px solid #bca77f;padding:8px 6px;background:#e7dac0}.region-column-head small{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;margin-bottom:5px;color:var(--region)}.region-column-head strong{display:block;padding:7px 8px;background:var(--region);color:#fff;font-size:11px;text-transform:uppercase}.stat-label{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:12px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#5c4f4d;border-right:1px solid #c9b792;border-top:1px solid #d6c8ab;background:#eee2cb}.stat-label i{width:30px;height:30px;display:grid;place-items:center;background:#7d334d;color:#fff4d0;transform:rotate(45deg);font-style:normal}.stat-label i span{transform:rotate(-45deg)}.region-stat{display:grid;place-items:center;min-height:56px;font-size:25px;font-weight:900;color:#241d27;border-left:1px solid #c9b792;border-top:1px solid #d6c8ab;background:color-mix(in srgb,var(--region) 13%,#fffaf0)}.noble-title-row{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:2px solid #c2ab7e;padding-bottom:12px}.noble-title-row p{margin:6px 0 0;color:#746766;font-size:11px}.noble-title-row>strong{font-size:12px;letter-spacing:.08em;background:#7d334d;color:#fff8df;padding:8px 11px}.noble-regions{display:grid;gap:16px;margin-top:18px}.noble-region{--region:#74767d;border:1px solid #b9a57f;background:#e9ddc5;display:grid;grid-template-columns:112px 1fr;overflow:hidden}.region-banner{background:var(--region);display:flex;align-items:center;justify-content:center;padding:18px;min-height:128px}.region-banner strong{font-size:38px;color:#fff}.region-nobles{padding:0 14px 14px;min-width:0}.region-noble-head{min-height:43px;display:flex;align-items:center;gap:14px}.region-noble-head h3{margin:0;color:var(--region);font:900 16px Cinzel,serif}.region-noble-head span{font-size:9px;font-weight:900;text-transform:uppercase;color:#6c5e58}.noble-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.noble-row{appearance:none;width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px;background:#fffaf0;border:1px solid #c8b58d;border-left:5px solid var(--region);color:#201923;text-align:left;cursor:pointer;min-width:0;transition:transform .12s ease,box-shadow .12s ease}.noble-row:hover{transform:translateY(-2px);box-shadow:0 7px 16px #5b49342c}.noble-thumb{width:58px;height:68px;overflow:hidden;background:#171525;border:2px solid #c8b58d}.noble-thumb img{width:100%;height:190%;object-fit:cover;object-position:50% 0;display:block}.noble-thumb.placeholder{display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--region) 40%,#29283b),#151826)}.noble-thumb.placeholder span{font:800 26px Cinzel,serif;color:#f3e7cc}.noble-main{min-width:0;display:grid;gap:3px}.noble-name{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noble-pronouns{font-size:9px;color:#786d69}.noble-money{text-align:right}.noble-money strong{font-size:14px;color:#9c6d13}.noble-money small{display:block;font-size:7px;letter-spacing:.1em;color:#81736c}.premium-mark{color:#b47c12;font-size:11px;margin-left:5px}.empty-copy{text-align:center;padding:36px;color:#786d69}.overview-modal{position:fixed;inset:0;z-index:210;background:#0a0810cc;backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.noble-detail-card{width:min(760px,96vw);display:grid;grid-template-columns:300px 1fr;padding:24px;border-width:6px;gap:24px}.modal-close{position:absolute;right:15px;top:9px;border:0;background:none;color:#6d5860;font-size:30px;cursor:pointer;z-index:2}.detail-portrait{--region:#74767d;height:390px;background:#171525;border:5px solid var(--region);overflow:hidden;display:grid;place-items:center}.detail-portrait img{width:100%;height:190%;object-fit:cover;object-position:50% 0;align-self:start}.detail-portrait>span{font:800 86px Cinzel,serif;color:#efe4ca}.detail-copy{align-self:center}.detail-copy h2{font:800 29px/1.05 Cinzel,serif;margin:6px 0 14px}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-stats>div{background:#e1d5bd;border:1px solid #c4b188;padding:10px}.detail-stats small{display:block;color:#7a6d66;font-size:8px;font-weight:900;letter-spacing:.1em}.detail-stats strong{display:block;margin-top:3px;font-size:14px}.detail-copy p{color:#6c6266;font-size:11px;line-height:1.55;margin:15px 0}.detail-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.danger{background:#8b2f3e}.login-dialog{padding:0;border:0;background:transparent;color:#281f27}.login-dialog::backdrop{background:#000b}.login-dialog form{width:360px;padding:26px}.login-dialog h2{font:800 24px Cinzel,serif;margin:5px 0 15px}.login-dialog label{display:block;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.09em;margin:12px 0}.login-dialog input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #b7a681;background:#fffaf0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.form-error{color:#9d2638;font-size:12px}.import-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:400;background:#15111b;border:1px solid #dfbf78;color:#fff7e6;padding:12px 18px;font-size:11px;font-weight:900;box-shadow:0 10px 30px #0008}
@media(max-width:900px){.overview-auth{align-items:flex-start;flex-direction:column}.overview-auth-actions{justify-content:flex-start}.noble-list{grid-template-columns:1fr}.noble-detail-card{grid-template-columns:240px 1fr}.detail-portrait{height:330px}}
@media(max-width:650px){.overview-panel{padding:14px}.overview-toolbar{align-items:flex-start;flex-direction:column}.kingdom-stats{gap:7px}.kingdom-card{padding:8px 4px}.kingdom-icon{width:48px;height:48px}.kingdom-value{font-size:27px}.noble-region{grid-template-columns:64px 1fr}.region-banner{padding:8px}.region-banner strong{font-size:25px}.region-noble-head{align-items:flex-start;flex-direction:column;gap:2px;padding:9px 0}.noble-row{grid-template-columns:52px minmax(0,1fr)}.noble-thumb{width:48px;height:58px}.noble-money{grid-column:2;text-align:left}.noble-detail-card{grid-template-columns:1fr;max-height:92vh;overflow:auto}.detail-portrait{height:330px;max-width:280px;width:100%;margin:auto}}

/* v94 — restore the stronger blue/region-tinted Overview boxes from the pre-v93 design,
   while retaining the Family Tree style page shell and the new portrait interactions. */
.kingdom-card{position:relative;padding:8px 14px;background:transparent;border:0;color:#f7f5ed}
.kingdom-icon{width:68px;height:68px;margin:0 auto 6px;background:#1595a3;border:3px solid #0f6d78;box-shadow:0 0 0 5px #132139}
.kingdom-icon span{font-size:27px;font-weight:900;color:#fff}
.kingdom-card label{display:inline-block;background:#a6ced1;color:#0b1b26;font-size:11px;padding:3px 18px;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);text-transform:uppercase}
.kingdom-value{font-size:42px;color:#f7f5ed;text-shadow:0 3px 0 #091322}
.kingdom-stats{padding:18px;background:linear-gradient(180deg,#132139f0,#0e1b32f6);border:1px solid #264b63;max-width:820px}
.region-grid{max-width:930px;border:1px solid #264b63;background:#0e1b32;color:#f7f5ed}
.region-grid .blank{border-bottom:2px solid #22546a;background:#102039}
.region-column-head{border-bottom:2px solid #22546a;padding:6px;background:#102039}
.region-column-head small{font-size:9px;color:var(--region)}
.region-column-head strong{color:#fff;font-size:12px}
.stat-label{padding:13px 12px;font-size:11px;color:#bdc7d2;border-right:1px solid #24425d;border-top:1px solid #1f3751;background:#102039}
.stat-label i{width:31px;height:31px;background:#168d9a;color:#fff}
.region-stat{min-height:58px;font-size:27px;color:#fff;border-left:1px solid #1f3751;border-top:1px solid #1f3751;background:linear-gradient(180deg,color-mix(in srgb,var(--region) 32%,#122039),color-mix(in srgb,var(--region) 18%,#0d1b31))}
.noble-region{--region:#4a6e8b;border:1px solid color-mix(in srgb,var(--region) 75%,#10192d);background:color-mix(in srgb,var(--region) 34%,#0d182d);grid-template-columns:150px 1fr;overflow:visible;color:#f7f5ed}
.region-banner{position:relative;padding:18px;min-height:128px;background:var(--region);overflow:visible}
.region-banner:after{content:"";position:absolute;left:20%;right:20%;bottom:-38px;height:58px;background:var(--region);clip-path:polygon(0 0,100% 0,50% 100%);z-index:0}
.region-banner strong{font-size:42px;z-index:1;color:#fff}
.region-nobles{padding:0 18px 18px;position:relative;z-index:1}
.region-noble-head{height:42px;min-height:42px;display:flex;align-items:center;gap:14px;margin-left:-18px}
.region-noble-head h3{margin:0;background:#f8f7ef;color:var(--region);font:900 17px Cinzel,serif;padding:7px 28px 7px 14px;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%);min-width:330px}
.region-noble-head span{font-size:11px;color:#f7f5ed}
.noble-list{gap:8px 14px;padding-top:10px}
.noble-row{grid-template-columns:62px minmax(0,1fr) auto;padding:7px 10px;background:#09162acc;border:1px solid #24425d;border-left:5px solid var(--region);color:#f7f5ed}
.noble-row:hover{box-shadow:0 7px 18px #0007;background:#0d1d34}
.noble-thumb{background:#171525;border:2px solid color-mix(in srgb,var(--region) 58%,#b8c3ce)}
.noble-thumb.placeholder{background:linear-gradient(160deg,color-mix(in srgb,var(--region) 45%,#29283b),#151826)}
.noble-name{font-size:15px;color:#fff}
.noble-pronouns{font-size:10px;color:#b7c2cc}
.noble-money strong{font-size:16px;color:#f0c758}
.noble-money small{color:#aeb7be}
.premium-mark{color:#f0c758}
@media(max-width:900px){.noble-region{grid-template-columns:110px 1fr}.region-noble-head h3{min-width:250px}}
@media(max-width:650px){.kingdom-stats{padding:10px}.kingdom-icon{width:50px;height:50px}.kingdom-value{font-size:30px}.kingdom-card label{font-size:8px;padding:3px 9px}.noble-region{grid-template-columns:70px 1fr}.region-banner strong{font-size:27px}.region-noble-head{height:auto;min-height:0;flex-direction:column;align-items:flex-start;margin:0;padding-top:10px;gap:5px}.region-noble-head h3{min-width:0;width:100%;font-size:13px}.region-nobles{padding-left:10px}.noble-row{grid-template-columns:52px minmax(0,1fr)}.noble-money{grid-column:2;text-align:left}}

/* v96 — large roster layout and Family Tree identity linking. */
.noble-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.noble-row{grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:7px 8px}
.noble-thumb{width:50px;height:62px}
.noble-name{font-size:13px}
.noble-money strong{font-size:14px}
.linked-mark{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:6px;border-radius:50%;background:color-mix(in srgb,var(--region) 72%,#172033);border:1px solid color-mix(in srgb,var(--region) 72%,#fff);color:#fff;font-size:10px;vertical-align:1px}
.family-tree-link{display:inline-flex;margin:0 0 12px;text-decoration:none}
.family-link-editor{margin:13px 0;padding:12px;background:#d9ccb2;border:1px solid #b9a47e}
.family-link-editor>label{display:block;margin-bottom:6px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#6b5c55}
.family-link-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}
.family-link-controls select{min-width:0;width:100%;padding:9px 10px;border:1px solid #a99570;background:#fffaf0;color:#2a2228;font:700 11px Inter,sans-serif}
.family-link-editor small{display:block;margin-top:7px;color:#72645d;font-size:9px;line-height:1.4}
@media(max-width:1180px){.noble-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.noble-list{grid-template-columns:1fr}.family-link-controls{grid-template-columns:1fr 1fr}.family-link-controls select{grid-column:1/-1}}
@media(max-width:650px){.noble-row{grid-template-columns:52px minmax(0,1fr)}.noble-thumb{width:48px;height:58px}.noble-money{grid-column:2;text-align:left}}

/* v97 — compact Player Noble directory and editor-reviewed Family Tree suggestions. */
.noble-directory-toolbar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(260px,1.6fr) minmax(150px,.8fr) minmax(150px,.8fr);gap:10px;align-items:end;margin:16px 0 8px;padding:12px;background:#132139;border:1px solid #264b63}
.directory-search,.directory-select{display:grid;gap:5px;min-width:0}.directory-search>span,.directory-select>span{font-size:8px;font-weight:900;letter-spacing:.13em;color:#aebbc7}.directory-search input,.directory-select select{width:100%;min-width:0;height:38px;border:1px solid #34536b;background:#0b1729;color:#f5f0e4;padding:0 11px;font:700 11px Inter,sans-serif;outline:none}.directory-search input:focus,.directory-select select:focus{border-color:#77afbd;box-shadow:0 0 0 2px #168d9a55}.directory-search input::placeholder{color:#778999}.directory-select select option{background:#0b1729;color:#fff}
.directory-region-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:38px}.directory-filter{appearance:none;border:1px solid #35556d;background:#0b1729;color:#b9c6d1;min-height:32px;padding:0 10px;font:900 9px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.directory-filter:hover{border-color:#6a91a9;color:#fff}.directory-filter.active{background:#168d9a;border-color:#6ac2ca;color:#fff}
.directory-summary{min-height:22px;text-align:right;color:#746766;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.noble-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;margin-top:5px}.noble-directory-column{--region:#74767d;min-width:0;background:#0d182d;border:1px solid color-mix(in srgb,var(--region) 62%,#203146);box-shadow:0 8px 20px #2b20321a}.noble-directory-column>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:56px;padding:7px 9px;background:linear-gradient(135deg,color-mix(in srgb,var(--region) 75%,#122037),color-mix(in srgb,var(--region) 30%,#0b1629));border-bottom:2px solid var(--region);color:#fff}.directory-region-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff70;background:#07121f55;font-size:17px}.noble-directory-column>header span:nth-child(2){display:grid;min-width:0}.noble-directory-column>header small{font-size:7px;letter-spacing:.09em;text-transform:uppercase;color:#e4edf3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noble-directory-column>header strong{font:900 15px Cinzel,serif;letter-spacing:.05em}.noble-directory-column>header b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#081422aa;border:1px solid #ffffff45;font-size:10px}.directory-list{display:grid}.directory-noble{appearance:none;position:relative;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:57px;padding:5px 7px;border:0;border-bottom:1px solid #1f3751;background:#09162acc;color:#f7f5ed;text-align:left;cursor:pointer;transition:background .12s ease,padding-left .12s ease}.directory-noble:last-child{border-bottom:0}.directory-noble:hover{background:#10223b;padding-left:10px}.directory-noble:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--region);opacity:.85}.directory-thumb{width:38px;height:46px;border-width:1px}.directory-thumb img{height:190%}.directory-thumb.placeholder span{font-size:18px}.directory-noble-copy{display:grid;gap:3px;min-width:0}.directory-noble-name{font-size:11px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-noble-sub{font-size:7.5px;color:#9fb0be;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-wealth{text-align:right;min-width:63px}.directory-wealth strong{display:block;color:#f0c758;font-size:10px;white-space:nowrap}.directory-wealth small{display:block;margin-top:2px;color:#8999a5;font-size:6px;letter-spacing:.1em}.directory-status{position:absolute;right:6px;bottom:4px;padding:1px 4px;border:1px solid;font-size:5.5px;font-weight:900;letter-spacing:.08em}.directory-status.linked{background:#123d31;border-color:#3b9d79;color:#aee6cd}.directory-status.suggested{background:#493817;border-color:#b99443;color:#f7d985}.directory-noble .premium-mark{font-size:8px;margin-left:3px}
.match-suggestion{margin:13px 0;padding:12px;background:#162238;border:1px solid #b58a36;color:#f7f2e5}.match-suggestion-head{display:grid;gap:4px;margin-bottom:9px}.match-suggestion-head .overview-kicker{color:#e4b850}.match-suggestion-head>strong{font:800 13px Cinzel,serif}.match-suggestion-head>small{font-size:8px;line-height:1.45;color:#b8c4ce}.match-candidates{display:grid;gap:6px}.match-candidate{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;background:#0b1729;border:1px solid #29425a}.suggestion-portrait{width:38px;height:46px;overflow:hidden;background:#171525;border:1px solid #8d7442;display:grid;place-items:center;font:800 18px Cinzel,serif}.suggestion-portrait img{width:100%;height:190%;object-fit:cover;object-position:50% 0}.match-copy{display:grid;gap:2px;min-width:0}.match-copy>strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-copy>span{font-size:7.5px;color:#a9b7c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-copy>small{font-size:6.5px;color:#e2bd68;letter-spacing:.04em}.match-actions{display:grid;grid-template-columns:1fr;gap:4px}.btn.tiny{min-height:0;padding:5px 7px;font-size:7px;letter-spacing:.05em;white-space:nowrap}.match-actions .ghost{background:#27354a;color:#d8e0e6;border-color:#52647b}
.noble-detail-card{width:min(840px,96vw)}
@media(max-width:1100px){.noble-directory-toolbar{grid-template-columns:1fr 1fr}.noble-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.noble-directory-toolbar{grid-template-columns:1fr}.directory-region-filters{order:2}.noble-directory{grid-template-columns:1fr}.directory-summary{text-align:left}.match-candidate{grid-template-columns:42px minmax(0,1fr)}.match-actions{grid-column:2;grid-template-columns:auto auto;justify-content:start}.noble-detail-card{width:min(720px,96vw)}}
@media(max-width:500px){.directory-noble{grid-template-columns:38px minmax(0,1fr) auto}.directory-thumb{width:34px;height:42px}.directory-wealth{min-width:58px}.directory-noble-name{font-size:10px}.directory-noble-sub{font-size:7px}}

/* v98 — Character Creator colour language across the Kingdom Overview. */
.overview-page{--cc-bg:#17223a;--cc-panel:#223650;--cc-panel2:#173e51;--cc-cyan:#008a94;--cc-cyan2:#0fa9b1;--cc-line:#41627d;--cc-ink:#f5f7fb;--cc-muted:#9eb2c5;max-width:1440px}
.overview-page .overview-hero h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.overview-page .overview-hero p{color:#d8deea}
.overview-page .overview-main{gap:14px}
.overview-page .paper{background:var(--cc-bg);color:var(--cc-ink);border-color:#10192c;box-shadow:0 20px 55px rgba(0,0,0,.3)}
.overview-page .paper:after{border-color:#41627d55}
.overview-page .overview-kicker{color:var(--cc-cyan2)}
.overview-auth{background:#10192c!important;border-color:#223650!important;border-width:6px!important}
.overview-auth strong{color:#fff}
.overview-auth #authCopy{color:var(--cc-muted)}
.overview-user{background:#192942;border-color:#48647d;color:#d7e5ee}
.overview-toolbar{background:#10192c;border:1px solid #31445e}
.overview-status strong{color:#fff}.overview-status small{color:var(--cc-muted)}
.overview-page .btn{border:2px solid #27bac2;background:#078791;color:#fff;border-radius:0;padding:10px 13px;font-size:9px;letter-spacing:.06em}
.overview-page .btn:hover{background:#0b98a2}.overview-page .btn.ghost{background:#192942;border-color:#48647d;color:#dce8ef}.overview-page .btn.secondary{background:#7d334d;border-color:#b8617d}.overview-page .btn.danger{background:#842f42;border-color:#c35d72}
.overview-heading{margin-bottom:14px}.overview-heading h2,.noble-title-row h2{color:#fff}.overview-heading i{background:#41627d}.noble-title-row{border-color:#41627d}.noble-title-row p{color:#aebdca}.noble-title-row>strong{background:#078791;border:1px solid #27bac2;color:#fff}
.kingdom-stats{max-width:860px;background:#10192c;border:1px solid #31445e;gap:10px;padding:13px}
.kingdom-card{background:#223650;border:1px solid #41627d;padding:13px 10px}
.kingdom-icon{width:62px;height:62px;background:#078791;border-color:#27bac2;box-shadow:0 0 0 4px #17223a}
.kingdom-card label{background:#173e51;color:#dff8fa;border:1px solid #2d7f91;clip-path:none;padding:4px 10px;font-size:9px}
.kingdom-value{color:#fff;text-shadow:none;font-size:38px}
.region-grid{background:#10192c;border-color:#41627d;color:#fff}.region-grid .blank,.region-column-head{background:#17223a;border-color:#41627d}.region-column-head small{color:#a9bfcd}.region-column-head strong{border:1px solid color-mix(in srgb,var(--region) 65%,#fff);box-shadow:inset 0 -2px #0002}.stat-label{background:#17223a;color:#c8d6df;border-color:#31445e}.stat-label i{background:#173e51;color:#e6fbfc;border:1px solid #2b7d8c}.region-stat{background:color-mix(in srgb,var(--region) 18%,#223650);color:#fff;border-color:#31445e}
.noble-directory-toolbar{background:#10192c;border-color:#31445e}.directory-search>span,.directory-select>span{color:#adc1d0}.directory-search input,.directory-select select{background:#17223a;border-color:#41627d;color:#fff}.directory-search input:focus,.directory-select select:focus{border-color:#27bac2;box-shadow:0 0 0 2px #0fa9b144}.directory-region-filters .directory-filter{background:#192942;border-color:#48647d;color:#b8cad7}.directory-region-filters .directory-filter:hover{color:#fff;border-color:#6d91a9}.directory-region-filters .directory-filter.active{background:#078791;border-color:#27bac2;color:#fff}.directory-summary{color:#9eb2c5}
.noble-directory{gap:10px}.noble-directory-column{background:#17223a;border-color:#41627d;box-shadow:0 12px 28px #0003}.noble-directory-column>header{background:#223650;border-bottom-color:var(--region)}.directory-region-mark{background:#10192c;border-color:#58718a}.directory-list{background:#10192c}.directory-noble{background:#17223a;border-bottom-color:#31445e}.directory-noble:nth-child(even){background:#192942}.directory-noble:hover{background:#223650}.directory-noble:before{width:4px}.directory-thumb{border-color:#41627d;background:#10192c}.directory-noble-name{color:#fff}.directory-noble-sub{color:#9eb2c5}.directory-wealth strong{color:#f0c758}.directory-wealth small{color:#8196a8}.directory-status.linked{background:#123d31;border-color:#3b9d79;color:#aee6cd}.directory-status.suggested{background:#493817;border-color:#b99443;color:#f7d985}
.overview-modal{background:#060b14db}.noble-detail-card{background:#17223a!important;border-color:#10192c!important;color:#f5f7fb}.modal-close{color:#d5e4ed}.detail-copy h2{color:#fff}.detail-copy p{color:#aebdca}.detail-stats>div{background:#223650;border-color:#41627d}.detail-stats small{color:#9eb2c5}.detail-stats strong{color:#fff}.detail-portrait{background:#10192c;border-color:var(--region)}
.family-tree-link{border-radius:0!important}.family-link-editor{background:#10192c;border-color:#41627d}.family-link-editor>label{color:#adc1d0}.family-link-controls select{background:#17223a;border-color:#41627d;color:#fff}.family-link-editor small{color:#91a7b8}
.match-suggestion{background:#10192c;border-color:#a47e36}.match-suggestion-head>small{color:#9eb2c5}.match-candidate{background:#17223a;border-color:#41627d}.suggestion-portrait{background:#10192c}.match-copy>span{color:#a9b9c5}.match-actions .ghost{background:#192942;color:#d8e0e6;border-color:#52647b}
.login-dialog{color:#f5f7fb}.login-dialog form{background:#17223a;border-color:#10192c}.login-dialog h2{color:#fff}.login-dialog label{color:#adc1d0}.login-dialog input{background:#10192c;border-color:#41627d;color:#fff}.form-error{color:#ff9eaa}
.import-toast{background:#10192c;border-color:#27bac2;color:#fff}
.empty-copy{color:#9eb2c5}
@media(max-width:650px){.overview-page .overview-panel{padding:12px}.kingdom-stats{gap:6px}.kingdom-card{padding:9px 4px}.kingdom-icon{width:48px;height:48px}.kingdom-value{font-size:27px}}

/* v99 — Family Tree-style Player Noble portrait gallery. */
.overview-page .noble-panel{padding:22px 24px 26px}
.overview-page .noble-title-row{align-items:center}
.overview-page .noble-title-row p{max-width:820px}
.overview-page .noble-directory-toolbar{margin-bottom:10px}
.overview-page .directory-summary{margin:2px 0 12px}
.overview-page .noble-directory{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(178px,1fr));
  gap:14px;
  align-items:stretch;
  margin-top:0;
}
.overview-page .noble-grid-card{
  --region:#74767d;
  appearance:none;
  position:relative;
  min-width:0;
  min-height:270px;
  padding:8px 8px 10px;
  border:4px solid var(--region);
  border-radius:15px;
  background:#211d2a;
  color:#f8f3e7;
  box-shadow:0 12px 28px rgba(0,0,0,.48);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.overview-page .noble-grid-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 18px 35px rgba(0,0,0,.66)}
.overview-page .noble-grid-card:focus-visible{outline:4px solid rgba(223,191,120,.9);outline-offset:3px}
.overview-page .noble-grid-portrait{
  display:grid;
  place-items:center;
  width:100%;
  height:184px;
  overflow:hidden;
  border-radius:10px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--region) 34%,#101521),#101521 72%);
  border:2px solid rgba(255,255,255,.16);
  position:relative;
}
.overview-page .noble-grid-portrait img{width:100%;height:205%;object-fit:contain;object-position:50% 0%;display:block;align-self:start}
.overview-page .noble-grid-portrait.placeholder span{font:800 62px Cinzel,serif;color:#d8ceb9;text-shadow:0 4px 15px #0008}
.overview-page .noble-grid-copy{display:grid;min-width:0;padding:9px 3px 0}
.overview-page .noble-grid-name{display:block;min-height:34px;font:800 15px/1.15 Cinzel,serif;color:#fff;overflow:hidden;text-overflow:ellipsis}
.overview-page .noble-grid-region{display:block;margin-top:3px;color:var(--region);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-page .noble-grid-wealth{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:9px;padding-top:7px;border-top:1px solid rgba(255,255,255,.09)}
.overview-page .noble-grid-wealth small{color:#9eb2c5;font-size:7px;font-weight:900;letter-spacing:.13em}
.overview-page .noble-grid-wealth strong{color:#f0c758;font-size:13px;white-space:nowrap}
.overview-page .noble-grid-status{position:absolute;right:12px;top:13px;z-index:3;padding:4px 6px;border:1px solid;font-size:6px;font-weight:900;letter-spacing:.11em;box-shadow:0 3px 8px #0008}
.overview-page .noble-grid-status.linked{background:#123d31;border-color:#55b58f;color:#c7f5dd}
.overview-page .noble-grid-status.suggested{background:#493817;border-color:#d2ad56;color:#ffe6a8}
.overview-page .noble-grid-card .premium-mark{font-size:10px;margin-left:5px;color:#f0c758}
@media(max-width:1180px){.overview-page .noble-directory{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:11px}.overview-page .noble-grid-portrait{height:172px}}
@media(max-width:760px){.overview-page .noble-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.overview-page .noble-grid-card{min-height:245px}.overview-page .noble-grid-portrait{height:158px}.overview-page .noble-grid-name{font-size:13px;min-height:31px}}
@media(max-width:430px){.overview-page .noble-panel{padding:13px}.overview-page .noble-directory{grid-template-columns:1fr 1fr}.overview-page .noble-grid-card{padding:6px;min-height:218px;border-width:3px;border-radius:12px}.overview-page .noble-grid-portrait{height:132px}.overview-page .noble-grid-name{font-size:11px;min-height:27px}.overview-page .noble-grid-wealth strong{font-size:11px}.overview-page .noble-grid-region{font-size:7px}}

/* v100 — Family Tree portrait fallbacks + full noble detail framing. */
.overview-page .noble-grid-portrait img.silhouette{
  height:190%;
  object-fit:contain;
  object-position:50% 0%;
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.32));
  opacity:.96;
}
.overview-page .noble-grid-portrait .portrait-fallback-initial{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font:800 62px Cinzel,serif;
  color:#d8ceb9;
  text-shadow:0 4px 15px #0008;
}
.overview-page .noble-grid-portrait .portrait-fallback-initial[hidden]{display:none!important}
.suggestion-portrait{position:relative}
.suggestion-portrait img.silhouette{
  width:100%;
  height:190%;
  object-fit:contain;
  object-position:50% 0;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.3));
}
.suggestion-portrait .portrait-fallback-initial{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font:800 18px Cinzel,serif;
}
.suggestion-portrait .portrait-fallback-initial[hidden]{display:none!important}
.detail-portrait{position:relative}
.detail-portrait img,
.detail-portrait img.uploaded-portrait,
.detail-portrait img.silhouette{
  position:static;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center top;
  align-self:stretch;
  justify-self:stretch;
  background:#10192c;
}
.detail-portrait img.silhouette{
  filter:drop-shadow(0 12px 9px rgba(0,0,0,.3));
  opacity:.96;
}

/* v109 — current Monarch + logged-in controlled Noble */
.featured-people-panel{padding:18px 22px}.featured-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.featured-person{--region:#1e656c;appearance:none;min-width:0;display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:center;padding:13px;border:2px solid #41627d;background:#10192c;color:#fff;text-align:left}.featured-person.clickable{cursor:pointer}.featured-person.clickable:hover,.featured-person.clickable:focus-visible{border-color:var(--region);box-shadow:0 0 0 2px color-mix(in srgb,var(--region) 48%,transparent);outline:none}.featured-person-portrait{height:126px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--region) 34%,#101521),#101521 72%);border:3px solid var(--region)}.featured-person-portrait img{width:100%;height:175%;object-fit:contain;object-position:50% 0;align-self:start}.featured-person-copy{min-width:0}.featured-person-copy>span{display:block;color:var(--region);font:900 8px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}.featured-person-copy h3{margin:4px 0 3px;color:#fff;font:800 20px/1.1 Cinzel,serif;overflow:hidden;text-overflow:ellipsis}.featured-person-copy p{margin:0;color:#aebdca;font:700 10px/1.45 Inter,sans-serif}.featured-person-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.featured-person-stats b{padding:5px 7px;background:#17223a;border:1px solid #41627d;color:#f0c758;font:900 9px Inter,sans-serif}.featured-person.empty{grid-template-columns:1fr;min-height:152px;align-content:center}.featured-person.empty h3{margin:4px 0}.featured-person.empty .btn{width:max-content;margin-top:8px}.featured-test-badge{display:inline-flex!important;width:max-content;margin-bottom:5px;padding:4px 6px;background:#493817;border:1px solid #d2ad56;color:#ffe6a8!important}
@media(max-width:800px){.featured-people{grid-template-columns:1fr}.featured-person{grid-template-columns:96px minmax(0,1fr)}.featured-person-portrait{height:110px}}

/* v110 rounded-square portrait language */
.noble-thumb,.directory-thumb,.suggestion-portrait{border-radius:10px}.detail-portrait{border-radius:22px}.overview-page .noble-grid-portrait{border-radius:16px;overflow:hidden}.featured-person-portrait{border-radius:16px}

/* v154 — personal Player Noble family trees */
.player-family-panel{margin-top:16px;padding:14px;border:1px solid #c4af83;background:#fff9eb}.player-family-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-family-head strong{display:block;margin-top:3px;font:900 12px Cinzel,serif}.player-family-head small{display:block;margin-top:4px;max-width:520px;color:#73635d;font:700 8px/1.4 Inter,sans-serif}.player-family-members{display:grid;gap:7px;margin-top:11px}.player-family-member{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #d5c4a0;background:#fffdf6}.player-family-member strong,.player-family-member span,.player-family-member small{display:block}.player-family-member strong{font:900 10px Cinzel,serif}.player-family-member span{margin-top:2px;color:#6f3651;font:900 8px Inter,sans-serif}.player-family-member small{margin-top:3px;color:#786b66;font:700 8px Inter,sans-serif}.player-family-member-actions{display:flex;gap:5px}.player-family-empty{padding:10px;color:#88786e;font:800 9px Inter,sans-serif}.player-family-review-panel{margin-top:18px;padding:18px}.player-family-review{display:flex;justify-content:space-between;gap:15px;padding:12px;border-top:1px solid #c8b58d}.player-family-review strong,.player-family-review span,.player-family-review small{display:block}.player-family-review span,.player-family-review small{margin-top:3px;color:#76645d;font:700 9px Inter,sans-serif}.player-family-review .actions{display:flex;gap:6px;align-items:center}

/* v155 — Player Noble family navigation */
.noble-family-nav{display:grid;gap:8px;margin:14px 0 4px}
.noble-family-bar{appearance:none;width:100%;min-height:58px;padding:10px 14px;border:1px solid #46617c;background:#172a43;color:#eef5f8;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:14px;text-align:left;text-decoration:none;cursor:pointer;box-shadow:inset 4px 0 #5aa6b1;transition:background .14s,border-color .14s,transform .14s}
.noble-family-bar span{font:900 7px/1 Inter,sans-serif;letter-spacing:.14em;color:#8eb3c5}.noble-family-bar strong{grid-column:1;font:900 12px/1.2 Cinzel,serif;color:#fff4de}.noble-family-bar b{grid-column:2;grid-row:1/3;align-self:center;font:900 24px/1 Inter,sans-serif;color:#d4bc7b}
.noble-family-bar:hover,.noble-family-bar:focus-visible{background:#203a59;border-color:#72cbd3;transform:translateX(2px);outline:none}.noble-family-bar.personal{box-shadow:inset 4px 0 #7d4862}.noble-family-bar.personal span{color:#d79ab5}.noble-family-bar.personal.active{background:#38253a;border-color:#c6819f}
.player-family-panel[hidden]{display:none!important}.player-family-panel{margin-top:9px!important;background:#172238!important;border:1px solid #486079!important;color:#eaf0f4!important}.player-family-head strong{color:#fff4de!important}.player-family-head small{color:#a9bac7!important}.player-family-member{background:#20334e!important;border-color:#415b76!important;color:#eef4f7!important}.player-family-member span{color:#e0a7bf!important}.player-family-member small,.player-family-empty{color:#b8c5ce!important}
