/* v35 · quiet frosted glass. No remote images, fonts or animated background. */
:root{
  --glass-ink:hsl(var(--palette-hue) 18% 22%);
  --glass-muted:hsl(var(--palette-hue) 12% 43%);
  --glass-line:#ffffffd6;
  --glass-shadow:0 7px 24px hsl(var(--palette-hue) 22% 30% / .07),inset 0 1px 0 #ffffffe6;
  --glass-surface:#fcfcfb;
  --glass-dialog:#fff;
}
body.hub-page,body.roulette-page{
  isolation:isolate;color:var(--glass-ink);
  background:hsl(var(--palette-hue) 24% 94%);
}
body.hub-page::before,body.roulette-page::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 85% 65% at 0% 5%,hsl(var(--palette-hue) 65% 81% / .7),transparent 75%),radial-gradient(ellipse 75% 65% at 100% 34%,hsl(var(--support-hue) 48% 82% / .65),transparent 75%),radial-gradient(ellipse 70% 50% at 25% 100%,hsl(var(--palette-hue) 35% 88% / .65),transparent 80%);
}
/* Solid fallback first; nested fields use translucency without stacking blurs. */
.hub-page>header,.hub-page .duty-card,.hub-page .feature-card,.hub-page .parcel,.hub-page #add-form,.hub-page #food-create,.hub-page .food-round,.hub-page .photo-card,.hub-page .table-wrap,#ledger-view .card,.roulette-page .counts section,.roulette-page .shell{
  background:var(--glass-surface);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);
}
.hub-page>header{border-radius:19px}
.hub-page .duty-card,.hub-page .feature-card{border-radius:14px}
.hub-page .feature-card{background-image:linear-gradient(115deg,#ffffff26,transparent 70%)}
.hub-page .feature-card h2,.hub-page #edit-title,#ledger-view .plan-summary h2{color:var(--glass-ink)}
.hub-page .feature-card p,.hub-page .field-hint,.hub-page #daily-quote,.hub-page .details,.hub-page .group-title,.hub-page #list-note,#ledger-view .hint,#ledger-view .private-line,.ledger-dialog .sub,.hub-page .photo-card small{color:var(--glass-muted)}
.hub-page .duty-label,.hub-page #duty-date,.hub-page .duty-toggle{color:var(--glass-muted)}
.hub-page .feature-symbol{border:1px solid #ffffff80;box-shadow:inset 0 1px 0 #ffffffb0,0 3px 8px #26313e04}
.hub-page .avatar-button{background:#ffffff80;border-color:#ffffffd9;box-shadow:inset 0 1px 0 #ffffffd0,0 4px 12px #26313e09}
.hub-page .duty-day{background:#ffffff52;border:1px solid #ffffff6b}
.hub-page .duty-day.is-today{background:hsl(var(--palette-hue) 55% 91% / .65);box-shadow:inset 0 0 0 1px hsl(var(--palette-hue) 38% 76% / .4)}
.hub-page .parcel.done{background:var(--glass-surface)}
.hub-page .parcel-scopes,#ledger-view .switch{background:hsl(var(--palette-hue) 20% 85% / .22);box-shadow:inset 0 1px 2px #26313e05;border:0}
.hub-page .motion-tab-indicator{background:#ffffffba;border-color:#ffffffe0;box-shadow:inset 0 1px 0 #fff,0 2px 6px #26313e09}
.hub-page .tabs span{background:#ffffff80;color:var(--accent)}
.hub-page input:not([type="checkbox"]),.hub-page select,.hub-page textarea,.hub-page .fixed-owner,.roulette-page select{
  background:#ffffff99;border-color:hsl(var(--palette-hue) 20% 75% / .48);color:var(--glass-ink);
  box-shadow:inset 0 1px 2px #26313e03;
}
.hub-page input::placeholder,.hub-page textarea::placeholder{color:hsl(var(--palette-hue) 12% 49%)}
.hub-page input:focus,.hub-page textarea:focus,.hub-page select:focus{background:#ffffffd9;box-shadow:0 0 0 3px hsl(var(--palette-hue) 40% 70% / .13)}
.hub-page input:read-only,.hub-page input:disabled{background:#ffffff55}
.hub-page .outline,#ledger-refresh,.ledger-dialog .buttons>button:not(.primary),.roulette-page button{
  background:#ffffffa8;border-color:#ffffffd9;box-shadow:inset 0 1px 0 #ffffffc9,0 2px 6px #26313e05;color:var(--glass-muted);
}
.hub-page #account-settings,.hub-page #switch-account,.hub-page #palette-open{background:#ffffff94;border-color:#ffffffdd;color:var(--glass-muted)}
.hub-page #exam-countdown{background:#ffffff75;border-color:hsl(var(--palette-hue) 25% 71% / .4);color:var(--accent)}
.hub-page .primary,#ledger-view .primary,.ledger-dialog .primary{
  color:#fff;background-color:var(--accent);background-image:linear-gradient(165deg,#ffffff20,#00000005);
  border:1px solid #ffffff33;box-shadow:inset 0 1px 0 #ffffff36,0 4px 12px hsl(var(--palette-hue) 30% 30% / .15);
}
#ledger-view .card[open]{border-color:#ffffffeb;box-shadow:var(--glass-shadow)}
#ledger-view .card-head,#ledger-view .card-foot{background:#ffffff35}
#ledger-view .row,#ledger-view .private-line{border-color:hsl(var(--palette-hue) 18% 75% / .28)}
#ledger-view .plan-remark{background:#ffffff48;border-color:hsl(var(--palette-hue) 25% 58% / .55);color:var(--glass-muted)}
#ledger-view .remark-head strong,#ledger-view .freight-compact,#ledger-view small{color:var(--glass-muted)}
#ledger-view .my-quantity{box-shadow:inset 0 1px 0 #ffffffb0}
#ledger-view .filter input{background:#ffffff99}
#ledger-view button[data-action="unregister"],.hub-page button.outline.danger{color:var(--danger-ink);background:var(--danger-bg);border-color:var(--danger-line)}
.hub-page .primary.danger,#ledger-remove-dialog .primary.danger{background:var(--danger-ink);color:#fff;border-color:#ffffff33}
#ledger-remove-summary{font-weight:600;overflow-wrap:anywhere}
#ledger-remove-error:empty{display:none}
#ledger-remove-dialog .remove-explanation{font-size:13px;line-height:1.8;color:var(--glass-muted)}
.hub-page .photo-card>span{background:#ffffff55}
.hub-page .video-cover{background:linear-gradient(140deg,hsl(var(--palette-hue) 38% 90% / .65),hsl(var(--support-hue) 30% 90% / .55))}
.hub-page .album-tabs a{background:#ffffff70;border-color:#ffffffb0;color:var(--glass-muted)}
.hub-page .album-tabs a[aria-current="page"]{background:#ffffffc2;color:var(--accent);border-color:#fff;box-shadow:0 3px 8px #26313e07}
.hub-page .course{background:#eff7f1c9;border-color:#92b7a2}.hub-page .course-blue{background:#eef4fcd4;border-color:#96afcf}.hub-page .course-gold{background:#faf4e8d4;border-color:#d3b780}
.hub-page #schedule-table th{background:#ffffff52}
.hub-page .empty{background:#ffffff55;border-color:hsl(var(--palette-hue) 23% 70% / .6);color:var(--glass-muted)}
.hub-page dialog{background:var(--glass-dialog);border:1px solid #ffffffe6;border-radius:21px;box-shadow:inset 0 1px 0 #fff,0 12px 35px #26313e14,0 30px 90px #26313e21;color:var(--glass-ink)}
.hub-page dialog[open]::backdrop{background:hsl(var(--palette-hue) 20% 18% / .22)}
@starting-style{.hub-page dialog[open]::backdrop{background:transparent}}
.hub-page dialog form{background:transparent;box-shadow:none}
.ledger-dialog .note{background:#ffffff68;color:var(--glass-muted);border:1px solid #ffffffa0}
.hub-page .palette-choice{background:#ffffff77;border-color:#ffffffc9;color:var(--glass-ink)}
.hub-page .palette-choice[aria-pressed="true"]{background:#ffffffe0}
.hub-page #toast{background:hsl(var(--palette-hue) 20% 22% / .9);border-color:#ffffff35}
.roulette-page .counts .live,.roulette-page .shell.live{background:#fff4efc9;border-color:#ffffffcb}
.roulette-page .counts .blank,.roulette-page .shell.blank{background:hsl(var(--support-hue) 50% 96% / .7);border-color:#ffffffcb}
.roulette-page .counter button{background:#ffffffb0}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root{--glass-surface:#ffffff9e;--glass-dialog:#ffffffe0}
  .hub-page>header,.hub-page .duty-card,.hub-page .feature-card,.hub-page .parcel,.hub-page #add-form,.hub-page #food-create,.hub-page .food-round,.hub-page .photo-card,.hub-page .table-wrap,#ledger-view .card,.roulette-page .counts section,.roulette-page .shell{
    -webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);
  }
  .hub-page dialog{-webkit-backdrop-filter:blur(22px) saturate(115%);backdrop-filter:blur(22px) saturate(115%)}
  .hub-page dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
}
@media(hover:hover) and (pointer:fine){
  .hub-page .feature-card:hover{background-color:#ffffffce;border-color:#fff;box-shadow:inset 0 1px 0 #fff,0 8px 28px #26313e12}
  #ledger-view .plan-summary:hover{background:#ffffff35}
}
@media(max-width:720px){
  .hub-page>header{border-radius:17px}
  .hub-page .feature-card,.hub-page .parcel,.hub-page .food-round,.hub-page .photo-card,#ledger-view .card{
    -webkit-backdrop-filter:blur(10px) saturate(115%);backdrop-filter:blur(10px) saturate(115%);
  }
}
