/* V4 reuses the approved NONO window, pixel buttons, and existing fonts. */
#nono-dialog:has(.auth-content){width:min(92vw,470px);max-height:90dvh;overflow:visible;display:none}
#nono-dialog[open]:has(.auth-content){display:block}
#nono-dialog:has(.auth-content) .dialog-content{max-height:calc(90dvh - 58px);overflow:auto;padding:25px 26px 22px;overscroll-behavior:contain}
.auth-content .dialog-heading{font-family:var(--pixel);font-size:32px;line-height:1.05;margin:3px 0 12px;text-align:center;font-weight:400}
.auth-content .dialog-description{font-size:13px;line-height:1.6;margin:0 0 20px;overflow-wrap:anywhere}
.auth-content .social-button{min-height:45px;width:100%;font-family:var(--body);font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px;margin:0;background:linear-gradient(#fff7fc,#ffdfef);border:1px solid #e77cae;box-shadow:0 2px 0 #de7daa}
.auth-socials{display:grid;gap:11px}.auth-provider{font:22px Georgia;width:20px}.google-mark{font-family:Arial,sans-serif;font-weight:700;color:#b81764}
.auth-content .login-or{font:16px var(--pixel);margin:18px 0;color:#ab658b}
.auth-method-label{text-align:center;font:17px var(--pixel);margin:17px 0 11px}
.auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-content .pixel-button{width:100%;font:22px var(--pixel);min-height:48px;gap:8px;padding:9px 10px}
.auth-methods .pixel-button{font-size:21px;white-space:nowrap}
.auth-content .form-label{display:block;text-align:left;font:18px var(--pixel);margin:14px 0 6px}
.auth-content .pixel-input{width:100%;min-width:0;height:46px;font:16px var(--body);padding:10px 12px;border:1px solid #d468a3;border-radius:2px;background:#fff7fb;color:#87305e}
.auth-phone{display:grid;grid-template-columns:115px 1fr;gap:10px}
.auth-phone select.pixel-input{font-size:13px;padding:9px 6px}
.auth-help,.auth-local-note,.auth-disclosure{font:11px/1.55 var(--body);color:#8d5274;text-align:left;margin:9px 0}
.auth-local-note{padding:10px 12px;background:#fff0f8;border:1px dashed #df8db6;margin-top:18px;text-align:center}
.auth-consents{margin:19px 0 10px;padding-top:15px;border-top:1px dashed #e893bc;display:grid;gap:14px}
.auth-check{display:flex;align-items:flex-start;gap:10px;text-align:left;font:12px/1.55 var(--body);color:#813258;cursor:pointer}
.auth-check input{width:18px;height:18px;flex:0 0 18px;accent-color:#ed2389;margin:2px 0 0}
.auth-check a{color:#ad105a;text-decoration:underline;text-underline-offset:2px}
.auth-check strong{display:block;font-size:13px;color:#b81764;margin-bottom:3px}.auth-check small{display:block;font:inherit;color:#8e5372}
.auth-disclosure{font-size:10px;margin:-8px 0 0 28px}
.auth-error{font:12px/1.5 var(--body);color:#a90050;text-align:left;min-height:0;margin:12px 0;overflow-wrap:anywhere}.auth-error:empty{margin:14px 0}
.auth-link,.auth-back{font:13px var(--body);text-decoration:underline;text-underline-offset:3px;min-height:34px;padding:5px;color:#bd196d}
.auth-switch{font:12px var(--body);text-align:center;margin:18px 0 0}.auth-switch .auth-link{font-weight:700}
.auth-forgot{display:block;margin:13px auto 0}.auth-back{padding:0 0 12px;text-decoration:none;display:block;text-align:left;font-size:12px}
.auth-code-links{display:flex;justify-content:space-between;margin-top:13px;gap:8px}.auth-code-links .auth-link{font-size:12px}
.auth-content #auth-code{text-align:center;font:30px var(--pixel);letter-spacing:8px;height:56px}
.auth-loading{font:35px var(--pixel);text-align:center;color:#ef268d;padding:25px;animation:authPulse 2s ease-in-out infinite}
.auth-content button:disabled{cursor:default;opacity:.5;filter:saturate(.6)}
.auth-content :is(button,input,select,a):focus-visible{outline:3px solid #be1971;outline-offset:3px}
.profile-account{margin:20px 0;text-align:left;border:1px dashed #e68fb9;padding:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;font:12px/1.5 var(--body)}
.profile-account dt{font:16px/1.3 var(--pixel)}
.profile-account dt:not(:first-child){margin-top:12px}
.profile-account dd{margin:0;min-width:0;text-align:left;overflow-wrap:anywhere}
.profile-body .profile-id{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;overflow-wrap:anywhere}
.account-contact-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:7px}.account-contact-value>span{min-width:0;overflow-wrap:anywhere}.account-edit{font:600 11px/1.3 var(--body);padding:2px 0;border:0;background:transparent;min-height:24px;min-width:28px;box-shadow:none;text-decoration:underline;text-underline-offset:3px;color:#b81764}.account-edit:hover{color:#ed2389}.auth-content .contact-code{text-align:center;font:30px var(--pixel);letter-spacing:8px;height:56px}
.auth-step{font:14px var(--pixel);color:#b81764;text-align:center;margin:0 0 12px}.contact-support{margin-top:20px;padding-top:12px;border-top:1px dashed #e68fb9;overflow-wrap:anywhere}.contact-support a{color:#b81764;font-weight:600;text-underline-offset:3px}
.legal-page{max-width:760px;padding:35px 20px;margin:auto}.legal-page article{background:#fff5f9;border:2px solid #e861a1;padding:clamp(20px,5vw,42px);box-shadow:4px 4px 0 #ed98bf}.legal-page h1{font:38px var(--pixel);line-height:1.1;margin:0 0 20px}.legal-page h2{font:25px var(--pixel);margin-top:28px}.legal-page p,.legal-page li{font:14px/1.7 var(--body);color:#78425f}.legal-page .legal-version{color:#b81764;font-weight:700}.legal-page .draft-note{background:#ffe0ef;padding:12px}.legal-page a{color:#b81764;overflow-wrap:anywhere}
@keyframes authPulse{50%{transform:translateY(-5px);opacity:.6}}
@media(max-width:420px){#nono-dialog:has(.auth-content) .dialog-content{padding:21px 18px 17px}.auth-content .dialog-heading{font-size:28px}.auth-content .dialog-description{font-size:12px}.auth-methods{gap:8px}.auth-content .pixel-button{font-size:20px}.auth-switch{font-size:11px}.auth-phone{grid-template-columns:100px 1fr}}
@media(prefers-reduced-motion:reduce){.auth-loading{animation:none}}
