.account-page {
    min-height:100dvh;
    background:radial-gradient(ellipse at top,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%),var(--bg-base);
    color:var(--text-primary);
    padding:40px 20px;
    box-sizing:border-box;
    font-family:var(--app-font,Inter),system-ui,sans-serif;
}

.account-providers { display:grid; gap:10px; margin-top:22px; }
.account-providers form { margin:0; }
.provider-button { width:100%; padding:12px; border:1px solid var(--border); border-radius:9px; background:var(--bg-surface-2); color:var(--text-primary); font:inherit; cursor:pointer; }
.provider-button:hover { border-color:var(--accent); }
.account-captcha { margin:20px 0; }
.account-captcha img { display:block; max-width:100%; border:1px solid var(--border); border-radius:8px; }
.account-captcha small { display:block; margin-top:8px; color:var(--text-secondary); }

.account-brand {
    display:block;
    max-width:440px;
    margin:0 auto 28px;
    font-size:24px;
    font-weight:700;
    color:inherit;
    text-decoration:none;
}

.account-brand span {
    display:block;
    font-size:12px;
    font-weight:400;
    color:var(--text-secondary);
    margin-top:4px;
}

.account-card {
    max-width:440px;
    margin:auto;
    padding:32px;
    background:var(--bg-surface);
    border:1px solid var(--border);
    border-radius:18px;
}

.account-card h1 {
    font-size:25px;
    margin:0 0 24px;
}

.account-card label {
    display:block;
    margin:18px 0 8px;
    font-size:14px;
}

.account-card input:not([type=checkbox]),.account-card textarea {
    width:100%;
    box-sizing:border-box;
    padding:12px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--bg-surface-2);
    color:var(--text-primary);
    font:inherit;
}

.account-card .btn {
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:24px;
    padding:13px;
    border:0;
    border-radius:8px;
    background:var(--accent);
    color:var(--accent-contrast);
    font-size:15px;
    cursor:pointer;
}

.account-links {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:24px;
    font-size:13px;
}

.account-links a,.account-card a {
    color:var(--accent);
}

.account-help {
    font-size:12px;
    color:var(--text-secondary);
    line-height:1.6;
}

.account-check {
    display:flex!important;
    align-items:center;
    gap:8px;
}

.account-message {
    padding:12px;
    background:color-mix(in srgb,var(--success) 16%,var(--bg-surface));
    border-radius:8px;
    line-height:1.5;
}

.account-error {
    background:color-mix(in srgb,var(--error) 18%,var(--bg-surface));
}

.account-page .profile-avatar {
    width:64px;
    height:64px;
    background:var(--accent);
    color:var(--accent-contrast);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:28px;
}

.account-menu {
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 12px;
    font-size:12px;
}

.account-menu a {
    color:inherit;
    text-decoration:none;
}

.account-menu button {
    background:none;
    color:inherit;
    border:1px solid currentColor;
    border-radius:6px;
    cursor:pointer;
    padding:4px 8px;
}

.station-rating {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    font-size:11px;
    padding-top:7px;
}

.station-rating a {
    color:inherit;
    opacity:.8;
}

.station-stars {
    display:flex;
}

.station-stars button {
    background:none;
    border:0;
    color:var(--text-tertiary);
    cursor:pointer;
    padding:2px;
    font-size:16px;
}

.station-stars button.selected {
    color:var(--warning);
}

.member-gate {
    background:var(--bg-surface);
    padding:32px;
    margin:24px;
    border:1px solid var(--border);
    border-radius:12px;
}

.member-gate a {
    color:inherit;
}

.station-card-delete {
    background:none;
    border:0;
    color:inherit;
    cursor:pointer;
}

.library-error {
    padding:10px 18px;
    background:color-mix(in srgb,var(--error) 18%,var(--bg-surface));
    color:var(--text-primary);
    font-size:13px;
}
