/* F241 unified glassmorphism */
:root{
  --f241-glass-bg:linear-gradient(145deg,rgba(17,28,49,.66),rgba(7,13,25,.54));
  --f241-glass-bg-strong:linear-gradient(145deg,rgba(18,30,53,.79),rgba(7,13,26,.70));
  --f241-glass-line:rgba(150,181,235,.12);
  --f241-glass-line-hover:rgba(139,177,255,.25);
  --f241-glass-shadow:0 22px 58px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055);
  --f241-glass-shadow-hover:0 26px 70px rgba(0,0,0,.30),0 0 34px rgba(74,123,240,.08),inset 0 1px 0 rgba(255,255,255,.075);
  --f241-control-bg:rgba(3,9,20,.54);
  --f241-control-line:rgba(132,164,219,.16);
  --f241-control-focus:rgba(115,162,255,.55);
  --f241-radius-card:16px;
  --f241-radius-control:11px;
}

/* Main cards and panels */
:is(
  .card,
  .panel,
  .profile-panel,
  .home-picture-card,
  .app-row,
  .hy2-promo,
  .stat,
  .toolbar,
  .device,
  .installer,
  .notice,
  .modal-card,
  .chart-card,
  .detail-card,
  .login-card,
  .profile-strip,
  .service-card,
  .storage-card,
  .account-stat,
  .dialog-card,
  .upload-box,
  .track,
  .compact-player,
  .cmdrow,
  .codebox,
  .profile-result
){
  background:var(--f241-glass-bg)!important;
  border:1px solid var(--f241-glass-line)!important;
  border-radius:var(--f241-radius-card)!important;
  box-shadow:var(--f241-glass-shadow)!important;
  backdrop-filter:blur(22px) saturate(138%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(138%)!important;
}

/* Strong glass for overlays / auth / dialogs */
:is(
  .login-card,
  .auth-card,
  .modal-card,
  .dialog-card,
  .compact-player
){
  background:var(--f241-glass-bg-strong)!important;
  border:1px solid rgba(157,188,242,.15)!important;
  box-shadow:
    0 30px 80px rgba(0,0,0,.34),
    0 0 50px rgba(77,119,235,.07),
    inset 0 1px 0 rgba(255,255,255,.075)!important;
  backdrop-filter:blur(28px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(145%)!important;
}

/* Secondary rows inside panels */
:is(
  .item,
  .detail-row,
  .key-row,
  .storage-row,
  .cloud-user,
  .stats-row > div,
  .security-list > div,
  .crumb-row
){
  background:linear-gradient(145deg,rgba(255,255,255,.043),rgba(255,255,255,.020))!important;
  border:1px solid rgba(146,174,225,.085)!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

/* Interactive glass cards */
:is(.app-row,.device,.track,.detail-row,.key-row){
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease!important;
}
:is(.app-row,.device,.track,.detail-row,.key-row):hover{
  transform:translateY(-2px);
  border-color:var(--f241-glass-line-hover)!important;
  background:linear-gradient(145deg,rgba(30,48,82,.70),rgba(12,20,36,.61))!important;
  box-shadow:var(--f241-glass-shadow-hover)!important;
}

/* Inputs / textareas / selects */
:is(
  input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
  textarea,
  select,
  .profile-input,
  .profile-code-input,
  .search
){
  background:var(--f241-control-bg)!important;
  border:1px solid var(--f241-control-line)!important;
  border-radius:var(--f241-radius-control)!important;
  color:#f3f7ff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 7px 20px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(14px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(125%)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
:is(
  input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
  textarea,
  select,
  .profile-input,
  .profile-code-input,
  .search
):focus{
  outline:none!important;
  border-color:var(--f241-control-focus)!important;
  background:rgba(4,11,24,.68)!important;
  box-shadow:
    0 0 0 3px rgba(87,126,255,.095),
    0 10px 28px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}
:is(input,textarea)::placeholder{
  color:#697a91!important;
  opacity:1;
}

/* General buttons */
:is(
  .btn,
  .chip,
  .control,
  .auth-tab,
  .icon-btn,
  .user-pill,
  .more,
  .hy2-btn,
  .download-installer,
  .app-open,
  .close
){
  border:1px solid rgba(150,181,235,.12)!important;
  border-radius:var(--f241-radius-control)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.072),rgba(255,255,255,.035))!important;
  color:#eef4ff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 8px 22px rgba(0,0,0,.15)!important;
  backdrop-filter:blur(14px) saturate(132%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(132%)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
:is(
  .btn,
  .chip,
  .control,
  .auth-tab,
  .icon-btn,
  .user-pill,
  .more,
  .hy2-btn,
  .download-installer,
  .app-open,
  .close
):hover{
  transform:translateY(-1px);
  border-color:rgba(151,185,248,.24)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.052))!important;
  box-shadow:0 11px 28px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.07)!important;
}

/* Primary buttons keep the F241 blue-violet identity */
:is(
  .btn.primary,
  .control.play,
  .auth-tab.active,
  .chip.active,
  .hy2-btn.primary,
  .download-installer
){
  border-color:rgba(166,197,255,.22)!important;
  background:linear-gradient(118deg,rgba(139,207,255,.96),rgba(116,151,255,.96) 53%,rgba(169,119,255,.96))!important;
  color:#07111f!important;
  box-shadow:
    0 14px 34px rgba(91,126,255,.24),
    inset 0 1px 0 rgba(255,255,255,.44)!important;
}
:is(
  .btn.primary,
  .control.play,
  .auth-tab.active,
  .chip.active,
  .hy2-btn.primary,
  .download-installer
):hover{
  background:linear-gradient(118deg,#9ed9ff,#88a9ff 53%,#b68bff)!important;
  box-shadow:
    0 17px 40px rgba(91,126,255,.32),
    inset 0 1px 0 rgba(255,255,255,.52)!important;
}

/* Danger actions */
:is(.btn.danger,.danger){
  border-color:rgba(255,115,139,.16)!important;
  background:linear-gradient(145deg,rgba(255,82,111,.105),rgba(255,82,111,.045))!important;
  color:#ffc0c9!important;
}

/* Cloud shell */
.sidebar{
  background:linear-gradient(180deg,rgba(7,14,27,.82),rgba(6,12,23,.70))!important;
  border-color:rgba(143,171,222,.10)!important;
  box-shadow:14px 0 40px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(24px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(130%)!important;
}

/* Sticky toolbars remain readable above the common background */
.toolbar{
  backdrop-filter:blur(26px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(145%)!important;
}

/* Code areas retain readability but match the glass system */
:is(.codebox,.profile-link,.link-box,pre){
  border-radius:12px!important;
}
:is(.profile-link,.link-box){
  background:rgba(2,8,18,.62)!important;
  border:1px solid rgba(135,166,220,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

/* Soft global selection */
::selection{
  background:rgba(111,151,255,.34)!important;
  color:#fff!important;
}

@media(max-width:720px){
  :root{
    --f241-radius-card:14px;
    --f241-radius-control:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  :is(.app-row,.device,.track,.detail-row,.key-row,.btn,.chip,.control,.auth-tab,.icon-btn,.user-pill,.more,.hy2-btn,.download-installer,.app-open,.close){
    transition:none!important;
  }
}