/* Account surfaces: scoped to login/profile, using Balzaguk's forest and cream palette. */
:is(#nick-overlay,#profile-overlay){--account-bg:#fffcf7;--account-card:#fff;--account-ink:#263e30;--account-muted:#657066;--account-line:#e4e8df;--account-soft:#f1f5ed;--account-accent:#36583f;background:rgba(18,35,26,.5);backdrop-filter:blur(6px);padding:24px;align-items:center;}
:is(#nick-overlay,#profile-overlay) .modal{position:relative;max-width:440px;max-height:calc(100dvh - 48px);margin:0;border:1px solid var(--account-line);border-radius:26px;background:var(--account-bg);color:var(--account-ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #132a2440;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;}
:is(#nick-overlay,#profile-overlay) .modal-body{padding:24px 28px 22px;}
.auth-dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:8px 18px 8px 28px;background:var(--account-bg);border-bottom:1px solid var(--account-line);font-size:13px;font-weight:650;box-sizing:border-box;}
:is(#nick-overlay,#profile-overlay) .modal-close{position:static;display:grid;place-items:center;flex:none;width:44px;height:44px;background:transparent;color:var(--account-ink);font-size:26px;border-radius:50%;}
.auth-intro{text-align:center;}
.auth-brand-mark{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border:1px solid #dbe7d1;border-radius:18px;background:#eaf1e4;font-size:24px;}
.auth-welcome{font-size:11px;font-weight:650;color:var(--account-accent);letter-spacing:.01em;}
#nick-overlay #login-modal-title{font-family:inherit;font-size:28px;font-weight:750;letter-spacing:-.06em;line-height:1.35;margin:10px 0 10px;color:var(--account-ink);}
#login-modal-description{font-size:13px;line-height:1.75;color:var(--account-muted);margin:0;}
.auth-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px 0 12px;}
.auth-benefits span{padding:7px 10px;border-radius:8px;background:var(--account-soft);color:var(--account-accent);font-size:11px;font-weight:600;}
.auth-bonus{display:flex;gap:7px;align-items:center;justify-content:center;padding:10px;border:1px solid #eadbbd;border-radius:12px;background:#faf1df;color:#775c32;font-size:12px;}
.auth-bonus strong{font-size:14px;}
#nick-overlay .auth-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0 14px;font-size:11.5px;line-height:1.85;font-weight:400;color:var(--account-muted);cursor:pointer;}
#nick-overlay .auth-consent input{margin:2px 0 0;width:20px;height:20px;flex:none;accent-color:var(--account-accent);}
.auth-consent a{color:var(--account-ink);text-decoration:underline;text-underline-offset:3px;}
.auth-consent em{font-style:normal;color:var(--account-muted);}
#nick-overlay .auth-feedback{font-size:12px;line-height:1.7;color:#a13e32;background:#fff0ec;padding:10px 12px;border-radius:10px;margin:0 0 12px;}
.auth-feedback[hidden]{display:none!important;}
.auth-providers{display:grid;gap:10px;}
#nick-overlay .auth-provider{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;min-height:52px;width:100%;padding:12px 36px;border-radius:12px;border:1px solid var(--account-line);font:650 14px/1.5 system-ui,-apple-system,"Noto Sans KR",sans-serif;cursor:pointer;transition:background .15s,box-shadow .15s;box-sizing:border-box;}
#nick-overlay .auth-kakao{background:#fee500;color:#191919;border-color:#fee500;}
#nick-overlay .auth-google{background:#fff;color:#303b34;}
.auth-provider svg,.auth-google-icon{position:absolute;left:18px;width:20px;height:20px;}
.auth-google-icon{font:750 21px/20px Arial,sans-serif;color:#4285f4;}
#nick-overlay .auth-provider:disabled{cursor:wait;opacity:.65;}
#nick-overlay .auth-provider[aria-busy="true"]{opacity:1;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--account-muted);font-size:11px;}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--account-line);flex:1;}
.auth-email summary{display:flex;justify-content:space-between;align-items:center;list-style:none;min-height:46px;padding:0 14px;border:1px solid var(--account-line);border-radius:12px;cursor:pointer;font-size:13px;font-weight:600;background:var(--account-card);}
.auth-email summary::-webkit-details-marker{display:none;}
.auth-email[open] summary span{transform:rotate(180deg);}
.auth-email-content{padding:16px 0 0;}
#nick-overlay .auth-email label{display:block;font-size:12px;font-weight:600;margin:0 0 8px;}
#nick-overlay #email-login-input{width:100%;box-sizing:border-box;min-height:50px;border:1px solid var(--account-line);border-radius:12px;padding:12px 14px;background:var(--account-card);color:var(--account-ink);font-size:16px;margin:0;}
#nick-overlay #email-login-input[aria-invalid="true"]{border-color:#b54836;}
#nick-overlay .auth-email-button{background:var(--account-accent);border-color:var(--account-accent);color:#fff;margin-top:10px;}
#email-login-note{font-size:12px;line-height:1.75;color:var(--account-muted);margin:10px 0 0;overflow-wrap:anywhere;}
#email-login-note[data-state="error"]{color:#ae4130;}
#email-login-note[data-state="success"]{color:var(--account-accent);padding:10px 12px;border-radius:10px;background:var(--account-soft);}
.auth-existing{font-size:11px;color:var(--account-muted);text-align:center;margin:16px 0 0;}
.auth-browse{display:block;width:100%;min-height:44px;margin:8px 0 0;padding:8px;background:transparent;border:0;color:var(--account-accent);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
:is(#nick-overlay,#profile-overlay) :is(button,a,input,summary):focus-visible{outline:3px solid #ad6e43;outline-offset:3px;}
#profile-overlay .modal-body{padding:22px;}
#profile-overlay #my-dog-profile-card{background:linear-gradient(135deg,#254936,#436348)!important;border-radius:20px!important;padding:24px 18px!important;}
#profile-overlay .account-section{padding:20px;margin:14px 0 0;border:1px solid var(--account-line);border-radius:18px;background:var(--account-card);}
#profile-overlay .account-section h3{font:700 17px/1.5 system-ui,-apple-system,"Noto Sans KR",sans-serif;letter-spacing:-.04em;margin:0 0 6px;color:var(--account-ink);}
#profile-overlay .account-section p{font-size:12px!important;line-height:1.8;color:var(--account-muted)!important;margin:6px 0 12px!important;}
#profile-overlay .account-section label:not(.pin-btn){display:block;margin:14px 0 6px;font-size:12px;font-weight:600;color:var(--account-ink);}
#profile-overlay .account-section input:not([type="file"]){width:100%;box-sizing:border-box;min-height:48px;font-size:16px;background:var(--account-bg);color:var(--account-ink);border:1px solid var(--account-line);border-radius:10px;padding:12px;margin-top:0!important;}
#profile-overlay .account-section .submit-btn{min-height:46px;font-size:13px;border-radius:10px;background:var(--account-accent);color:#fff;}
#profile-overlay .account-section .pin-btn{min-height:44px;color:var(--account-accent);border-radius:10px;}
#profile-overlay .account-settings .pin-btn{display:block;width:100%;margin:6px 0!important;border:1px solid var(--account-line)!important;background:transparent!important;color:var(--account-ink)!important;text-align:left;padding:12px 14px;font-size:12px!important;font-weight:500;}
#profile-overlay .account-settings #withdraw-btn{color:#ad4434!important;}
#profile-overlay .account-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(hover:hover){.auth-email summary:hover,.auth-browse:hover{background:var(--account-soft);}#nick-overlay .auth-google:hover{background:#f4f6f2;}#nick-overlay .auth-kakao:hover{background:#f5dc00;}#profile-overlay .account-settings .pin-btn:hover{background:var(--account-soft)!important;}}
@media(max-width:600px){:is(#nick-overlay,#profile-overlay){padding:12px 10px max(12px,env(safe-area-inset-bottom));align-items:center;} :is(#nick-overlay,#profile-overlay) .modal{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:24px;max-width:440px;} :is(#nick-overlay,#profile-overlay) .modal-body{padding:20px;} .auth-dialog-header{padding-left:20px;min-height:56px;}#nick-overlay #login-modal-title{font-size:27px;}#profile-overlay .account-section{padding:17px;} }
@media(max-height:730px){#nick-overlay .auth-brand-mark{width:40px;height:40px;margin-bottom:6px;}#nick-overlay .modal-body{padding-top:16px;}#nick-overlay #login-modal-title{font-size:25px;margin:6px 0;}#nick-overlay .auth-benefits{margin-top:12px;}#nick-overlay .auth-consent{margin-top:14px;} }
html[data-theme="dark"] :is(#nick-overlay,#profile-overlay){--account-bg:#19241e;--account-card:#202e25;--account-ink:#eef3eb;--account-muted:#bbc8ba;--account-line:#3c4c3e;--account-soft:#2d4030;--account-accent:#b8d2ad;}
html[data-theme="dark"] .auth-brand-mark{background:#2d4030;border-color:#435d40;}
html[data-theme="dark"] .auth-bonus{background:#3c3523;border-color:#635637;color:#ead3a7;}
html[data-theme="dark"] #nick-overlay .auth-email-button,html[data-theme="dark"] #profile-overlay .account-section .submit-btn{background:#b8d2ad;color:#19301f;}
html[data-theme="dark"] #nick-overlay .auth-feedback{background:#452b28;color:#ffc1b7;}
html[data-theme="dark"] #email-login-note[data-state="error"],html[data-theme="dark"] #profile-overlay .account-settings #withdraw-btn{color:#ffc1b7!important;}
@media(prefers-reduced-motion:reduce){#nick-overlay .auth-provider{transition:none;}}

/* Glass panel over the existing homepage; Korean copy and passwordless Auth. */
#nick-overlay{--account-bg:transparent;--account-card:#fff;--account-ink:#fff;--account-muted:#d6dce2;--account-line:#ffffff40;--account-accent:#e7edf1;background:rgba(18,35,26,.22);backdrop-filter:none;isolation:isolate;}
#nick-overlay .auth-modal{max-width:440px;border:1px solid #ffffff60;border-radius:25px;background:linear-gradient(140deg,#26343baa,#25333999);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 26px 80px #080d1855,inset 0 1px 0 #ffffff35;color:#fff;}
#nick-overlay .auth-dialog-header{border:0;background:transparent;min-height:52px;color:#eef1f5;font-size:12px;}
#nick-overlay .modal-close{color:#fff;}
#nick-overlay .modal-body{display:flex;flex-direction:column;padding:8px 32px 24px;}
#nick-overlay .auth-brand-mark{display:none;}
#nick-overlay .auth-welcome{display:none;}
#nick-overlay #login-modal-title{font-size:34px;letter-spacing:-.04em;color:#fff;margin:0 0 12px;}
#nick-overlay #login-modal-description{color:#eef1f5;font-size:13px;}
#nick-overlay :is(.auth-benefits,.auth-bonus){display:none;}
#nick-overlay .auth-consent{margin:22px 0 14px;color:#e1e6ec;font-size:11px;}
#nick-overlay .auth-consent :is(a,em){color:#fff;}
#nick-overlay .auth-email summary{display:none;}
#nick-overlay .auth-email-content{padding:0;}
#nick-overlay .auth-email label{color:#fff;font-weight:500;}
#nick-overlay #email-login-input{background:#fff;color:#1d2631;border:1px solid #303844;min-height:50px;border-radius:10px;box-shadow:0 1px 1px #0002;}
#nick-overlay .auth-email-button{background:#080b10;color:#fff;border:1px solid #080b10;border-radius:10px;min-height:50px;margin-top:12px;}
#nick-overlay #email-login-note{color:#e2e7ee;font-size:11px;margin-top:10px;}
#nick-overlay #email-login-note[data-state="error"]{color:#ffe3dc;background:#58271fcc;padding:10px;border-radius:9px;}
#nick-overlay #email-login-note[data-state="success"]{background:#243f32;color:#e9ffef;}
#nick-overlay .auth-feedback{background:#58271fcc;color:#ffe3dc;}
#nick-overlay .auth-divider{margin:22px 0;color:#e1e6ec;}
#nick-overlay .auth-providers{padding:0 18px;gap:12px;}
#nick-overlay .auth-provider{font-weight:550;font-size:13px;}
#nick-overlay .auth-google{border-radius:999px;color:#171e28;background:#fff;border-color:#fff;}
#nick-overlay .auth-kakao{border-radius:999px;color:#191919;}
#nick-overlay .auth-existing{color:#f1f4f6;line-height:1.8;margin-top:24px;font-size:11px;}
#nick-overlay .auth-browse{color:#fff;font-size:11px;margin-top:4px;}
#nick-overlay :is(button,input,a,summary):focus-visible{outline:3px solid #fee500;outline-offset:3px;}
@media(max-width:600px){#nick-overlay .modal-body{padding:4px 22px 20px;}#nick-overlay .auth-modal{max-width:390px;}#nick-overlay #login-modal-title{font-size:31px;}#nick-overlay .auth-providers{padding:0 12px;}}
@media(max-height:730px){#nick-overlay .auth-dialog-header{min-height:46px;}#nick-overlay .auth-consent{margin-top:16px;}#nick-overlay .auth-divider{margin:16px 0;}#nick-overlay .auth-existing{margin-top:18px;}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#nick-overlay .auth-modal{background:#4b5665;}}

/* Compact MY: a personal summary followed by settings that open on demand. */
#profile-overlay .modal-body{padding:20px;}
#profile-overlay #my-dog-profile-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;text-align:left!important;padding:20px!important;border-radius:18px!important;margin-bottom:12px!important;}
#profile-overlay #my-dog-avatar-big{width:56px!important;height:56px!important;font-size:27px!important;margin:0!important;border-width:1px!important;}
.my-profile-heading{min-width:0;}
.my-profile-eyebrow{display:block;font-size:10px;color:#d2dfd4;margin-bottom:5px;}
#profile-overlay #my-dog-name-big{font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif!important;font-size:21px!important;font-weight:700;overflow-wrap:anywhere;line-height:1.4;}
#profile-overlay #my-dog-sub-big{font-size:11px!important;line-height:1.7;overflow-wrap:anywhere;}
#profile-overlay .my-profile-stats{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;text-align:center;margin-top:4px!important;padding-top:16px!important;}
#profile-overlay .my-profile-stats>div+div{border-left:1px solid #ffffff26;}
#profile-overlay .my-profile-stats [id^="my-stat-"]{font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif!important;font-size:20px!important;font-weight:650;font-variant-numeric:tabular-nums;}
#profile-overlay .my-profile-stats>div>div:last-child{font-size:10px!important;line-height:1.7;}
#profile-overlay :is(#my-points-shop-btn,#my-admin-btn){display:flex;justify-content:space-between;align-items:center;min-height:48px;border-radius:12px;margin:0 0 10px!important;padding:12px 16px;font:600 13px/1.5 system-ui,-apple-system,"Noto Sans KR",sans-serif;}
#profile-overlay #my-points-shop-btn{background:var(--account-soft)!important;border:1px solid var(--account-line);color:var(--account-ink)!important;}
.my-settings-heading{font-size:11px;color:var(--account-muted);padding:16px 3px 9px;}
#profile-overlay .my-setting{padding:0;margin:0;border:0;border-bottom:1px solid var(--account-line);border-radius:0;background:transparent;}
.my-setting summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;min-height:58px;font-size:13px;font-weight:600;cursor:pointer;padding:8px 3px;box-sizing:border-box;}
.my-setting summary::-webkit-details-marker{display:none;}
.my-setting-hint{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:400;color:var(--account-muted);}
.my-setting-hint>span{font-size:16px;}
.my-setting[open] .my-setting-hint>span{transform:rotate(180deg);}
.my-setting-content{padding:3px 12px 18px;border-radius:12px;background:var(--account-card);margin:0 0 12px;}
#profile-overlay .my-setting-content>p:first-child{padding-top:10px;}
#profile-overlay .account-settings #withdraw-status{font-size:11px!important;margin:10px 2px 0!important;}
@media(hover:hover){.my-setting summary:hover{color:var(--account-accent);}}
@media(max-width:600px){#profile-overlay .modal-body{padding:16px 18px;}#profile-overlay #my-dog-profile-card{padding:18px!important;}.my-setting summary{min-height:56px;}}

/* Keep the full login form compact; scrolling remains available on short viewports. */
#nick-overlay .auth-consent-group{margin:14px 0 12px}
#nick-overlay .auth-consent-group .auth-consent{align-items:center;min-height:36px;margin:0;padding:5px 0;font-size:12px;line-height:1.65;color:#f4f6f8}
#nick-overlay .auth-consent-group input{margin:0;accent-color:#d9e8d1}
#nick-overlay .auth-consent-group em{white-space:nowrap;color:#d8e0e5}
#nick-overlay .auth-privacy-details{margin:4px 0 0;font-size:12px;line-height:1.75;color:#f4f6f8}
#nick-overlay .auth-privacy-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:4px 0;list-style:none;cursor:pointer;color:#e0e7e9}
#nick-overlay .auth-privacy-details summary::-webkit-details-marker{display:none}
#nick-overlay .auth-privacy-details summary span{font-size:17px}
#nick-overlay .auth-privacy-details[open] summary span{transform:rotate(180deg)}
#nick-overlay .auth-privacy-details dl{margin:4px 0 8px;padding:12px;border:1px solid #ffffff35;border-radius:10px;background:#1c2c32aa}
#nick-overlay .auth-privacy-details dl div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px}
#nick-overlay .auth-privacy-details dl div+div{margin-top:8px}
#nick-overlay .auth-privacy-details dt{font-weight:700;color:#fff}
#nick-overlay .auth-privacy-details dd{margin:0;overflow-wrap:anywhere}
#nick-overlay .auth-privacy-details p{font-size:12px;line-height:1.75;margin:0 0 10px;color:#e0e7e9}
#nick-overlay .auth-privacy-link{display:inline-flex;align-items:center;min-height:32px;font-size:12px;line-height:1.6;color:#fff;text-decoration:underline;text-underline-offset:3px}
#nick-overlay .auth-dialog-header{min-height:42px;padding-top:0;padding-bottom:0;}
#nick-overlay .modal-body{padding:0 26px 14px;}
#nick-overlay #login-modal-title{font-size:28px;margin:0 0 6px;line-height:1.25;}
#nick-overlay #login-modal-description{font-size:12px;line-height:1.6;}
#nick-overlay .auth-consent{margin:12px 0;line-height:1.6;}
#nick-overlay .auth-email label{margin-bottom:6px;font-size:11px;}
#nick-overlay #email-login-input{min-height:46px;padding:10px 12px;}
#nick-overlay .auth-provider{min-height:46px;padding-top:10px;padding-bottom:10px;}
#nick-overlay .auth-email-button{min-height:46px;margin-top:10px;}
#nick-overlay #email-login-note{margin-top:8px;font-size:11px;line-height:1.6;}
#nick-overlay .auth-divider{margin:12px 0;}
#nick-overlay .auth-providers{gap:8px;}
#nick-overlay .auth-browse{margin-top:10px;min-height:44px;}
#nick-overlay .auth-feedback{font-size:11px;padding:8px 10px;line-height:1.6;margin-bottom:8px;}
@media(max-height:650px){#nick-overlay .modal-body{padding-bottom:8px;}#nick-overlay .auth-dialog-header{min-height:38px;}#nick-overlay #login-modal-title{font-size:25px;}#nick-overlay .auth-consent{margin:10px 0;}#nick-overlay .auth-divider{margin:10px 0;}#nick-overlay .auth-browse{margin-top:6px;}}
