:root{
  --cream:#f5efe3;--parchment:#e8dcc8;--brown-light:#c9a87c;
  --brown-mid:#8b6340;--brown-dark:#5c3d1e;--forest:#3a5a40;
  --sage:#7a9e7e;--gold:#d4a017;--rust:#b5541c;
  --shadow:rgba(60,30,10,0.18);
  --google-red:#EA4335;--panel-bg:rgba(250,244,234,0.96);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Crimson Pro',Georgia,serif;background:var(--cream);color:var(--brown-dark);min-height:100vh;overflow-x:hidden;display:flex;align-items:center;justify-content:center;}

/* ── SCENE BACKGROUND ── */
.scene-bg{position:fixed;inset:0;z-index:0;background:linear-gradient(180deg,#8ab8d8 0%,#b8d8f0 18%,#c8e8b0 50%,#90c060 75%,#6a9840 100%);pointer-events:none;}
.sun{position:absolute;top:28px;right:90px;width:72px;height:72px;background:radial-gradient(circle,#fff8a0 30%,#ffe840 60%,#ffc820 80%,transparent 100%);border-radius:50%;box-shadow:0 0 60px 20px rgba(255,232,64,.5);animation:sunPulse 5s ease-in-out infinite;}
@keyframes sunPulse{0%,100%{box-shadow:0 0 60px 20px rgba(255,232,64,.5)}50%{box-shadow:0 0 90px 35px rgba(255,200,32,.4)}}
.cloud{position:absolute;background:rgba(255,255,255,.9);border-radius:50px;filter:blur(1px);animation:cloudDrift linear infinite;}
.cloud::before,.cloud::after{content:'';position:absolute;background:inherit;border-radius:50%;}
.cloud1{width:140px;height:40px;top:55px;left:-160px;animation-duration:30s;animation-delay:-10s;}
.cloud1::before{width:70px;height:54px;top:-22px;left:22px;}.cloud1::after{width:50px;height:42px;top:-12px;left:62px;}
.cloud2{width:90px;height:28px;top:95px;left:-110px;animation-duration:42s;animation-delay:-22s;opacity:.75;}
.cloud2::before{width:46px;height:36px;top:-14px;left:14px;}.cloud2::after{width:36px;height:28px;top:-7px;left:38px;}
.cloud3{width:180px;height:50px;top:42px;left:-200px;animation-duration:55s;animation-delay:-38s;opacity:.65;}
.cloud3::before{width:82px;height:62px;top:-25px;left:30px;}.cloud3::after{width:58px;height:50px;top:-16px;left:88px;}
@keyframes cloudDrift{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 220px))}}
.hills{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(175deg,#7aaa58 0%,#5e9040 50%,#4a7830 100%);clip-path:ellipse(115% 65% at 50% 100%);}
.hills2{position:absolute;bottom:0;left:0;right:0;height:32%;background:linear-gradient(180deg,#6aaa40 0%,#4e8028 100%);clip-path:ellipse(105% 55% at 38% 100%);}
.fence{position:absolute;bottom:18%;left:0;right:0;height:34px;pointer-events:none;}
.fence-inner{width:100%;height:100%;background:repeating-linear-gradient(90deg,#8b5e30 0,#8b5e30 7px,transparent 7px,transparent 44px),linear-gradient(0deg,#8b5e30 0,#8b5e30 6px,transparent 6px,transparent 16px,#8b5e30 16px,#8b5e30 22px,transparent 22px,transparent 100%);opacity:.8;}
.flower{position:absolute;font-size:16px;animation:sway 3s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}

/* ── LOGIN CARD ── */
.login-wrap{position:relative;z-index:10;width:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;min-height:100vh;}
.login-card{background:rgba(250,244,234,0.98);border:2px solid var(--brown-light);border-radius:22px;padding:42px 42px 36px;max-width:430px;width:100%;box-shadow:0 20px 60px rgba(60,30,10,.3);text-align:center;backdrop-filter:blur(10px);animation:lfi .5s ease-out;}
@keyframes lfi{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.login-horse{font-size:4rem;margin-bottom:12px;display:block;}
.login-card h1{font-family:'Playfair Display',serif;font-size:2.1rem;color:var(--brown-dark);margin-bottom:4px;}
.login-card h1 span{color:var(--forest);font-style:italic;}
.login-sub{font-size:1.05rem;color:var(--brown-mid);margin-bottom:26px;}
.config-notice{background:#fffbee;border:1.5px solid var(--gold);border-radius:9px;padding:11px 15px;font-size:.84rem;color:var(--brown-dark);margin-bottom:18px;line-height:1.65;text-align:left;}
.config-notice code{background:var(--parchment);border-radius:3px;padding:1px 5px;font-size:.8rem;}
.config-notice a{color:var(--forest);}

/* ── SOCIAL BUTTONS ── */
.btn-social{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:13px 20px;font-family:'Crimson Pro',serif;font-size:1.05rem;font-weight:500;border:none;border-radius:11px;cursor:pointer;transition:all .2s;margin-bottom:10px;}
.btn-google{background:#fff;color:#3c3c3c;border:1.5px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.1);}
.btn-google:hover{background:#f8f8f8;box-shadow:0 4px 14px rgba(0,0,0,.14);transform:translateY(-1px);}

/* ── EMAIL TABS ── */
.login-divider{display:flex;align-items:center;gap:14px;margin:18px 0 16px;color:var(--brown-light);font-size:.88rem;}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--parchment);}
.email-tabs{display:flex;gap:0;border:1.5px solid var(--parchment);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.email-tab{flex:1;padding:9px 0;font-family:'Crimson Pro',serif;font-size:.95rem;background:none;border:none;color:var(--brown-mid);cursor:pointer;transition:all .18s;}
.email-tab.active{background:var(--forest);color:white;font-weight:600;}
.email-tab:not(.active):hover{background:var(--parchment);}

/* ── EMAIL FORM ── */
.email-form{display:flex;flex-direction:column;gap:9px;}
.login-input{width:100%;padding:11px 14px;border:1.5px solid var(--brown-light);border-radius:9px;font-family:'Crimson Pro',serif;font-size:.97rem;background:var(--cream);color:var(--brown-dark);transition:border-color .18s;outline:none;}
.login-input:focus{border-color:var(--forest);}
.login-input::placeholder{color:var(--brown-light);}
.btn-email{width:100%;padding:13px 20px;background:var(--forest);color:white;font-family:'Crimson Pro',serif;font-size:1.05rem;font-weight:600;border:none;border-radius:11px;cursor:pointer;transition:all .2s;margin-top:4px;box-shadow:0 4px 14px rgba(58,90,64,.3);}
.btn-email:hover{background:#2e4a34;transform:translateY(-1px);}
.btn-forgot{background:none;border:none;color:var(--brown-light);font-family:'Crimson Pro',serif;font-size:.85rem;cursor:pointer;text-decoration:underline;padding:2px 0;transition:color .15s;}
.btn-forgot:hover{color:var(--brown-mid);}

/* ── GUEST + FOOTER ── */
.btn-guest{width:100%;padding:11px 20px;background:transparent;color:var(--brown-mid);font-family:'Crimson Pro',serif;font-size:1rem;border:1.5px solid var(--brown-light);border-radius:11px;cursor:pointer;transition:all .2s;}
.btn-guest:hover{background:var(--parchment);color:var(--brown-dark);}
.login-fine{font-size:.77rem;color:var(--brown-light);margin-top:18px;line-height:1.6;}
.login-err{background:#fff0f0;border:1px solid #f5c6c6;border-radius:9px;padding:10px 14px;font-size:.88rem;color:var(--rust);margin-bottom:14px;display:none;text-align:left;}
.login-err.show{display:block;}

/* ── VERIFY EMAIL SCREEN ── */
.verify-box{background:rgba(58,90,64,.07);border:1.5px solid var(--sage);border-radius:14px;padding:28px 24px;text-align:center;margin-bottom:4px;}
.verify-icon{font-size:3rem;margin-bottom:12px;display:block;}
.verify-box h3{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--brown-dark);margin-bottom:8px;}
.verify-box p{font-size:.95rem;color:var(--brown-mid);font-weight:600;margin-bottom:6px;}
.verify-sub{font-size:.85rem;color:var(--brown-mid);font-weight:400 !important;line-height:1.6;margin-bottom:14px !important;}
