html.auth-pending .workspace,html.auth-locked .workspace{display:none!important}
.welcome-wall{min-height:100dvh;background:#101318;color:#e6edf8;display:grid;grid-template-rows:auto 1fr auto;overflow:auto;position:fixed;inset:0;z-index:1000}
.welcome-wall[hidden]{display:none}.wall-top,.wall-bottom{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;gap:20px}.wall-brand{font-size:24px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.wall-brand svg{width:29px;height:29px;color:#7daaff}.wall-top>span{font-size:12px;letter-spacing:.12em;color:#7d91ad}.wall-bottom{font-size:11px;color:#8090a8;border-top:1px solid #7896c51a}.shared-sites{display:flex;flex-wrap:wrap;gap:18px}.shared-sites a{color:#9db5d7;text-decoration:none}.shared-sites a:hover{color:#dceaff}
.wall-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.8fr);max-width:1360px;width:90%;margin:auto;gap:clamp(40px,7vw,112px);align-items:center;padding:44px 0 54px}.wall-hero{min-width:0}.wall-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.2em;color:#84aef2;margin:0 0 22px}.wall-eyebrow:before{content:'';width:24px;height:1px;background:#7daaff}.wall-hero h1{font-size:clamp(32px,3.55vw,54px);line-height:1.28;letter-spacing:-.035em;margin:0 0 22px;font-weight:650;color:#e4edfb}.wall-hero h1 em{font-style:normal;color:#79a9ff}.wall-intro{max-width:420px;font-size:14px;line-height:1.9;color:#8fa3bf;margin:0 0 12px}.wall-map{width:100%;height:auto;display:block;max-height:292px;margin:36px 0 8px;overflow:visible}.wall-map .map-line{fill:none;stroke:#568be1;stroke-width:1}.wall-map .map-card{fill:#192331;stroke:#3e5679;stroke-width:1}.wall-map .map-card.primary{fill:#203959;stroke:#77a7ff}.wall-map .map-title{fill:#cbdcf5;font-size:13px;font-family:inherit}.wall-map .map-caption{fill:#7994bb;font-size:9px;font-family:inherit}.wall-map .map-dot{fill:#a9caff}.wall-topics{display:flex;flex-wrap:wrap;gap:8px 20px;color:#7592b9;font-size:11px;margin-top:20px}
.wall-access{border-top:2px solid #669dff;background:#151b25;padding:28px;box-shadow:0 12px 60px #0002;min-width:0}.wall-access h2{font-size:22px;font-weight:600;line-height:1.3;margin:0 0 8px;color:#e4edfb}.auth-lead{font-size:12px;line-height:1.8;color:#8fa3bf;margin:0 0 24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #6687b42e;margin:0 0 24px;gap:0}.auth-tabs button{font-size:14px;color:#8298b8;padding:12px 0;border-bottom:2px solid transparent}.auth-tabs button[aria-selected=true]{color:#cfe0ff;border-color:#71a6ff;background:#548dff10}.auth-tabs button:hover{color:#e0ecff}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:7px;min-width:0;color:#a8b9d0;font-size:12px}.auth-input{width:100%;min-width:0;background:#101620;border:1px solid #6a86ae42;color:#e5eeff;font:inherit;font-size:14px;line-height:22px;padding:10px 12px;outline:none;border-radius:0}.auth-input:focus{border-color:#79a9ff;box-shadow:0 0 0 1px #79a9ff}.auth-input::placeholder{color:#50617a}.auth-password{position:relative}.auth-password .auth-input{padding-right:46px}.auth-reveal{position:absolute;right:4px;top:4px;width:36px;height:36px;display:grid;place-items:center;color:#8fa7ca}.auth-reveal svg{width:19px;height:19px}.auth-reveal:focus-visible{outline:1px solid #8dbaff}.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;background:#527ed0;color:#fff;height:44px;font-size:14px;font-weight:600;border:1px solid #79a4ed;width:100%;margin-top:4px}.auth-submit:hover{background:#608edd}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-submit svg{width:18px;height:18px}.auth-footer-actions{display:flex;justify-content:space-between;gap:12px;color:#96afd6;font-size:11px;margin-top:16px}.auth-footer-actions button{padding:4px 0}.auth-footer-actions button:hover{color:#d9e8ff}.auth-message{font-size:12px;line-height:1.8;color:#c4d7f9;background:#23426b33;padding:10px 12px;border-left:2px solid #7bafff;margin-top:16px}.auth-message:empty{display:none}.auth-message[data-error=true]{color:#f0b7b7;border-color:#d17d7d;background:#743c3c20}.auth-contract{font-size:11px;line-height:1.8;color:#6f86a7;border-top:1px solid #6b87b122;padding-top:18px;margin:24px 0 0}.auth-wait{min-height:160px;display:grid;align-content:center;justify-items:center;gap:18px;color:#8eadd9;font-size:13px}.auth-spinner{width:24px;height:24px;border:1px solid #34557e;border-top-color:#9ec4ff;border-radius:50%;animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}
.account-avatar{display:block;width:24px;height:24px;object-fit:cover}.account-monogram{width:24px;height:24px;display:grid;place-items:center;border:1px solid #729cd457;background:#244162;font-size:11px;line-height:1;color:#cfe0fc}.account-dialog{width:min(440px,calc(100vw - 32px));border:1px solid #5f7fada0;background:#141b26;color:#cbd8ec;padding:24px;max-height:85dvh;overflow:auto}.account-dialog::backdrop{background:#030811aa}.account-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.account-heading h2{font-size:18px;margin:0}.account-dialog dl{display:grid;grid-template-columns:55px minmax(0,1fr);gap:16px 12px;font-size:12px;line-height:1.6;margin:0}.account-dialog dt{color:#819abb}.account-dialog dd{margin:0;overflow-wrap:anywhere}.account-dialog .shared-sites{margin:24px 0;border-top:1px solid #52698b33;padding-top:20px}.account-avatar-large{width:56px;height:56px;object-fit:cover;margin:0 0 20px}.account-dialog p{font-size:12px;line-height:1.8;color:#819abb}.account-state{font-size:10px;color:#99b6e1}.auth-avatar-picker{display:flex;align-items:center;gap:12px}.auth-avatar-picker input{max-width:100%;font-size:11px;color:#8fa3bf}.auth-avatar-preview{width:40px;height:40px;object-fit:cover;background:#203959;border:1px solid #587baa}.auth-help{font-size:11px;line-height:1.6;color:#718bad;margin:0}
.wall-map text{stroke:none}.wall-brand{text-decoration:none;color:#e4edfb}.auth-avatar-picker input::file-selector-button{border:1px solid #6a86ae42;background:#20324d;color:#c8daf5;font:inherit;padding:6px 9px;margin-right:10px;cursor:pointer}.mobile-account{display:none;margin-left:auto;flex-shrink:0}
@media(max-width:760px){.mobile-account{display:inline-grid}}
@media(max-width:700px){.welcome-wall .wall-map{display:none}}
@media(max-width:900px){.wall-main{grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:32px}.wall-access{padding:24px}.wall-hero h1{font-size:34px}.wall-map{margin-top:26px}.wall-top{padding-top:20px;padding-bottom:16px}}
@media(max-width:700px){.wall-main{display:flex;flex-direction:column;align-items:stretch;width:calc(100% - 40px);gap:30px;padding:24px 0 36px;margin:0 auto}.wall-hero h1{font-size:32px;margin-bottom:16px}.wall-intro{font-size:13px}.wall-map{max-width:420px;max-height:174px;margin:22px 0 0}.wall-topics{display:none}.wall-access{padding:22px}.wall-top,.wall-bottom{padding:20px;align-items:flex-start}.wall-top>span{font-size:9px;margin-top:9px}.wall-bottom{flex-direction:column;gap:14px}.wall-eyebrow{margin-bottom:16px}.auth-tabs{margin-bottom:20px}}

/* V5.1: brand mark and reading white. Blue is reserved for intentional accents. */
.wall-brand{gap:12px;color:#FFFFFF;letter-spacing:-.04em}
.wall-brand .brand-mark{width:36px;height:36px}
.brand-wordmark{display:block;line-height:1.2;white-space:nowrap}
.welcome-wall,.wall-hero h1,.wall-intro,.wall-access h2,.auth-lead,.auth-field,.auth-input,
.auth-tabs button[aria-selected=true]{color:#FFFFFF}
.wall-map .map-title,.wall-map .map-caption{fill:#FFFFFF}

/* V5.2: avatar editing belongs only to authenticated user settings. */
.profile-avatar{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.profile-avatar-preview{width:64px;height:64px;flex:none;display:grid;place-items:center;background:#203959;border:1px solid #5475a4;color:#fff;font-size:21px}
.profile-avatar-preview img{display:block;width:100%;height:100%;object-fit:cover}
.profile-avatar-actions{display:grid;gap:8px;justify-items:start;min-width:0}
.profile-avatar-actions strong{font-size:13px;color:#fff;font-weight:500}.profile-avatar-actions>span{font-size:10px;color:#95aaca}
.profile-choose{display:flex;align-items:center;gap:7px;padding:6px 10px;min-height:32px;border:1px solid #5475a4;color:#fff;font-size:12px;background:#1b2c45}
.profile-choose svg{width:16px;height:16px;display:block}.profile-choose:hover{background:#294566}
.profile-choose:focus-visible,.profile-save:focus-visible{outline:2px solid #79a9ff;outline-offset:3px}
.profile-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #6b87b122}
.account-dialog .profile-status{font-size:11px;color:#fff;line-height:1.6;margin:0;flex:1}.profile-status[data-error=true]{color:#ffb1b1}
.profile-save{min-height:32px;padding:7px 12px;background:#527ed0;border:1px solid #79a4ed;color:#fff;font-size:12px;flex:none}.profile-save:disabled{background:#1c2738;border-color:#3b4c65;color:#7f94b2;cursor:default}
.profile-choose:disabled{opacity:.5;cursor:wait}

/* Shared visible-ink geometry for Latin, Chinese, and bottom-aligned cursor. */
.wall-brand .brand-wordmark-image{display:block;width:auto;height:24px;flex:none;object-fit:contain}
