.os{--os-fast:.12s;--os-base:.18s;--os-slow:.24s;--os-ease:cubic-bezier(.16, 1, .3, 1);--os-rise:6px;--os-slide:24px;--os-press:.97;--os-head-h:52px;--os-chrome-h:52px;background:var(--background);min-height:100dvh;color:var(--foreground)}.os[data-motion=reduce]{--os-rise:0px;--os-slide:0px;--os-press:1}@media (prefers-reduced-motion:reduce){.os{--os-rise:0px;--os-slide:0px;--os-press:1}}.os-rail-item:focus-visible,.os-side-item:focus-visible,.os-panel-link:focus-visible,.os-jump:focus-visible,.os-chip:focus-visible,.os-btn:focus-visible,.os-cmd li:focus-visible{outline:3px solid var(--ring);outline-offset:-3px}.os-skip{z-index:80;background:var(--primary);color:var(--primary-foreground);border-radius:4px;padding:8px 12px;font-size:14px;text-decoration:none;position:fixed;top:-48px;left:8px}.os-skip:focus-visible{outline:3px solid var(--ring);outline-offset:2px;top:8px}.os-frame{min-height:100dvh;display:grid}.os-frame[data-variant=panel]{grid-template-columns:72px 232px minmax(0,1fr)}.os-frame[data-variant=harbor]{grid-template-columns:216px minmax(0,1fr)}.os-rail{border-right:1px solid var(--rail-line);background:var(--rail);height:100dvh;color:var(--rail-foreground);scrollbar-width:none;flex-direction:column;align-items:stretch;display:flex;position:sticky;top:0;overflow-y:auto}.os-rail-top{border-bottom:1px solid var(--rail-line);height:52px;color:var(--rail-mark);flex:0 0 52px;place-items:center;display:grid}.os-rail-list{flex-direction:column;flex:1;gap:2px;padding:8px 6px;display:flex;position:relative}.os-rail-foot{border-top:1px solid var(--rail-line);flex-direction:column;gap:2px;padding:8px 6px 12px;display:flex;position:relative}.os-rail-item{min-height:52px;color:var(--rail-muted);font:inherit;cursor:pointer;transition:background-color var(--os-fast) ease-out, color var(--os-fast) ease-out, transform var(--os-fast) ease-out;background:0 0;border:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;display:flex;position:relative}.os-rail-item:hover{color:var(--rail-foreground);background:var(--rail-active)}.os-rail-item:active{transform:scale(var(--os-press))}.os-rail-item[aria-current=page]{color:var(--rail-active-foreground);background:var(--rail-active)}.os-rail-item[aria-current=page] svg{color:var(--rail-mark)}.os-rail-mark{background:var(--rail-mark);width:3px;height:28px;transition:transform var(--os-slow) var(--os-ease), opacity var(--os-fast) ease-out;border-radius:0 3px 3px 0;position:absolute;top:0;left:0}.os[data-motion=reduce] .os-rail-mark{transition:opacity var(--os-fast) ease-out}@media (prefers-reduced-motion:reduce){.os-rail-mark{transition:opacity var(--os-fast) ease-out}}.os-badge{text-align:center;font-variant-numeric:tabular-nums;background:var(--warning-soft);min-width:18px;height:18px;color:var(--warning);border-radius:4px;padding:0 4px;font-size:12px;font-weight:600;line-height:18px;position:absolute;top:3px;right:6px}.os-dot{background:var(--primary);border-radius:999px;width:8px;height:8px;display:inline-block}.os-dot[data-tone=late]{background:var(--warning)}.os-dot[data-tone=none]{background:var(--muted-foreground)}.os-rail-item .os-dot{position:absolute;top:8px;right:12px}.os-avatar{background:var(--rail-active);width:28px;height:28px;color:var(--rail-foreground);border-radius:4px;place-items:center;margin:6px auto 0;font-size:12px;font-weight:600;display:grid}.os-side{padding:0 8px 8px}.os-side-brand{border-bottom:1px solid var(--rail-line);flex:0 0 52px;align-items:center;height:52px;margin:0 -8px;padding:0 16px;display:flex}.os-side-group{color:var(--rail-muted);padding:14px 10px 4px;font-size:12px}.os-side-item{min-height:36px;color:var(--rail-muted);transition:background-color var(--os-fast) ease-out, color var(--os-fast) ease-out;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.os-side-item[data-sub]{min-height:32px;padding-left:38px;font-size:13px;font-weight:400}.os-side-item:hover{color:var(--rail-foreground);background:var(--rail-active)}.os-side-item[aria-current=page]{color:var(--rail-active-foreground);background:var(--rail-active)}.os-side-item[aria-current=page] svg{color:var(--rail-mark)}.os-side-item .os-badge{margin-left:auto;position:static}.os-side-item .os-dot{margin-left:auto}.os-side-foot{border-top:1px solid var(--rail-line);color:var(--rail-muted);margin-top:auto;padding:12px 6px 4px;font-size:12px}.os-panel{background:var(--card);border-right:1px solid var(--border);height:100dvh;position:sticky;top:0;overflow-y:auto}.os-panel-head{border-bottom:1px solid var(--border);align-items:center;height:52px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.os-panel-sec{padding:12px 8px 4px}.os-panel-sec+.os-panel-sec{border-top:1px solid var(--border);margin-top:8px}.os-panel-label{min-height:24px;color:var(--muted-foreground);align-items:center;gap:6px;padding:0 8px 4px;font-size:12px;display:flex}.os-panel-link+.os-panel-label{margin-top:10px}.os-panel-link{width:100%;min-height:32px;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;transition:background-color var(--os-fast) ease-out;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 8px;font-size:14px;text-decoration:none;display:flex}.os-panel-link>.os-panel-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.os-panel-link:hover{background:var(--muted)}.os-panel-link[aria-current=page],.os-panel-link[aria-current=true]{background:var(--primary-soft);color:var(--foreground);font-weight:600}.os-panel-link[data-future]{color:var(--muted-foreground);cursor:default}.os-panel-link[data-future]:hover{background:0 0}.os-panel-link[data-nested]{padding-left:20px}.os-panel-link .os-count{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;font-weight:400}.os-panel-link .os-count[data-tone=warning]{color:var(--warning);font-weight:600}.os-panel-none{color:var(--muted-foreground);margin:0;padding:4px 8px 8px;font-size:13px;line-height:1.4}.os-panel-none[role=alert]{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.os-body{flex-direction:column;min-width:0;display:flex}.os-head{z-index:30;background:var(--background);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.os-progress{background:var(--primary);height:2px;animation:.6s ease-in-out infinite alternate os-pulse;position:absolute;bottom:-1px;left:0;right:0}.os-crumbs{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:14px;display:flex;overflow:hidden}.os-crumbs>span{color:var(--muted-foreground)}.os-crumbs strong{text-overflow:ellipsis;font-weight:600;overflow:hidden}.os-head-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.os-jump{border:1px solid var(--border);background:var(--card);min-width:240px;height:32px;color:var(--muted-foreground);font:inherit;cursor:pointer;transition:border-color var(--os-fast) ease-out, transform var(--os-fast) ease-out;border-radius:4px;align-items:center;gap:10px;padding:0 8px 0 10px;font-size:14px;display:inline-flex}.os-jump:hover{border-color:var(--muted-foreground)}.os-jump:active{transform:scale(var(--os-press))}.os-jump .os-kbd{margin-left:auto}.os-kbd{border:1px solid var(--border);height:20px;color:var(--muted-foreground);background:var(--background);border-radius:4px;align-items:center;padding:0 5px;font-family:inherit;font-size:12px;display:inline-flex}.os-btn{border:1px solid var(--border);background:var(--card);height:32px;color:var(--foreground);font:inherit;cursor:pointer;white-space:nowrap;transition:background-color var(--os-fast) ease-out, border-color var(--os-fast) ease-out, transform var(--os-fast) ease-out;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.os-btn:hover{border-color:var(--muted-foreground)}.os-btn:active{transform:scale(var(--os-press))}.os-btn[data-variant=primary]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.os-btn[data-variant=primary]:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 88%, var(--foreground))}.os-btn[data-variant=ghost]{background:0 0;border-color:#0000}.os-btn[data-variant=ghost]:hover{background:var(--muted)}.os-chips{scrollbar-width:none;gap:6px;padding:8px 16px 0;display:flex;overflow-x:auto}.os-chip{border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--foreground);border-radius:4px;flex:none;align-items:center;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.os-chip[aria-current=page]{border-color:var(--primary);background:var(--primary-soft);font-weight:600}.os-main{flex:1;width:100%;min-width:0;padding:24px 32px}.os-sk{background:var(--muted);border-radius:0;animation:1s ease-in-out infinite alternate os-pulse;display:block}@keyframes os-pulse{to{opacity:.55}}.os[data-motion=reduce] .os-sk,.os[data-motion=reduce] .os-progress{animation:none}@media (prefers-reduced-motion:reduce){.os-sk,.os-progress{animation:none}}.os-toasts{z-index:70;pointer-events:none;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.os-toast{pointer-events:auto;border:1px solid var(--border);background:var(--foreground);min-height:44px;color:var(--background);animation:os-toast-in var(--os-slow) var(--os-ease);border-radius:6px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:14px;display:flex}.os-toast[data-tone=warning]{border-left:3px solid var(--warning)}.os-toast[data-leaving]{animation:.1s ease-in forwards os-toast-out}.os-toast .os-btn{height:28px;color:inherit;border-color:color-mix(in srgb, currentColor 35%, transparent);background:0 0;margin-left:auto}.os-toast .os-kbd{height:18px;color:inherit;background:0 0;border-color:currentColor}@keyframes os-toast-in{0%{opacity:0;transform:translateX(var(--os-slide))}}@keyframes os-toast-out{to{opacity:0}}.os-cmd{border:1px solid var(--border);background:var(--popover);width:min(640px,100vw - 32px);max-height:min(520px,70vh);color:var(--popover-foreground);border-radius:6px;margin:12vh auto 0;padding:0;overflow:hidden}.os-cmd::backdrop{background:color-mix(in srgb, var(--rail) 55%, transparent)}.os-cmd input{border:0;border-bottom:1px solid var(--border);width:100%;height:48px;color:inherit;font:inherit;background:0 0;outline:none;padding:0 16px;font-size:16px}.os-cmd ul{max-height:calc(min(520px,70vh) - 49px);margin:0;padding:6px;list-style:none;overflow-y:auto}.os-cmd li[role=presentation]{color:var(--muted-foreground);padding:8px 10px 4px;font-size:12px}.os-cmd li[role=option]{cursor:pointer;border-radius:4px;align-items:center;gap:10px;min-height:36px;padding:0 10px;font-size:14px;display:flex}.os-cmd li[role=option]>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.os-cmd li[aria-selected=true]{background:var(--primary-soft)}.os-cmd li .os-kbd{margin-left:auto}.os-dock{display:none}.os-sheet{z-index:65;max-height:80dvh;padding:8px 8px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--rail-line);background:var(--rail);color:var(--rail-foreground);animation:os-sheet-in var(--os-base) var(--os-ease);border-radius:6px 6px 0 0;position:fixed;inset:auto 0 0;overflow-y:auto}.os-sheet-head{align-items:center;padding:4px 8px 8px;display:flex}.os-sheet-head .os-btn{margin-left:auto}.os-sheet .os-panel-label{padding-top:8px}@keyframes os-sheet-in{0%{opacity:0;transform:translateY(var(--os-slide))}}.os-scrim{z-index:64;background:color-mix(in srgb, var(--rail) 55%, transparent);border:0;position:fixed;inset:0}@media (max-width:1100px){.os-frame[data-variant=panel]{grid-template-columns:72px 200px minmax(0,1fr)}.os-jump{min-width:0}.os-jump .os-jump-words{display:none}}@media (max-width:767px){.os{--os-chrome-h:calc(52px + 60px + env(safe-area-inset-bottom))}.os-frame,.os-frame[data-variant]{grid-template-columns:minmax(0,1fr)}.os-rail,.os-panel{display:none}.os-head{gap:8px;padding:0 16px}.os-main{padding:16px 16px calc(88px + env(safe-area-inset-bottom))}.os-dock{z-index:55;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--rail-line);background:var(--rail);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.os-dock .os-rail-item{border-radius:0;min-height:60px}.os-dock .os-rail-item[aria-current=page]{background:0 0}.os-dock .os-rail-item[aria-current=page]:after{content:"";background:var(--rail-mark);height:2px;position:absolute;top:0;left:30%;right:30%}.os-dock .os-badge{right:calc(50% - 22px)}.os-toasts{right:16px;bottom:calc(72px + env(safe-area-inset-bottom))}.os-hide-phone{display:none!important}.os-frame[data-variant=harbor] .os-dock{display:none}.os-frame[data-variant=harbor] .os-main{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.os[data-variant=harbor]{--os-chrome-h:52px}}@media (min-width:768px){.os-show-phone,.os[data-variant=panel] [data-os-panel-owns]{display:none!important}}
