.account-control{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;text-decoration:none;color:var(--text);border:1px solid var(--line);background:var(--panel);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;max-width:150px;min-height:36px}.account-control:hover{border-color:var(--blue);background:var(--bg)}.account-control svg{width:20px;height:20px}.account-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-avatar{width:32px;height:32px;position:relative;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px;flex:none}.account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.account-control.is-signed-in{padding:3px 8px 3px 3px}.account-app{max-width:970px;margin:28px auto;padding:26px;border:1px solid var(--line);background:var(--panel);border-radius:20px;color:var(--text)}.account-intro>span{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--blue)}.account-intro h1{font-size:clamp(25px,4vw,38px);line-height:1.2;margin:12px 0}.account-intro p{color:var(--muted);line-height:1.65;max-width:650px}.account-intro small{font-size:11px;color:var(--muted)}.account-intro code{overflow-wrap:anywhere}.account-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.account-providers button{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;cursor:pointer;font-weight:600;min-width:0}.account-providers button small{font-size:10px;color:var(--muted)}.account-providers button:disabled{opacity:.55;cursor:default}.provider-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1765a9;font-size:21px;font-weight:900;flex:none}.provider-mark.x{background:#03131e;color:#fff}.provider-mark.facebook{background:#1877f2;color:#fff}.account-divider{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted);margin:25px 0}.account-divider:before,.account-divider:after{content:'';height:1px;background:var(--line);flex:1}.account-form{display:grid;gap:16px;padding:22px;border:1px solid var(--line);background:var(--bg);border-radius:14px}.account-form h2,.account-linked h2{font-size:20px;margin:0 0 8px;color:var(--text)!important}.account-form label{display:grid;gap:7px;font-size:13px;color:var(--text)}.account-form input,.account-form select{width:100%;padding:11px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;font:inherit;min-width:0}.account-form small{color:var(--muted);font-size:11px}.account-primary{border:0!important;padding:12px 20px;border-radius:9px;background:var(--blue)!important;color:var(--accent-text)!important;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-block;text-align:center}.account-email-tabs,.account-text-actions,.account-bottom{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.account-app button:not(.account-primary){font:inherit}.account-email-tabs button,.account-bottom>button,.account-linked li button{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 15px;border-radius:8px;cursor:pointer}.account-email-tabs button[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}.account-text-actions button{border:0;background:none;color:var(--blue);text-decoration:underline;cursor:pointer;font-size:12px!important;padding:3px}.account-home{color:var(--blue);font-size:13px}.account-note{padding:14px;background:var(--bg);border-radius:9px;font-size:12px;color:var(--muted);line-height:1.6}.account-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px;align-items:start}.account-linked{min-width:0}.account-linked>p{font-size:13px;color:var(--muted);line-height:1.6}.account-linked .account-providers{grid-template-columns:1fr}.account-linked ul{list-style:none;padding:0}.account-linked li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.account-linked li small{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted);margin-top:5px}.account-linked li button{font-size:11px!important}.account-app [data-account-status]{padding:10px 0;line-height:1.5;color:var(--text)}.account-app [data-account-status].is-error{color:var(--text)}.account-app :focus-visible,.account-control:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:850px){.account-control{max-width:95px}.ip-top .account-control .account-label{display:none}.account-settings-grid{grid-template-columns:1fr}.account-app{padding:18px}.account-providers{grid-template-columns:1fr}}@media(max-width:550px){.account-control{padding:6px;min-height:30px}.account-control .account-label{font-size:10px}.account-avatar{width:28px;height:28px}.account-app{padding:15px;margin:18px auto}.account-form{padding:15px}.account-intro code{font-size:10px}.town-toolbar .account-control{margin-left:0}.account-app .account-providers button{padding:10px}}

.account-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account-profile-location{grid-column:1/-1}@media(max-width:600px){.account-profile-fields{grid-template-columns:1fr}}

/* Keep confirmation actions readable under the site's global link styles. */
#accountApp.account-app .account-primary,#accountApp.account-app a.account-primary:visited,#accountApp.account-app a.account-primary:hover,#accountApp.account-app a.account-primary:focus{color:var(--accent-text)!important;-webkit-text-fill-color:var(--accent-text)!important;background:var(--blue)!important;opacity:1;text-decoration:none}#accountApp [data-confirm-actions][hidden]{display:none}

.account-settings-tabs{display:flex;flex-direction:column;gap:12px;margin:20px 0}.account-settings-tabs>button{align-self:start}.account-settings-tabs [role=tablist]{display:flex;gap:8px;flex-wrap:wrap}.account-settings-tabs button{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:10px 18px;cursor:pointer}.account-settings-tabs button[aria-selected=true],.account-settings-tabs button[aria-current]{background:var(--bg);border-color:var(--blue)}.account-settings-grid[hidden],#activityPanel[hidden]{display:none!important}.account-activity-tile{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.account-activity-tile img{width:72px;height:72px;object-fit:cover;flex-shrink:0;border-radius:8px}.account-activity-tile>div{min-width:0;overflow-wrap:anywhere}.account-activity-tile p{color:var(--blue);margin:6px 0}

/* Account forms share the town palette, including saved custom colours. */
html[data-appearance] .account-app{background:var(--panel);color:var(--text);border-color:var(--line)}
.account-app input::placeholder{color:var(--muted);opacity:1}
.account-app :is(input,select,button){color-scheme:inherit}
.account-app [data-account-status].is-error{font-weight:700;border-left:3px solid var(--blue);padding-left:12px}
.account-app [data-account-status]:empty{display:none}
.account-app button:disabled{cursor:wait}


/* Accounts use the same navy Pages shell, independently of the home palette. */
body.inner-page.account-page{--bg:#001020;--panel:#00172c;--text:#eef5ff;--muted:#9ed4f5;--line:#008fda;--blue:#52dcff;--navy:#001a36;--accent-text:#001020;color-scheme:dark}
body.inner-page.account-page .account-app{background:linear-gradient(130deg,#00203b,#001020);border:1px solid var(--ip-line);box-shadow:inset 0 0 14px #006abc18;margin:20px auto;max-width:970px}
body.account-page .account-form{background:#001a30;border-color:#00659a}
body.account-page .account-form :is(input,select){background:#001b32;color:#e0f2ff;border-color:#006ea7}
body.account-page .account-providers button,body.account-page .account-email-tabs button,body.account-page .account-settings-tabs button{background:linear-gradient(#00233f,#000e21)}
body.account-page .account-primary{background:linear-gradient(135deg,#52dcff,#39baff)!important;color:#001020!important;-webkit-text-fill-color:#001020!important}
body.account-page .account-primary:hover{filter:brightness(1.1)}
body.account-page .account-avatar{background:#00365d}
body.account-page .ip-hero h1{font-size:clamp(27px,4vw,44px)}


/* The complete card is measured by its iframe and fitted to the available window. */
.account-login-dialog{position:fixed;inset:0;margin:auto;padding:0;border:1px solid #52dcff;border-radius:24px;width:560px;height:800px;max-width:none;max-height:none;box-sizing:content-box;background:#00172c;color:#eef5ff;box-shadow:0 24px 100px #0009;overflow:hidden}
.account-login-dialog::backdrop{background:#001020aa;backdrop-filter:blur(5px)}
.account-login-dialog iframe{position:absolute;inset:0;border:0;display:block;background:#00172c;transform-origin:top left}
.account-login-close{position:absolute;right:10px;top:9px;z-index:2;border:0;background:transparent;color:#eef5ff;font:28px/1 Arial,sans-serif;cursor:pointer;width:32px;height:32px;border-radius:8px}
.account-login-close:focus-visible{outline:2px solid #52dcff}
html.account-overlay-root,body.account-overlay-page{margin:0!important;padding:0!important;min-height:0!important;height:auto!important;overflow:hidden!important;background:#00172c}
body.account-overlay-page>:not(#accountApp){display:none!important}
body.account-overlay-page #accountApp.account-app{margin:0!important;border:0;border-radius:0;padding:28px 36px 26px;max-width:none;width:100%;min-height:0!important;box-shadow:none;box-sizing:border-box;background:linear-gradient(135deg,#002439,#001626);font-family:Arial,sans-serif;font-size:16px;line-height:1.35}
.account-overlay-page #accountApp *{box-sizing:border-box}
.account-overlay-page #accountApp .account-intro>span{font:800 13px/1.2 Arial,sans-serif;letter-spacing:2px;color:var(--blue)}
.account-overlay-page #accountApp .account-intro h1{font:800 40px/1.1 Arial,sans-serif;margin:22px 0 10px;letter-spacing:-1px;color:var(--text)}
.account-overlay-page #accountApp .account-intro h2{font:700 22px/1.3 Arial,sans-serif;margin:0;color:var(--text)}
.account-overlay-page #accountApp .account-intro p{font:17px/1.4 Arial,sans-serif;margin:7px 0 0;color:var(--muted)}
.account-overlay-page #accountApp .account-providers{grid-template-columns:1fr;gap:10px;margin:24px 0 0}
.account-overlay-page #accountApp .account-providers button{padding:10px 18px;border:1px solid var(--blue);border-radius:11px;font:600 17px/1.25 Arial,sans-serif;min-height:50px;gap:16px}
.account-overlay-page #accountApp .account-providers button small{margin-left:auto;font-size:10px}
.account-overlay-page #accountApp .account-providers button:disabled{cursor:not-allowed}
.account-overlay-page #accountApp .account-divider{font-size:13px;margin:20px 0;gap:16px}
.account-overlay-page #accountApp .account-form{padding:0;border:0;background:transparent;gap:17px;border-radius:0}
.account-overlay-page #accountApp .account-form label{font-size:14px;font-weight:600;gap:7px}
.account-input-wrap{position:relative;display:flex;align-items:center}
.account-input-wrap>svg{position:absolute;left:14px;width:21px;height:21px;pointer-events:none;color:var(--muted)}
.account-overlay-page #accountApp .account-form input{width:100%;height:46px;padding:10px 46px;border:1px solid #8abdd0;border-radius:10px;font:16px/1.2 Arial,sans-serif;background:#001c2c}
.account-reveal{position:absolute;right:7px;display:grid;place-items:center;padding:6px;border:0;background:transparent;color:var(--text);cursor:pointer}
.account-reveal svg{width:22px;height:22px}
.account-login-help{display:flex;justify-content:space-between;align-items:center;gap:10px}
.account-overlay-page #accountApp :is(.account-login-help,.account-switch) button{border:0;padding:0;background:transparent;color:var(--blue);font:600 14px/1.4 Arial,sans-serif;cursor:pointer}
.account-overlay-page #accountApp .account-login-help button:first-child{font-size:12px;font-weight:400;color:var(--muted)}
.account-overlay-page #accountApp .account-primary{font:800 20px/1.2 Arial,sans-serif;padding:13px;border-radius:11px;min-height:50px;background:linear-gradient(100deg,#52dcff,#23d4ed)!important}
.account-overlay-page #accountApp .account-primary span{margin-left:12px;font-size:25px;line-height:0}
.account-overlay-page #accountApp .account-switch{margin:18px 0 0;text-align:center;font-size:15px}
.account-overlay-page #accountApp .account-switch button{font-size:15px}
.account-overlay-page #accountApp .account-home{display:block;text-align:center;margin:15px 0 0;font-size:14px;text-decoration:underline;color:var(--muted)}
.account-overlay-page #accountApp [data-account-status]{font-size:13px;line-height:1.4;margin:10px 0 0;padding:0;overflow-wrap:anywhere}
.account-overlay-page #accountApp [data-account-status]:empty{display:none}
@media(max-width:450px){body.account-overlay-page #accountApp.account-app{padding:24px}.account-overlay-page #accountApp .account-intro h1{font-size:33px;margin-top:20px}.account-overlay-page #accountApp .account-intro h2{font-size:17px}.account-overlay-page #accountApp .account-intro p{font-size:14px}.account-overlay-page #accountApp .account-providers button{font-size:15px;gap:12px}.account-overlay-page #accountApp .account-switch{font-size:13px}.account-overlay-page #accountApp .account-switch button{font-size:14px}}

.account-login-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:30px;color:#9ed4f5;font:16px/1.4 Arial,sans-serif;text-align:center}
.account-overlay-page{--bg:#001020;--panel:#00172c;--text:#eef5ff;--muted:#9ed4f5;--line:#008fda;--blue:#52dcff;--accent-text:#001020;color-scheme:dark;color:var(--text)}

body.account-profile-page{margin:0;padding:24px;background:#001020;color:#eef5ff;--bg:#001020;--panel:#00172c;--text:#eef5ff;--muted:#9ed4f5;--line:#008fda;--blue:#52dcff;--accent-text:#001020;color-scheme:dark;font-family:Arial,sans-serif}body.account-profile-page .account-app{max-width:760px;margin:0 auto;background:linear-gradient(135deg,#002439,#001626)}body.account-profile-page .account-form{margin-top:20px}body.account-profile-page .account-intro h1{font-family:Arial,sans-serif}body.account-profile-page :is(input,select){box-sizing:border-box}
