/* Shared controls follow the user's theme, including keyboard and touch states. */
.btn-modern,.pill-btn,.social-button{font-family:inherit;line-height:1.35;border-radius:12px;transition:background-color .15s,border-color .15s,box-shadow .15s;max-width:100%;box-sizing:border-box;white-space:normal;min-height:36px}
.btn-modern:not(:disabled):hover,.pill-btn:not(:disabled):hover{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.btn-outline,.pill-btn{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-bright)}
button[hidden],section[hidden],div[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}
.feature-heading{width:100%;align-items:center}.feature-heading>*{min-width:0}.leisure-toolbar{align-items:center;flex-wrap:wrap}.feature-card,.panel-glass,.shop-card-body{min-width:0}.feature-card .leisure-toolbar{width:100%}.feature-card .leisure-toolbar .btn-modern{width:auto;flex:1 1 150px}.feature-card p{overflow-wrap:anywhere}.feature-page .feature-scroll{scroll-padding:20px}.section-view.active{animation:none!important}
.social-card{align-items:center;gap:14px}.social-identity{min-width:0;gap:7px}.social-identity strong{overflow-wrap:anywhere}.social-actions{flex-wrap:wrap;gap:8px}.social-actions button{min-height:34px;padding:7px 11px}.profile-link{background:none;border:0;color:var(--accent);font:inherit;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:3px;padding:5px 0;cursor:pointer;align-self:flex-start}.activity-chip{color:var(--emerald);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.user-profile-dialog{width:650px;padding:22px;max-width:calc(100vw - 24px);box-sizing:border-box}.profile-close{display:block;margin-left:auto;margin-bottom:12px}.profile-hero{border:1px solid var(--border-bright);border-radius:18px;padding:20px;text-align:center;position:relative;overflow:hidden}.profile-hero h2{font-size:26px;overflow-wrap:anywhere}.profile-hero .role-list{justify-content:center;max-width:none;margin-top:12px}.profile-activity{padding:15px;border:1px solid #7de6bd33;background:#7de6bd09;border-radius:12px;margin:16px 0;color:var(--emerald);font-size:13px;overflow-wrap:anywhere}.profile-trophies{display:grid;gap:12px;margin-top:15px}.profile-trophy{display:flex;align-items:flex-start;gap:15px;padding:15px;border:1px solid var(--border-bright);border-radius:14px;background:var(--bg-card);min-width:0}.profile-trophy>div{min-width:0}.profile-trophy h4{font-size:16px;margin:6px 0;overflow-wrap:anywhere}.profile-trophy p{font-size:12px;line-height:1.55;margin:5px 0}.profile-trophy small{font-size:11px;color:var(--text-dim)}.profile-trophy .trophy-mini{width:48px;height:48px;flex:none}.founder-profile-trophy{background:radial-gradient(ellipse at top right,#e98dc033,transparent),var(--bg-card);border-color:#f1bce688;box-shadow:inset 0 0 25px #d779bb16}.founder-profile-trophy .trophy-mini{color:#ffe4af;filter:drop-shadow(0 0 6px #ed98ce)}
.account-protection{margin:18px 0;width:100%;box-sizing:border-box}.account-protection .toggle-row{display:flex;align-items:center;flex-direction:row;gap:12px;font-size:14px}.toggle-row input{width:18px;height:18px;flex:none;accent-color:var(--accent)}.account-protection details{width:100%;font-size:12px;line-height:1.7}.account-protection summary{cursor:pointer;font-weight:700}.account-protection ul{padding-left:20px;margin:12px 0}.security-sessions{width:100%;display:grid;gap:10px}.session-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-bright);border-radius:12px}.session-row span{flex:1;min-width:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.session-row .btn-modern{width:auto}.account-protection h2{font-size:20px}
.spotify-panel{margin-bottom:22px}.spotify-brand{padding:7px 11px;border:1px solid #1ed76055;color:#83eaa7;border-radius:20px;font-size:12px}.spotify-panel h2{font-size:28px;margin-top:7px}.spotify-controls{display:flex;flex-wrap:wrap;gap:8px;width:100%}#spotify-now-playing{display:flex;align-items:center;gap:15px;min-width:0;width:100%;font-size:13px}#spotify-now-playing img{border-radius:9px;object-fit:cover;flex:none}#spotify-now-playing>div{min-width:0;overflow-wrap:anywhere}#spotify-now-playing p{margin:6px 0}#spotify-now-playing small{color:var(--text-dim)}
body[data-theme=light] .user-profile-dialog{background:#f4f1fb;color:var(--text-primary)}body[data-theme=light] .spotify-brand{color:#087832}body[data-theme=light] .profile-activity{color:#146344}
@media(max-width:1000px){.social-card{flex-wrap:wrap}.social-actions{width:100%;padding-left:0}.feature-hero,.vip-hero{padding:24px}.voice-health .leisure-toolbar{gap:8px}}
@media(max-width:760px){.btn-modern,.pill-btn{min-height:42px}.feature-hero,.vip-hero{padding:18px 16px}.user-profile-dialog{padding:16px;max-height:calc(100dvh - 24px)}.profile-hero{padding:16px}.profile-trophy{padding:12px;gap:10px}.session-row{flex-wrap:wrap}.account-protection{padding:16px}.account-protection .feature-heading{align-items:flex-start}.social-actions .pill-btn{flex:1 1 120px}.spotify-controls button{flex:1 1 100px}.spotify-panel .feature-heading{gap:14px}.voice-health .pill-btn{flex:1;min-width:120px}.music-layout .feature-card{padding:18px}.section-view .input-modern{max-width:100%;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.btn-modern,.pill-btn{transition:none}}body.low-power .btn-modern,body.low-power .pill-btn{transition:none}

input[type=file]::file-selector-button{font:inherit;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-bright);border-radius:10px;padding:9px 12px;margin-right:10px;cursor:pointer}input[type=file]::file-selector-button:hover{border-color:var(--accent)}.spotify-panel .leisure-toolbar .btn-modern{flex:0 1 auto;min-width:150px}.account-protection h3{font-size:17px}#security-events p{margin:8px 0;font-size:11px}
