@layer gilt.tokens,gilt.base;@layer gilt.components{.g-kbd-group{--kbd-bg:var(--bg-active);--kbd-border:var(--border);--kbd-fg:var(--fg-muted);flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.g-kbd{background:var(--kbd-bg);border:1px solid var(--kbd-border);min-width:20px;height:20px;color:var(--kbd-fg);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;line-height:1;display:inline-grid}.g-kbd-group[data-size=sm] .g-kbd{border-bottom-width:1px;border-radius:4px;min-width:17px;height:17px;padding:0 4px;font-size:10px}.g-spinner{animation:.8s linear infinite g-spin}.g-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-hover) 0%, var(--bg-active) 50%, var(--bg-hover) 100%);background-size:200% 100%;animation:1.6s ease-in-out infinite g-shimmer;display:block}.g-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;margin:auto;padding:40px 24px;display:flex}.g-empty__art{color:var(--fg-subtle);margin-bottom:8px}.g-empty__title{font-family:var(--font-display);font-variation-settings:var(--display-variation);font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-weight:600}.g-empty__desc{color:var(--fg-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.g-empty__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.g-empty[data-size=sm]{gap:6px;padding:20px 16px}.g-empty[data-size=sm] .g-empty__title{font-size:var(--text-lg)}.g-empty[data-size=lg] .g-empty__title{font-size:var(--text-2xl)}.g-illo{--illo-line:var(--fg-faint);--illo-fill:var(--bg-surface);--illo-shade:var(--bg-active);overflow:visible}.g-badge{height:20px;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;font-variant-numeric:tabular-nums;--b-solid:var(--fg-subtle);--b-text:var(--fg-muted);--b-soft:var(--bg-active);--b-border:var(--border);background:var(--b-soft);color:var(--b-text);border-radius:999px;align-items:center;gap:4px;padding:0 7px;line-height:1;display:inline-flex}.g-badge svg{width:12px;height:12px}.g-badge[data-size=sm]{height:17px;font-size:var(--text-2xs);padding:0 6px}.g-badge[data-tone=accent]{--b-solid:var(--accent);--b-text:var(--accent-text);--b-soft:var(--accent-soft);--b-border:var(--accent-border)}.g-badge[data-tone=success]{--b-solid:var(--success);--b-text:var(--success-text);--b-soft:var(--success-soft);--b-border:var(--success-border)}.g-badge[data-tone=danger]{--b-solid:var(--danger);--b-text:var(--danger-text);--b-soft:var(--danger-soft);--b-border:var(--danger-border)}.g-badge[data-tone=warning]{--b-solid:var(--warning);--b-text:var(--warning-text);--b-soft:var(--warning-soft);--b-border:var(--warning-border)}.g-badge[data-tone=info]{--b-solid:var(--info);--b-text:var(--info-text);--b-soft:var(--info-soft);--b-border:var(--info-border)}.g-badge[data-variant=solid]{background:var(--b-solid);color:#fff}.g-badge[data-variant=solid][data-tone=accent]{color:var(--accent-fg)}.g-badge[data-variant=outline]{box-shadow:inset 0 0 0 1px var(--b-border);background:0 0}.g-tag{--t-soft:var(--c-gray-soft);--t-text:var(--c-gray-text);--t-solid:var(--c-gray);background:var(--t-soft);max-width:100%;height:22px;color:var(--t-text);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;vertical-align:middle;border-radius:6px;align-items:center;gap:5px;padding:0 8px;line-height:1;display:inline-flex}.g-tag[data-size=sm]{height:19px;font-size:var(--text-2xs);border-radius:5px;padding:0 6px}.g-tag__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.g-tag__dot{background:var(--t-solid);border-radius:50%;flex-shrink:0;width:7px;height:7px}.g-tag svg{flex-shrink:0;width:12px;height:12px}.g-tag__remove{width:14px;height:14px;color:inherit;opacity:.6;border-radius:4px;place-items:center;margin-right:-3px;display:inline-grid}.g-tag__remove:hover{opacity:1;background:color-mix(in oklab, var(--t-solid) 25%, transparent)}.g-dot{--t-solid:var(--c-gray);background:var(--t-solid);border-radius:50%;flex-shrink:0;display:inline-block}[data-color=gray]{--t-soft:var(--c-gray-soft);--t-text:var(--c-gray-text);--t-solid:var(--c-gray)}[data-color=brown]{--t-soft:var(--c-brown-soft);--t-text:var(--c-brown-text);--t-solid:var(--c-brown)}[data-color=orange]{--t-soft:var(--c-orange-soft);--t-text:var(--c-orange-text);--t-solid:var(--c-orange)}[data-color=yellow]{--t-soft:var(--c-yellow-soft);--t-text:var(--c-yellow-text);--t-solid:var(--c-yellow)}[data-color=green]{--t-soft:var(--c-green-soft);--t-text:var(--c-green-text);--t-solid:var(--c-green)}[data-color=teal]{--t-soft:var(--c-teal-soft);--t-text:var(--c-teal-text);--t-solid:var(--c-teal)}[data-color=blue]{--t-soft:var(--c-blue-soft);--t-text:var(--c-blue-text);--t-solid:var(--c-blue)}[data-color=purple]{--t-soft:var(--c-purple-soft);--t-text:var(--c-purple-text);--t-solid:var(--c-purple)}[data-color=pink]{--t-soft:var(--c-pink-soft);--t-text:var(--c-pink-text);--t-solid:var(--c-pink)}[data-color=red]{--t-soft:var(--c-red-soft);--t-text:var(--c-red-text);--t-solid:var(--c-red)}[data-color=accent]{--t-soft:var(--accent-soft);--t-text:var(--accent-text);--t-solid:var(--accent)}.g-avatar{font-weight:var(--weight-semibold);letter-spacing:-.01em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;line-height:1;display:inline-grid;position:relative;overflow:hidden}.g-avatar img{object-fit:cover;width:100%;height:100%}.g-avatar--ring{box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 3.5px var(--avatar-color)}.g-avatar--more{background:var(--bg-active);color:var(--fg-muted)}.g-avatar-stack{align-items:center;padding-left:4px;display:inline-flex}.g-avatar-stack>*{margin-left:-4px}.g-avatar-stack__item{box-shadow:0 0 0 2px var(--bg-panel);border-radius:50%;display:inline-flex}.g-avatar-stack>.g-avatar--more{box-shadow:0 0 0 2px var(--bg-panel)}.g-avatar-stack[data-ring]>*+*{margin-left:1px}.g-avatar-stack[data-ring] .g-avatar-stack__item{box-shadow:none}.g-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--highlight);min-width:0}.g-card[data-padding=sm]{padding:12px}.g-card[data-padding=md]{padding:16px}.g-card[data-padding=lg]{padding:22px}.g-card[data-interactive]{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.g-card[data-interactive]:hover{border-color:var(--border-strong);box-shadow:var(--highlight), var(--shadow-sm);transform:translateY(-1px)}.g-card[data-selected]{border-color:var(--accent-border);box-shadow:var(--highlight), 0 0 0 3px var(--accent-soft)}.g-statbar{--sb-h:6px;width:100%;min-width:40px;height:var(--sb-h);background:var(--bg-active);border-radius:999px;display:block;position:relative;overflow:hidden}.g-statbar[data-size=xs]{--sb-h:4px}.g-statbar[data-size=md]{--sb-h:9px}.g-statbar__fill{width:calc(var(--pct) * 100%);border-radius:inherit;--bar:var(--t-solid,var(--accent));background:linear-gradient(90deg, color-mix(in oklab, var(--bar) 75%, transparent), var(--bar));box-shadow:0 0 10px -2px color-mix(in oklab, var(--bar) 60%, transparent);transition:width var(--dur-slow) var(--ease-out);position:absolute;inset:0}.g-statbar[data-ticks]:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 calc(100% / var(--ticks) - 1px), var(--bg-panel) calc(100% / var(--ticks) - 1px) calc(100% / var(--ticks)));opacity:.55;pointer-events:none;position:absolute;inset:0}.g-stacked{background:var(--bg-active);border-radius:999px;gap:2px;width:100%;display:flex;overflow:hidden}.g-stacked__seg{background:var(--t-solid);min-width:4px;transition:flex-grow var(--dur-slow) var(--ease-out);display:block}.g-swatches{flex-wrap:wrap;gap:6px;display:flex}.g-swatch{background:var(--t-solid);color:#fff;transition:transform var(--dur-fast) var(--ease-spring);border-radius:7px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.g-swatch:hover{transform:scale(1.1)}.g-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--bg-raised), 0 0 0 4px var(--t-solid)}.g-calendar{width:252px;padding:4px}.g-calendar__head{align-items:center;gap:2px;padding:2px 2px 8px 6px;display:flex}.g-calendar__title{font-weight:var(--weight-semibold);font-size:var(--text-sm);flex:1}.g-calendar__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.g-calendar__wd{text-align:center;font-size:var(--text-2xs);color:var(--fg-faint);font-weight:var(--weight-semibold);padding-bottom:4px}.g-calendar__day{height:32px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--fg);border-radius:7px}.g-calendar__day:hover{background:var(--bg-active)}.g-calendar__day[data-outside]{color:var(--fg-faint)}.g-calendar__day[data-today]{color:var(--accent-text);font-weight:var(--weight-semibold);box-shadow:inset 0 0 0 1px var(--accent-border)}.g-calendar__day[aria-pressed=true]{background:var(--accent);color:var(--accent-fg);font-weight:var(--weight-semibold)}.g-calendar__foot{border-top:1px solid var(--border-subtle);justify-content:space-between;margin-top:6px;padding-top:6px;display:flex}.g-logo{align-items:center;gap:calc(var(--logo-size) * .36);display:inline-flex}.g-logo-mark{filter:drop-shadow(0 2px 6px #f0b64b40)}.g-logo__word{font-family:var(--font-display);font-variation-settings:var(--display-variation);font-weight:560;font-size:calc(var(--logo-size) * .86);letter-spacing:-.02em;color:var(--fg);line-height:1}.g-toaster{z-index:var(--z-toast);pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.g-toast{pointer-events:auto;border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border);width:360px;max-width:100%;box-shadow:var(--highlight), var(--shadow-md);animation:g-toast-in var(--dur-slow) var(--ease-out);font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;display:flex}.g-toast__icon{margin-top:1px;display:inline-flex}.g-toast[data-tone=success] .g-toast__icon{color:var(--success-text)}.g-toast[data-tone=danger] .g-toast__icon{color:var(--danger-text)}.g-toast[data-tone=warning] .g-toast__icon{color:var(--warning-text)}.g-toast[data-tone=info] .g-toast__icon{color:var(--info-text)}.g-toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.g-toast__title{font-weight:var(--weight-medium)}.g-toast__desc{color:var(--fg-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.g-toast__action{height:24px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--accent-text);background:var(--accent-soft);border-radius:6px;padding:0 8px}.g-toast__action:hover{background:var(--accent-soft-hover)}.g-toast__close{width:22px;height:22px;color:var(--fg-subtle);border-radius:6px;place-items:center;display:grid}.g-toast__close:hover{background:var(--bg-hover);color:var(--fg)}.g-tooltip{z-index:var(--z-tooltip);background:var(--bg-inverse);max-width:280px;color:var(--fg-inverse);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);box-shadow:var(--shadow-md);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:inline-flex}.g-tooltip[data-status=initial],.g-tooltip[data-status=close]{opacity:0;transform:translateY(2px)scale(.98)}.g-tooltip__kbd{--kbd-bg:color-mix(in oklab, var(--fg-inverse) 10%, transparent);--kbd-border:color-mix(in oklab, var(--fg-inverse) 14%, transparent);--kbd-fg:color-mix(in oklab, var(--fg-inverse) 70%, transparent)}.g-popover{z-index:var(--z-popover);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--highlight), var(--shadow-md);color:var(--fg);font-size:var(--text-sm);transform-origin:0 0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);outline:none;flex-direction:column;display:flex;overflow:auto}.g-popover[data-padding=sm]{padding:6px}.g-popover[data-padding=md]{padding:14px}.g-popover[data-status=initial],.g-popover[data-status=close]{opacity:0;transform:translateY(-4px)scale(.98)}.g-popover[data-status=close]{transition-duration:var(--dur-fast)}.g-menu{gap:1px;min-width:200px;padding:5px}.g-menu__item{width:100%;min-height:30px;font-size:var(--text-sm);color:var(--fg);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;outline:none;align-items:center;gap:9px;padding:5px 8px;display:flex}.g-menu__item[data-active],.g-menu__item:focus-visible{background:var(--bg-active)}.g-menu__item:disabled{opacity:.45;cursor:default}.g-menu__item[data-danger]{color:var(--danger-text)}.g-menu__item[data-danger][data-active]{background:var(--danger-soft)}.g-menu__icon{color:var(--fg-subtle);flex-shrink:0;display:inline-flex}.g-menu__item[data-active] .g-menu__icon{color:var(--fg-muted)}.g-menu__item[data-danger] .g-menu__icon{color:inherit}.g-menu__icon svg{width:16px;height:16px}.g-menu__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.g-menu__desc{font-size:var(--text-xs);color:var(--fg-subtle);line-height:var(--leading-snug)}.g-menu__hint{font-size:var(--text-xs);color:var(--fg-subtle)}.g-menu__kbd{margin-left:12px}.g-menu__check{width:14px;color:var(--accent-text);flex-shrink:0;display:inline-flex}.g-menu__check--end{margin-left:8px}.g-menu__sep{background:var(--border-subtle);flex-shrink:0;height:1px;margin:4px 6px}.g-menu__label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-faint);padding:8px 8px 4px}.g-list{flex-direction:column;min-width:0;min-height:0;display:flex}.g-list__search{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:4px;padding:4px 8px 8px;display:flex}.g-list__search-icon{color:var(--fg-subtle);flex-shrink:0}.g-list__search input{min-width:0;height:26px;font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.g-list__search input::placeholder{color:var(--fg-faint)}.g-list__items{overscroll-behavior:contain;flex-direction:column;gap:1px;min-height:0;display:flex;overflow-y:auto}.g-list__group{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-faint);padding:8px 8px 4px}.g-list__group:first-child{padding-top:2px}.g-list__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:9px;min-height:32px;padding:5px 8px;display:flex}.g-list__item[data-active]{background:var(--bg-active)}.g-list__item[aria-disabled]{opacity:.45;cursor:default}.g-list__item--create,.g-list__item--create .g-list__icon{color:var(--accent-text)}.g-list__check{width:14px;color:var(--accent-text);flex-shrink:0;display:inline-flex}.g-list__icon{width:18px;color:var(--fg-subtle);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.g-list__icon svg{width:16px;height:16px}.g-list__text{flex-direction:column;flex:1;min-width:0;display:flex}.g-list__label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.g-list__desc{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--fg-subtle);overflow:hidden}.g-list__hint{font-size:var(--text-xs);color:var(--fg-subtle);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:45%;overflow:hidden}.g-list__empty{text-align:center;color:var(--fg-subtle);font-size:var(--text-sm);padding:18px 10px}.g-list__footer{border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--fg-subtle);align-items:center;gap:12px;margin-top:4px;padding:8px 8px 2px;display:flex}.g-dialog-overlay{z-index:var(--z-modal);background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity var(--dur-slow) var(--ease-out);place-items:center;padding:24px;display:grid}.g-dialog-overlay[data-align=top]{place-items:start center;padding-top:min(14vh,140px)}.g-dialog-overlay[data-status=initial],.g-dialog-overlay[data-status=close]{opacity:0}.g-dialog{--dialog-w:520px;width:min(var(--dialog-w), 100%);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-xl);max-height:min(86vh,900px);box-shadow:var(--highlight), var(--shadow-lg);transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out);outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.g-dialog[data-size=sm]{--dialog-w:420px}.g-dialog[data-size=lg]{--dialog-w:720px}.g-dialog[data-size=xl]{--dialog-w:960px}.g-dialog[data-status=initial],.g-dialog[data-status=close]{opacity:0;transform:translateY(10px)scale(.975)}.g-dialog__header{align-items:flex-start;gap:12px;padding:18px 20px 4px;display:flex}.g-dialog__header[data-empty]{z-index:1;padding:12px;position:absolute;top:0;right:0}.g-dialog__icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.g-dialog__icon svg{width:18px;height:18px}.g-dialog__titles{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.g-dialog__title{font-family:var(--font-display);font-variation-settings:var(--display-variation);font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-snug)}.g-dialog__desc{font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--leading-normal)}.g-dialog__close{margin:-4px -6px 0 0}.g-dialog__body{min-height:0;padding:14px 20px 18px;overflow-y:auto}.g-dialog__footer{border-top:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-surface) 50%, transparent);justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.g-drawer-overlay{padding:0;display:block}.g-drawer{background:var(--bg-app);border-right:1px solid var(--border);max-width:92vw;box-shadow:var(--shadow-lg);transition:transform var(--dur-slow) var(--ease-out);outline:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0}.g-drawer[data-side=left]{left:0}.g-drawer[data-side=right]{border-right:0;border-left:1px solid var(--border);right:0}.g-drawer[data-side=left][data-status=initial],.g-drawer[data-side=left][data-status=close]{transform:translate(-100%)}.g-drawer[data-side=right][data-status=initial],.g-drawer[data-side=right][data-status=close]{transform:translate(100%)}}@layer gilt.utilities;
