/* Side sheet and bottom sheet · the kit rules for this component, quoted from phase-2/kit (kit v3) by phase-4/src/build_pack.py.
   Tokens come from ../../styles.css. Build it as: Sheet, Drawer. */
/* base.css */
.k-scrim{position:absolute;inset:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--motion-sheet-out);z-index:var(--z-scrim)}
/* base.css */
.k-sheet{position:absolute;top:0;right:0;bottom:0;width:min(var(--sheet-w),92%);background:hsl(var(--popover));box-shadow:var(--e-sheet);z-index:var(--z-sheet);transform:translateX(104%);visibility:hidden;transition:transform var(--motion-sheet-out),visibility 0s linear var(--motion-handoff-sheet);display:flex;flex-direction:column}
/* base.css */
.open>.k-scrim{opacity:1;pointer-events:auto;transition:opacity var(--motion-sheet-in)}
/* base.css */
.open>.k-sheet{transform:none;visibility:visible;transition:transform var(--motion-sheet-in),visibility 0s}
/* base.css */
.k-stage{position:relative;overflow:hidden}
/* base.css */
.k-sheet.k-bottom{top:auto;left:0;right:0;width:100%;max-height:88%;border-radius:var(--r-frame) var(--r-frame) 0 0;box-shadow:var(--e-phone-sheet);transform:translateY(104%)}
/* base.css */
.k-sheet.k-full{top:0;max-height:none;height:100%;border-radius:0}
/* base.css */
.open>.k-sheet.k-bottom{transform:none}
/* base.css */
.k-sheet.static{position:relative;inset:auto;transform:none;visibility:visible;max-height:none;width:100%}
/* base.css */
.k-grab{width:36px;height:4px;border-radius:var(--r-pill);background:hsl(var(--border));box-shadow:inset 0 0 0 1px hsl(var(--input)/.35);margin:var(--s-2) auto 2px;flex:none}
/* base.css */
.k-stage.below-bar>.k-scrim, .k-stage.below-bar>.k-sheet:not(.k-bottom){top:var(--topbar-h)}
/* base.css */
.k-sheet.md{width:min(var(--sheet-w-md),92%)}
/* base.css */
.k-sheet.lg{width:min(var(--sheet-w-lg),94%)}
/* base.css */
.k-sheet-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
/* families/overlays/family.css */
.ov-sh-h{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4) var(--s-5) var(--s-3);border-bottom:1px solid hsl(var(--border));flex:none}
/* families/overlays/family.css */
.ov-sh-h .thumb{width:calc(var(--s-8) + var(--s-1));height:var(--s-12)}
/* families/overlays/family.css */
.ov-sh-h .ov-who{flex:1;min-width:0}
/* families/overlays/family.css */
.ov-sh-h .code{display:block;color:hsl(var(--muted-foreground));margin-top:2px}
/* families/overlays/family.css */
.ov-sh-b{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-5)}
/* families/overlays/family.css */
.ov-sh-f{flex:none;display:flex;gap:var(--s-2);align-items:center;padding:var(--s-3) var(--s-5);border-top:1px solid hsl(var(--border));background:hsl(var(--popover))}
/* families/overlays/family.css */
.ov-sh-f .r{margin-left:auto;display:flex;gap:var(--s-2);align-items:center}
/* families/overlays/family.css */
.k-sheet.ov-as{background:transparent;box-shadow:none;padding:0 var(--s-2) var(--s-2);gap:var(--s-2)}
/* families/overlays/family.css */
.k-sheet.ov-trap::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .35);pointer-events:none;z-index:4}
/* families/overlays/family.css */
.k-sheet.ov-trap{box-shadow:var(--e-sheet)}
