.auth-page{min-height:100vh;padding:var(--space-xl);background:radial-gradient(ellipse 80% 60% at 50% -10%, #6366f12e, transparent), var(--bg-primary);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:420px;padding:var(--space-2xl);border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg)}.auth-brand{text-align:center;margin-bottom:var(--space-xl)}.auth-brand h1,.auth-brand-logo{font-family:var(--font-heading);background:var(--accent-gradient);-webkit-text-fill-color:transparent;margin-bottom:var(--space-xs);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800;display:inline-block}.auth-brand h1 span,.auth-brand-logo span{-webkit-text-fill-color:var(--accent-secondary)}.auth-brand p{color:var(--text-secondary);font-size:.95rem}.auth-hint{margin:0 0 var(--space-lg);color:var(--text-secondary);text-align:center;font-size:.88rem;line-height:1.45}.auth-link-btn{color:var(--text-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.auth-link-btn:hover:not(:disabled){text-decoration:underline}.auth-link-btn:disabled{opacity:.6;cursor:not-allowed}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-field{gap:var(--space-xs);flex-direction:column;display:flex}.auth-field span{color:var(--text-secondary);font-size:.875rem;font-weight:500}.auth-field input{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:1rem}.auth-field input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-remember{color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;font-size:.9rem;display:flex}.auth-remember input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent-primary)}.auth-error{border-radius:var(--radius-md);color:#fda4af;background:#f43f5e1f;border:1px solid #f43f5e59;padding:.75rem 1rem;font-size:.9rem}.auth-notice{border-radius:var(--radius-md);color:#c7d2fe;background:#6366f11f;border:1px solid #6366f159;padding:.75rem 1rem;font-size:.88rem;line-height:1.45}.auth-submit{margin-top:var(--space-sm);border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;font-family:var(--font-heading);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;padding:.85rem 1.25rem;font-size:1rem;font-weight:600}.auth-submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:var(--space-lg);text-align:center;color:var(--text-muted);font-size:.9rem}.auth-footer a{color:var(--text-accent);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{justify-content:center;align-items:center;gap:var(--space-md);min-height:100vh;color:var(--text-secondary);flex-direction:column;display:flex}.auth-loading-spinner{border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.profiles-page{min-height:100dvh;padding:max(var(--space-2xl), env(safe-area-inset-top,0px) + var(--space-xl)) var(--space-xl) max(3.5rem, env(safe-area-inset-bottom,0px) + 2.5rem);background:radial-gradient(ellipse 80% 45% at 50% -8%, #6366f138, transparent 55%), radial-gradient(ellipse 50% 35% at 85% 90%, #a855f714, transparent 50%), var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.profiles-container{text-align:center;width:100%;max-width:880px}.profiles-brand{font-family:var(--font-heading);margin-bottom:var(--space-lg);letter-spacing:-.03em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,2.6rem);font-weight:800}.profiles-brand span{-webkit-text-fill-color:var(--accent-secondary)}.profiles-title{font-family:var(--font-heading);margin:0 0 var(--space-xl);letter-spacing:-.02em;color:#f5f7ff;font-size:clamp(1.55rem,3.8vw,2.15rem);font-weight:700}.profiles-subtitle{margin:0 0 var(--space-xl);color:var(--text-muted);font-size:.92rem}.profiles-account-label{margin:0 0 var(--space-lg);color:var(--text-muted);letter-spacing:.01em;font-size:.8rem;font-weight:500}.profiles-outage-banner{text-align:left;background:linear-gradient(135deg,#4c05198c,#2a071e73);border:1px solid #f472b659;border-radius:14px;width:100%;max-width:760px;margin:0 auto 1rem;padding:.9rem 1rem;box-shadow:0 10px 24px #00000047}.profiles-payment-banner{text-align:left;color:#fecaca;background:linear-gradient(135deg,#450a0a8c,#2a070773);border:1px solid #ef444459;border-radius:14px;width:100%;max-width:760px;margin:0 auto 1rem;padding:.9rem 1rem;box-shadow:0 10px 24px #00000047}.profiles-payment-banner strong{color:#fca5a5;margin-bottom:.35rem;font-size:1rem;display:block}.profiles-payment-banner p{color:#fecaca;margin:0;font-size:.9rem;line-height:1.45}.profiles-payment-banner--warn{color:#fde68a;background:linear-gradient(135deg,#45370a8c,#2a1e0773);border-color:#eab30859}.profiles-payment-banner--warn strong{color:#facc15}.profiles-payment-banner--warn p{color:#fde68a}.profiles-outage-badge{letter-spacing:.01em;color:#fecdd3;background:#f472b629;border:1px solid #f472b659;border-radius:999px;align-items:center;padding:.25rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.profiles-outage-badge.is-active{color:#fff3b0;background:#fbbf2433;border-color:#fbbf2473}.profiles-outage-message{color:#ffecf3f2;margin:.5rem 0 0;font-size:.9rem;line-height:1.45}.profiles-outage-time{color:#ffe2ecd1;margin:.4rem 0 0;font-size:.8rem}.profiles-outage-time span{color:#ffecf3f2;font-weight:700}.profiles-announcement-banner{text-align:left;background:linear-gradient(135deg,#082f498c,#071e3273);border:1px solid #38bdf859;border-radius:14px;width:100%;max-width:760px;margin:0 auto 1rem;padding:.9rem 1rem;box-shadow:0 10px 24px #00000047}.profiles-announcement-badge{letter-spacing:.08em;color:#bae6fd;background:#38bdf829;border:1px solid #38bdf859;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.65rem;font-weight:800;display:inline-flex}.profiles-announcement-badge.is-visible{color:#e0f2fe;background:#0ea5e938;border-color:#0ea5e980}.profiles-announcement-title{color:#e0f2fe;margin:.5rem 0 .25rem;font-size:1rem;line-height:1.25;display:block}.profiles-announcement-message{color:#e0f2fef2;margin:0;font-size:.9rem;line-height:1.45}.profiles-announcement-time{color:#bae6fdd1;margin:.4rem 0 0;font-size:.8rem}.profiles-announcement-time span{color:#e0f2fef2;font-weight:700}.profiles-page--skeleton{pointer-events:none}.profiles-page--skeleton .profiles-brand{opacity:1}.profiles-skeleton-title{width:min(280px,72vw);height:clamp(1.75rem,4vw,2.5rem);max-height:40px;margin:0 auto var(--space-sm);border-radius:10px}.profiles-skeleton-subtitle{width:min(168px,48vw);height:14px;margin:0 auto var(--space-2xl);border-radius:6px}.profile-card--skeleton{pointer-events:none;cursor:default}.profile-avatar--skeleton{box-shadow:none;border:none}.profile-avatar--skeleton-add{background:#ffffff0a;border:2px dashed #ffffff29;justify-content:center;align-items:center;display:flex}.profile-avatar--skeleton-plus{opacity:.7;border-radius:6px;width:28px;height:28px}.profile-name-skeleton{border-radius:var(--radius-sm);width:72px;height:14px}.profile-name-skeleton--wide{width:88px}.profiles-footer-actions--skeleton{margin-bottom:0}.profiles-skeleton-manage-btn{border-radius:var(--radius-md);width:min(240px,72vw);height:48px}.profiles-skeleton-link{border-radius:4px;width:118px;height:12px}.profiles-skeleton-link--short{opacity:.85;width:132px}.profiles-skeleton-grid-fallback{border-radius:var(--radius-lg);width:min(300px,84vw);height:148px;margin:0 auto}.profiles-footer-actions{margin-bottom:var(--space-lg);flex-direction:column;align-items:center;gap:1.1rem;display:flex}.profiles-manage-btn{border-radius:var(--radius-md);color:#fff;min-width:210px;font-family:var(--font-heading);letter-spacing:.01em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff47;padding:.78rem 1.75rem;font-size:.92rem;font-weight:700}.profiles-manage-btn:hover:not(:disabled){background:#6366f129;border-color:#a78bfabf;transform:translateY(-1px);box-shadow:0 8px 28px #6366f138}.profiles-manage-btn:disabled{opacity:.45;cursor:not-allowed}.profiles-manage-btn--done{color:#fff;background:#ffffff14;border-color:#ffffff8c}.profiles-manage-btn--done:hover:not(:disabled){background:#ffffff1f;border-color:#fff;box-shadow:0 8px 24px #ffffff14}.profiles-footer-links{flex-direction:column;align-items:center;gap:.15rem;display:flex}.profiles-footer-link{appearance:none;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:.4rem .85rem;font-size:.88rem;font-weight:600}.profiles-footer-link:hover:not(:disabled){color:#fff;background:#ffffff0f}.profiles-footer-link:disabled{opacity:.4;cursor:not-allowed}.profiles-footer-link--accent{color:#c4b5fd}.profiles-footer-link--accent:hover:not(:disabled){color:#ede9fe;background:#6366f124}.profiles-footer-link--muted{color:var(--text-muted)}.profiles-footer-link--muted:hover:not(:disabled){color:#fca5a5;background:#ef444414}.profiles-page-footer{left:50%;bottom:max(10px, env(safe-area-inset-bottom,0px));color:#ffffff52;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .55rem;max-width:min(100% - 24px,920px);font-size:.72rem;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;transform:translate(-50%)}.profiles-page-footer>*+:before{content:"·";color:#ffffff38;margin-right:.55rem}.profiles-page-footer-link{appearance:none;color:#ffffff61;font:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;margin:0;padding:0;text-decoration:none}.profiles-page-footer-link:hover{color:#ffffff9e;text-underline-offset:2px;text-decoration:underline}.profiles-footer-actions--solo{margin-top:var(--space-lg)}.profile-avatar-wrap{display:inline-flex;position:relative}.profile-edit-overlay{pointer-events:none;background:#0000008c;border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.profile-edit-badge{color:#fff;width:48px;height:48px;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:#0f0f14b8;border:1px solid #ffffff59;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 18px #00000059}.profile-card--manage:hover .profile-edit-badge{background:#6366f18c;border-color:#c4b5fdb3;transform:scale(1.08)}.profile-card--manage:hover{transform:translateY(-4px)}.profile-card--manage:hover .profile-avatar{border-color:#ffffff59}.profiles-grid{justify-content:center;gap:var(--space-lg) var(--space-xl);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.profile-card:disabled{cursor:not-allowed;opacity:.45;pointer-events:none;transform:none}.profile-card:disabled:hover{transform:none}.profile-card:disabled:hover .profile-avatar{box-shadow:none;border-color:#0000}.profile-card:disabled:hover .profile-name{color:var(--text-secondary)}.profile-card{cursor:pointer;border-radius:var(--radius-lg);transition:transform var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:.75rem;width:132px;padding:.35rem;display:flex}.profile-card:hover{transform:translateY(-5px)}.profile-card:hover .profile-avatar{border-color:#ffffff80;box-shadow:0 14px 36px #00000073,0 0 0 1px #6366f12e}.profile-avatar{width:112px;height:112px;font-family:var(--font-heading);color:#fff;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#ffffff0a;border:3px solid #0000;border-radius:18px;justify-content:center;align-items:center;font-size:2.5rem;font-weight:800;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar--add{color:var(--text-secondary);background:#ffffff0a;border:2px dashed #ffffff38;font-size:2.6rem;font-weight:400}.profile-card--add:hover .profile-avatar--add{border-color:var(--accent-primary-light);color:var(--text-primary);background:#6366f11a}.profile-name{color:var(--text-secondary);word-break:break-word;font-size:.98rem;font-weight:600;line-height:1.25}.profile-card:hover .profile-name{color:var(--text-primary)}.profiles-modal-overlay{z-index:1200}.profiles-modal{text-align:left;width:min(400px,100vw - 2rem);padding:0;overflow:hidden}.profiles-modal-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl) 0;display:flex}.profiles-modal-close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:#ffffff0f;border:none;flex-shrink:0;font-size:1.5rem;line-height:1}.profiles-modal-close:hover{color:var(--text-primary);background:#ffffff1f}.profiles-modal-form{padding:var(--space-md) var(--space-xl) var(--space-xl)}.profiles-form-title{font-family:var(--font-heading);text-align:left;margin:0;font-size:1.2rem;font-weight:700}.profiles-modal-avatar-hint{align-items:center;gap:var(--space-sm);margin:var(--space-lg) 0;flex-direction:column;display:flex}.profile-avatar--preview{width:120px;height:120px}.profile-avatar--auto{color:var(--text-muted);background:#ffffff0f;border:2px dashed #ffffff2e}.profiles-avatar-auto-note{color:var(--text-muted);text-align:center;margin:0;font-size:.82rem}.profiles-create-actions{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.profiles-create-actions--edit{flex-direction:column}.profiles-create-actions--edit .profiles-btn--danger{width:100%}.profiles-create-actions--edit .profiles-btn--ghost,.profiles-create-actions--edit .profiles-btn--primary{flex:1}.profiles-btn{border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;flex:1;padding:.85rem 1rem;font-size:.95rem;font-weight:600}.profiles-btn:disabled{opacity:.6;cursor:not-allowed}.profiles-btn--primary{background:var(--accent-gradient);color:#fff}.profiles-btn--primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.profiles-btn--ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.profiles-btn--ghost:hover:not(:disabled){color:var(--text-primary)}.profiles-btn--danger{color:#f87171;background:#ef44441f;border:1px solid #ef444459}.profiles-btn--danger:hover:not(:disabled){color:#fca5a5;background:#ef444433}.profiles-btn--danger-confirm{color:#fff;background:#ef4444d9;border-color:#0000}.profiles-session-expired{flex-direction:column;align-items:center;gap:12px;max-width:560px;display:flex}.profiles-session-expired .profiles-subtitle{margin-bottom:4px}@media (width<=768px){.profiles-page{padding-left:var(--space-md);padding-right:var(--space-md)}.profile-avatar{border-radius:16px;width:92px;height:92px;font-size:2rem}.profile-card{width:108px}.profiles-manage-btn{width:min(260px,100%);min-width:0;padding:.72rem 1.35rem}.profiles-outage-banner{border-radius:12px;padding:.8rem .85rem}.profiles-outage-message{font-size:.84rem}}
