.g-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font:600 var(--text-sm) / 1 var(--font-ui);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000;text-decoration:none;display:inline-flex}.g-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-btn:disabled{cursor:not-allowed;opacity:.5}.g-btn--primary{background:var(--accent);color:var(--accent-on)}.g-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.g-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.g-btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.g-btn--ghost{color:var(--accent);background:0 0}.g-btn--ghost:hover:not(:disabled){background:var(--accent-soft)}.g-btn--quiet{color:var(--text-body);background:0 0}.g-btn--quiet:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.g-btn--danger-quiet{color:var(--danger);background:0 0}.g-btn--danger-quiet:hover:not(:disabled){background:var(--danger-soft)}.g-btn--chrome{background:var(--chrome-accent);color:var(--chrome-accent-on)}.g-btn--danger{background:var(--danger);color:var(--danger-on)}.g-btn--danger:hover:not(:disabled){filter:brightness(.92)}.g-btn--chrome-secondary{color:var(--chrome-text);border-color:var(--chrome-line);background:0 0}.g-btn--chrome-secondary:hover:not(:disabled){background:var(--chrome-hover)}.g-btn--sm{min-height:calc(var(--control-height) - var(--space-2));padding:0 var(--space-3)}.g-btn__icon{display:inline-flex}.g-btn[aria-busy=true]{cursor:progress}.g-btn__spinner{box-sizing:border-box;border-radius:var(--radius-pill);border:2px solid;border-top-color:#0000;flex:none;width:16px;height:16px;animation:.8s linear infinite g-btn-spin}@keyframes g-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.g-btn__spinner{animation:none}}.g-cmdk-layer{z-index:var(--z-overlay);padding:12vh var(--space-4) var(--space-4);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.g-cmdk-backdrop{background:var(--scrim);cursor:default;border:0;position:absolute;inset:0}.g-cmdk{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:70vh;box-shadow:var(--shadow-float);font-family:var(--font-ui);flex-direction:column;display:flex;position:relative;overflow:hidden}.g-cmdk__input{border-radius:var(--radius-xl) var(--radius-xl) 0 0;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.g-cmdk__input input{min-height:var(--control-height);font:400 var(--text-md) var(--font-ui);color:var(--text);background:0 0;border:0;outline:0;flex:1}.g-cmdk kbd{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);padding:2px 6px}.g-cmdk__list{padding:var(--space-2);animation:g-cmdk-list-in var(--dur-base) var(--ease);margin:0;overflow-y:auto}.g-cmdk__option{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;display:flex}.g-cmdk__input:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}.g-cmdk__option[aria-selected=true]{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.g-cmdk__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.g-cmdk__label{font-size:var(--text-sm);color:var(--text);font-weight:600}.g-cmdk__sub{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-cmdk__kind{font-size:var(--text-xs);color:var(--text-subtle)}.g-cmdk__more{font-size:var(--text-sm);color:var(--accent);font-weight:600}.g-cmdk__empty{padding:var(--space-6) var(--space-4);color:var(--text-muted);font-size:var(--text-sm);margin:0}.g-cmdk__sr{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.g-cmdk__foot{gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-subtle);display:flex}@keyframes g-cmdk-list-in{0%{opacity:0;transform:translateY(6px)}}.g-chip{height:24px;padding:0 var(--space-3);border-radius:var(--radius-pill);font:600 var(--text-xs) / 1 var(--font-ui);white-space:nowrap;align-items:center;display:inline-flex}.g-chip--neutral{background:var(--surface-sunken);color:var(--text-body)}.g-chip--accent{background:var(--accent-soft);color:var(--accent-soft-text)}.g-chip--warning{background:var(--warning-soft);color:var(--warning)}.g-chip--danger{background:var(--danger-soft);color:var(--danger)}.g-chip--info{background:var(--info-soft);color:var(--info)}.g-chip--solid{background:var(--accent);color:var(--accent-on)}.g-progress{align-items:center;gap:var(--space-3);display:flex}.g-progress__track{background:var(--border);border-radius:var(--radius-pill);flex:1;height:8px;overflow:hidden}.g-progress__fill{background:var(--accent-decor);border-radius:var(--radius-pill);height:100%;transition:width var(--dur-slow) var(--ease)}.g-progress__text{min-width:3ch;font:600 var(--text-xs) / 1 var(--font-ui);color:var(--text-body);text-align:right}.g-ring{flex:none;place-items:center;display:inline-grid;position:relative}.g-ring svg{position:absolute;inset:0}.g-ring__track{fill:none;stroke:var(--border)}.g-ring__fill{fill:none;stroke:var(--accent-decor);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease)}.g-ring__text{font:600 var(--text-xs) / 1 var(--font-ui);color:var(--text);position:relative}.g-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-body)}.g-card--highlighted{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-soft-text)}.g-card__head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.g-card__title{font:600 var(--text-lg) / var(--leading-snug) var(--font-ui);color:var(--text);margin:0}.g-card__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.g-sidebar{box-sizing:border-box;gap:var(--space-6);height:100%;padding:var(--space-6) var(--space-4);background:var(--chrome);color:var(--chrome-text);flex-direction:column;display:flex}.g-sidebar__brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3);font:500 var(--text-xl) / var(--leading-tight) var(--font-display);color:var(--chrome-accent);display:flex}.g-sidebar__brand,.g-sidebar__footer{flex:none}.g-sidebar__nav{gap:var(--space-5);min-height:0;margin:calc(-1 * var(--space-1));padding:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.g-sidebar__group{gap:var(--space-1);flex-direction:column;display:flex}.g-sidebar__label{margin:0 0 var(--space-1);padding:0 var(--space-3);font:600 var(--text-xs) / 1 var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--chrome-label)}.g-sidebar__switcher{flex:none}.g-sidebar__footer{padding-top:var(--space-4);border-top:1px solid var(--chrome-line);margin-top:auto}.g-nav-item{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);font:500 var(--text-sm) / 1.2 var(--font-ui);color:var(--chrome-text);transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease);text-decoration:none;display:flex}.g-nav-item:hover{background:var(--chrome-hover)}.g-nav-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-nav-item--current,.g-nav-item--current:hover{background:var(--chrome-active);color:var(--chrome-text-strong)}.g-nav-item__icon{flex:none;display:inline-flex}.g-area-switcher{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--chrome-raised);display:flex}.g-area-switcher__item{min-height:var(--control-height);padding:0 var(--space-2);border-radius:var(--radius-sm);font:500 var(--text-sm) / 1.2 var(--font-ui);color:var(--chrome-text);transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease);flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.g-area-switcher__item:hover{background:var(--chrome-hover)}.g-area-switcher__item:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-area-switcher__item[aria-current=page]{background:var(--chrome-active);color:var(--chrome-text-strong)}.g-area-switcher__slot{flex:1;display:flex}.g-area-switcher__slot>.g-area-switcher__item{flex:1}.g-topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-6);background:var(--chrome);color:var(--chrome-text);flex-wrap:wrap;display:flex;position:sticky;top:0}.g-topbar__back{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);font:500 var(--text-sm) / 1 var(--font-ui);color:var(--chrome-text);cursor:pointer;background:0 0;border:0;text-decoration:none;display:inline-flex}.g-topbar__back:hover{background:var(--chrome-hover)}.g-topbar__back:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-topbar__title{min-width:0;font:500 var(--text-lg) / var(--leading-snug) var(--font-display);color:var(--chrome-text-strong);flex:12rem;margin:0}.g-topbar__status{font:500 var(--text-sm) / 1 var(--font-ui);color:var(--chrome-text);align-items:center;display:flex}.g-topbar__actions{align-items:center;gap:var(--space-2);display:flex}.g-topbar__status .g-progress{width:clamp(10rem,24vw,16rem)}.g-topbar__status .g-progress__track{background:var(--chrome-active);height:6px}.g-topbar__status .g-progress__fill{background:var(--chrome-accent)}.g-topbar__status .g-progress__text{white-space:nowrap;color:var(--chrome-text)}.g-field{gap:var(--space-2);flex-direction:column;display:flex}.g-field__label{font:600 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body)}.g-field__hint{font:400 var(--text-xs) / var(--leading-snug) var(--font-ui);color:var(--text-subtle);margin:0}.g-field__error{align-items:center;gap:var(--space-2);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--danger);margin:0;display:flex}.g-field__error svg{flex:none}.g-control{box-sizing:border-box;width:100%;min-height:var(--control-height);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:400 var(--text-md) / 1.4 var(--font-ui);color:var(--text);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.g-control::placeholder{color:var(--text-subtle);opacity:1}.g-control--textarea{min-height:6rem;padding:var(--space-3);resize:vertical}.g-control:hover:not(:disabled){border-color:var(--text-subtle)}.g-control:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.g-control[aria-invalid=true]{border-color:var(--danger)}.g-control:disabled{background:var(--surface-sunken);border-color:var(--border);color:var(--text-subtle);cursor:not-allowed}.g-select{display:block;position:relative}.g-control--select{appearance:none;padding-right:calc(var(--space-3) + var(--space-6));text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}.g-select__chevron{top:50%;right:var(--space-3);color:var(--text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.g-control--select:disabled+.g-select__chevron{color:var(--text-subtle)}.g-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.g-togglecard{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-height);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);display:flex;position:relative}.g-togglecard:hover{background:var(--surface-hover);border-color:var(--border-strong)}.g-togglecard:has(.g-toggle__input:checked){border-color:var(--accent)}.g-togglecard:has(.g-toggle__input:focus-visible){box-shadow:var(--focus-ring)}.g-togglecard:has(.g-toggle__input:disabled){cursor:not-allowed}.g-togglecard__text{gap:var(--space-1);min-width:0;display:grid}.g-togglecard__title{color:var(--text);font:600 var(--text-md) / var(--leading-snug) var(--font-ui)}.g-togglecard__desc{color:var(--text-muted);font:400 var(--text-sm) / var(--leading-snug) var(--font-ui)}.g-togglecard__switch{flex:none;min-height:0}.g-togglecard__input{width:100%;inset:0}:is(.g-togglecard:has(.g-toggle__input:disabled) .g-togglecard__text,.g-togglecard:has(.g-toggle__input:disabled) .g-toggle__track){opacity:.5}.g-toggle{align-items:center;gap:var(--space-3);min-height:var(--control-height);cursor:pointer;display:inline-flex;position:relative}.g-toggle__input{opacity:0;width:44px;height:100%;cursor:inherit;margin:0;position:absolute;inset:0 auto 0 0}.g-toggle__track{background:var(--border-strong);border-radius:var(--radius-pill);width:44px;height:26px;transition:background-color var(--dur-base) var(--ease);flex:none;position:relative}.g-toggle__track:after{content:"";background:var(--paper);border-radius:var(--radius-pill);width:20px;height:20px;box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease), width var(--dur-fast) var(--ease);position:absolute;top:3px;left:3px}.g-toggle__input:checked+.g-toggle__track{background:var(--accent)}.g-toggle__input:checked+.g-toggle__track:after{transform:translate(18px)}.g-toggle__input:active:not(:disabled)+.g-toggle__track:after{width:24px}.g-toggle__input:checked:active:not(:disabled)+.g-toggle__track:after{transform:translate(14px)}.g-toggle__input:focus-visible+.g-toggle__track{box-shadow:var(--focus-ring)}.g-toggle__input:disabled{cursor:not-allowed}.g-toggle__input:disabled~*{opacity:.5}.g-toggle__label{font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body)}.g-tabs__list{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.g-tabs__tab{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md) var(--radius-md) 0 0;font:600 var(--text-sm) / 1 var(--font-ui);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px}.g-tabs__tab:hover{color:var(--text)}.g-tabs__tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.g-tabs__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-tabs__panel{padding-top:var(--space-5)}.g-tabs__panel[hidden]{display:none}.g-callout{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font:400 var(--text-sm) / var(--leading-body) var(--font-ui);color:var(--text-body);border:1px solid;display:flex}.g-callout--note{background:var(--info-soft);border-color:var(--info-line)}.g-callout--note .g-callout__icon,.g-callout--note .g-callout__title{color:var(--info)}.g-callout--tip{background:var(--warning-soft);border-color:var(--warning-line)}.g-callout--tip .g-callout__icon,.g-callout--tip .g-callout__title{color:var(--warning)}.g-callout--warning{background:var(--danger-soft);border-color:var(--danger-line)}.g-callout--warning .g-callout__icon,.g-callout--warning .g-callout__title{color:var(--danger)}.g-callout__icon{flex:none;margin-top:2px}.g-callout__body{min-width:0}.g-callout__body>:last-child{margin-bottom:0}.g-callout__title{margin:0 0 var(--space-1);font-weight:600}.g-empty{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-xl);text-align:center;flex-direction:column;display:flex}.g-empty__icon{color:var(--text-subtle);display:inline-flex}.g-empty__title{font:500 var(--text-xl) / var(--leading-snug) var(--font-display);color:var(--text);margin:0}.g-empty__text{max-width:44ch;font:400 var(--text-sm) / var(--leading-body) var(--font-ui);color:var(--text-muted);margin:0}.g-empty__action{margin-top:var(--space-2)}.g-course-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-body);transition:transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.g-course-tile:hover{box-shadow:var(--shadow-menu);transform:translateY(-2px)}.g-course-tile__cover{aspect-ratio:16/9;color:var(--paper-ink);place-items:center;display:grid;overflow:hidden}.g-course-tile__cover--forest{background:var(--cover-forest);color:var(--on-forest)}.g-course-tile__cover--sand{background:var(--cover-sand)}.g-course-tile__cover--sky{background:var(--cover-sky)}.g-course-tile__cover--stone{background:var(--cover-stone)}.g-course-tile__cover img{object-fit:cover;width:100%;height:100%}.g-course-tile__name{padding:var(--space-4);-webkit-line-clamp:3;font:500 var(--text-2xl) / var(--leading-tight) var(--font-display);text-align:center;text-wrap:balance;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.g-course-tile__body{background:var(--surface-hover);border-top:1px solid var(--border);align-content:start;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5);flex:1;display:grid}.g-course-tile__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.g-course-tile__title{font:500 var(--text-xl) / var(--leading-snug) var(--font-display);color:var(--text);margin:0}.g-course-tile__summary,.g-course-tile__meta{margin:0}.g-course-tile__summary{color:var(--text-muted)}.g-course-tile__meta{font-size:var(--text-sm);color:var(--text-subtle)}.g-course-tile__title a{color:inherit;text-decoration:none}.g-course-tile__title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.g-course-tile__title a:focus-visible{outline:none}.g-course-tile__title a:focus-visible:after{box-shadow:var(--focus-ring)}.g-course-tile:hover .g-course-tile__title a{text-decoration:underline}.g-course-tile .g-chip--neutral{background:var(--surface);border:1px solid var(--border)}.g-course-tile--choice{cursor:pointer;transition:transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease)}.g-course-tile__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.g-course-tile__check{top:var(--space-3);right:var(--space-3);z-index:var(--z-raised);width:var(--space-8);height:var(--space-8);border:2px solid var(--paper-ink);border-radius:var(--radius-pill);background:var(--paper);color:#0000;opacity:0;transition:opacity var(--dur-base) var(--ease), scale var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);place-items:center;display:grid;position:absolute;scale:.7}.g-course-tile--choice:hover .g-course-tile__check{opacity:1;scale:1}.g-course-tile--choice:has(.g-course-tile__input:focus-visible) .g-course-tile__check{opacity:1;scale:1}.g-course-tile--choice:hover{transform:none}.g-course-tile--choice[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.g-course-tile--choice[data-selected=true] .g-course-tile__check{background:var(--accent);border-color:var(--accent);color:var(--accent-on);opacity:1;animation:g-course-tile-pop var(--dur-slow) var(--ease);scale:1}.g-course-tile__cover img,.g-course-tile__cover .g-course-tile__name{transition:transform var(--dur-slow) var(--ease)}.g-course-tile--choice[data-selected=true] .g-course-tile__cover img,.g-course-tile--choice[data-selected=true] .g-course-tile__name{transform:scale(1.04)}.g-course-tile--choice:has(.g-course-tile__input:focus-visible){box-shadow:var(--focus-ring)}@keyframes g-course-tile-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.g-search-card{gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);display:grid}.g-search-card__field{align-items:center;display:flex;position:relative}.g-search-card__icon{left:var(--space-4);color:var(--text-muted);pointer-events:none;position:absolute}.g-search-card__input{width:100%;min-height:3.25rem;padding:0 var(--space-12) 0 calc(var(--space-4) + 20px + var(--space-3));background:var(--surface-sunken);border-radius:var(--radius-lg);color:var(--text);font:400 var(--text-lg) / 1 var(--font-ui);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000}.g-search-card__input::placeholder{color:var(--text-subtle)}.g-search-card__input::-webkit-search-cancel-button{display:none}.g-search-card__input:hover{border-color:var(--border-strong)}.g-search-card__input:focus-visible{background:var(--surface);border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.g-search-card__clear{right:var(--space-2);width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute}.g-search-card__clear:hover{background:var(--surface-hover);color:var(--text)}.g-search-card__clear:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-search-card__tools{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.g-search-card__views{max-width:100%;overflow-x:auto}.g-search-card__filters{gap:var(--space-3);flex-wrap:wrap;display:flex}.g-search-card__filters>*{min-width:10rem}.g-search-card__status{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.g-search-card__status:empty{display:none}.g-search-card__active{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.g-search-card__chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--accent-soft-text);font:600 var(--text-sm) / 1 var(--font-ui);animation:g-search-chip-in var(--dur-fast) var(--ease-spring) both;display:inline-flex}.g-search-card__chip-x{border-radius:var(--radius-pill);width:1.5rem;height:1.5rem;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.g-search-card__chip-x:hover{background:var(--surface)}.g-search-card__chip-x:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-search-card__count{font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 0 auto}@keyframes g-search-chip-in{0%{opacity:0;transform:scale(.85)}}@media (width<40rem){.g-search-card{padding:var(--space-3)}.g-search-card__filters{width:100%}.g-search-card__filters>*{flex:9rem}}.g-loader{justify-items:center;gap:var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--text-sm);display:grid}.g-loader--section{min-height:12rem;padding:var(--space-8);align-content:center}.g-loader--overlay{padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-menu);animation:g-loader-in var(--dur-slow) var(--ease) both}.g-loader--inline{display:inline-grid}.g-loader-scrim{z-index:var(--z-loader);background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.g-loader__mark{width:4.5rem;height:4.5rem;overflow:visible}.g-loader--inline .g-loader__mark{width:1.25rem;height:1.25rem}.g-loader__track{fill:none;stroke:var(--border-strong);stroke-width:3px;opacity:.4}.g-loader__arc{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:60 160;transform-origin:36px 36px;animation:g-loader-turn var(--dur-loader) linear infinite}.g-loader__flame{fill:var(--saffron);transform-origin:36px 50px;animation:g-loader-breathe var(--dur-loader) var(--ease-in-out) infinite}.g-loader__label{color:var(--text);font-weight:600}.g-loader__hint{color:var(--text-subtle);font-size:var(--text-xs)}.g-loader__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes g-loader-turn{to{transform:rotate(360deg)}}@keyframes g-loader-breathe{0%,to{opacity:.85;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}@keyframes g-loader-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.g-loader__arc{animation:none}.g-loader__flame{animation:g-loader-pulse var(--dur-loader) ease-in-out infinite}@keyframes g-loader-pulse{50%{opacity:.55}}}.g-skeleton{background:var(--surface-sunken);display:block}.g-skeleton--text{border-radius:var(--radius-sm);height:1em}.g-skeleton--block{border-radius:var(--radius-lg);height:6rem}.g-skeleton--circle{border-radius:var(--radius-pill);width:40px;height:40px}.g-toast-viewport{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:var(--z-toast);align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.g-toast-region{gap:var(--space-2);flex-direction:column;width:min(100%,24rem);display:flex}.g-toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-1) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);pointer-events:auto;animation:g-toast-in var(--dur-base) var(--ease) both;display:flex;position:relative;overflow:hidden}.g-toast[data-leaving]{animation:g-toast-out var(--dur-fast) var(--ease-in) both}@keyframes g-toast-in{0%{opacity:0;transform:translateX(var(--space-6))}}@keyframes g-toast-out{to{opacity:0;transform:translateX(var(--space-6))}}.g-toast--success{background:var(--success-soft);border-color:var(--accent-line)}.g-toast--success .g-toast__icon{color:var(--success)}.g-toast--danger{background:var(--danger-soft);border-color:var(--danger-line)}.g-toast--danger .g-toast__icon{color:var(--danger)}.g-toast--info{background:var(--info-soft);border-color:var(--info-line)}.g-toast--info .g-toast__icon{color:var(--info)}.g-toast--warning{background:var(--warning-soft);border-color:var(--warning-line)}.g-toast--warning .g-toast__icon{color:var(--warning)}.g-toast__icon{margin-top:var(--space-1);flex:none;display:inline-grid}.g-toast__body{justify-items:start;gap:var(--space-1);flex:1;min-width:0;display:grid}.g-toast__title,.g-toast__message{font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text);margin:0}.g-toast__title{font-weight:600}.g-toast__message{color:var(--text-body);font-weight:400}.g-toast__code{font:400 var(--text-xs) / var(--leading-snug) var(--font-mono);color:var(--text-muted)}.g-toast__action{min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--accent);font:600 var(--text-sm) / var(--leading-snug) var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.g-toast__action:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-toast__timer{background:var(--accent);transform-origin:0;height:3px;animation:linear forwards g-toast-timer;position:absolute;inset:auto 0 0}.g-toast[data-paused] .g-toast__timer{animation-play-state:paused}@keyframes g-toast-timer{to{transform:scaleX(0)}}.g-toast__close{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.g-toast__close:hover{background:var(--surface-sunken)}.g-toast__close:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-toast__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.g-toast__timer{animation:none}}.g-state{align-content:start;justify-items:start;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid}.g-state__icon{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);place-items:center;display:inline-grid}.g-state--error .g-state__icon{background:var(--danger-soft);color:var(--danger)}.g-state--offline .g-state__icon{background:var(--warning-soft);color:var(--warning)}.g-state--forbidden .g-state__icon{background:var(--surface-sunken);color:var(--text-muted)}.g-state__title{font:500 var(--text-lg) / var(--leading-snug) var(--font-display);color:var(--text);margin:0}.g-state__text{max-width:44ch;font:400 var(--text-sm) / var(--leading-body) var(--font-ui);color:var(--text-muted);margin:0}.g-state__code{font:400 var(--text-xs) / var(--leading-snug) var(--font-mono);color:var(--text-muted)}.g-state__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.g-code{background:var(--code-bg);border-radius:var(--radius-lg);color:var(--code-text);overflow:hidden}.g-code__header{align-items:center;gap:var(--space-3);min-height:calc(var(--control-height) + var(--space-2));padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);background:var(--code-header);display:flex}.g-code__name{min-width:0;font:400 var(--text-xs) / 1 var(--font-mono);color:var(--code-comment);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.g-code__copy{align-items:center;gap:var(--space-2);min-width:var(--control-height);min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--code-text);font:600 var(--text-xs) / 1 var(--font-ui);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;display:inline-flex}.g-code__copy:hover{background:var(--code-hover)}.g-code__copy:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-code__status{font:600 var(--text-xs) / 1 var(--font-ui);color:var(--code-warn)}.g-code__status:empty{display:none}.g-code__body{overflow-x:auto}.g-code__body:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.g-code__pre{padding:var(--space-4) 0;font:400 .84375rem / 1.7 var(--font-mono);tab-size:2;width:max-content;min-width:100%;margin:0}.g-code__line{padding:0 var(--space-4);white-space:pre;display:block}.g-code__line--highlight{background:var(--code-active);box-shadow:inset 2px 0 0 var(--code-accent)}.g-code--terminal .g-code__line:before{content:"$ ";color:var(--code-keyword);-webkit-user-select:none;user-select:none}.g-code--output{background:var(--code-header);box-shadow:inset 0 0 0 1px var(--code-active)}.g-code--output .g-code__header{min-height:0;padding-block:var(--space-2) 0;background:0 0}.g-video{align-items:flex-start;gap:var(--space-2);flex-direction:column;margin:0;display:flex}.g-video__frame{aspect-ratio:16/9;background:var(--code-bg);border-radius:var(--radius-xl);align-self:stretch;overflow:hidden}.g-video__iframe{border:0;width:100%;height:100%;display:block}.g-video__caption{font:400 .8125rem / var(--leading-snug) var(--font-ui);color:var(--text-muted)}.g-video__link{min-height:var(--control-height);border-radius:var(--radius-sm);font:600 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--accent);align-items:center;text-decoration:underline;display:inline-flex}.g-video__link:hover{color:var(--accent-hover)}.g-video__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-video__soon{justify-content:center;align-items:center;gap:var(--space-3);height:100%;font:500 var(--text-md) / var(--leading-snug) var(--font-ui);color:var(--code-text);flex-direction:column;margin:0;display:flex}.g-quiz-option{align-items:center;gap:var(--space-4);width:100%;min-height:var(--control-height);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-body);font:400 var(--text-md) / var(--leading-snug) var(--font-ui);cursor:pointer;transition:border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);display:flex;position:relative}.g-quiz-option__input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.g-quiz-option:has(.g-quiz-option__input:focus-visible){box-shadow:var(--focus-ring)}.g-quiz-option__letter{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:32px;height:32px;color:var(--text-muted);font:600 var(--text-sm) / 1 var(--font-ui);flex:none;justify-content:center;align-items:center;display:inline-flex}.g-quiz-option__text{flex:1;min-width:0}.g-quiz-option__verdict{align-items:center;gap:var(--space-1);font:600 var(--text-sm) / 1 var(--font-ui);flex:none;display:inline-flex}.g-quiz-option:hover:not(.g-quiz-option--correct,.g-quiz-option--incorrect,.g-quiz-option--locked){border-color:var(--text-muted)}.g-quiz-option--selected{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.g-quiz-option--selected .g-quiz-option__letter{background:var(--text);border-color:var(--text);color:var(--surface)}.g-quiz-option--correct{background:var(--accent-soft);border-color:var(--accent-decor);color:var(--accent-soft-text);cursor:default}.g-quiz-option--correct .g-quiz-option__verdict{color:var(--success)}.g-quiz-option--incorrect{background:var(--danger-soft);border-color:var(--danger);color:var(--text-body);cursor:default}.g-quiz-option--incorrect .g-quiz-option__verdict{color:var(--danger)}.g-quiz-option--locked{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.g-result{gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border);color:var(--text-body);font:400 var(--text-sm) / var(--leading-body) var(--font-ui);list-style:none;display:flex}.g-result:last-child{border-bottom:0}.g-result__icon{border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.g-result--pass .g-result__icon{background:var(--success-soft);color:var(--success)}.g-result--fail .g-result__icon{background:var(--danger-soft);color:var(--danger)}.g-result__body{flex:1;min-width:0}.g-result__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.g-result__question{margin:0 0 var(--space-2);color:var(--text);font-weight:600}.g-result__answers{gap:var(--space-2) var(--space-8);flex-wrap:wrap;margin:0;display:flex}.g-result__answers dt{font:600 var(--text-xs) / 1.4 var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.g-result__answers dd{margin:0}.g-result__yours--wrong{color:var(--text-muted)}.g-result__explanation{margin-top:var(--space-2);color:var(--text-body)}.g-result__link{min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--accent);align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.g-result__link:hover{color:var(--accent-hover)}.g-result__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-breadcrumb__list{font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.g-breadcrumb__item{align-items:center;gap:var(--space-1);display:inline-flex}.g-breadcrumb__link,.g-breadcrumb__text,.g-breadcrumb__current{min-height:var(--control-height);padding:0 var(--space-1);border-radius:var(--radius-sm);align-items:center;display:inline-flex}.g-breadcrumb__link{color:var(--accent);text-decoration:underline}.g-breadcrumb__link:hover{color:var(--accent-hover)}.g-breadcrumb__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-breadcrumb__text{color:var(--text-muted)}.g-breadcrumb__current{color:var(--text);font-weight:600}.g-breadcrumb__sep{color:var(--text-subtle);flex:none}.g-seal{flex:none;display:block}.g-seal__disc{fill:var(--cover-forest)}.g-seal__ring{fill:none;stroke:var(--gold);stroke-width:1.5px}.g-seal__ring--inner{stroke-width:1px}.g-seal__ring-text{fill:var(--gold);font:600 9px / 1 var(--font-ui);letter-spacing:.12em}.g-seal__mark{fill:var(--gold);font:italic 500 40px / 1 var(--font-display)}.g-cert{aspect-ratio:1123/794;width:100%;overflow:hidden;container-type:inline-size}.g-cert__sheet{box-sizing:border-box;background:var(--cover-forest);width:1123px;height:794px;transform:scale(calc(100cqw / 1123px));transform-origin:0 0;color:var(--paper-ink);padding:22px}.g-cert__inner{box-sizing:border-box;background:var(--paper);outline:1px solid var(--gold);outline-offset:-18px;text-align:center;flex-direction:column;align-items:center;width:100%;height:100%;padding:36px 64px 40px;display:flex;position:relative}.g-cert__corner{border:2px solid var(--gold);width:28px;height:28px;position:absolute}.g-cert__corner--tl{border-bottom:0;border-right:0;top:26px;left:26px}.g-cert__corner--tr{border-bottom:0;border-left:0;top:26px;right:26px}.g-cert__corner--bl{border-top:0;border-right:0;bottom:26px;left:26px}.g-cert__corner--br{border-top:0;border-left:0;bottom:26px;right:26px}.g-cert__revoked{background:var(--danger-soft);border-block:2px solid var(--paper-danger);color:var(--danger);font:700 22px / 1 var(--font-ui);letter-spacing:.2em;text-transform:uppercase;margin:0;padding:10px 0;position:absolute;top:150px;left:18px;right:18px}.g-cert__badge{background:var(--cover-forest);color:var(--paper);font:italic 500 22px / 1 var(--font-display);border-radius:14px;margin:0 0 20px;padding:10px 22px}.g-cert__title{color:var(--gold-text);font:600 13px / 1 var(--font-ui);letter-spacing:.42em;text-transform:uppercase;margin:0 0 22px}.g-cert__line{font:italic 400 19px / 1.4 var(--font-display);margin:0}.g-cert__name{max-width:100%;color:var(--cover-forest);font-family:var(--font-display);overflow-wrap:anywhere;margin:8px 0 12px;font-style:italic;font-weight:400;line-height:1.15}.g-cert__course{color:var(--cover-forest);font:500 38px / 1.2 var(--font-display);margin:10px 0 0}.g-cert__footer{grid-template-columns:1fr 132px 1fr;align-items:end;gap:40px;width:100%;margin-top:auto;display:grid}.g-cert__signature{text-align:left}.g-cert__sign-rule{border-top:1px solid var(--cover-forest);width:220px;display:block}.g-cert__sign-name{color:var(--cover-forest);font:500 19px / 1.2 var(--font-display);margin:8px 0 0}.g-cert__sign-role{font:400 13px / 1.3 var(--font-ui);margin:2px 0 0}.g-cert__meta{text-align:left;font:400 13px / 1.3 var(--font-ui);gap:6px;margin:0;display:grid}.g-cert__meta dt{color:var(--gold-text);font-weight:600;display:inline}.g-cert__meta dt:after{content:": "}.g-cert__meta dd{margin:0;display:inline}.g-cert__mono{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px}@media print{@page{size:A4 landscape;margin:0}body *{visibility:hidden}.g-cert-print,.g-cert-print *{visibility:visible}.g-cert-print{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:1123px;height:794px;position:fixed;top:0;left:0;overflow:visible;container-type:normal}.g-cert-print .g-cert__sheet{transform:none}}.g-stat{gap:var(--space-1);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;margin:0;display:flex}.g-stat__label{font:600 var(--text-xs) / var(--leading-snug) var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.g-stat__value{font:500 var(--text-3xl) / var(--leading-tight) var(--font-display);color:var(--text);margin:0}.g-stat__sub{font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-muted);margin:0}.g-check{align-items:center;gap:var(--space-3);min-height:var(--control-height);cursor:pointer;display:inline-flex;position:relative}.g-check__input{width:var(--control-height);opacity:0;height:100%;cursor:inherit;margin:0;position:absolute;inset:0 auto 0 0}.g-check__box{width:var(--space-6);height:var(--space-6);margin-inline:calc((var(--control-height) - var(--space-6)) / 2 - var(--space-3));background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius-sm);color:#0000;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex:none;place-items:center;display:grid}.g-check__box svg{opacity:0;transition:scale var(--dur-base) var(--ease), opacity var(--dur-fast) var(--ease);scale:.4}.g-check:hover .g-check__input:not(:disabled)+.g-check__box{border-color:var(--accent)}.g-check__input:checked+.g-check__box,.g-check__input:indeterminate+.g-check__box{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.g-check__input:checked+.g-check__box svg,.g-check__input:indeterminate+.g-check__box svg{opacity:1;scale:1}.g-check__input:active:not(:disabled)+.g-check__box{transform:scale(.92)}.g-check__input:focus-visible+.g-check__box{box-shadow:var(--focus-ring)}.g-check__input:disabled{cursor:not-allowed}.g-check__input:disabled~*{opacity:.5}.g-check__label{font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body)}.g-check--radio .g-check__box{border-radius:var(--radius-pill)}.g-check__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--accent-on);opacity:0;transition:scale var(--dur-base) var(--ease), opacity var(--dur-fast) var(--ease);scale:.2}.g-check__input:checked+.g-check__box .g-check__dot{opacity:1;scale:1}.g-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);font-family:var(--font-ui);overflow:hidden}.g-table__scroll{max-height:var(--table-max-height,none);overflow:auto}.g-table__table{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}.g-table__sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.g-table thead th{z-index:var(--z-sticky);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-bottom:1px solid var(--border);font:600 var(--text-xs) / var(--leading-snug) var(--font-ui);color:var(--text-muted);text-align:start;white-space:nowrap;position:sticky;top:0}.g-table td,.g-table tbody th{min-height:var(--control-height);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body);vertical-align:middle}.g-table tbody th{color:var(--text);text-align:start;font-weight:600}.g-table tbody tr:last-child td,.g-table tbody tr:last-child th{border-bottom:0}.g-table th.g-table__end,.g-table td.g-table__end{text-align:end;font-variant-numeric:tabular-nums}.g-table .g-table__check{width:var(--control-height);padding:0 var(--space-2);text-align:center}.g-table__check .g-check{justify-content:center}.g-table__check input:focus-visible,.g-table__row--click:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-table__row--click{cursor:pointer}.g-table__row--click:hover{background:var(--surface-sunken)}.g-table tbody tr.g-table__row--selected,.g-table tbody tr.g-table__row--selected:hover{background:var(--accent-soft)}.g-table__row--click:focus-visible{box-shadow:inset var(--focus-ring)}.g-table__empty{padding:var(--space-6) var(--space-4)}.g-table__footer{border-top:1px solid var(--border)}.g-pager{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.g-pager__text{font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-muted);margin:0}.g-pager__actions{gap:var(--space-2);display:flex}.g-avatar{border-radius:var(--radius-pill);background:var(--avatar-learner);width:36px;height:36px;color:var(--avatar-on);font:600 var(--text-sm) / 1 var(--font-ui);-webkit-user-select:none;user-select:none;flex:none;place-items:center;display:inline-grid}.g-avatar--educator{background:var(--avatar-educator)}.g-avatar--admin{background:var(--avatar-admin)}.g-avatar--24{width:24px;height:24px;font-size:var(--text-xs)}.g-avatar--34{width:34px;height:34px}.g-avatar--48{width:48px;height:48px;font-size:var(--text-lg)}.g-avatar{overflow:hidden}.g-avatar img{object-fit:cover;width:100%;height:100%}.g-people{gap:var(--space-2);font-family:var(--font-ui);flex-direction:column;display:flex;position:relative}.g-people__label{font:600 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body)}.g-people__box{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.g-people__box:focus-within{box-shadow:var(--focus-ring)}.g-people__chips{margin:0;padding:0;list-style:none;display:contents}.g-people__chip{align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-1) 0 var(--space-1);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-soft-text);font:600 var(--text-sm) / 1 var(--font-ui);display:inline-flex}.g-people__chip--signedIn{background:var(--accent-soft);color:var(--accent-soft-text)}.g-people__chip--new{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-body)}.g-people__chip--alreadyAssigned{background:var(--surface-sunken);color:var(--text-muted)}.g-people__chip--rejected{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-line);color:var(--danger)}.g-people__status{font-weight:600}.g-people__footer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);color:var(--text-muted);font:500 var(--text-xs) / var(--leading-snug) var(--font-ui);margin:0}.g-people__remove{border-radius:var(--radius-pill);width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid;position:relative}.g-people__remove:before{content:"";position:absolute;inset:-10px}.g-people__remove:hover{background:var(--border)}.g-people__remove:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-people__input{min-width:14ch;min-height:32px;font:400 var(--text-md) / 1.4 var(--font-ui);color:var(--text);background:0 0;border:0;outline:0;flex:14ch;padding:0}.g-people__list{z-index:var(--z-menu);max-height:22rem;margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.g-people__list[hidden]{display:none}.g-people__option{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;display:flex}.g-people__option:hover{background:var(--surface-sunken)}.g-people__option--active{background:var(--accent-soft)}.g-people__who{flex-direction:column;min-width:0;display:flex}.g-people__who strong{font:600 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text)}.g-people__meta{font:400 var(--text-xs) / var(--leading-snug) var(--font-ui);color:var(--text-muted);overflow-wrap:anywhere}.g-people__mark{background:var(--saffron-soft);color:var(--saffron-soft-text);border-radius:var(--radius-sm)}.g-people__added{font:600 var(--text-xs) / 1 var(--font-ui);color:var(--accent);margin-left:auto}.g-people__empty{padding:var(--space-3);color:var(--text-muted);font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);margin:0}.g-people__live{clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.g-dialog__body:has(.g-people__list:not([hidden])){overflow:visible}.g-dialog__body .g-people__list{max-height:14rem}.g-step{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);font-family:var(--font-ui)}.g-step__head{align-items:center;gap:var(--space-3);display:flex}.g-step__badge{background:var(--accent);width:32px;height:32px;color:var(--accent-on);border-radius:var(--radius-pill);font:600 var(--text-sm) / 1 var(--font-ui);flex:none;place-items:center;display:inline-grid}.g-step__title{font:500 var(--text-xl) / var(--leading-snug) var(--font-display);color:var(--text);margin:0}.g-step__sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.g-step__body{margin-top:var(--space-4)}.g-flow{font-family:var(--font-ui)}.g-flow__list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:flex}.g-flow__step{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:2px solid var(--border);color:var(--text-muted);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);flex:1;display:flex}.g-flow__step.is-current{border-bottom-color:var(--accent);color:var(--text)}.g-flow__step.is-done{border-bottom-color:var(--accent-line);color:var(--text-body)}.g-flow__badge{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:24px;height:24px;font:600 var(--text-xs) / 1 var(--font-ui);flex:none;place-items:center;display:inline-grid}.is-current .g-flow__badge{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.is-done .g-flow__badge{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-soft-text)}.g-flow__compact{color:var(--text-body);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);margin:0;display:none}@media (width<40rem){.g-flow__list{display:none}.g-flow__compact{display:block}}.g-flow-panel{animation:g-flow-forward var(--dur-slow) var(--ease) both}.g-flow-panel--back{animation-name:g-flow-back}@keyframes g-flow-forward{0%{opacity:0;transform:translate(24px)}}@keyframes g-flow-back{0%{opacity:0;transform:translate(-24px)}}@keyframes g-flow-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.g-flow-panel,.g-flow-panel--back{animation-name:g-flow-fade}}.g-success-check{color:var(--success);stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.g-success-check__ring,.g-success-check__tick{stroke-dasharray:1;stroke-dashoffset:0;animation:g-success-draw var(--dur-base) var(--ease-spring) both}.g-success-check__tick{animation-delay:var(--dur-fast)}@keyframes g-success-draw{0%{stroke-dashoffset:1px}}.g-dialog-layer{z-index:var(--z-overlay);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.g-dialog-layer--drawer{justify-content:flex-end;align-items:stretch;padding:0}.g-dialog-backdrop{background:var(--scrim);cursor:default;animation:g-dialog-fade var(--dur-slow) var(--ease);border:0;position:absolute;inset:0}@keyframes g-dialog-fade{0%{opacity:0}}.g-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:100%;box-shadow:var(--shadow-float);font-family:var(--font-ui);animation:g-dialog-rise var(--dur-slow) var(--ease);flex-direction:column;display:flex;position:relative}@keyframes g-dialog-rise{0%{opacity:0;transform:translateY(8px)scale(.97)}}.g-dialog--lg{max-width:56rem}.g-dialog--drawer{max-width:480px;height:100%;animation:g-dialog-slide var(--dur-slow) var(--ease);border-width:0 0 0 1px;border-radius:0}@keyframes g-dialog-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.g-dialog__head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.g-dialog__title{font:500 var(--text-xl) / var(--leading-snug) var(--font-display);color:var(--text);margin:0}.g-dialog__close{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.g-dialog__close:hover{background:var(--surface-sunken)}.g-dialog__close:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-dialog__body{padding:var(--space-5);color:var(--text-body);font-size:var(--text-sm);flex:1;overflow-y:auto}.g-dialog__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.g-chart{font-family:var(--font-ui);margin:0}.g-chart__svg{width:100%;height:auto;display:block}.g-chart__grid{stroke:var(--border);stroke-width:1px}.g-chart__bar{fill:var(--accent-line)}.g-chart__bar--last{fill:var(--accent)}.g-chart__tick,.g-chart__x{fill:var(--text-muted);font:400 11px var(--font-ui)}.g-chart__value{fill:var(--accent);font:600 13px var(--font-ui)}.g-chart__sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.g-funnel{gap:var(--space-3);font-family:var(--font-ui);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.g-funnel__row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,190px) minmax(0,1fr) auto;display:grid}.g-funnel__label{gap:var(--space-1);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-body);flex-direction:column;display:flex}.g-funnel__note{padding:2px var(--space-2);background:var(--warning-soft);border-radius:var(--radius-pill);font:600 var(--text-xs) / 1.3 var(--font-ui);color:var(--warning);align-self:flex-start}.g-funnel__track{background:var(--surface-sunken);border-radius:var(--radius-sm);height:26px;display:block;overflow:hidden}.g-funnel__fill{background:var(--accent-line);border-radius:var(--radius-sm);height:100%;transition:width var(--dur-slow) var(--ease);display:block}.g-funnel__row--drop .g-funnel__fill{background:var(--warning-line)}.g-funnel__count{min-width:4ch;font:600 var(--text-sm) / 1 var(--font-ui);color:var(--text);text-align:end;font-variant-numeric:tabular-nums}.g-funnel__row--drop .g-funnel__count{color:var(--warning)}@media (width<=480px){.g-funnel__row{grid-template-columns:minmax(0,1fr) auto}.g-funnel__track{order:3;grid-column:1/-1}}.g-draglist{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.g-draglist__row{border-radius:var(--radius-md);transition:background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);position:relative}.g-draglist__row[data-dragging]{background:var(--surface-sunken);box-shadow:0 0 0 1px var(--accent)}.g-draglist__row[data-drop]:before{content:"";background:var(--accent);border-radius:var(--radius-pill);pointer-events:none;height:2px;position:absolute;inset-inline:0}.g-draglist__row[data-drop=before]:before{top:calc(var(--space-1) * -1 - 1px)}.g-draglist__row[data-drop=after]:before{bottom:calc(var(--space-1) * -1 - 1px)}.g-draglist__grip{width:var(--control-height);height:var(--control-height);color:var(--text-subtle);border-radius:var(--radius-md);cursor:grab;touch-action:none;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.g-draglist__grip:hover{color:var(--text-muted);background:var(--surface-sunken)}.g-draglist__grip:active{cursor:grabbing}.g-draglist__grip[aria-pressed=true]{color:var(--accent-on);background:var(--accent)}.g-draglist__grip:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-draglist__sr{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.g-draglist__row,.g-draglist__grip{transition:none}}.g-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.g-block--selected{border-color:var(--accent-decor);box-shadow:0 0 0 1px var(--accent-decor)}.g-block--error{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.g-block__head{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);display:flex}.g-block__label{font:600 var(--text-xs) / var(--leading-snug) var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.g-block__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.g-block__icon{width:var(--control-height);height:var(--control-height);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.g-block__icon:hover{color:var(--text);background:var(--surface-sunken)}.g-block__icon:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-block__error{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--danger);background:var(--danger-soft);border-bottom:1px solid var(--danger-line);margin:0;display:flex}.g-block__body{padding:var(--space-4)}.g-swatches{gap:var(--space-3);flex-wrap:wrap;display:flex}.g-swatch{align-items:center;gap:var(--space-1);min-width:var(--control-height);cursor:pointer;flex-direction:column;display:inline-flex;position:relative}.g-swatch__input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.g-swatch__chip{width:var(--control-height);height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex;position:relative}.g-swatch__chip--forest{background:var(--cover-forest)}.g-swatch__chip--sand{background:var(--cover-sand)}.g-swatch__chip--sky{background:var(--cover-sky)}.g-swatch__chip--stone{background:var(--cover-stone)}.g-swatch--on .g-swatch__chip{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.g-swatch__check{box-sizing:content-box;color:var(--accent-on);background:var(--accent);border-radius:var(--radius-pill);padding:3px}.g-swatch__input:focus-visible+.g-swatch__chip{box-shadow:var(--focus-ring)}.g-swatch--on .g-swatch__input:focus-visible+.g-swatch__chip{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent), 0 0 0 7px var(--accent-ring)}.g-swatch__name{font:500 var(--text-xs) / var(--leading-snug) var(--font-ui);color:var(--text-muted)}.g-swatch--on .g-swatch__name{color:var(--text);font-weight:600}.g-tile{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:relative}.g-tile--reading{color:var(--text-muted);background:var(--surface-sunken)}.g-tile--video{color:var(--accent-soft-text);background:var(--accent-soft)}.g-tile--code{color:var(--code-text);background:var(--code-bg)}.g-tile--quiz{color:var(--warning);background:var(--warning-soft)}.g-tile__sr{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.g-choice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);list-style:none;position:relative}.g-choice:hover{background:var(--surface-hover);border-color:var(--border-strong)}.g-choice__label{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.g-choice--disabled{opacity:.55}.g-choice--disabled .g-choice__label{cursor:not-allowed}.g-choice__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.g-choice__input:disabled{cursor:not-allowed}.g-choice__icon{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-muted);transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease);flex:none;place-items:center;display:grid}.g-choice__text{gap:var(--space-1);flex:1;min-width:0;display:grid}.g-choice__title{color:var(--text);font:600 var(--text-md) / var(--leading-snug) var(--font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-choice__meta{color:var(--text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-choice__check{width:var(--space-6);height:var(--space-6);border:2px solid var(--border-strong);border-radius:var(--radius-pill);color:#0000;transition:background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);flex:none;place-items:center;display:grid}.g-choice[data-selected=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.g-choice[data-selected=true] .g-choice__icon{background:var(--accent);color:var(--accent-on)}.g-choice[data-selected=true] .g-choice__check{background:var(--accent);border-color:var(--accent);color:var(--accent-on);animation:g-choice-pop var(--dur-slow) var(--ease)}.g-choice:has(.g-choice__input:focus-visible){box-shadow:var(--focus-ring)}@keyframes g-choice-pop{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}.g-iconbtn{width:calc(var(--control-height) - var(--space-2));height:calc(var(--control-height) - var(--space-2));border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.g-iconbtn:hover:not(:disabled),.g-iconbtn[aria-expanded=true]{background:var(--surface-hover);color:var(--text)}.g-iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-iconbtn:disabled{cursor:not-allowed;opacity:.5}.g-iconbtn--danger{color:var(--danger)}.g-iconbtn--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.g-iconbtn[data-tip]:hover:after,.g-iconbtn[data-tip]:focus-visible:after{content:attr(data-tip);z-index:var(--z-menu);bottom:calc(100% + var(--space-1));padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--text);color:var(--bg);font:500 var(--text-xs) / var(--leading-snug) var(--font-ui);white-space:nowrap;pointer-events:none;position:absolute;left:50%;translate:-50%}.g-iconbtn[aria-expanded=true]:after{display:none}.g-menu{display:inline-block;position:relative}.g-menu__trigger{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.g-menu__trigger:hover,.g-menu__trigger[aria-expanded=true]{background:var(--surface-sunken)}.g-menu__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-menu__panel{z-index:var(--z-menu);min-width:12rem;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);font-family:var(--font-ui);animation:g-menu-in var(--dur-base) var(--ease);flex-direction:column;display:flex;position:absolute}.g-menu__panel--bottom{top:calc(100% + var(--space-1))}.g-menu__panel--top{bottom:calc(100% + var(--space-1))}.g-menu__panel--start{left:0}.g-menu__panel--end{right:0}@keyframes g-menu-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.g-menu__header{align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-1);flex-direction:column;display:flex}.g-menu__item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text);font:500 var(--text-sm) / var(--leading-snug) var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.g-menu__item:hover,.g-menu__item:focus,.g-menu__item:active{background:var(--surface-sunken);outline:none}.g-menu__item:focus-visible{box-shadow:var(--focus-ring)}.g-menu__item--danger{color:var(--danger)}.g-menu__item[aria-disabled=true]{cursor:not-allowed;opacity:.5;background:0 0}.g-menu__icon{color:var(--text-muted);flex:none;display:inline-flex}.g-menu__item--danger .g-menu__icon{color:inherit}.g-menu__label{flex:1}.g-menu__hint{color:var(--text-subtle);font-size:var(--text-xs)}.g-menu__separator{height:1px;margin:var(--space-1) 0;background:var(--border)}.g-user-card{width:100%;display:block}.g-user-card .g-menu__panel{right:0}.g-user-card__trigger{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--chrome-raised);color:var(--chrome-text);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);border:0;display:flex}.g-user-card__trigger:hover,.g-user-card__trigger[aria-expanded=true]{background:var(--chrome-hover)}.g-user-card__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-user-card__text{flex-direction:column;flex:1;min-width:0;display:flex}.g-user-card__name,.g-user-card__detail{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.g-user-card__name{color:var(--chrome-text-strong);font-weight:600;font-size:var(--text-sm);line-height:var(--leading-snug)}.g-user-card__detail{color:var(--chrome-text);font-size:var(--text-xs);line-height:var(--leading-snug)}.g-user-card__chevron{flex:none;transform:rotate(180deg)}.g-user-card__hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.g-user-card__head-name{color:var(--text);font-weight:600;font-size:var(--text-sm);overflow-wrap:anywhere}.g-user-card__head-detail{color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.g-app-shell{background:var(--bg);min-height:100dvh}.g-app-shell__content{min-width:0}.g-app-shell__bar{z-index:var(--z-sticky);justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) clamp(var(--space-4), 4vw, var(--space-12));border-bottom:1px solid var(--border);background:var(--bg);display:flex;position:sticky;top:0}.g-app-shell .g-app-shell__menu{flex:none}.g-app-shell__scrim{z-index:var(--z-drawer);background:var(--scrim);border:0;padding:0;position:fixed;inset:0}.g-app-shell__sidebar>.g-sidebar{box-sizing:border-box;height:100%}@media (width>=64rem){.g-app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.g-app-shell__sidebar{height:100dvh;position:sticky;top:0}.g-app-shell .g-app-shell__menu,.g-app-shell__scrim{display:none}}@media (width<64rem){.g-app-shell__sidebar{inset-block:0;z-index:var(--z-drawer);visibility:hidden;width:min(85vw,18rem);transition:transform var(--dur-base) var(--ease), visibility var(--dur-base);position:fixed;left:0;transform:translate(-100%)}.g-app-shell--open .g-app-shell__sidebar{visibility:visible;transform:none}}@media print{.g-app-shell{display:block}.g-app-shell__sidebar,.g-app-shell__bar,.g-app-shell__scrim{display:none}}.g-page{gap:var(--space-6);max-width:var(--page-width);padding:var(--space-8) clamp(var(--space-4), 4vw, var(--space-12)) var(--space-16);flex-direction:column;margin-inline:auto;display:flex}.g-page--reading{--page-width:var(--width-reading)}.g-page--default{--page-width:var(--width-default)}.g-page--wide{--page-width:var(--width-wide)}.g-page__main,.g-page__aside{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}@media (width>=64rem){.g-page--aside{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}.g-page__aside{top:calc(var(--control-height) + var(--space-8));position:sticky}}.g-page-header{gap:var(--space-3);flex-direction:column;display:flex}.g-page-header__row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.g-page-header__text{gap:var(--space-2);flex-direction:column;flex:24rem;min-width:0;display:flex}.g-page-header__eyebrow{font:600 var(--text-xs) / 1 var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin:0}.g-page-header__title{font:500 var(--text-3xl) / var(--leading-tight) var(--font-display);color:var(--text);margin:0}.g-page-header__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.g-page-header__lead{max-width:60ch;font:400 var(--text-md) / var(--leading-body) var(--font-ui);color:var(--text-muted);margin:0}.g-page-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<40rem){.g-page-header__title{font-size:var(--text-2xl)}}.g-page-skeleton__header{gap:var(--space-3);flex-direction:column;display:flex}.g-page-skeleton__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.g-filter-bar{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.g-filter-bar>:not(.g-filter-bar__end){flex:12rem;max-width:18rem}.g-filter-bar>.g-segmented{flex:none;max-width:none}.g-filter-bar>:first-child:not(.g-filter-bar__end){flex-grow:2;max-width:none}.g-filter-bar__end{align-items:baseline;gap:var(--space-3);margin-left:auto;display:flex}.g-filter-bar__count{font:400 var(--text-sm) / var(--leading-snug) var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.g-segmented{gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-md);display:inline-flex}.g-segmented__btn{min-height:calc(var(--control-height) - var(--space-2));padding:0 var(--space-3);border-radius:calc(var(--radius-md) - var(--space-1));font:600 var(--text-sm) / 1 var(--font-ui);color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0}.g-segmented__btn:hover{color:var(--text)}.g-segmented__btn[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.g-segmented__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-media{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));margin:0;padding:0;list-style:none;display:grid}.g-media__tile{width:100%;min-height:var(--control-height);font:inherit;text-align:start;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base);flex-direction:column;padding:0;display:flex;overflow:hidden}.g-media__tile:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.g-media__tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.g-media__tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.g-media__preview{justify-content:center;align-items:center;gap:var(--space-1);width:100%;height:5.5rem;color:var(--text-muted);background:var(--surface-sunken);flex-direction:column;display:flex;overflow:hidden}.g-media__preview--large{border-radius:var(--radius-md);height:10rem}.g-media__preview--video{color:var(--accent-soft-text);background:var(--accent-soft)}.g-media__preview--audio{color:var(--warning);background:var(--warning-soft)}.g-media__preview img{object-fit:cover;width:100%;height:100%}.g-media__kind{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.g-media__name{padding:var(--space-2) var(--space-3) 0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.g-media__meta{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.g-stagger>*{animation:g-rise var(--dur-base) var(--ease) both;animation-delay:calc(min(var(--i,0), 7) * 30ms)}@keyframes g-rise{0%{opacity:0;transform:translateY(6px)}}
