@layer components{:is(.gtButton,.collectionButton,.wikiButton){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:var(--gt-radius-pill);font-size:14px;font-weight:500;line-height:20px;text-align:center;cursor:pointer;transition:background-color var(--gt-duration-ui),color var(--gt-duration-ui),transform var(--gt-duration-fast)}.gtButton--sm{min-height:36px;padding:7px 12px}:is(.gtButton--secondary,.collectionButton,.wikiButton){background:var(--gt-surface);color:var(--gt-text-primary)}:is(.gtButton--secondary,.collectionButton,.wikiButton):hover{background:var(--gt-surface-hover)}:is(.gtButton--primary,.collectionButtonPrimary,.wikiButtonPrimary){background:var(--gt-action);color:var(--gt-text-on-action)}:is(.gtButton--primary,.collectionButtonPrimary,.wikiButtonPrimary):hover{background:var(--gt-action-hover)}.gtButton--ghost{background:transparent;color:var(--gt-text-muted)}.gtButton--ghost:hover{background:var(--gt-overlay-subtle);color:var(--gt-text-primary)}.gtButton--outline{background:transparent;color:var(--gt-text-primary);border-color:var(--gt-border-strong)}.gtButton--outline:hover{background:var(--gt-overlay-subtle)}.gtButton--danger{background:var(--gt-danger-soft);color:var(--gt-danger)}.gtButton--danger:hover{background:var(--gt-danger-hover)}:is(.gtButton,.collectionButton,.wikiButton):active:not(:disabled){transform:scale(.98)}.gtFilterChip:focus-visible,:is(.gtButton,.collectionButton,.wikiButton):focus-visible{outline:2px solid var(--gt-border-strong);outline-offset:3px}.gtFilterChip:disabled,:is(.gtButton,.collectionButton,.wikiButton):disabled{opacity:.5;cursor:not-allowed}.gtButton[aria-busy=true]{cursor:wait}.gtIconButton{flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0}.gtInput{display:block;width:100%;min-width:0;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:var(--gt-radius-control);background:var(--gt-surface-control);color:var(--gt-text-primary);font-size:16px;font-weight:500;line-height:24px;transition:background-color var(--gt-duration-ui),border-color var(--gt-duration-ui)}.gtInput::placeholder{color:var(--gt-text-muted);opacity:1}.gtInput:hover:not(:disabled){background:var(--gt-surface-hover)}.gtInput--subdued{background:var(--gt-surface-raised);border-color:var(--gt-border-subtle)}.gtInput--subdued:hover:not(:disabled){background:var(--gt-surface-hover)}.gtInput:focus{border-color:var(--gt-border-strong);outline:none}.gtInput[aria-invalid=true]{border-color:var(--gt-danger)}.gtInput:disabled{opacity:.5;cursor:not-allowed}.gtInput[readonly]{color:var(--gt-text-muted)}.gtTextarea{min-height:112px;resize:vertical}.gtField{display:grid;gap:6px;min-width:0}.gtField>label,.gtFieldError,.gtFieldHint{font-size:14px;line-height:20px}.gtField>label,.gtFieldHint{color:var(--gt-text-muted)}.gtFieldError{color:var(--gt-danger)}.gtBadge{gap:4px;padding:4px 6px;border-radius:var(--gt-radius-badge);font-size:14px;line-height:1;letter-spacing:-.02em}.gtBadge,.gtFilterChip{display:inline-flex;align-items:center;font-weight:500}.gtFilterChip{flex-shrink:0;justify-content:center;gap:6px;min-height:44px;padding:9px 12px;border-radius:var(--gt-radius-pill);background:var(--gt-surface);color:var(--gt-text-muted);font-size:16px;cursor:pointer;transition:background-color var(--gt-duration-ui),color var(--gt-duration-ui),transform var(--gt-duration-fast)}.gtFilterChip:hover:where(:not(:disabled)){background:var(--gt-surface-hover)}.gtFilterChip:active:not(:disabled){transform:scale(.98)}.gtFilterChip[aria-pressed=true]{background:var(--gt-action);color:var(--gt-text-on-action)}.gtAlert{padding:12px 16px;border:1px solid var(--gt-border-subtle);border-radius:var(--gt-radius-control);font-size:14px;line-height:20px}.gtAlert--info{background:var(--gt-surface-raised);color:var(--gt-text-primary)}.gtAlert--error{background:var(--gt-danger-soft);color:var(--gt-danger)}.gtAlert--success{background:var(--gt-status-completed-bg);color:var(--gt-status-completed)}.gtEmptyState{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;text-align:center}.gtEmptyTitle{color:var(--gt-text-primary);font-size:16px;font-weight:600}.gtEmptyDescription{color:var(--gt-text-muted);font-size:14px;max-width:40ch}.gtSkeleton{display:block;background:var(--gt-surface-hover);border-radius:var(--gt-radius-badge);animation:gtPulse 1.5s ease-in-out infinite}.gtSpinner{display:inline-block;width:16px;height:16px;flex-shrink:0;border:2px solid;border-right:2px solid transparent;border-radius:var(--gt-radius-pill);animation:gtSpin .8s linear infinite}.gtDialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:16px;border:0;color:var(--gt-text-primary);background:transparent;overflow:hidden}.gtDialog[open]{display:flex;align-items:center;justify-content:center}.gtDialog::backdrop{background:color-mix(in srgb,var(--gt-page) 80%,transparent);backdrop-filter:blur(10px)}.gtDialogPanel{display:flex;flex-direction:column;width:100%;max-width:540px;max-height:calc(100dvh - 32px);border:1px solid var(--gt-border-subtle);border-radius:var(--gt-radius-card);background:var(--gt-surface);overflow:hidden;box-shadow:var(--gt-shadow-popover)}.gtDialog[open]::backdrop{animation:gtDialogFade var(--gt-duration-fast) ease-out}.gtDialog[open]>.gtDialogPanel{animation:gtDialogFade var(--gt-duration-ui) ease-out}.gtDialogHeader{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--gt-border-subtle)}.gtDialogHeader h2{font-size:18px;font-weight:600;line-height:24px}.gtDialogBody{min-height:0;padding:20px;overflow-y:auto;overscroll-behavior:contain}.gtDialogResizeContent{display:flow-root}.gtDialogFooter{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0;padding:12px 16px;border-top:1px solid var(--gt-border-subtle)}@media (pointer:coarse){.gtButton--sm{min-height:44px}}@media (max-width:640px){.gtDialogBody{padding:16px}}@media (prefers-reduced-motion:reduce){.collectionButton,.gtButton,.gtFilterChip,.gtInput,.wikiButton{transition:none}:is(.gtButton,.collectionButton,.wikiButton,.gtFilterChip):active:not(:disabled){transform:none}.gtDialog[open]::backdrop,.gtDialog[open]>.gtDialogPanel,.gtSkeleton,.gtSpinner{animation:none}}}@keyframes gtSpin{to{transform:rotate(1turn)}}@keyframes gtPulse{50%{opacity:.5}}@keyframes gtDialogFade{0%{opacity:0}to{opacity:1}}@layer components{.gtPasswordInput{position:relative}.gtPasswordField{padding-inline-end:72px}.gtPasswordToggle{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);min-height:40px}}