.flip.has-fill{--band-strong:color-mix(in srgb, var(--c) 34%, transparent);--band-soft:color-mix(in srgb, var(--c) 14%, transparent)}[dir=ltr] .flip.has-fill{--fill-dir:to right}.flip.has-fill .flip-front{background:linear-gradient(var(--fill-dir,to left), var(--band-strong) 0%, var(--band-soft) calc(var(--p,0) * 1%), transparent calc(var(--p,0) * 1%)), var(--surface);transition:background .35s}:root[data-theme=light] .flip.has-fill .flip-front{background:linear-gradient(var(--fill-dir,to left), color-mix(in srgb, var(--c) 24%, white) calc(var(--p,0) * 1%), #fff calc(var(--p,0) * 1%))}
.swipe-row{border-radius:18px;position:relative;overflow:hidden}.swipe-content{z-index:1;touch-action:pan-y;transform:translate3d(var(--swipe,0px), 0, 0);will-change:transform;transition:transform .26s cubic-bezier(.2,.8,.2,1);position:relative}.swipe-row.dragging .swipe-content{transition:none}.swipe-row:not(.revealed) .swipe-trash{visibility:hidden}.swipe-trash{background:var(--orange);color:#1b1030;border:0;border-radius:18px;place-items:center;inline-size:76px;display:grid;position:absolute;inset-block:0}.swipe-row.trash-left .swipe-trash{left:0}.swipe-row.trash-right .swipe-trash{right:0}.toast.with-action{justify-content:center;align-items:center;gap:14px;display:flex}.toast-action{color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:4px 6px;font-weight:700;text-decoration:underline}
.course-flip .rule-list li{align-items:center}.course-flip .rule-text{flex:1;gap:1px;min-inline-size:0;display:grid}.course-flip .rule-text small{color:var(--muted);font-size:.8rem}.rule-remove,.grace-edit{block-size:36px;inline-size:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.1rem;display:inline-grid}.rule-remove:hover,.grace-edit:hover{color:var(--ink);background:var(--surface)}.rule-add{justify-self:start}.rule-form{border-radius:var(--radius-sm);background:var(--surface);padding:12px}.rule-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grace-form{gap:10px;display:grid}.grace .row strong{flex:1}
