/* Place switcher · 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: Popover, Command. */
/* families/app-shell/family.css */
.sh-place b, .sh-pop-h, .sh-row b{font-family:var(--font-voice);font-stretch:var(--font-stretch-title);font-variation-settings:normal;letter-spacing:0}
/* families/app-shell/family.css */
.sh-place{display:flex;align-items:center;gap:10px;padding:6px 8px;margin:0 0 10px;border-radius:var(--r-control);color:inherit;width:100%;text-align:left;transition:background-color var(--motion-hover)}
/* families/app-shell/family.css */
.sh-place:hover, .sh-place.is-hover{background:hsl(var(--sidebar-foreground)/.06)}
/* families/app-shell/family.css */
.sh-place.is-focus, .sh-place:focus-visible{outline:2px solid hsl(var(--sidebar-ring));outline-offset:1px}
/* families/app-shell/family.css */
.sh-place .who{flex:1;min-width:0;line-height:1.25}
/* families/app-shell/family.css */
.sh-place b{display:block;font-weight:var(--w-semibold);font-size:var(--text-card);color:hsl(var(--sidebar-accent-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* families/app-shell/family.css */
.sh-place small{font-size:var(--text-micro);color:hsl(var(--sidebar-foreground))}
/* families/app-shell/family.css */
.sh-place>svg{opacity:.7}
/* families/app-shell/family.css */
.sh-place[aria-disabled=true]{opacity:.5;pointer-events:none}
/* families/app-shell/family.css */
.sh-place.err small{color:hsl(var(--sidebar-accent-foreground))}
/* families/app-shell/family.css */
.sh-place.err .sh-mono{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}
/* families/app-shell/family.css */
.sh-mono{width:30px;height:30px;border-radius:var(--r-control);display:grid;place-items:center;flex:none;font:var(--w-bold) 11.5px/1 var(--font-voice);letter-spacing:-.01em}
/* families/app-shell/family.css */
.sh-mono.hq{background:hsl(var(--sidebar-primary));color:hsl(var(--sidebar-primary-foreground))}
/* families/app-shell/family.css */
.sh-mono.br{background:hsl(var(--sidebar-accent-foreground));color:hsl(var(--primary))}
/* families/app-shell/family.css */
.sh-mono.sm{width:22px;height:22px;font-size:var(--text-9-5);border-radius:var(--r-chip)}
/* families/app-shell/family.css */
.sh-mono.l-hq{background:hsl(var(--info));color:hsl(var(--info-foreground))}
/* families/app-shell/family.css */
.sh-mono.l-dtc{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
/* families/app-shell/family.css */
.sh-mono.l-b2b{background:hsl(var(--neutral));color:hsl(var(--neutral-foreground))}
/* families/app-shell/family.css */
.sh-mono.l-err{background:hsl(var(--destructive)/.12);color:hsl(var(--destructive))}
/* families/app-shell/family.css */
.sh-pop{width:320px;padding:0;overflow:hidden}
/* families/app-shell/family.css */
.sh-pop.w{width:100%}
/* families/app-shell/family.css */
.sh-pop-s{display:flex;align-items:center;gap:var(--s-2);height:44px;padding:0 var(--s-3);border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pop-s .v{flex:1;color:hsl(var(--foreground))}
/* families/app-shell/family.css */
.sh-pop-s .v.plh{color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pop-s .caret{display:inline-block;width:1px;height:15px;background:hsl(var(--foreground));vertical-align:-3px;margin-left:1px;animation:sh-blink var(--motion-caret) var(--ease-blink) infinite}
/* families/app-shell/family.css */
@media (prefers-reduced-motion:reduce){.sh-pop-s .caret{animation:none}}
/* families/app-shell/family.css */
.sh-pop-l{padding:var(--s-1);max-height:340px;overflow:auto}
/* families/app-shell/family.css */
.sh-row{text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:var(--r-control);width:100%;text-align:left;transition:background-color var(--motion-hover)}
/* families/app-shell/family.css */
.sh-row:hover, .sh-row.act{background:hsl(var(--accent))}
/* families/app-shell/family.css */
.sh-row .t{flex:1;min-width:0;line-height:1.3}
/* families/app-shell/family.css */
.sh-row b{display:block;font-weight:var(--w-semibold);font-size:var(--text-card)}
/* families/app-shell/family.css */
.sh-row small{font-size:var(--text-small);color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-row .ck{color:hsl(var(--primary))}
/* families/app-shell/family.css */
.sh-row[aria-disabled=true]{opacity:.55;pointer-events:none}
/* families/app-shell/family.css */
.sh-row .code{color:hsl(var(--muted-foreground));font-size:11.5px}
/* families/app-shell/family.css */
.sh-pop-f{display:flex;align-items:center;gap:var(--s-2);padding:10px var(--s-3);border-top:1px solid hsl(var(--border));font-size:var(--text-small);color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pop-f a{margin-left:auto;color:hsl(var(--foreground));font-weight:var(--w-medium);text-decoration:none;display:inline-flex;gap:4px;align-items:center}
/* families/app-shell/family.css */
.sh-pop-f a:hover{text-decoration:underline}
/* families/app-shell/family.css */
.sh-pop-msg{padding:var(--s-6) var(--s-4);text-align:center;font-size:var(--text-body);color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pop-msg b{display:block;color:hsl(var(--foreground));font:var(--w-semibold) var(--text-card)/1.3 var(--font-voice);margin-bottom:var(--s-1)}
/* families/app-shell/family.css */
.sh-pop-msg .btn{margin-top:var(--s-3)}
/* families/app-shell/family.css */
.sh-pop-msg.err{color:hsl(var(--destructive));text-align:left;display:flex;gap:var(--s-2)}
/* families/app-shell/family.css */
.sh-pop-msg.err b{color:hsl(var(--destructive))}
/* families/app-shell/family.css */
.sh-pick{position:relative;display:inline-block}
/* families/app-shell/family.css */
.sh-pick>.k-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-pop)}
/* families/app-shell/family.css */
.sh-pl{display:grid;grid-template-columns:180px minmax(0,1fr);width:100%;font-size:var(--text-small)}
/* families/app-shell/family.css */
.sh-pl-n{border-right:1px solid hsl(var(--border));padding:var(--s-3);display:flex;flex-direction:column;gap:2px;color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pl-n i{font-style:normal;font-size:var(--text-micro);font-weight:var(--w-semibold);padding:var(--s-2) var(--s-2) 2px;color:hsl(var(--muted-foreground))}
/* families/app-shell/family.css */
.sh-pl-n span{padding:5px var(--s-2);border-radius:var(--r-chip)}
/* families/app-shell/family.css */
.sh-pl-n span.on{background:hsl(var(--muted));color:hsl(var(--foreground));font-weight:var(--w-medium)}
/* families/app-shell/family.css */
.sh-pl-m{padding:var(--s-4) var(--s-5)}
/* families/app-shell/family.css */
.sh-pl-m h4{font:var(--w-semibold) var(--text-18)/1.2 var(--font-ui);margin-bottom:var(--s-3)}
/* families/app-shell/family.css */
.sh-pl-t{width:100%;font-size:var(--text-small)}
/* families/app-shell/family.css */
.sh-pl-t th{text-align:left;font-weight:var(--w-medium);color:hsl(var(--muted-foreground));padding:6px var(--s-2);border-bottom:1px solid hsl(var(--border))}
/* families/app-shell/family.css */
.sh-pl-t td{padding:8px var(--s-2);border-bottom:1px solid hsl(var(--border))}
/* families/app-shell/family.css */
.sh-pop-msg.err p{margin:0}
