:root{--ink:#3d3028;--muted:#71675f;--paper:rgba(250,247,240,.78);--accent:#c9483d;--accent-deep:#a9352d;--line:rgba(83,63,50,.18)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eae2d7;color:var(--ink);font-family:"Microsoft YaHei","Noto Sans SC",sans-serif}button,input{font:inherit;color:inherit}.video-landing{position:relative;isolation:isolate;min-height:100dvh;overflow:hidden;background:#eae2d7}.background-video{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.background-video.is-active{opacity:1}.video-shade{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(249,246,239,.84) 0,rgba(249,246,239,.52) 34%,rgba(249,246,239,.05) 68%),linear-gradient(180deg,rgba(248,244,237,.22),transparent 38%,rgba(50,38,28,.12))}.paper-grain{position:absolute;z-index:-2;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.landing-header{position:absolute;z-index:3;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);background:linear-gradient(180deg,rgba(250,247,240,.55),transparent)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:38px;height:38px;border:1px solid rgba(61,48,40,.42);border-radius:50%;display:grid;place-items:center;font:600 16px "Songti SC",serif}.brand-name{font:700 22px "Songti SC",serif;letter-spacing:.08em}.brand-name small{margin-left:12px;font:600 10px Georgia,serif;letter-spacing:.32em}.sound-button,.back-button{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.48);backdrop-filter:blur(12px);padding:9px 16px}.entry-area{min-height:100dvh;width:min(520px,46vw);display:grid;align-items:center;padding:96px 0 70px clamp(30px,8vw,130px)}.entry-copy,.login-panel{grid-area:1/1;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.english-line{margin:0 0 16px;font:italic 15px/1.2 Georgia,serif;color:#77685c;letter-spacing:.04em}.entry-copy h1{margin:0;font:600 clamp(44px,5vw,72px)/1.16 "Songti SC","Noto Serif SC",serif;letter-spacing:.02em}.intro-copy{max-width:28em;margin:22px 0 28px;color:#665b53;line-height:1.8}.enter-button,.submit-login{border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;box-shadow:0 12px 30px rgba(138,50,40,.24);transition:transform .25s ease,background .25s ease}.enter-button{min-width:186px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px}.enter-button:hover,.submit-login:hover{background:var(--accent-deep);transform:translateY(-2px)}.enter-button:active,.submit-login:active{transform:scale(.98)}.login-panel{width:min(390px,100%);padding:30px;border:1px solid rgba(255,255,255,.68);border-radius:28px;background:var(--paper);box-shadow:0 24px 70px rgba(72,52,40,.16),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(22px);opacity:0;transform:translateX(-34px);pointer-events:none}.video-landing.login-open .entry-copy{opacity:0;transform:translateX(-34px);pointer-events:none}.video-landing.login-open .login-panel{opacity:1;transform:none;pointer-events:auto}.login-panel h2{margin:9px 0 7px;font:600 38px "Songti SC",serif}.login-intro{margin:0 0 22px;color:var(--muted)}.back-button{position:absolute;right:18px;top:18px;border:0;background:transparent;padding:7px 10px;color:var(--muted)}form{display:grid;gap:10px}form label{margin-top:3px;font-size:14px;font-weight:700}form input{width:100%;height:48px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.72);padding:0 14px;outline:none}form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,72,61,.12)}.form-message{min-height:20px;margin:2px 0;color:#a43b33;font-size:13px}.form-message.success{color:#357054}.submit-login{height:50px}.privacy-note{position:absolute;left:clamp(30px,8vw,130px);bottom:28px;margin:0;color:rgba(73,60,51,.65);font-size:12px}
@media (prefers-reduced-motion:reduce){.entry-copy,.login-panel,.enter-button,.submit-login{transition:none}.background-video{display:none}.video-landing{background:url('/assets/brand/landing-island-bg-v2.png') center/cover no-repeat}}
@media (max-width:700px){.landing-header{height:68px;padding:0 20px}.brand-name small{display:none}.sound-button{font-size:12px}.video-shade{background:linear-gradient(180deg,rgba(248,245,238,.14),rgba(248,245,238,.34) 46%,rgba(248,245,238,.88))}.background-video{object-position:center}.entry-area{width:100%;min-height:100dvh;align-items:end;padding:90px 20px 78px}.entry-copy h1{font-size:42px}.entry-copy,.login-panel{width:100%}.login-panel{padding:26px 22px;border-radius:24px}.privacy-note{left:20px;right:20px;bottom:20px;text-align:center}}
