/* Guest-only composition; workspace and admin styles are intentionally scoped out. */
@font-face{font-family:IslandWenKai;src:url('/content/login-warm/title.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:IslandSans;src:url('/content/login-warm/ui.woff') format('woff');font-weight:400 700;font-display:swap}
body[data-page="family"]:not([data-session="ready"]){background:#fcfaf2 url('/content/login-warm/scene-v2.webp') center top / clamp(1200px,100vw,1536px) auto no-repeat;color:#294e42;min-height:100vh;font-family:IslandSans,"Microsoft YaHei",sans-serif}
body[data-page="family"]:not([data-session="ready"]) .site-header{max-width:1360px;height:112px;padding:0 64px;border:0;background:transparent}
body[data-page="family"]:not([data-session="ready"]) .brand{font-family:IslandWenKai,serif;font-size:25px;letter-spacing:2px}
body[data-page="family"]:not([data-session="ready"]) .brand small{font-family:IslandSans,sans-serif;font-size:10px;letter-spacing:3px;margin-top:6px}
body[data-page="family"]:not([data-session="ready"])>.page{max-width:1360px;padding:32px 64px 0}
body[data-page="family"]:not([data-session="ready"])>.footer{border:0;max-width:1232px;margin:46px auto 0;padding:18px 24px 20px;color:#51674f;font-size:11px;background:#fcfaf2d9;border-radius:18px}
body[data-page="family"]:not([data-session="ready"])>.footer a:last-child{display:none}
body[data-session="guest"] #auth{grid-template-columns:minmax(0,1fr) 405px;gap:58px;align-items:start;min-height:660px}
#auth .auth-story{padding:12px 0 0 16px;min-width:0}
#auth .eyebrow{font-size:14px;letter-spacing:4px;font-weight:500;color:#617d64;margin-bottom:20px}
body[data-session="guest"] #auth h1{font-family:IslandWenKai,serif;font-weight:500;font-size:clamp(56px,5.4vw,78px);letter-spacing:3px;line-height:1.27;color:#315647}
#auth h1 span{color:#b38337}
#auth .auth-story>.muted{font-size:15px;letter-spacing:1px;color:#536b59;margin:20px 0 0;line-height:1.9;max-width:none}
#auth .mobile-break{display:none}
#auth .auth-companions{margin:0;position:relative;height:365px}
#auth .auth-companions img{display:none}
#auth .auth-companions figcaption{position:absolute;left:0;right:0;bottom:-32px;display:flex;justify-content:space-around;text-align:center;padding-right:15px}
#auth .auth-companions figcaption>span{font-family:IslandWenKai,serif;font-size:22px;letter-spacing:3px;color:#294b3b;text-shadow:0 1px 8px #fff}
#auth .auth-companions small{display:block;font:11px IslandSans,sans-serif;letter-spacing:1px;margin-top:3px;color:#405944}
#auth .auth-card{margin-top:42px;padding:34px 34px 24px;background:#fffefbf5;border:1px solid #e9e5d8;border-radius:26px;box-shadow:0 18px 55px #46533712;position:relative}
#auth .auth-card-heading{margin-bottom:29px}
#auth .auth-sprout{display:block;font-size:24px;color:#8b9d6e;margin-bottom:10px}
#auth .auth-card h2{font-family:IslandWenKai,serif;font-size:32px;letter-spacing:2px;font-weight:500}
#auth-description{font-size:13px;color:#73816d;margin-top:10px}
#auth form{gap:19px}
#auth label{font-size:13px;font-weight:500;gap:9px;color:#465b49}
#auth input{background:#fcfcf8;border-color:#dedfd2;border-radius:11px;padding:14px;font-size:14px;height:50px}
#auth input::placeholder{color:#929a8b}
#auth .check{font-size:12px}
#auth .check input{height:20px;padding:0}
#auth form>button{height:52px;background:#537750;border-radius:12px;font-size:15px;letter-spacing:1px;box-shadow:0 4px 0 #37593712;margin-top:5px}
#auth form>button span{margin-left:14px;font-size:19px}
#auth .password-field{position:relative;display:block}
#auth .password-field input{padding-right:52px}
#auth #password-visibility{position:absolute;right:3px;top:3px;min-height:44px;width:44px;padding:10px;background:transparent;color:#7c8a74;display:grid;place-items:center}
#auth .auth-links{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;color:#6c7767}
#auth .auth-text-link{background:transparent;color:#526f49;min-height:36px;padding:6px 2px;font-size:12px;font-weight:500;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}
#auth-error{margin-top:10px;min-height:0}
#auth-error:not(:empty){margin-bottom:10px}
#auth .auth-reassurance{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;padding-top:18px;border-top:1px solid #eeeee4;color:#78836c;font-size:11px;white-space:nowrap}
#auth[data-auth-view="register"] .auth-card{margin-top:0}
@media(min-width:1450px){#auth .auth-companions{height:410px}body[data-session="guest"] #auth{min-height:730px}}
@media(max-width:1100px) and (min-width:761px){body[data-page="family"]:not([data-session="ready"]) .site-header{padding:0 32px}body[data-page="family"]:not([data-session="ready"])>.page{padding:18px 32px 0}body[data-session="guest"] #auth{grid-template-columns:minmax(0,1fr) 350px;gap:24px}#auth .auth-card{padding:28px}body[data-session="guest"] #auth h1{font-size:56px}#auth .auth-story{padding-left:0}#auth .auth-story>.muted{font-size:13px}#auth .auth-companions figcaption{display:none}}
@media(max-width:1100px){
body[data-page="family"]:not([data-session="ready"]){background:#fcfaf2}
body[data-page="family"]:not([data-session="ready"]) .site-header{height:82px;padding:0 24px}
body[data-page="family"]:not([data-session="ready"]) .brand{font-size:21px}
body[data-page="family"]:not([data-session="ready"])>.page{padding:12px 20px 0}
body[data-session="guest"] #auth{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
#auth .auth-story{padding:8px 0 0;text-align:center}
#auth .eyebrow{font-size:11px;letter-spacing:3px;margin-bottom:12px}
body[data-session="guest"] #auth h1{font-size:46px;line-height:1.24;letter-spacing:2px}
#auth .auth-story h1 br{display:block}
#auth .auth-story>.muted{font-size:12px;letter-spacing:0;margin-top:14px}
#auth .auth-companions{height:auto;margin:2px -20px 0}
#auth .auth-companions img{display:block;width:100%;height:auto;mask-image:linear-gradient(transparent,#000 16%,#000 82%,transparent)}
#auth .auth-companions figcaption{left:10%;right:18%;bottom:6%;padding:0}
#auth .auth-companions figcaption>span{font-size:17px}
#auth .auth-companions small{display:none}
#auth .auth-card,#auth[data-auth-view="register"] .auth-card{margin:0;padding:25px 24px 22px;border-radius:23px}
#auth .auth-card-heading{margin-bottom:22px}
#auth .auth-sprout{display:none}
#auth .auth-card h2{font-size:29px}
#auth-description{font-size:12px}
#auth .auth-reassurance{font-size:10px;white-space:normal}
body[data-page="family"]:not([data-session="ready"])>.footer{margin:14px 20px 0;padding:12px 0 24px;justify-content:center;text-align:center;font-size:10px}
}
@media(min-width:761px) and (max-width:1100px){body[data-session="guest"] #auth{max-width:560px;margin:auto}#auth .auth-card{width:440px;max-width:100%;justify-self:center}#auth .auth-companions figcaption{display:flex}#auth .auth-companions img{max-height:330px;object-fit:cover}body[data-page="family"]:not([data-session="ready"])>.footer{max-width:560px;margin:20px auto}}
