:root{color-scheme:dark;--ink:#f6f0e4;--muted:#a9a8a4;--line:rgba(211,175,104,.25);--accent:#e6c887}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#091827;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;display:flex;flex-direction:column}button,input{font:inherit}button{cursor:pointer}#flight{position:fixed;inset:0;background:radial-gradient(ellipse at 91% 3%,rgba(238,201,128,.22),transparent 55%),linear-gradient(108deg,transparent 30%,rgba(237,204,137,.07) 56%,transparent 75%),linear-gradient(180deg,#102b43 0%,#091827 48%,#07131f 100%)}.vignette{position:fixed;inset:0;pointer-events:none;background:none}header,main,footer{position:relative;z-index:1}header{padding:35px 5vw;display:flex;gap:24px;align-items:center;pointer-events:none}.brand{font:32px Georgia,serif;letter-spacing:.16em;color:var(--accent);text-decoration:none;pointer-events:auto}.brand sup{font:10px sans-serif}header>span{border-left:1px solid var(--line);padding-left:24px;font-size:12px;letter-spacing:.2em;color:#c1ae89}header small{margin-left:auto;font-size:9px;letter-spacing:.24em;color:#b19a71}header i{display:inline-block;width:5px;height:5px;margin-left:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #e6c27d88}
main{flex:1;min-height:calc(100svh - 200px);display:grid;place-items:center;padding:50px 24px 75px;pointer-events:none}.intro{text-align:center;text-shadow:0 3px 28px #07131f}.eyebrow{letter-spacing:.3em;font-size:10px;color:var(--accent);font-weight:400}.intro .eyebrow{margin:0 0 27px}h1{font-family:"Songti SC","SimSun",serif;font-size:clamp(32px,4vw,60px);font-weight:400;letter-spacing:.1em;line-height:1.5;margin:0 0 23px}h1 em{font-style:normal;color:var(--accent)}.description{font-size:12px;color:#c7b898;letter-spacing:.28em;margin:0 0 44px} .unlock{--travel:0px;--fade:1;position:relative;width:min(310px,80vw);height:58px;margin:0 auto;pointer-events:auto;user-select:none;-webkit-user-select:none;text-shadow:none}.unlock-line{position:absolute;left:27px;right:8px;top:50%;height:1px;background:linear-gradient(90deg,#e3be71,#d1a45455)}.unlock-label{position:absolute;inset:0 26px 0 52px;display:grid;place-items:center;color:#d4b879;font-size:11px;letter-spacing:.13em;opacity:var(--fade);background:radial-gradient(ellipse,#091827e6 30%,#09182700 74%);pointer-events:none}.unlock-end{position:absolute;right:0;top:14px;color:#bda069;font:25px Georgia,serif;letter-spacing:-5px;pointer-events:none}.unlock-thumb{position:absolute;left:0;top:4px;width:50px;height:50px;display:grid;place-items:center;border:1px solid #e8c989;border-radius:50%;background:linear-gradient(140deg,#f5deaa,#bc8e40);color:#241a0a;box-shadow:0 0 24px #d6ae5330;transform:translateX(var(--travel));transition:transform .32s ease,box-shadow .2s;cursor:grab;touch-action:none;outline-offset:6px}.unlock-thumb span{font-size:23px;line-height:1}.unlock-thumb:hover,.unlock-thumb:focus-visible{box-shadow:0 0 35px #d6ae5360}.unlock-thumb:focus-visible{outline:2px solid var(--accent)}.unlock.dragging .unlock-thumb{cursor:grabbing;transition:none}.unlock.dragging .unlock-label{transition:none}.unlock-label{transition:opacity .25s}.unlock.unlocked .unlock-thumb{box-shadow:0 0 42px #e6c27d77}
.invitation{font-size:10px;letter-spacing:.2em;color:#a19072;margin-top:21px}
.access{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:34px 36px 26px;border:1px solid #8e703c;border-radius:16px;color:var(--ink);background:radial-gradient(ellipse at top right,rgba(211,175,104,.10),transparent 65%),linear-gradient(145deg,#102b43fa,#091827fc);box-shadow:0 35px 100px #000b,0 0 65px #aa803318;overflow:auto}.access[open]{animation:appear .3s ease-out}.access::backdrop{background:#06132099;backdrop-filter:blur(7px)}.close{position:absolute;right:15px;top:12px;border:0;background:none;color:#b9a783;font-size:26px;width:38px;height:38px;border-radius:50%}.close:hover{background:#d5ad6215;color:#f1d8a7}.access .eyebrow{margin:4px 0 20px}h2{font-size:30px;font-weight:400;letter-spacing:.13em;margin:0 0 12px}.caption{font-size:12px;color:var(--muted);margin:0 0 24px}label{font-size:11px;color:#d1c1a2;display:block;margin:18px 0 9px}.field{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:#ffffff03;padding:0 14px;gap:10px;height:50px}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e6c27d0f}input{background:none;border:0;color:var(--ink);width:100%;min-width:0;outline:none;font-size:12px;height:100%}input::placeholder{color:#929da5}.reveal{border:0;background:none;color:#bda780;font-size:11px;padding:8px 0;white-space:nowrap}.submit{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:6px;background:linear-gradient(110deg,#edcf91,#bf934d);color:#211909;font-size:13px;padding:16px 19px;margin-top:26px}.submit:hover{filter:brightness(1.1)}.submit span{font-size:22px;line-height:1}.status{min-height:30px;font-size:10px;line-height:1.8;text-align:center;color:var(--muted);margin:17px 0}.access-bottom{border-top:1px solid var(--line);padding-top:20px;text-align:center;font-size:9px;letter-spacing:.15em;color:#ad9874}body:has(dialog[open]){overflow:hidden}
.access-links{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin:15px 2px -10px}.access-links button{padding:3px 0;border:0;border-bottom:1px solid transparent;color:#948d80;background:transparent;font-size:10px;letter-spacing:.06em}.access-links button:hover,.access-links button:focus-visible{color:#dfc78f;border-bottom-color:#a98243}.forgot-password-panel{margin:18px 0 -7px;padding:13px 15px;border:1px solid rgba(211,175,104,.22);border-radius:7px;text-align:center;background:rgba(4,18,28,.3)}.forgot-password-panel b{color:#dfc78f;font-size:11px;font-weight:500}.forgot-password-panel p{margin:6px 0 10px;color:#aeb8bd;font-size:10px;line-height:1.6;overflow-wrap:anywhere}.forgot-password-panel button{padding:6px 11px;border:1px solid rgba(211,175,104,.35);border-radius:999px;color:#cdb989;background:transparent;font-size:9px}.forgot-password-panel button:hover{color:#fff0cb;border-color:#d8aa57}
#registerForm label,#resetPasswordForm label{margin-top:14px}#registerForm label small{margin-left:5px;color:#7f8b92;font-size:9px;font-weight:400}.invite-field span{color:#c7a862;font:9px Georgia,serif;letter-spacing:.14em}.invite-contact{margin:18px 0 4px;padding:15px 16px;border:1px solid rgba(211,175,104,.26);border-radius:8px;text-align:center;background:rgba(4,18,28,.32)}.invite-contact span,.invite-contact b{display:block}.invite-contact span{color:#8e999f;font-size:10px}.invite-contact b{margin-top:5px;color:#dfc78f;font-size:12px;font-weight:500}.invite-contact p{margin:7px 0 0;color:#b8c0c4;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
footer{padding:20px 5vw 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a18c66;font:9px monospace;letter-spacing:.15em;pointer-events:none}.motion{display:flex;align-items:center;gap:15px;font-size:10px}.motion button{pointer-events:auto;background:#102437b3;border:1px solid var(--line);color:#cbb48a;border-radius:30px;padding:9px 14px;font-size:10px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@keyframes appear{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:650px){header{padding:25px 6vw;gap:17px}.brand{font-size:26px}header>span{padding-left:17px}header small{display:none}main{min-height:calc(100svh - 205px);padding:45px 20px}h1{font-size:36px}h1 em{display:block}.description{font-size:11px;letter-spacing:.17em}.access{padding:35px 25px 25px}.access input{font-size:16px}footer{flex-wrap:wrap;padding:16px 6vw 22px}.motion{order:-1;width:100%;justify-content:space-between;font-size:9px}.edition{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.login-error{color:#f1b59b;font-size:12px;line-height:1.7;text-align:center;margin:16px 0 0}.login-error[hidden]{display:none}

h1.client-welcome{font-size:clamp(25px,4vw,60px);letter-spacing:.06em;line-height:1.55}@media(max-width:650px){h1.client-welcome{font-size:clamp(23px,5.7vw,36px)}}

.cancel-login{display:block;width:100%;margin-top:10px;padding:11px 16px;border:1px solid rgba(211,175,104,.42);border-radius:6px;background:transparent;color:#d8c7a3;font-size:12px;letter-spacing:.12em;transition:background .2s ease,border-color .2s ease,color .2s ease}
.cancel-login:hover,.cancel-login:focus-visible{background:rgba(211,175,104,.1);border-color:#e6c887;color:#fff4db}
