.member-portrait{--portrait-rx:0deg;--portrait-ry:0deg;margin:0;min-width:0;position:relative;background:#101610;border:1px solid #857347;box-shadow:0 10px 30px #0007;transform:perspective(1100px) rotateX(var(--portrait-rx)) rotateY(var(--portrait-ry));transition:transform .24s ease,box-shadow .24s ease;isolation:isolate}
.member-portrait .portrait-depth{position:relative;aspect-ratio:4/5;overflow:hidden;background:#17231e;border:9px solid #342920;border-top-color:#5b4632;border-left-color:#56402a;border-right-color:#2b2118;border-bottom-color:#4e3b28;box-shadow:inset 0 0 0 2px #0a0c0a,inset 0 0 20px #0008}
.member-portrait.frame-graphite .portrait-depth{border-color:#303b32;border-top-color:#56614e;border-right-color:#192119;border-bottom-color:#242e26}
.member-portrait .portrait-base{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.portrait-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#fff1 0,transparent 33%,transparent 78%,#fff03 100%);box-shadow:inset 0 0 16px #0004;z-index:60}
.member-portrait figcaption{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #736342;font:11px/1.5 var(--mono);letter-spacing:.06em;color:#c4b783;background:#141a14;overflow-wrap:anywhere}
.portrait-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:25px;background:radial-gradient(ellipse at 50% 35%,#304233,#111b16 70%)}
.portrait-fallback img{width:38%;height:auto;opacity:.8;filter:drop-shadow(0 4px 9px #0008)}.portrait-fallback span{font:12px var(--mono);color:var(--gold)}.portrait-fallback strong{font:14px var(--mono);letter-spacing:.08em}.portrait-fallback small{font-size:13px;line-height:1.5;max-width:22ch;color:var(--muted)}
.personnel-card-v2 .member-portrait{width:100%;max-width:360px;margin:0 auto 24px}.personnel-card-v2{padding:20px!important;gap:0;text-align:left!important;transition:transform .2s,border-color .2s,box-shadow .2s;background:linear-gradient(150deg,#1e2a1f,#131b15)!important}
.personnel-card-v2:hover,.personnel-card-v2:focus-visible{transform:translateY(-3px);box-shadow:0 12px 32px #0005;border-color:var(--gold)}.personnel-card-v2 h3{font-size:1.65rem;line-height:1.25;margin:0 0 12px!important}.personnel-card-v2 .personnel-card-grade{justify-content:flex-start}.personnel-card-register{font:12px var(--mono);letter-spacing:.07em;padding:0 0 18px!important}.personnel-card-v2 .personnel-card-assignment{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;line-height:1.55}.personnel-card-v2 .personnel-card-assignment span{display:block;color:var(--muted);font-size:14px}.personnel-card-v2 .status-badge{margin:12px 0}.personnel-card-v2 .personnel-card-stats{margin:16px 0}.personnel-card-v2 .personnel-card-service{font-size:13px}
.personnel-identity .member-portrait{width:100%;max-width:420px;margin:10px auto 28px}.personnel-identity{min-width:0}.personnel-dossier-layout>.personnel-identity .metadata-strip{overflow-wrap:anywhere;min-width:0}.portrait-edit-link{display:block;margin:0 0 20px;text-align:center;font-size:14px;color:var(--gold)}
.portrait-settings{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);gap:48px;align-items:start}.portrait-preview{position:sticky;top:112px;min-width:0;max-width:450px}.portrait-preview-name{padding:24px 0;border-bottom:1px solid var(--line)}.portrait-preview-name h2{font-size:2rem;line-height:1.2}.portrait-preview-name p{margin-top:8px;color:var(--muted)}.portrait-settings-form{min-width:0;display:grid;gap:24px;border:1px solid var(--line);padding:30px;background:#172016}.portrait-settings-form label{display:grid;gap:10px;font-size:14px}.portrait-settings-form select{width:100%;min-width:0}.portrait-settings-form .office-check{display:flex;align-items:center}.portrait-settings-form .office-check input{width:auto}.portrait-editor-heading h2{font:2.25rem/1.15 var(--heading);margin:14px 0}.portrait-editor-heading p{font-size:16px;line-height:1.7;color:var(--muted)}.portrait-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.portrait-preset-grid button{padding:6px 6px 12px;background:#101910;border:1px solid #475641;min-width:0;text-align:left;cursor:pointer}.portrait-preset-grid button[aria-pressed=true]{border-color:#d9c187;outline:2px solid #d9c187;outline-offset:2px}.portrait-preset-grid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}.portrait-preset-grid span,.portrait-preset-grid small{display:block;margin:10px 6px 0}.portrait-preset-grid span{font-size:14px;font-weight:700}.portrait-preset-grid small{font-size:12px;color:var(--muted);line-height:1.5}
.account-control{position:relative;flex:0 0 auto;max-width:242px}.account-toggle,.account-guest{min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#17251d;color:var(--ink);border:1px solid #526248;text-align:left;cursor:pointer}.account-toggle:hover,.account-guest:hover{border-color:var(--gold)}.account-avatar,.account-seal{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid #958152;background:#233a2c;color:#e0cd9e;font:12px var(--mono);overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}.account-identity{max-width:156px;min-width:0}.account-identity strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity small,.account-guest small{display:block;margin-top:4px;color:#bdc8b6;font-size:11px;letter-spacing:.03em;white-space:nowrap}.account-guest>span:last-child{font-size:14px}.account-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:250px;max-width:min(310px,calc(100vw - 24px));padding:12px;background:#152119;border:1px solid #8b7a50;box-shadow:0 14px 40px #0009;z-index:80}.account-menu .record-id{margin:8px 10px 12px;overflow-wrap:anywhere}.account-menu a,.account-menu button{display:block;width:100%;padding:12px 10px;text-align:left;background:none;border:0;color:#e6e8df;font:14px/1.5 var(--body)}.account-menu a:hover,.account-menu button:hover{background:#2d3a2a;color:#eed7a0}.account-menu button{border-top:1px solid var(--line);margin-top:8px}.account-control :focus-visible,.portrait-settings :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.site-header .header-join{display:none}.site-header{gap:18px}.site-header .account-control{margin-left:auto}.site-header nav{margin-left:auto}.site-header .nav-join{display:block}
@media(max-width:1590px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171d14;border-bottom:1px solid var(--line);padding:20px 32px;max-height:calc(100svh - 110px);overflow-y:auto}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:12px 0;font-size:15px}.site-header .nav-more summary{padding:15px 0}.site-header .nav-more>div{position:static;box-shadow:none;min-width:0}.site-header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid var(--line);padding:13px 10px;width:42px;height:42px;margin-left:0;order:4;flex-shrink:0}.site-header .menu-toggle span{width:20px;height:1px;background:var(--ink)}.site-header .account-control{order:3;margin-left:auto}.site-header .nav-join{color:var(--gold)}}
@media(max-width:900px){.portrait-settings{grid-template-columns:1fr;gap:30px}.portrait-preview{position:static;width:100%;max-width:380px;margin:auto}.portrait-settings-form{padding:22px}.account-identity{max-width:130px}.account-identity small{max-width:130px;overflow:hidden;text-overflow:ellipsis}.member-portrait figcaption{font-size:10px}}
@media(max-width:600px){.site-header{gap:10px;padding-left:16px;padding-right:16px}.site-header .brand{min-width:0;gap:8px}.site-header .brand img{width:38px;height:38px}.site-header .brand strong{font-size:14px}.site-header .brand small{font-size:9px;max-width:150px}.account-identity,.account-guest>span:last-child{display:none}.account-toggle,.account-guest{padding:5px;min-height:44px;gap:4px}.account-avatar,.account-seal{width:30px;height:30px}.account-menu{right:-52px}.portrait-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-settings-form{padding:18px}.portrait-preview{max-width:340px}}
@media(prefers-reduced-motion:reduce){.member-portrait,.personnel-card-v2{transform:none!important;transition:none!important}}

.member-portrait [hidden],.account-menu[hidden],.portrait-settings [hidden]{display:none!important}
.honor-feature .portrait-recognition{width:min(100%,210px);margin:24px 0}.legacy-card .portrait-recognition{width:min(100%,210px);margin:0 0 24px}.honor-board li{grid-template-columns:20px 60px minmax(0,1fr) auto}.honor-board .portrait-recognition{width:60px;box-shadow:0 3px 10px #0005}.honor-board .portrait-recognition .portrait-depth{border-width:3px}.honor-board .portrait-recognition figcaption,.honor-board .portrait-fallback span,.honor-board .portrait-fallback strong,.honor-board .portrait-fallback small{display:none}.honor-board .portrait-fallback{padding:4px}.honor-board .portrait-fallback img{width:100%;max-width:40px}.honor-board .portrait-recognition .portrait-base{width:100%;height:100%;margin:0}
@media(max-width:600px){.honor-board li{grid-template-columns:18px 48px minmax(0,1fr);gap:10px}.honor-board .portrait-recognition{width:48px}.honor-board .honor-row-value{grid-column:3;text-align:left}.honor-board .honor-row-value small{display:inline;margin-left:6px}}
@media(max-width:600px){.site-header .brand strong{display:block;max-width:145px;white-space:normal;line-height:1.25;font-size:12px}.site-header .brand small{font-size:8px}}

/* Portrait configuration and account destinations share the personnel record. */
.portrait-configuration{margin:28px 0;padding:24px;border:1px solid var(--line);background:#142018}.portrait-job-state{font:12px var(--mono);letter-spacing:.12em;color:var(--gold);margin:16px 0}.dossier-content>.portrait-hero{max-width:520px;margin:24px auto}.account-connection{border-top:1px solid var(--line);padding:12px 10px;color:var(--muted);font:11px/1.7 var(--mono)}.account-connection span,.account-connection strong{display:block}.account-connection strong{color:var(--ink);font-weight:500}
.site-header .header-join{display:inline-flex;flex-shrink:0}.site-header .nav-join{display:none}
.member-portrait .portrait-base{object-fit:fill}.portrait-preset-grid img{object-fit:fill}
.portrait-refine{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.portrait-refine summary{cursor:pointer;color:var(--gold);font-size:14px}.portrait-refine>.office-fields{margin-top:18px}.portrait-refine select{text-transform:capitalize}
@media(max-width:1590px){.site-header .nav-join{display:block}.site-header .header-join{display:none}}
@media(max-width:600px){.site-header .menu-toggle{margin-left:auto}.site-header #main-nav>.account-control{order:0;max-width:none;width:100%;margin:0 0 18px}.site-header #main-nav .account-identity,.site-header #main-nav .account-guest>span:last-child{display:block;max-width:none}.site-header #main-nav .account-toggle,.site-header #main-nav .account-guest{width:100%;padding:12px;gap:12px}.site-header #main-nav .account-menu{position:static;max-width:none;width:100%;margin-top:8px}.site-header #main-nav .account-menu a{padding:12px 10px}.personnel-grid{grid-template-columns:1fr!important}}
/* Discord directory cards: formal portrait artwork belongs inside the dossier. */
.personnel-grid .personnel-record-card{display:flex;flex-direction:column;align-items:stretch;gap:0;background:#171e16;border:1px solid #47503e;padding:24px;color:#e5e7da;text-align:center;box-shadow:none;transform:none;transition:border-color .15s ease;overflow:hidden}
.personnel-grid .personnel-record-card:hover,.personnel-grid .personnel-record-card:focus-visible{border-color:#b3a36a;transform:none;box-shadow:none}
.personnel-record-card .personnel-card-register{font:11px var(--font-mono,monospace);color:#adb59e;text-align:left;margin:0 0 22px;min-height:18px}
.personnel-record-card img.directory-avatar{display:block;width:min(100%,204px);height:auto;aspect-ratio:1;object-fit:cover;border:1px solid #515843;border-radius:0;margin:0 auto 22px;background:#10170f;filter:none;box-shadow:none}
.personnel-record-card h3{margin:0 0 9px;font-size:1.4rem;line-height:1.25;color:#eceee3}
.personnel-record-card .personnel-card-grade{display:flex;justify-content:center;align-items:center;gap:10px;min-height:25px;font-size:14px}
.personnel-record-card .personnel-rank{width:23px;height:25px;object-fit:contain}
.personnel-record-card .personnel-record-unit{margin:18px 0 12px;color:#c1b47c;font-size:14px}
.personnel-record-assignment,.personnel-record-service{margin:0;text-align:left;font-size:13px}
.personnel-record-assignment div,.personnel-record-service div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:7px 0}
.personnel-record-card dt{color:#a7b09c;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.04em}
.personnel-record-card dd{margin:0;text-align:right;overflow-wrap:anywhere}
.personnel-record-card .badge{align-self:center;font-size:9px;margin:16px 0}
.personnel-record-service{border-top:1px solid #384131;border-bottom:1px solid #384131;padding:9px 0;margin-bottom:20px}
.personnel-record-card>.text-link{margin-top:auto;align-self:flex-start;font-size:12px;color:#d1c18a}
