/* Shared presentation only; authentication behavior stays in its existing modules. */
.auth-page, #gate { background: #eeeae2; color: #233934; font-family: Inter, system-ui, sans-serif; }
.auth-page { min-height:100svh; padding:32px; box-sizing:border-box; }
#gate { padding:32px; overflow:auto; }
.auth-shell { display:grid; grid-template-columns:1.05fr 1fr; width:min(1060px,100%); margin:auto; background:#fffdf8; border:1px solid #ddd9cf; border-radius:24px; overflow:hidden; box-shadow:0 24px 80px #173c3020; }
.auth-story { position:relative; overflow:hidden; min-height:680px; padding:44px; box-sizing:border-box; background:radial-gradient(ellipse at 90% 60%,#3e6a57,transparent 65%),#163f35; color:#f6f0df; display:flex; flex-direction:column; text-align:left; }
.auth-wordmark { font-size:13px; letter-spacing:3px; font-weight:600; display:grid; grid-template-columns:44px 1fr; align-items:center; column-gap:12px; }
.auth-symbol { grid-row:span 2; border:1px solid #c7d0b877; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; font:italic 29px Georgia,serif; letter-spacing:0; }
.auth-wordmark small { font-size:8px; letter-spacing:2.5px; font-weight:400; }
.auth-story-copy { margin-top:66px; position:relative; z-index:1; }
.auth-eyebrow { font-size:10px; letter-spacing:1.8px; line-height:1.8; font-weight:600; color:#64796c; margin:0 0 22px; }
.auth-story .auth-eyebrow { color:#c4cfb7; }
.auth-story h2 { font:normal clamp(38px,4.7vw,58px)/1.08 Georgia,serif; letter-spacing:-2px; margin:0 0 24px; color:inherit; }
.auth-story h2 em { color:#d7be82; font-weight:normal; }
.auth-story-copy>p:last-child { color:#d0ddd2; font-size:14px; line-height:1.8; }
.auth-piano { display:flex; height:125px; width:calc(100% + 75px); margin:38px -38px 28px; transform:rotate(-9deg); gap:3px; opacity:.85; }
.auth-piano i { position:relative; flex:1; border-radius:0 0 5px 5px; background:linear-gradient(#f5ecd5,#bcbba4); box-shadow:0 5px 0 #8c9b85; }
.auth-piano i:nth-child(7n+1)::after,.auth-piano i:nth-child(7n+2)::after,.auth-piano i:nth-child(7n+4)::after,.auth-piano i:nth-child(7n+5)::after,.auth-piano i:nth-child(7n+6)::after { content:""; position:absolute; z-index:1; right:-36%; top:0; width:65%; height:65%; border-radius:0 0 3px 3px; background:linear-gradient(90deg,#122d26,#284539); box-shadow:1px 4px 2px #122d2690; }
.auth-story-foot { margin-top:auto; display:flex; justify-content:space-between; gap:12px; font-size:8px; letter-spacing:1.4px; color:#ccd4ba; }
.auth-shell .auth-form-panel { box-sizing:border-box; align-self:center; width:100%; max-width:none; background:transparent; border:0; border-radius:0; box-shadow:none; padding:48px 52px; margin:0; text-align:left; color:#243d35; }
.auth-form-panel h1,.auth-form-panel h2 { font:normal 36px/1.16 Georgia,serif; letter-spacing:-1px; color:#243d35; margin:0 0 18px; }
.auth-form-panel #signupStatus,.auth-form-panel .gate-sub { color:#6b776e; font-size:13px; line-height:1.7; margin:0 0 24px; }
.auth-form-panel label { display:block; font-size:12px; font-weight:600; margin:16px 0 7px; text-align:left; }
.auth-shell .auth-form-panel input { display:block; box-sizing:border-box; width:100%; height:47px; border:1px solid #d7ddd2; border-radius:8px; background:#f8f9f3; color:#243d35; font:14px Inter,system-ui,sans-serif; padding:12px 14px; margin:0; box-shadow:none; }
.auth-shell .auth-form-panel input:focus { outline:2px solid #688a72; outline-offset:2px; background:#fff; }
.auth-shell .auth-form-panel button { box-sizing:border-box; width:100%; border:1px solid #244f40; border-radius:8px; min-height:46px; padding:12px 18px; background:#244f40; color:#fffdf3; font:600 13px Inter,system-ui,sans-serif; margin:24px 0 0; cursor:pointer; box-shadow:0 5px 12px #244f4015; transition:background .15s,transform .15s; }
.auth-shell .auth-form-panel button:hover { background:#173b2e; transform:translateY(-1px); }
.auth-shell .auth-form-panel .gate-demo { background:transparent; color:#345747; border-color:#d5dccf; margin-top:14px; box-shadow:none; }
.auth-form-panel a { color:#315d46; font-weight:600; text-underline-offset:4px; }
.auth-form-panel #gatePwSec>p:not(.gate-err),.auth-switch { font-size:12px; line-height:1.8; margin-top:20px; }
.auth-form-panel .gate-foot { border-top:1px solid #e6e8df; padding-top:20px; color:#7b8278; font-size:11px; line-height:1.8; margin-top:28px; }
.auth-form-panel .gate-err { color:#ab3939; font-size:12px; }
.auth-shell button:disabled { opacity:.6; cursor:wait; }
@media(max-width:760px){ .auth-page,#gate { padding:16px; } .auth-shell { grid-template-columns:1fr; max-width:480px; border-radius:18px; } .auth-story { min-height:0; padding:25px 28px; } .auth-story-copy { margin-top:26px; } .auth-story h2 { font-size:34px; letter-spacing:-1px; margin-bottom:0; } .auth-story h2 br:first-child { display:none; } .auth-story-copy>p:last-child,.auth-piano,.auth-story-foot { display:none; } .auth-story .auth-eyebrow { font-size:8px; margin-bottom:12px; } .auth-shell .auth-form-panel { padding:30px 28px; } .auth-form-panel h1,.auth-form-panel h2 { font-size:30px; } .auth-form-panel .auth-eyebrow { font-size:8px; margin-bottom:14px; } }
@media(prefers-reduced-motion:reduce){ .auth-shell .auth-form-panel button { transition:none; } }

#gateEmail,#gatePass { text-align:left; }
@media(max-width:760px){ .auth-story h2 { font-size:28px; } .auth-story-copy { margin-top:20px; } .auth-story { padding:22px 28px; } }

.auth-shell .auth-form-panel .password-visibility { display:flex; align-items:center; gap:9px; width:fit-content; cursor:pointer; font-weight:400; margin:14px 0 0; }
.auth-shell .auth-form-panel .password-visibility input { width:17px; height:17px; padding:0; margin:0; accent-color:#244f40; cursor:pointer; }
