/* ===== SealPal glass theme: the workspace layer =====
   The paper background and the toggle are in paper.css (shared with the homepage); this file and the day/night
   files restyle the workspace UI as glass over them. */
#app{position:relative;z-index:1}
.content h1,.page-heading h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,3.1vw,2.9rem);letter-spacing:-.01em;line-height:1.2}
.btn{border-radius:var(--radius-control);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.chip,.filter,.g-chip span,.qopt span,.wf-chip,.fee-tags span,.wf-owner,.wf-due,.ep-chip,.ep-role{border-radius:var(--radius-control)}
.card,.who-tool,.wf-step,.sr-none,.sr-answer,.rv-note{border-radius:var(--radius-panel)}
.card .card,.detail-panel,.info-note,.lock-note,.msg,.fm-row,.wf-tool,.wf-pre,.dk-pre{border-radius:var(--radius-inset)}
dialog,.sr-dialog,.fm-pop-box{border-radius:var(--radius-dialog)}
.field input,.field select,.field textarea,.search-input,.role-select,.g-form input,.g-form select,.ask-form input,.g-link input,.wf-duty textarea,.wf-pct input{border-radius:var(--radius-control)}
/* Tables share their panel's edges; scroll containers must not introduce a second set of corners. */
.card>.table-wrap{border-radius:0}
.card>.table-wrap:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}
.card>.table-wrap:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}
.topbar{position:sticky;top:0;z-index:15}
/* --- motion: headline surfaces on route change only --- */
.jg-enter .content h1{animation:jgRise 1.1s cubic-bezier(.2,.7,.2,1) both}
.jg-enter .content .subtitle{animation:jgRise 1.1s cubic-bezier(.2,.7,.2,1) .18s both}
.jg-enter .content>*:not(.page-heading):not(.page-footer):not(.sec-tabs):not(.sr-hero){animation:jgLift .9s cubic-bezier(.2,.7,.2,1) .32s both}
.jg-enter .sr-hero .sr-box{animation:jgLift .9s cubic-bezier(.2,.7,.2,1) .24s both}
.jg-enter .sr-hero .sr-chips,.jg-enter .sr-hero .sr-out{animation:jgLift .9s cubic-bezier(.2,.7,.2,1) .34s both}
@keyframes jgRise{from{opacity:0;transform:translateY(16px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes jgLift{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  /* !important: the entrance rules above carry more :not() classes than these selectors */
  .jg-enter .content h1,.jg-enter .content .subtitle,.jg-enter .content>*,.jg-enter .sr-hero *{animation:none!important}
}
