:root{--gt-green-50:#e6f4ef;--gt-green-100:#c2e5d8;--gt-green-200:#8fd0bb;--gt-green-300:#54b999;--gt-green-400:#1f9e77;--gt-green-500:#018156;--gt-green-600:#017049;--gt-green-700:#016547;--gt-green-800:#014a34;--gt-green-900:#013525;--gt-blue-200:#a3c2ff;--gt-blue-300:#6d9bff;--gt-blue-500:#2771ff;--gt-blue-600:#1b57d6;--gt-blue-700:#1543a8;--gt-gray-0:#fff;--gt-gray-50:#fafafa;--gt-gray-100:#eee;--gt-gray-200:#e0e0e0;--gt-gray-300:#dadada;--gt-gray-400:#bdbdbd;--gt-gray-500:#8a8a8a;--gt-gray-600:#616161;--gt-gray-700:#424242;--gt-gray-800:#303030;--gt-gray-900:#1c1c1c;--gt-success:#018156;--gt-success-soft:#e6f4ef;--gt-success-text:#016547;--gt-warning:#b26a00;--gt-warning-soft:#fef3c7;--gt-warning-text:#8a5200;--gt-error:#dc2626;--gt-error-soft:#fdecea;--gt-error-text:#b91c1c;--gt-info:#2771ff;--gt-info-soft:#eaf1ff;--gt-info-text:#1543a8;--gt-amber-700:#8a5200;--gt-gold:#fdc700;--gt-purple:#7d3c98;--gt-gold-text:#8a6d00;--gt-ucsc-blue:#003c6c;--gt-canvas:var(--gt-gray-100);--gt-surface:var(--gt-gray-0);--gt-surface-muted:var(--gt-gray-50);--gt-surface-sunken:var(--gt-gray-100);--gt-text-primary:var(--gt-gray-800);--gt-text-secondary:var(--gt-gray-700);--gt-text-tertiary:var(--gt-gray-600);--gt-text-inverse:var(--gt-gray-0);--gt-text-link:var(--gt-blue-500);--gt-border:var(--gt-gray-300);--gt-border-strong:var(--gt-gray-400);--gt-border-subtle:var(--gt-gray-200);--gt-primary:var(--gt-green-500);--gt-primary-hover:var(--gt-green-700);--gt-primary-soft:var(--gt-green-50);--gt-accent:var(--gt-blue-500);--gt-focus-ring:0 0 0 2px var(--gt-gray-0), 0 0 0 4px var(--gt-blue-500);--gt-focus-ring-tight:0 0 0 2px var(--gt-blue-500);--gt-scrim:#00000080;--gt-sched-ta-soft:var(--gt-primary-soft);--gt-sched-ta-text:var(--gt-green-700);--gt-sched-review-soft:#7d3c981f;--gt-sched-review-text:var(--gt-purple);--gt-sched-meeting-soft:var(--gt-info-soft);--gt-sched-meeting-text:var(--gt-info-text);--gt-sched-lecture-soft:var(--gt-gray-100);--gt-sched-lecture-text:var(--gt-gray-700);--gt-sched-oh-soft:var(--gt-surface);--gt-sched-oh-text:var(--gt-gray-700);--gt-sched-oh-border:var(--gt-border-strong);--gt-sched-deadline-text:var(--gt-warning-text);--gt-sched-now:var(--gt-primary);--gt-skeleton-shine:#f5f5f5;--gt-gold-soft:#fdc7002e;--gt-purple-soft:#7d3c981f;--gt-opacity-disabled:.45;--gt-border-control:#858585;--gt-border-control-hover:var(--gt-gray-600);--gt-chart-context:var(--gt-gray-400);--gt-avatar-1:var(--gt-green-500);--gt-avatar-2:var(--gt-blue-600);--gt-avatar-3:var(--gt-amber-700);--gt-avatar-4:var(--gt-purple);--gt-avatar-5:var(--gt-green-700);--gt-avatar-6:var(--gt-blue-700);--gt-dark-surface:#14291f;--gt-dark-fill:#ffffff14;--gt-dark-fill-hover:#ffffff24;--gt-dark-hairline:#ffffff1f;--gt-dark-text:#f4f7f5;--gt-dark-text-muted:#ffffffbd;--gt-dark-text-faint:#ffffff9e;--gt-dark-link:var(--gt-blue-300);--gt-dark-accent-soft:#2771ff3d;--gt-dark-accent-text:var(--gt-blue-200);--gt-dark-scrim:#050e0ab8;--gt-dark-shadow-modal:0 20px 60px #0000008c;--gt-new-dot:var(--gt-info);--gt-new-dot-ring:var(--gt-surface);--gt-font-sans:"Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gt-font-mono:"Fira Code", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gt-weight-regular:400;--gt-weight-medium:500;--gt-weight-semibold:600;--gt-weight-bold:700;--gt-text-caption:12px;--gt-text-body:14px;--gt-text-body-lg:16px;--gt-text-h3:20px;--gt-text-h2:24px;--gt-text-h1:32px;--gt-text-display:40px;--gt-leading-tight:1.2;--gt-leading-snug:1.4;--gt-leading-normal:1.5;--gt-leading-loose:1.7;--gt-tracking-tight:-.01em;--gt-tracking-normal:0;--gt-tracking-wide:.03em;--gt-tracking-caps:.5px;--gt-space-xs:4px;--gt-space-sm:8px;--gt-space-md:16px;--gt-space-lg:24px;--gt-space-xl:32px;--gt-space-xxl:60px;--gt-radius-sm:7px;--gt-radius-md:10px;--gt-radius-lg:20px;--gt-radius-pill:999px;--gt-shadow-card:0 0 2.61px #00000040;--gt-shadow-hairline:0 0 4px #00000014;--gt-shadow-hover:0 2px 12px #0000001a;--gt-shadow-pop:0 4px 12px #00000026;--gt-shadow-modal:0 20px 60px #0000004d;--gt-transition-fast:.2s ease;--gt-transition-medium:.3s ease;--gt-z-base:1;--gt-z-dropdown:10;--gt-z-modal:100;--gt-z-sidebar:99;--gt-z-tooltip:1000;--gt-z-picker:1100;--gt-z-palette:2100;--gt-container:543px;--gt-sidebar-w:256px;--gt-sidebar-collapsed-w:64px}@keyframes gt-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gt-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes gt-fade-in{0%{opacity:0}}@keyframes gt-spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--gt-text-primary);background-color:var(--gt-surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}a{color:var(--gt-text-link);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}html,body{min-height:100vh;margin:0}button{background-color:var(--gt-surface-muted);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{box-shadow:var(--gt-focus-ring);outline:2px solid #0000!important}.gt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}::view-transition-old(root){animation-duration:.2s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}#root{min-height:100vh}.gt-new-dot{background:var(--gt-new-dot);vertical-align:middle;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gt-new-dot--ring{box-shadow:0 0 0 2px var(--gt-new-dot-ring,var(--gt-surface))}.gt-tooltip{display:inline-flex;position:relative}.gt-tooltip__trigger{border-radius:4px;align-items:center;display:inline-flex}.gt-tooltip__trigger:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-tooltip__bubble{z-index:var(--gt-z-tooltip);border-radius:var(--gt-radius-sm);background:var(--gt-gray-900);color:var(--gt-text-inverse);font-family:var(--gt-font-sans);font-size:var(--gt-text-caption);font-weight:var(--gt-weight-regular);line-height:var(--gt-leading-snug);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--gt-transition-fast);padding:5px 10px;position:absolute}.gt-tooltip:hover .gt-tooltip__bubble,.gt-tooltip__trigger:focus-visible+.gt-tooltip__bubble{opacity:1}.gt-tooltip:has(:focus-visible) .gt-tooltip__bubble{opacity:1}.gt-tooltip__bubble--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gt-tooltip__bubble--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.gt-tooltip__bubble--left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.gt-tooltip__bubble--right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.gt-tooltip.gt-tooltip--dismissed .gt-tooltip__bubble{opacity:0}@media (prefers-reduced-motion:reduce){.gt-tooltip__bubble{transition:none}}.gt-icon-button{box-sizing:border-box;border-radius:var(--gt-radius-sm);color:var(--gt-text-secondary);cursor:pointer;transition:background-color var(--gt-transition-fast), border-color var(--gt-transition-fast), color var(--gt-transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.gt-icon-button:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.gt-icon-button:active:not(:disabled){transform:translateY(.5px)}.gt-icon-button:disabled{opacity:var(--gt-opacity-disabled);cursor:not-allowed}.gt-icon-button--sm{width:28px;height:28px}.gt-icon-button--md{width:36px;height:36px}.gt-icon-button--lg{width:44px;height:44px}.gt-icon-button--ghost:hover:not(:disabled){background:var(--gt-gray-100);color:var(--gt-text-primary)}.gt-icon-button--solid{background:var(--gt-gray-100)}.gt-icon-button--solid:hover:not(:disabled){background:var(--gt-border);color:var(--gt-text-primary)}.gt-icon-button--danger{color:var(--gt-error)}.gt-icon-button--danger:hover:not(:disabled){background:var(--gt-error-soft);color:var(--gt-error-text)}.gt-icon-button[aria-pressed=true]{background:var(--gt-primary-soft);border-color:var(--gt-primary);color:var(--gt-primary-hover)}.gt-icon-tip{display:inline-flex;position:relative}@media (width<=767px){.gt-icon-button{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){.gt-icon-button{transition:none}}.gt-modal-backdrop{z-index:var(--gt-z-modal);box-sizing:border-box;background-color:var(--gt-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:16px;animation:.15s ease-out gt-modal-fade-in;display:flex;position:fixed;inset:0}.gt-modal-backdrop--closing{pointer-events:none;animation:.15s ease-out forwards gt-modal-fade-out}.gt-modal-backdrop--inline{z-index:auto;min-height:100%;animation:none;position:relative;inset:auto}@keyframes gt-modal-fade-in{0%{opacity:0}}@keyframes gt-modal-fade-out{to{opacity:0}}.gt-modal{box-sizing:border-box;background:var(--gt-surface);width:100%;max-height:88vh;box-shadow:var(--gt-shadow-modal);font-family:var(--gt-font-sans);color:var(--gt-text-primary);border-radius:12px;outline:none;flex-direction:column;display:flex;position:relative}.gt-modal--sm{max-width:400px}.gt-modal--md{max-width:560px}.gt-modal--lg{max-width:760px}.gt-modal__head{flex-shrink:0;padding:20px 56px 0 24px;position:relative}.gt-modal__title{font-size:18px;font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);margin:0;line-height:1.3}.gt-modal__subtitle{color:var(--gt-text-secondary);margin:4px 0 0;font-size:13px}.gt-modal__close{position:absolute;top:12px;right:12px}.gt-modal__tabs{margin-top:16px}.gt-modal__body{overscroll-behavior:contain;min-height:0;font-size:var(--gt-text-body);flex:auto;padding:16px 24px 20px;overflow-y:auto}.gt-modal__body:focus-visible{box-shadow:inset var(--gt-focus-ring-tight)}.gt-modal__footer{justify-content:flex-end;gap:var(--gt-space-sm);border-top:1px solid var(--gt-border-subtle);flex-wrap:wrap;flex-shrink:0;padding:14px 24px;display:flex}.gt-modal--message .gt-modal__head{text-align:center;padding:32px 48px 0}.gt-modal--message .gt-modal__title{font-size:1.75rem}.gt-modal--message .gt-modal__subtitle{font-size:.875rem}.gt-modal--message .gt-modal__body{padding:16px 32px 8px}.gt-modal--message .gt-modal__footer{border-top:none;padding:16px 32px 28px}.gt-modal-backdrop--dark{background-color:var(--gt-dark-scrim)}.gt-modal--dark{background:var(--gt-dark-surface);color:var(--gt-dark-text);box-shadow:var(--gt-dark-shadow-modal);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.gt-modal--dark .gt-modal__title{color:var(--gt-dark-text)}.gt-modal--dark .gt-modal__subtitle,.gt-modal--dark .gt-modal__close{color:var(--gt-dark-text-muted)}.gt-modal--dark .gt-modal__close:hover:not(:disabled){background:var(--gt-dark-fill-hover);color:var(--gt-dark-text)}.gt-modal--dark .gt-modal__footer{border-top-color:var(--gt-dark-hairline)}.gt-modal--dark .gt-md{color:var(--gt-dark-text)}.gt-modal--dark .gt-md__code{background:var(--gt-dark-fill);color:var(--gt-dark-text)}.gt-modal--dark .gt-md__link{color:var(--gt-dark-link)}.gt-modal--dark .gt-skeleton{background-color:var(--gt-dark-fill);background-image:linear-gradient(90deg, var(--gt-dark-fill) 25%, var(--gt-dark-fill-hover) 37%, var(--gt-dark-fill) 63%)}.gt-modal--dark .gt-empty .gt-empty__icon{background:var(--gt-dark-fill);color:var(--gt-dark-text-muted)}.gt-modal--dark .gt-empty .gt-empty__title{color:var(--gt-dark-text)}.gt-modal--dark .gt-empty .gt-empty__desc{color:var(--gt-dark-text-muted)}.gt-modal--dark .gt-badge--info{background-color:var(--gt-dark-accent-soft);color:var(--gt-dark-accent-text)}@media (width<=767px){.gt-modal-backdrop{padding:12px}.gt-modal{max-height:calc(100vh - 24px)}.gt-modal__head{padding:16px 56px 0 16px}.gt-modal__body{padding:14px 16px 16px}.gt-modal__footer{padding:12px 16px}.gt-modal__footer .gt-button{flex:auto}}@media (prefers-reduced-motion:reduce){.gt-modal-backdrop{animation:.15s ease-out gt-modal-fade-in}.gt-modal-backdrop--closing{opacity:0;animation:none}}.gt-empty{justify-content:center;align-items:center;gap:var(--gt-space-sm);padding:var(--gt-space-xxl) var(--gt-space-lg);text-align:center;font-family:var(--gt-font-sans);flex-direction:column;display:flex}.gt-empty--compact{padding:var(--gt-space-lg)}.gt-empty__icon{width:64px;height:64px;margin-bottom:var(--gt-space-xs);background-color:var(--gt-primary-soft);color:var(--gt-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.gt-empty__title{font-size:1.25rem;font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);margin:0}.gt-empty__desc{max-width:400px;font-size:var(--gt-text-body);color:var(--gt-text-secondary);margin:0}.gt-empty__action{justify-content:center;gap:var(--gt-space-sm);margin-top:var(--gt-space-md);flex-wrap:wrap;display:flex}.gt-empty--card{box-sizing:border-box;gap:6px;min-height:176px;padding:28px 16px}.gt-empty--card .gt-empty__icon{background:var(--gt-surface-sunken);width:36px;height:36px;color:var(--gt-text-tertiary);margin-bottom:4px}.gt-empty--card .gt-empty__title{font-size:13px}.gt-empty--card .gt-empty__desc,.gt-empty__hint{max-width:320px;font-size:var(--gt-text-caption);line-height:var(--gt-leading-snug);color:var(--gt-text-tertiary);margin:0}.gt-empty--card .gt-empty__action{margin-top:6px}.gt-empty--quiet,.gt-empty--error{text-align:left;align-items:flex-start;gap:4px;padding:12px 0}.gt-empty--quiet .gt-empty__title,.gt-empty--error .gt-empty__title{font-size:12.5px;font-weight:var(--gt-weight-medium);color:var(--gt-text-secondary)}.gt-empty--quiet .gt-empty__desc,.gt-empty--error .gt-empty__desc{font-size:var(--gt-text-caption);color:var(--gt-text-tertiary)}.gt-empty--quiet .gt-empty__action,.gt-empty--error .gt-empty__action{justify-content:flex-start;margin-top:2px}.gt-empty__retry{font-family:var(--gt-font-sans);font-size:12.5px;font-weight:var(--gt-weight-medium);color:var(--gt-text-link);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:0;display:inline-flex}.gt-empty__retry:hover{text-decoration:underline}.gt-empty__retry:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-skeleton{background-color:#eee;background-image:linear-gradient(90deg, #eee 25%, var(--gt-skeleton-shine) 37%, #eee 63%);background-size:400% 100%;border-radius:7px;animation:1.4s linear infinite skeleton-shimmer}@media (prefers-reduced-motion:reduce){.gt-skeleton{animation:none}}.gt-skeleton{vertical-align:middle;flex-shrink:0;display:inline-block}.gt-whats-new .gt-modal__body{padding-top:6px}.gt-release-feed{font-family:var(--gt-font-sans);flex-direction:column;display:flex}.gt-release{border-top:1px solid var(--gt-border-subtle);padding:18px 0 20px}.gt-release:first-child{border-top:none;padding-top:10px}.gt-release:last-child{padding-bottom:6px}.gt-release__head{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 4px;display:flex}.gt-release__date{font-size:15px;font-weight:var(--gt-weight-semibold);letter-spacing:var(--gt-tracking-tight);color:var(--gt-text-primary);margin:0;line-height:1.35}.gt-release__version{font-family:var(--gt-font-mono);font-size:12px;font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary)}.gt-release__marker{margin-left:2px}.gt-release__group{margin-top:12px}.gt-release__label{font-size:11px;font-weight:var(--gt-weight-semibold);letter-spacing:var(--gt-tracking-wide);text-transform:uppercase;color:var(--gt-text-tertiary);margin:0 0 3px}.gt-release__group .gt-md{font-size:13.5px;line-height:1.55}.gt-release__group .gt-md ul{margin:0;padding-left:20px}.gt-release__group .gt-md li{margin:3px 0}.gt-release__group .gt-md li::marker{color:var(--gt-text-tertiary)}.gt-release__group .gt-md__code{font-size:12px}.gt-release-feed__ghost{border-top:1px solid var(--gt-border-subtle);flex-direction:column;gap:9px;padding:16px 0 22px;display:flex}.gt-release-feed__ghost:first-of-type{border-top:none;padding-top:12px}.gt-release-feed__ghost-head{align-items:center;gap:10px;margin-bottom:2px;display:flex}.gt-release-feed__ghost-head .gt-skeleton{display:inline-block}.gt-release-feed--failed .gt-empty,.gt-release-feed--empty .gt-empty{min-height:196px}.gt-release-feed--dark .gt-release,.gt-release-feed--dark .gt-release-feed__ghost{border-top-color:var(--gt-dark-hairline)}.gt-release-feed--dark .gt-release__date{color:var(--gt-dark-text)}.gt-release-feed--dark .gt-release__version{color:var(--gt-dark-text-muted)}.gt-release-feed--dark .gt-release__label{color:var(--gt-dark-text-faint)}.gt-release-feed--dark .gt-release__group .gt-md li::marker{color:var(--gt-dark-text-muted)}@media (width<=767px){.gt-release{padding:16px 0 18px}.gt-release__group .gt-md{font-size:14px}}.landing-header{z-index:var(--gt-z-sidebar);background:#0c1f18;padding:0;transition:padding .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 0 auto}.landing-header__inner{will-change:max-width, padding, border-radius;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1800px;margin:0 auto;padding:14px clamp(20px,5vw,48px);transition:max-width .38s cubic-bezier(.4,0,.2,1),margin .38s cubic-bezier(.4,0,.2,1),padding .38s cubic-bezier(.4,0,.2,1),border-radius .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1),box-shadow .38s cubic-bezier(.4,0,.2,1);display:flex}.landing-header__logo{flex-shrink:0;align-items:center;display:inline-flex}.landing-header__logo img{width:auto;height:48px;transition:height .38s cubic-bezier(.4,0,.2,1);display:block}.landing-header__logo:focus-visible{border-radius:4px}.landing-header__nav{align-items:center;gap:16px;display:flex}.landing-header__link{color:#ffffffd1;padding:8px 4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.landing-header__link:hover{color:#fff}.landing-header__link:focus-visible{border-radius:4px}.landing-header__tab{cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:0;line-height:1.5;display:inline-flex;position:relative}.landing-header__tab:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-header__tab-icon{flex-shrink:0;display:inline-flex;position:relative}.landing-header__tab-icon .gt-new-dot{position:absolute;top:-3px;right:-4px}.landing-header__tab-icon .gt-new-dot--ring{box-shadow:0 0 0 2px #0c1f18}.landing-header__tab-text{white-space:nowrap}.landing-header__btn{white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:9px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition-property:background,transform,border-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.landing-header__btn--ghost{color:#fff;background:0 0;border:1px solid #0000}.landing-header__btn--ghost:hover{color:#fff;background:0 0}.landing-header__btn--primary{color:#fff;background:#018156;border:1px solid #0000}.landing-header__btn--primary:hover{color:#fff;background:#016547;transform:translateY(-1px)}.landing-header__btn--primary:active{transform:translateY(0)}.landing-header--scrolled{background:0 0;padding:12px 16px}.landing-header--scrolled .landing-header__inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1f18d1;border-radius:999px;max-width:960px;margin:0 auto;padding:10px 22px 10px 28px;box-shadow:0 10px 30px #00000047}.landing-header--scrolled .landing-header__logo img{height:38px}@media (width<=768px){.landing-header__inner{gap:0;padding:16px}.landing-header__logo img{width:auto;height:34px}.landing-header__nav{gap:4px;margin-left:auto}.landing-header__link{padding:6px 8px;font-size:12px}.landing-header__btn{padding:7px 12px;font-size:12px}.landing-header__btn--primary{padding-right:16px}.landing-header--scrolled .landing-header__logo img{height:30px}.landing-header--scrolled .landing-header__inner{padding:10px 16px 10px 20px}}@media (width<=400px){.landing-header__inner{gap:0;padding:14px 12px}.landing-header__logo img{height:28px}.landing-header__nav{gap:2px}.landing-header__link{padding:6px;font-size:11px}.landing-header__btn{padding:7px 9px;font-size:11px}.landing-header__btn--primary{padding-right:13px}.landing-header__tab{padding:6px 5px}.landing-header__tab:after{width:calc(100% + 2px)}.landing-header__tab-text{display:none}.landing-header--scrolled{padding:10px 8px}.landing-header--scrolled .landing-header__inner{padding:6px 10px}}@media (width<=560px){.landing-header__link--features{display:none}}@media (width<=360px){.landing-header__inner{padding:12px 10px}.landing-header__logo img,.landing-header--scrolled .landing-header__logo img{height:22px}.landing-header__nav{gap:1px}.landing-header__tab:after{width:calc(100% + 1px)}.landing-header__link{padding:6px 5px}.landing-header__btn{padding:7px 5px}.landing-header__btn--primary{padding-left:8px;padding-right:8px}.landing-header--scrolled{padding:10px 6px}.landing-header--scrolled .landing-header__inner{padding:6px 8px}}@media (prefers-reduced-motion:reduce){.landing-header,.landing-header__inner,.landing-header__logo img,.landing-header__btn{transition:none}}.hero{text-align:center;background:radial-gradient(60% 50% at 50% 0,#01815614,#0000 70%),#eee;padding:clamp(140px,18vh,220px) 24px clamp(80px,12vh,140px);position:relative;overflow:hidden}.hero:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(circle,#212b362e 1.4px,#0000 1.6px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 42%,#0000 18%,#000 62%);mask-image:radial-gradient(90% 70% at 50% 42%,#0000 18%,#000 62%)}.hero__content{z-index:2;max-width:760px;margin:0 auto;position:relative}.hero__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--gt-success-text);background:#0181561a;border-radius:999px;margin-bottom:24px;padding:6px 14px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;display:inline-block}.hero__announce{color:#424242;background:#fff;border-radius:999px;align-items:center;gap:9px;margin-bottom:24px;padding:5px 14px 5px 5px;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;text-decoration:none;transition:box-shadow .2s;display:inline-flex;box-shadow:0 0 0 1px #01815640,0 8px 20px -10px #01815673}.hero__announce:hover{box-shadow:0 0 0 1px #01815673,0 10px 24px -10px #0181568c}.hero__announce:hover .hero__announce-arrow{transform:translate(3px)}.hero__announce:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.hero__announce-badge{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#018156;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700}.hero__announce-arrow{color:var(--gt-success-text);font-weight:600;transition:transform .2s;display:inline-block}.hero__title{letter-spacing:-.02em;color:#212b36;margin:0 0 24px;font-family:Poppins,sans-serif;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:700;line-height:1.04}.hero__title-accent{background:linear-gradient(135deg,#018156,#02a06b);color:#0000;-webkit-background-clip:text;background-clip:text}.hero__subtitle{color:#616161;max-width:560px;margin:0 auto 32px;font-family:Poppins,sans-serif;font-size:clamp(16px,2.2vw,20px);font-weight:400;line-height:1.6}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.hero__cta{color:#fff;background:#018156;border-radius:10px;align-items:center;padding:14px 34px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 8px 24px #01815647}.hero__cta:hover{color:#fff;background:#016547;transform:translateY(-2px);box-shadow:0 12px 30px #01815657}.hero__cta:active{transform:translateY(0)}.hero__cta:focus-visible{box-shadow:var(--gt-focus-ring), 0 8px 24px #01815647;outline:none}.hero__signin{color:#424242;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;text-decoration:none;transition:color .2s}.hero__signin span{transition:transform .2s;display:inline-block}.hero__signin:hover{color:#018156}.hero__signin:hover span{transform:translate(4px)}.hero__signin:focus-visible{border-radius:4px}.hero__cards{z-index:1;pointer-events:none;position:absolute;inset:0}.float-card{text-align:left;background:#fff;border-radius:22px;padding:20px;position:absolute;box-shadow:0 2px 6px #212b360a,0 24px 48px -12px #212b3624}.float-card__head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.float-card__title{color:#212b36;letter-spacing:-.01em;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.float-card__meta{color:#9aa0a6;font-family:Poppins,sans-serif;font-size:11px;font-weight:500}.float-card--team{width:248px;animation:7s ease-in-out infinite float-team;top:22%;left:3%;transform:rotate(-3deg)}.float-card__avatars{margin-bottom:14px;display:flex}.float-card__avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin-left:-10px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 0 0 3px #fff}.float-card__avatar:first-child{margin-left:0}.float-card__chips{flex-wrap:wrap;gap:7px;display:flex}.float-card__chip{color:#424242;background:#f3f4f6;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:500}.float-card--tasks{width:252px;animation:9s ease-in-out infinite float-tasks;bottom:18%;left:5%;transform:rotate(3deg)}.float-card__bars{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.float-card__bar-top{justify-content:space-between;align-items:center;margin-bottom:8px;font-family:Poppins,sans-serif;display:flex}.float-card__bar-top span{color:#212b36;font-size:12.5px;font-weight:500}.float-card__bar-top strong{color:#018156;font-size:12px;font-weight:600}.float-card__bar-track{background:#eef0f2;border-radius:999px;height:7px;overflow:hidden}.float-card__bar-fill{background:#018156;border-radius:999px;height:100%}.float-card--tsr{text-align:center;width:184px;animation:8s ease-in-out infinite float-tsr;top:30%;right:4%;transform:rotate(4deg)}.float-card--tsr .float-card__title{text-align:left;margin-bottom:8px;display:block}.float-card__ring{width:84px;height:84px;margin:4px auto 10px;position:relative}.float-card__ring-track{fill:none;stroke:#eef0f2;stroke-width:9px}.float-card__ring-value{fill:none;stroke:#018156;stroke-width:9px;stroke-linecap:round}.float-card__ring-center{color:#212b36;justify-content:center;align-items:center;gap:3px;font-family:Poppins,sans-serif;display:flex;position:absolute;inset:0}.float-card__ring-center strong{font-size:17px;font-weight:700}.float-card__ring-center span{color:#616161;font-size:10px}.float-card__caption{color:#616161;font-size:11.5px}.float-card--roster{width:256px;animation:9.5s ease-in-out infinite float-roster;bottom:7%;right:6%;transform:rotate(-3deg)}.float-card__rows{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.float-card__row{align-items:center;gap:11px;display:flex}.float-card__row-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.float-card__row-text{flex-direction:column;flex:1;line-height:1.35;display:flex}.float-card__row-text strong{color:#212b36;font-size:13px;font-weight:500}.float-card__row-text em{color:#616161;font-size:11px;font-style:normal}.float-card__row-badge{color:#018156;letter-spacing:.01em;background:#0181561a;border-radius:999px;flex-shrink:0;padding:3px 8px;font-family:Poppins,sans-serif;font-size:10px;font-weight:600}@keyframes float-team{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-12px)rotate(-3deg)}}@keyframes float-tasks{0%,to{transform:translateY(0)rotate(3deg)}50%{transform:translateY(-9px)rotate(3deg)}}@keyframes float-tsr{0%,to{transform:translateY(0)rotate(4deg)}50%{transform:translateY(10px)rotate(4deg)}}@keyframes float-roster{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(-3deg)}}@media (width<=1080px){.float-card--tasks,.float-card--roster{display:none}.float-card--team{top:22%;left:3%}.float-card--tsr{top:30%;right:3%}}@media (width<=768px){.hero__cards{display:none}}@media (prefers-reduced-motion:reduce){.float-card{animation:none}.hero__cta,.hero__signin span,.hero__announce,.hero__announce-arrow{transition:none}}.solutions{background:#fff;padding:clamp(72px,10vw,120px) 24px clamp(60px,8vw,100px)}.solutions__inner{text-align:center;max-width:1100px;margin:0 auto}.solutions__heading{letter-spacing:-.02em;color:#212b36;margin:0 0 16px;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:700}.solutions__sub{color:#616161;max-width:520px;margin:0 auto clamp(48px,7vw,72px);font-family:Poppins,sans-serif;font-size:16px;line-height:1.6}.solutions__columns{justify-content:center;align-items:flex-start;gap:0;margin-bottom:clamp(48px,7vw,72px);display:flex}.feature-col{text-align:left;flex:1;max-width:300px;padding:0 24px}.feature-col__icon{color:#018156;background:var(--gt-primary-soft);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:inline-flex}.feature-col__title{color:#212b36;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;line-height:1.3}.feature-col__desc{color:#616161;margin:0;font-family:Poppins,sans-serif;font-size:14px;line-height:1.65}.solutions__preview{background:linear-gradient(160deg,#e8f5f0 0%,#d6eee6 40%,#c8e8dc 100%);border-radius:24px;justify-content:center;align-items:center;padding:clamp(24px,4vw,48px);display:flex}.preview-window{background:#fff;border-radius:14px;width:100%;max-width:860px;overflow:hidden;box-shadow:0 4px 12px #212b3614,0 24px 64px #212b3629}.preview-window__chrome{background:#f3f4f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:6px;padding:10px 16px;display:flex}.preview-window__chrome span{border-radius:50%;width:10px;height:10px;display:block}.preview-window__chrome span:first-child{background:#fc5c65}.preview-window__chrome span:nth-child(2){background:#fed330}.preview-window__chrome span:nth-child(3){background:#26de81}.preview-window__body{aspect-ratio:1512/560;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.preview-window__picture{height:100%;display:block}.preview-window__img{object-fit:cover;object-position:top center;width:100%;height:100%;margin-top:-.75px;display:block}@media (width<=900px){.solutions__columns{flex-direction:column;align-items:flex-start;gap:32px}.solutions__divider{display:none}.feature-col{max-width:100%;padding:0}.preview-window__body{aspect-ratio:1512/640}}@media (width<=640px){.preview-window__body{aspect-ratio:1512/760}}@media (prefers-reduced-motion:reduce){.feature-col{transition:none}}.spotlight{border-top:1px solid var(--gt-gray-100);background:#fff;padding:clamp(72px,9vw,112px) 24px;position:relative}.spotlight--tinted{background:#f8faf9;border-top-color:#0000}.spotlight__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(32px,5vw,64px);max-width:1100px;margin:0 auto;display:grid}.spotlight--text-right .spotlight__inner{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}.spotlight--text-right .spotlight__text{order:2}.spotlight__text>*{opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(16px)}.spotlight__text>:nth-child(2){transition-delay:60ms}.spotlight__text>:nth-child(3){transition-delay:.12s}.spotlight__text>:nth-child(4){transition-delay:.18s}.spotlight__text>:nth-child(5){transition-delay:.24s}.spotlight__text>:nth-child(6){transition-delay:.3s}.spotlight.is-seen .spotlight__text>*{opacity:1;transform:none}.spotlight__eyebrow{color:#016547;letter-spacing:.04em;text-transform:uppercase;background:#0181561a;border-radius:999px;align-items:center;gap:8px;margin:0 0 18px;padding:6px 13px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.spotlight__eyebrow--soon{color:#8a5200;background:#fef3c7}.spotlight__badge{color:#fff;letter-spacing:.06em;background:#018156;border-radius:999px;margin-left:-8px;padding:2px 7px;font-size:10px;font-weight:700}.spotlight__eyebrow--soon .spotlight__badge{background:#8a5200}.spotlight__title{letter-spacing:-.02em;color:#212b36;margin:0 0 16px;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;line-height:1.1}.spotlight__accent{background:linear-gradient(135deg,#018156,#02a06b);color:#0000;-webkit-background-clip:text;background-clip:text}.spotlight__lead{color:#637381;max-width:460px;margin:0 0 24px;font-family:Poppins,sans-serif;font-size:clamp(15px,1.3vw,16.5px);line-height:1.65}.spotlight__points{gap:14px;margin:0;padding:0;list-style:none;display:grid}.spotlight__point{color:#424242;align-items:center;gap:12px;font-family:Poppins,sans-serif;font-size:14.5px;font-weight:500;display:flex}.spotlight__point-icon{background:var(--gt-primary-soft);color:#018156;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;height:34px;display:inline-flex}.spotlight__aside{max-width:460px;box-shadow:0 0 0 1px var(--gt-gray-200);background:#fff;border-radius:12px;margin-top:22px;padding:14px 16px}.spotlight__aside-title{letter-spacing:.04em;text-transform:uppercase;color:#637381;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;display:block}.spotlight__aside-text{color:#424242;margin:0;font-family:Poppins,sans-serif;font-size:14px;line-height:1.6}.spotlight__cta{color:#016547;gap:6px;margin-top:20px;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.spotlight__cta span{transition:transform .2s;display:inline-block}.spotlight__cta:hover span{transform:translate(4px)}.spotlight__cta:focus-visible{border-radius:4px}.spotlight__stage{pointer-events:none;border-radius:28px;height:470px;position:relative}.spotlight__stage--live{background:radial-gradient(70% 60% at 60% 40%,#0181561a,#0000 70%),#f5f8f7}.spotlight__stage--live:before{content:"";border-radius:inherit;background-image:radial-gradient(circle,#212b3629 1.2px,#0000 1.5px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 85%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 85%)}.spotlight__stage--preview{background:#fbfbfc;box-shadow:inset 0 0 0 1.5px #d3d8dd}.spotlight__stage--preview:after{content:"Preview";letter-spacing:.08em;text-transform:uppercase;color:#616161;border:1.5px dashed #c3c9cf;border-radius:999px;padding:3px 9px;font-family:Poppins,sans-serif;font-size:10px;font-weight:700;position:absolute;top:16px;left:18px}.spotlight--text-right .spotlight__stage--live{background-image:radial-gradient(70% 60% at 40% 40%,#0181561a,#0000 70%)}.spotlight--tinted .spotlight__stage--live{background-color:#eef5f2}.stage-card{color:#212b36;text-align:left;rotate:var(--tilt,0deg);opacity:0;transform:translateX(var(--enter-x,24px));transition:opacity .6s,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--reveal-order,0) * 80ms + .12s);background:#fff;border-radius:20px;padding:16px;font-family:Poppins,sans-serif;position:absolute;box-shadow:0 2px 6px #212b360a,0 24px 48px -12px #212b362e}.stage-card__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.stage-card__title{letter-spacing:-.01em;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:inline-flex}.stage-card__meta{color:#8a8a8a;font-size:10.5px;font-weight:500}.spotlight--text-right .stage-card{--enter-x:-24px}.is-seen .stage-card{opacity:1;animation:stage-float var(--float-duration,9s) ease-in-out infinite;transform:none}.is-offscreen .spotlight__stage *,.is-offscreen .spotlight__stage :before,.is-offscreen .spotlight__stage :after{animation-play-state:paused!important}@keyframes stage-float{0%,to{translate:0}50%{translate:0 var(--float-y,-10px)}}.stage-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:8.5px;font-weight:600;display:inline-flex;box-shadow:0 0 0 2px #fff}.stage-avatar--lg{width:30px;height:30px;font-size:10px}.stage-avatar--square{box-shadow:none;border-radius:9px}.stage-avatar--green{background:#018156}.stage-avatar--blue{background:#1b57d6}.stage-avatar--purple{background:#7d3c98}.stage-avatar--amber{background:var(--gt-warning-text)}.stage-pill{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:600}.stage-pill--green{background:var(--gt-success-soft);color:var(--gt-success-text)}.stage-pill--blue{background:var(--gt-info-soft);color:var(--gt-info-text)}.stage-pill--amber{background:var(--gt-warning-soft);color:var(--gt-warning-text)}.stage-swap{display:inline-grid}.stage-swap>*{grid-area:1/1}.stage-swap__before{opacity:0}.is-seen .stage-swap__before{animation:stage-swap-out var(--swap-duration,7s) linear infinite both}.is-seen .stage-swap__after{animation:stage-swap-in var(--swap-duration,7s) linear infinite both}@keyframes stage-swap-out{0%,50%,to{opacity:1}54%,94%{opacity:0}}@keyframes stage-swap-in{0%,50%,to{opacity:0}54%,94%{opacity:1}}@media (width<=1079px){.spotlight__inner,.spotlight--text-right .spotlight__inner{grid-template-columns:minmax(0,1fr);max-width:680px}.spotlight--text-right .spotlight__text{order:0}.spotlight__stage{height:430px}.spotlight__stage .stage-card--wide-only{display:none}}@media (width<=767px){.spotlight__stage{justify-content:center;height:auto;padding:36px 16px;display:flex}.spotlight__stage .stage-card{display:none}.spotlight__stage .stage-card.stage-card--mobile{width:min(100%,320px);display:block;position:relative;inset:auto;rotate:none}.is-seen .spotlight__stage .stage-card--mobile{animation:none}.spotlight__stage .stage-card--mobile *,.spotlight__stage .stage-card--mobile :before,.spotlight__stage .stage-card--mobile :after{animation:none!important}}@media (prefers-reduced-motion:reduce){.spotlight__text>*,.stage-card{opacity:1;transition:none;transform:none}.spotlight *,.spotlight :before,.spotlight :after{animation:none!important}}.scrum-board-card{z-index:2;--swap-duration:6s;--tilt:-2deg;--float-duration:8s;--float-y:-10px;width:360px;top:7%;left:4%}.scrum-task-card{z-index:3;--tilt:3deg;--float-duration:9s;--float-y:9px;width:262px;top:41%;right:3%}.scrum-burnup-card{z-index:1;--tilt:-3deg;--float-duration:9.5s;--float-y:-8px;width:250px;bottom:3%;left:3%}.scrum-board__cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.scrum-board__col{background:var(--gt-gray-50);border-radius:10px;min-height:164px;padding:8px 6px 6px}.scrum-board__col-head{color:#424242;align-items:center;gap:5px;margin:0 2px 7px;font-size:10px;font-weight:600;display:flex}.scrum-board__dot{border-radius:50%;width:7px;height:7px}.scrum-board__dot--todo{background:var(--gt-gray-400)}.scrum-board__dot--doing{background:var(--gt-accent)}.scrum-board__dot--done{background:#018156}.scrum-board__count{color:var(--gt-gray-500);margin-left:auto;font-size:9.5px;font-weight:600}.scrum-board__slot{height:40px}.scrum-mini{box-shadow:0 0 0 1px var(--gt-gray-200);background:#fff;border-radius:7px;margin-bottom:5px;padding:6px 6px 5px;display:block}.scrum-mini__key{font-family:var(--gt-font-mono);color:var(--gt-gray-500);justify-content:space-between;font-size:8.5px;display:flex}.scrum-mini__key b{background:var(--gt-success-soft);color:var(--gt-success-text);border-radius:4px;padding:0 4px;font-weight:700}.scrum-mini__title{color:#212b36;margin-top:2px;font-size:9.5px;font-weight:500;line-height:1.3;display:block}.scrum-mini--mover{z-index:1;width:calc(33.3333% - 17.3333px);position:absolute;top:30px;left:calc(66.6667% + 11.3333px);box-shadow:0 0 0 1.5px #018156,0 8px 18px -8px #01815673}.is-seen .scrum-mini--mover{animation:6s cubic-bezier(.65,0,.35,1) infinite both scrum-move}@keyframes scrum-move{0%,34%,to{box-shadow:0 0 0 1.5px var(--gt-accent), 0 8px 18px -6px #2771ff73;transform:translate(calc(-100% - 20px))}42%{transform:translate(calc(-50% - 10px))translateY(-6px)rotate(2deg)}50%,94%{transform:none;box-shadow:0 0 0 1.5px #018156,0 8px 18px -8px #01815673}}.scrum-task__top{align-items:center;gap:6px;margin-bottom:8px;display:flex}.scrum-task__key{font-family:var(--gt-font-mono);color:#616161;font-size:10.5px;font-weight:600}.scrum-task__story{background:var(--gt-gray-100);font-family:var(--gt-font-mono);color:#616161;border-radius:5px;padding:1px 5px;font-size:9.5px}.scrum-task__estimate{color:#616161;align-items:center;gap:3px;margin-left:auto;font-size:10px;display:inline-flex}.scrum-task__points{background:var(--gt-success-soft);font-family:var(--gt-font-mono);color:var(--gt-success-text);border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.scrum-task__title{margin:0 0 9px;font-size:13.5px;font-weight:600;line-height:1.35}.scrum-task__tags{gap:5px;margin-bottom:11px;display:flex}.scrum-task__foot{justify-content:space-between;align-items:center;display:flex}.scrum-task__pair{color:var(--gt-gray-500);align-items:center;gap:4px;display:inline-flex}.scrum-task__meta{align-items:center;gap:7px;display:inline-flex}.scrum-task__comments{color:#616161;align-items:center;gap:3px;font-size:10px;display:inline-flex}.scrum-task__pr{color:#7d3c98;background:#7d3c981f;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.scrum-task__audit{border-top:1px dashed var(--gt-gray-200);color:#616161;align-items:center;gap:5px;margin-top:10px;padding-top:9px;font-size:10px;display:flex}.scrum-task__audit b{color:var(--gt-success-text);font-weight:600}.scrum-burnup__stat{color:#616161;font-size:11px}.scrum-burnup__stat strong{color:#212b36;font-size:13px}.scrum-burnup__plot{width:100%;height:86px;display:block}.scrum-burnup__grid{stroke:var(--gt-gray-100)}.scrum-burnup__area{fill:#0181561a}.scrum-burnup__scope{fill:none;stroke:var(--gt-gray-500);stroke-width:1.5px;stroke-dasharray:4 3}.scrum-burnup__done{fill:none;stroke:#018156;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dashoffset:0}.scrum-burnup__legend{color:#616161;gap:12px;margin-top:6px;font-size:9.5px;display:flex}.scrum-burnup__legend i{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:4px;display:inline-block}.scrum-burnup__swatch--done{background:#018156}.scrum-burnup__swatch--scope{background:var(--gt-gray-500)}.is-seen .scrum-burnup__done{animation:6s infinite both scrum-draw}@keyframes scrum-draw{0%,20%,to{stroke-dashoffset:260px}55%,94%{stroke-dashoffset:0}}.msg-inbox-card,.msg-thread-card{--swap-duration:7s}.msg-inbox-card{z-index:1;--tilt:-2deg;--float-duration:8s;--float-y:-10px;width:318px;top:8%;left:5%}.msg-thread-card{z-index:2;--tilt:2.5deg;--float-duration:9s;--float-y:9px;width:300px;top:42%;right:4%}.msg-conv{border-radius:10px;align-items:center;gap:10px;padding:8px 6px;display:flex}.msg-conv+.msg-conv{margin-top:2px}.msg-conv--active{background:var(--gt-gray-50)}.msg-conv__body{flex-direction:column;flex:1;min-width:0;display:flex}.msg-conv__name{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.msg-conv__preview{color:#616161;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.msg-conv__side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.msg-conv__time{color:var(--gt-gray-500);font-size:9.5px}.msg-conv__unread{background:var(--gt-error-text);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:9.5px;font-weight:700;display:inline-flex}.msg-thread{flex-direction:column;gap:8px;min-height:150px;display:flex}.msg-row{align-items:flex-end;gap:7px;display:flex}.msg-row--mine{justify-content:flex-end}.msg-row--live{overflow:hidden}.msg-bubble{color:#212b36;background:#f1f3f4;border-radius:14px 14px 14px 4px;max-width:190px;padding:8px 11px;font-size:11.5px;line-height:1.45}.msg-bubble small{opacity:.7;margin-top:2px;font-size:9px;display:block}.msg-bubble--mine{color:#fff;background:#018156;border-radius:14px 14px 4px}.msg-live{flex-direction:column;align-items:flex-start;display:flex}.msg-live__typing{opacity:0;background:#f1f3f4;border-radius:14px 14px 14px 4px;gap:3px;max-height:0;padding:0 11px;display:inline-flex;overflow:hidden}.msg-live__typing i{background:var(--gt-gray-500);border-radius:50%;width:5px;height:5px;animation:1.2s infinite msg-blink}.msg-live__typing i:nth-child(2){animation-delay:.2s}.msg-live__typing i:nth-child(3){animation-delay:.4s}.msg-live__landed{transform-origin:0 100%;overflow:hidden}.is-seen .msg-row--live{animation:7s infinite both msg-row-in}.is-seen .msg-live__typing{animation:7s infinite both msg-typing}.is-seen .msg-live__landed{animation:7s infinite both msg-land}@keyframes msg-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes msg-row-in{0%,12%,to{opacity:0;max-height:0}16%,94%{opacity:1;max-height:80px}}@keyframes msg-typing{0%,48%{opacity:1;max-height:30px;padding:9px 11px}52%,to{opacity:0;max-height:0;padding:0 11px}}@keyframes msg-land{0%,51%{opacity:0;max-height:0;padding:0 11px;transform:scale(.9)}57%,to{opacity:1;max-height:60px;padding:8px 11px;transform:none}}.msg-composer{box-shadow:0 0 0 1px var(--gt-gray-200);color:var(--gt-gray-500);border-radius:12px;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;font-size:11px;display:flex}.msg-composer__send{color:#fff;background:#018156;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;display:inline-flex}.gt-asst-icon{vertical-align:middle;display:inline-block}.gt-asst-mark{background:var(--gt-green-50);width:26px;height:26px;color:var(--gt-primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gt-asst-mark--sm{border-radius:7px;width:20px;height:20px}.gt-asst-mark--lg{border-radius:11px;width:34px;height:34px}.gt-asst{box-sizing:border-box;background:var(--gt-gray-0);font-family:var(--gt-font-sans);color:var(--gt-text-primary);position:relative}.gt-asst--app{border-radius:var(--gt-radius-md);box-shadow:var(--gt-shadow-hairline);border:1px dashed #01815659;padding:14px}.gt-asst__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.gt-asst__author,.gt-asst__title{font-size:13.5px;font-weight:var(--gt-weight-semibold);letter-spacing:-.01em}.gt-asst__author{color:var(--gt-green-700);align-items:center;gap:7px;display:inline-flex}.gt-asst__title{color:var(--gt-text-primary)}.gt-asst__time{font-size:10.5px;font-weight:var(--gt-weight-medium);color:var(--gt-gray-500)}.gt-asst__body{color:var(--gt-text-secondary);font-size:12.5px;line-height:1.5}.gt-asst__actions{gap:8px;display:flex}.gt-asst__btn{font-family:var(--gt-font-sans);font-size:11.5px;font-weight:var(--gt-weight-semibold);cursor:pointer;transition:background-color var(--gt-transition-fast), box-shadow var(--gt-transition-fast), transform var(--gt-transition-fast);border:none;border-radius:9px;padding:7px 14px}.gt-asst__btn:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.gt-asst__btn--ok{background:var(--gt-primary);color:var(--gt-gray-0)}.gt-asst__btn--ok:hover{background:var(--gt-primary-hover)}.gt-asst__btn--ok:active{transform:translateY(.5px)}.gt-asst__btn--no{box-shadow:0 0 0 1px var(--gt-border);color:var(--gt-text-tertiary);background:0 0}.gt-asst__btn--no:hover{background:var(--gt-gray-50);color:var(--gt-text-primary)}.gt-asst__link{font-family:var(--gt-font-sans);font-size:11px;font-weight:var(--gt-weight-semibold);color:var(--gt-primary);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:0;display:inline-flex}.gt-asst__link:hover{color:var(--gt-primary-hover);text-decoration:underline}.gt-asst__link:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-asst-suggest__text{color:var(--gt-text-secondary);margin:0;font-size:12.5px;line-height:1.5}.gt-asst-suggest__text b{font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary)}.gt-asst-suggest__task{border-radius:var(--gt-radius-md);font-size:11.5px;font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);background:#f7f8f9;align-items:center;gap:6px;margin:8px 0 12px;padding:7px 9px;display:flex}.gt-asst-suggest__key{font-family:var(--gt-font-mono);font-size:10px;font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary)}.gt-asst-suggest__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gt-asst-suggest__to{border-radius:var(--gt-radius-pill);background:var(--gt-success-soft);font-size:9.5px;font-weight:var(--gt-weight-semibold);color:var(--gt-success-text);flex-shrink:0;margin-left:auto;padding:2px 7px}.gt-asst-suggest__done,.gt-asst-suggest__dismissed{border-radius:var(--gt-radius-md);align-items:center;padding:10px 12px;display:flex}.gt-asst-suggest__done{background:var(--gt-success-soft);font-size:12.5px;font-weight:var(--gt-weight-semibold);color:var(--gt-success-text);gap:8px}.gt-asst-suggest__dismissed{background:var(--gt-gray-50);color:var(--gt-text-tertiary);gap:10px;font-size:12px}.gt-asst-suggest__dismissed .gt-asst__link{margin-left:auto}.gt-asst-stalled__label{font-size:10px;font-weight:var(--gt-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--gt-warning-text);align-items:center;gap:5px;display:inline-flex}.gt-asst-stalled__label i{background:#e6a817;border-radius:50%;width:7px;height:7px}.gt-asst-stalled__title{font-size:12.5px;font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);margin:8px 0 3px}.gt-asst-stalled__title code{font-family:var(--gt-font-mono);font-size:10px;font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary);margin-right:5px}.gt-asst-stalled__detail{color:var(--gt-text-tertiary);margin:0 0 8px;font-size:11px}.gt-asst-report__rows{margin:0;padding:0;list-style:none}.gt-asst-report__row{color:var(--gt-text-secondary);align-items:center;gap:9px;padding:7px 0;font-size:11.5px;display:flex}.gt-asst-report__row+.gt-asst-report__row{border-top:1px solid var(--gt-gray-100)}.gt-asst-report__mark{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gt-asst-report__mark--match{background:var(--gt-success-soft);color:var(--gt-primary)}.gt-asst-report__mark--review{background:var(--gt-warning-soft);color:var(--gt-warning)}.gt-asst-report__text{flex:1;min-width:0}.gt-asst-report__review{border-radius:var(--gt-radius-pill);background:var(--gt-warning-soft);font-family:var(--gt-font-sans);font-size:10px;font-weight:var(--gt-weight-semibold);color:var(--gt-warning-text);cursor:pointer;transition:background-color var(--gt-transition-fast);border:none;flex-shrink:0;margin-left:auto;padding:3px 8px}.gt-asst-report__review:hover{background:#fde9a8}.gt-asst-report__review:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-asst-unlinked{border-radius:var(--gt-radius-pill);background:var(--gt-gray-0);font-family:var(--gt-font-sans);font-size:11.5px;font-weight:var(--gt-weight-medium);color:var(--gt-text-secondary);align-items:center;gap:7px;padding:9px 13px;display:inline-flex}.gt-asst-unlinked svg{color:#7d3c98}.gt-asst-unlinked b{font-weight:var(--gt-weight-semibold);color:#7d3c98}.gt-asst-unlinked--app{box-shadow:var(--gt-shadow-hairline);border:1px dashed #01815659}.gt-asst-unlinked--bare{background:0 0;padding:0}@media (prefers-reduced-motion:reduce){.gt-asst__btn,.gt-asst-report__review{transition:none}}.gt-asst--landing{border-radius:20px;padding:16px;box-shadow:0 2px 6px #212b360a,0 24px 48px -12px #212b362e}.gt-asst-unlinked--landing{box-shadow:0 2px 6px #212b360a,0 24px 48px -12px #212b362e}.stage-card .gt-asst--landing{box-shadow:none}.assist-suggest-card{z-index:2;--tilt:-2deg;--float-duration:8s;--float-y:-10px;width:288px;padding:0;top:25%;left:4%}.assist-stall-card{z-index:1;--tilt:3deg;--float-duration:9s;--float-y:9px;width:226px;padding:0;top:4%;right:3%}.assist-report-card{z-index:3;--tilt:-2.5deg;--float-duration:9.5s;--float-y:-8px;width:272px;padding:0;bottom:6%;right:3%}.assist-chip-card{z-index:4;white-space:nowrap;--tilt:2deg;--float-duration:10s;--float-y:9px;border-radius:999px;padding:9px 13px;bottom:5%;left:4%}.assist-moment{display:grid}.assist-moment>*{grid-area:1/1;align-self:start}.assist-moment__pending{z-index:1;opacity:0;max-height:0;overflow:hidden}.is-seen .assist-moment__pending{animation:7s cubic-bezier(.4,0,.2,1) infinite both assist-fold}.is-seen .assist-moment__pending .gt-asst__btn--ok{animation:7s infinite both assist-press}@keyframes assist-fold{0%,50%,to{opacity:1;max-height:240px}57%,92%{opacity:0;max-height:0}}@keyframes assist-press{0%,44%,50%,to{box-shadow:none;transform:none}47%{transform:translateY(.5px);box-shadow:0 0 0 3px #01815640}}@media (width<=767px){.assist-moment__pending{opacity:1;max-height:none}}.closing-band{background:#fff;padding:0 24px clamp(64px,8vw,104px)}.closing-band__inner{color:#fff;text-align:center;background:radial-gradient(70% 90% at 50% 0,#02a06b59,#0000 70%),#0f2a20;border-radius:24px;max-width:1100px;margin:0 auto;padding:clamp(48px,6vw,72px) clamp(24px,5vw,56px);position:relative;overflow:hidden}.closing-band__inner:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffffff24 1px,#0000 1.3px);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90% at 50% 100%,#000 10%,#0000 75%);mask-image:radial-gradient(80% 90% at 50% 100%,#000 10%,#0000 75%)}.closing-band__title{letter-spacing:-.02em;margin:0 0 12px;font-family:Poppins,sans-serif;font-size:clamp(1.75rem,3.6vw,2.25rem);font-weight:700;line-height:1.12;position:relative}.closing-band__text{color:#ffffffbf;max-width:480px;margin:0 auto 26px;font-family:Poppins,sans-serif;font-size:16px;line-height:1.6;position:relative}.closing-band__actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex;position:relative}.closing-band__primary,.closing-band__secondary{border-radius:10px;align-items:center;padding:12px 26px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.closing-band__primary:active,.closing-band__secondary:active{transform:translateY(.5px)}.closing-band__primary:focus-visible,.closing-band__secondary:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.closing-band__primary{color:#fff;background:#018156;box-shadow:0 10px 26px -8px #02a06bcc}.closing-band__primary:hover{color:#fff;background:#016547}.closing-band__secondary{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff59}.closing-band__secondary:hover{color:#fff;background:#ffffff14}@media (prefers-reduced-motion:reduce){.closing-band__primary,.closing-band__secondary{transition:none}}.landing-footer{color:#ffffffc7;background:#0c1f18}.landing-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:32px;max-width:1080px;margin:0 auto;padding:clamp(56px,8vw,88px) 24px 32px;display:flex}.landing-footer__brand{flex-direction:column;align-items:flex-start;max-width:280px;display:flex}.landing-footer__logo{width:auto;height:56px;margin-bottom:16px;margin-left:-6px;display:block}.landing-footer__tagline{color:#fff9;margin:0;padding-left:2px;font-family:Poppins,sans-serif;font-size:16px}.landing-footer__links{flex-wrap:wrap;gap:clamp(32px,6vw,72px);display:flex}.landing-footer__col{flex-direction:column;gap:12px;display:flex}.landing-footer__col a{color:#ffffffb8;font-family:Poppins,sans-serif;font-size:14px;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.landing-footer__col a:hover{color:#fff}.landing-footer__col a:focus-visible{border-radius:3px}.landing-footer__col-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff73;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600}.landing-footer__bar{text-align:center;color:#ffffff80;border-top:1px solid #ffffff1a;padding:16px 24px;font-family:Poppins,sans-serif;font-size:12px}@media (width<=768px){.landing-footer__inner{flex-direction:column;gap:32px}.landing-footer__links{gap:32px}}@media (prefers-reduced-motion:reduce){.landing-footer__col a{transition:none}}.landing{color:#303030;background:#eee;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:clip}.landing main{display:block}.landing section[id]{scroll-margin-top:88px}.sidebar{background-color:var(--gt-primary);z-index:99;flex-direction:column;width:64px;font-family:Poppins,sans-serif;transition-property:width,box-shadow;transition-duration:.3s;transition-timing-function:ease;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.expanded{width:256px;box-shadow:8px 0 24px #0000002e}@media (width<=768px){.sidebar,.sidebar.expanded{width:264px;transition-property:transform;transition-duration:.3s;transition-timing-function:ease;transform:translate(-100%);box-shadow:0 0 40px #00000059}.sidebar.mobile-open{transform:translate(0)}}.sidebar-header{padding:.875rem .75rem 0}.sidebar-brand{height:44px;position:relative}.sidebar-brand img{position:absolute;top:50%;transform:translateY(-50%)}.sidebar-brand__mark{width:28px;height:auto;left:6px}.sidebar-brand__wordmark{opacity:0;width:119px;height:auto;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease;top:calc(50% + 4px);left:35px}.sidebar.expanded .sidebar-brand__wordmark{opacity:1}.class-selector{margin:.5rem .75rem .25rem;position:relative}.class-selector-header{background-color:var(--gt-canvas);cursor:pointer;width:100%;color:var(--gt-text-primary);border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .6875rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-selector-header:hover{background-color:var(--gt-gray-200)}.class-selector-header>svg{flex-shrink:0}.class-selector-icon{color:var(--gt-primary)}.class-selector-title{text-align:left;opacity:0;flex-direction:column;flex:1;gap:.125rem;min-width:0;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-selector-chevron{opacity:0;transition-property:opacity,transform;transition-duration:.2s;transition-timing-function:ease}.class-selector-chevron.rotated{transform:rotate(180deg)}.sidebar.expanded .class-selector-title,.sidebar.expanded .class-selector-chevron{opacity:1}.class-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.class-selector-dropdown{background-color:var(--gt-surface);z-index:1000;border-radius:8px;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.class-selector-empty{text-align:center;color:var(--gt-text-tertiary);padding:1rem;font-size:.875rem}.class-selector-item{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-selector-item:hover{background-color:var(--gt-gray-50)}.class-selector-item.active{background-color:var(--gt-green-50)}.class-selector-item:first-child{border-radius:8px 8px 0 0}.class-selector-item:last-child{border-radius:0 0 8px 8px}.class-item-name{color:var(--gt-text-primary);font-size:.875rem;font-weight:500}.class-item-code,.class-item-role,.class-school{color:var(--gt-text-tertiary);font-size:.75rem}.class-school{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-nav{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:1;min-height:0;padding:0 0 .5rem;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section{flex-shrink:0}.sidebar-section--footer{margin-top:auto}.section-title,.group-title{height:28px;color:var(--gt-text-inverse);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-items:center;margin:.25rem 0 0;padding:0 .75rem 0 1.4375rem;font-size:.65rem;font-weight:600;display:flex;position:relative}.section-title span,.group-title span{opacity:0;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease}.section-title:before,.group-title:before{content:"";background:#ffffff2e;height:1px;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease;position:absolute;top:50%;left:1rem;right:1rem}.sidebar.expanded .section-title span,.sidebar.expanded .group-title span{opacity:1}.sidebar.expanded .section-title:before,.sidebar.expanded .group-title:before{opacity:0}.group-title{color:#ffffffb8;font-size:.6rem}.section-title+.sidebar-group>.group-title:before{display:none}.sidebar-section--class>.sidebar-group:first-child>.section-items:first-child{margin-top:.5rem;padding-top:.5rem;position:relative}.sidebar-section--class>.sidebar-group:first-child>.section-items:first-child:before{content:"";background:#ffffff2e;height:1px;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease;position:absolute;top:0;left:1rem;right:1rem}.sidebar.expanded .sidebar-section--class>.sidebar-group:first-child>.section-items:first-child:before{opacity:0}.section-items{margin:0;padding:0 .75rem;list-style:none}.sidebar-item{width:100%;color:var(--gt-text-inverse);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .6875rem;font-size:.8125rem;line-height:normal;text-decoration:none;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:relative}.sidebar-item>svg{flex-shrink:0}.sidebar-item__label{opacity:0;min-width:0;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease}.sidebar-item__external{opacity:0;margin-left:auto;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease}.sidebar-item__badge{color:var(--gt-text-inverse);text-align:center;background:#ff3b30;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.4}.sidebar-item:hover{background-color:#ffffff1a}.sidebar-item:focus-visible{outline:none;box-shadow:0 0 0 2px #fffc}.sidebar-item.active{background-color:var(--gt-canvas);color:var(--gt-text-primary);font-weight:500}.sidebar-item.active:before{content:"";background-color:var(--gt-canvas);z-index:1;opacity:0;border-radius:0 8px 8px 0;width:6px;height:95%;transition-property:opacity;transition-duration:.2s;transition-timing-function:ease;position:absolute;top:50%;left:-.75rem;transform:translateY(-50%)}.sidebar.expanded .sidebar-item__label{opacity:1}.sidebar.expanded .sidebar-item__external{opacity:.6}.sidebar.expanded .sidebar-item.active:before{opacity:1}.sidebar:not(.expanded) .sidebar-item__badge{min-width:16px;margin:0;padding:0 4px;font-size:.6rem;line-height:1.5;position:absolute;top:3px;left:calc(50% + 2px)}.gt-avatar{background-color:var(--gt-avatar-1);color:var(--gt-text-inverse);font-family:var(--gt-font-sans);font-weight:var(--gt-weight-semibold);object-fit:cover;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:normal;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-style:normal;display:inline-flex;overflow:hidden}.gt-avatar--xs{width:20px;height:20px;font-size:8px}.gt-avatar--sm{width:28px;height:28px;font-size:10px}.gt-avatar--md{width:36px;height:36px;font-size:13px}.gt-avatar--lg{width:48px;height:48px;font-size:16px}.gt-avatar--xl{width:64px;height:64px;font-size:22px}.gt-avatar--square{border-radius:var(--gt-radius-sm)}.gt-avatar--extra{background-color:var(--gt-gray-200);color:var(--gt-text-secondary)}.gt-avatar-group{align-items:center;display:inline-flex}.gt-avatar-group .gt-avatar{box-sizing:content-box;border:2px solid var(--gt-surface)}.gt-avatar-group .gt-avatar+.gt-avatar{margin-left:-8px}.gt-badge{box-sizing:border-box;border-radius:var(--gt-radius-lg);font-family:var(--gt-font-sans);font-size:.8rem;font-weight:var(--gt-weight-medium);white-space:nowrap;text-transform:none;letter-spacing:normal;align-items:center;gap:5px;padding:4px 14px;font-style:normal;line-height:1.25;display:inline-flex}.gt-badge--neutral{background-color:var(--gt-gray-100);color:var(--gt-gray-600)}.gt-badge--success{background-color:var(--gt-success-soft);color:var(--gt-success-text)}.gt-badge--warning{background-color:var(--gt-warning-soft);color:var(--gt-warning-text)}.gt-badge--error{background-color:var(--gt-error-soft);color:var(--gt-error-text)}.gt-badge--info{background-color:var(--gt-info-soft);color:var(--gt-info-text)}.gt-badge--gold{background-color:var(--gt-gold-soft);color:var(--gt-gold-text)}.gt-badge--merged{background-color:var(--gt-purple-soft);color:var(--gt-purple)}.gt-badge--category{border:1px solid var(--gt-border);border-radius:var(--gt-radius-sm);background-color:var(--gt-surface);color:var(--gt-text-secondary);padding:3px 10px}.gt-badge--sm{padding:2px 8px;font-size:11px;line-height:1.4}.gt-badge--sm.gt-badge--category{padding:1px 7px}.gt-badge__icon{flex-shrink:0;display:inline-flex}.gt-badge--solid.gt-badge--success{background-color:var(--gt-success);color:var(--gt-text-inverse)}.gt-badge--solid.gt-badge--warning{background-color:var(--gt-warning-text);color:var(--gt-text-inverse)}.gt-badge--solid.gt-badge--error{background-color:var(--gt-error);color:var(--gt-text-inverse)}.gt-badge--solid.gt-badge--info{background-color:var(--gt-info);color:var(--gt-text-inverse)}.gt-badge--solid.gt-badge--neutral{background-color:var(--gt-gray-600);color:var(--gt-text-inverse)}.gt-badge--solid.gt-badge--gold{background-color:var(--gt-gold);color:var(--gt-gray-800)}.gt-menu{min-width:180px;font-family:var(--gt-font-sans);flex-direction:column;padding:4px;display:flex}.gt-menu__item{border-radius:var(--gt-radius-sm);width:100%;height:32px;font-family:var(--gt-font-sans);font-size:12.5px;font-weight:var(--gt-weight-medium);color:var(--gt-text-primary);text-align:left;cursor:pointer;box-sizing:border-box;transition:background-color var(--gt-transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:0 10px;display:flex}.gt-menu__item:hover:not(:disabled){background:var(--gt-surface-muted)}.gt-menu__item:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-menu__item:disabled{opacity:.45;cursor:not-allowed}.gt-menu__icon{color:var(--gt-text-tertiary);flex-shrink:0;display:inline-flex}.gt-menu__label{white-space:nowrap;flex:1}.gt-menu__shortcut{font-family:var(--gt-font-mono);color:var(--gt-text-tertiary);font-size:10px}.gt-menu__item--destructive{color:var(--gt-error-text)}.gt-menu__item--destructive .gt-menu__icon{color:var(--gt-error)}.gt-menu__item--destructive:hover:not(:disabled){background:var(--gt-error-soft)}.gt-menu__item--checked .gt-menu__icon{color:var(--gt-primary)}.gt-menu__check{width:16px;color:var(--gt-primary);flex-shrink:0;display:inline-flex}.gt-menu__sep{background:var(--gt-border-subtle);height:1px;margin:4px 6px}.gt-menu__group{flex-direction:column;display:flex}.gt-menu__heading{font-size:10.5px;font-weight:var(--gt-weight-semibold);letter-spacing:var(--gt-tracking-wide);text-transform:uppercase;color:var(--gt-text-tertiary);padding:8px 10px 4px}.gt-menu__trailing{flex-shrink:0;align-items:center;display:inline-flex}@media (width<=767px){.gt-menu__item{min-height:44px}}.gt-popover-anchor{display:inline-flex;position:relative}.gt-popover{background:var(--gt-gray-0);min-width:180px;color:var(--gt-text-primary);border:1px solid var(--gt-border);border-radius:var(--gt-radius-md);box-shadow:var(--gt-shadow-pop);padding:var(--gt-space-md);font-family:var(--gt-font-sans);z-index:var(--gt-z-dropdown);box-sizing:border-box;position:absolute}.gt-popover--bottom{animation:.15s ease-out gt-pop-down;top:calc(100% + 6px)}.gt-popover--top{animation:.15s ease-out gt-pop-up;bottom:calc(100% + 6px)}.gt-popover--start{left:0}.gt-popover--end{right:0}.gt-popover--sm{border-radius:var(--gt-radius-sm);padding:var(--gt-space-sm)}.gt-popover--flush{padding:0}@keyframes gt-pop-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes gt-pop-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes gt-popover-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.gt-popover--bottom,.gt-popover--top{animation:.15s ease-out gt-popover-fade-in}}.gt-profile-menu{font-family:var(--gt-font-sans);display:inline-flex;position:relative}.gt-profile-menu__button{border-radius:var(--gt-radius-sm);background:var(--gt-surface);box-shadow:var(--gt-shadow-card);color:var(--gt-text-secondary);font-family:var(--gt-font-sans);cursor:pointer;transition:background-color var(--gt-transition-fast);border:none;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.gt-profile-menu__button:hover{background:var(--gt-canvas)}.gt-profile-menu__button:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.gt-profile-menu__avatar{flex-shrink:0;display:inline-flex;position:relative}.gt-profile-menu__icon{background:var(--gt-canvas);width:28px;height:28px;color:var(--gt-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.gt-profile-menu__dot{position:absolute;top:-1px;right:-1px}.gt-profile-menu__chevron{color:var(--gt-text-secondary);display:inline-flex}.gt-profile-menu .gt-menu{min-width:228px}.gt-profile-menu .gt-popover{margin-top:2px}@media (width<=767px){.gt-profile-menu__button{min-height:44px}}@media (prefers-reduced-motion:reduce){.gt-profile-menu__button{transition:none}}.gt-kbd{box-sizing:border-box;border:1px solid var(--gt-border-subtle);background:var(--gt-gray-100);min-width:20px;height:20px;color:var(--gt-text-secondary);font-family:var(--gt-font-sans);font-size:11px;font-weight:var(--gt-weight-medium);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.gt-kbd--on-dark{color:var(--gt-text-inverse);background:#ffffff24;border-color:#0000}.gt-search-trigger{box-sizing:border-box;border-radius:var(--gt-radius-sm);background:var(--gt-surface);width:250px;height:37px;box-shadow:var(--gt-shadow-card);color:var(--gt-text-secondary);font-family:var(--gt-font-sans);font-size:var(--gt-text-body);font-weight:var(--gt-weight-medium);cursor:pointer;text-align:left;transition:background-color var(--gt-transition-fast), border-color var(--gt-transition-fast), box-shadow var(--gt-transition-fast);border:1px solid #0000;align-items:center;gap:10px;padding:0 10px 0 12px;display:inline-flex}.gt-search-trigger:hover{background:var(--gt-canvas)}.gt-search-trigger:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.gt-search-trigger__icon{color:var(--gt-text-secondary);flex-shrink:0;display:inline-flex}.gt-search-trigger__label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gt-search-trigger__keys{gap:3px;display:inline-flex}.gt-search-trigger--icon{justify-content:center;width:40px;height:40px;padding:0}.gt-search-trigger--icon .gt-search-trigger__label,.gt-search-trigger--icon .gt-search-trigger__keys{display:none}.gt-entity{border-radius:var(--gt-radius-sm);background:var(--gt-surface-sunken);width:28px;height:28px;color:var(--gt-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gt-entity--sm{border-radius:5px;width:22px;height:22px}.gt-entity--person{background:var(--gt-green-50);color:var(--gt-green-700);font-size:10.5px;font-weight:var(--gt-weight-semibold);letter-spacing:.02em;border-radius:50%}.gt-entity--project{background:var(--gt-info-soft);color:var(--gt-info-text)}.gt-entity--task{background:var(--gt-gray-100);color:var(--gt-gray-700)}.gt-entity--story{color:var(--gt-purple);background:#7d3c981f}.gt-entity--conversation{background:var(--gt-gray-100);color:var(--gt-accent)}.gt-entity--class{background:var(--gt-gray-800);color:var(--gt-gray-0)}.gt-entity--assignment{background:var(--gt-warning-soft);color:var(--gt-warning-text)}.gt-palette-backdrop{z-index:var(--gt-z-palette);box-sizing:border-box;background:var(--gt-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:gt-palette-fade-in var(--gt-transition-fast);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.gt-palette{background:var(--gt-gray-0);border:1px solid var(--gt-border);border-radius:var(--gt-radius-md);width:100%;max-width:640px;max-height:min(560px,76vh);box-shadow:var(--gt-shadow-modal);font-family:var(--gt-font-sans);flex-direction:column;animation:.2s ease-out gt-palette-in;display:flex;position:relative;overflow:hidden}.gt-palette-backdrop--closing{animation:.15s ease-in forwards gt-palette-fade-out}.gt-palette-backdrop--closing .gt-palette{animation:.15s ease-in forwards gt-palette-out}@keyframes gt-palette-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes gt-palette-out{to{opacity:0;transform:translateY(-6px)}}@keyframes gt-palette-fade-in{0%{opacity:0}}@keyframes gt-palette-fade-out{to{opacity:0}}.gt-palette__input-row{border-bottom:1px solid var(--gt-border-subtle);flex-shrink:0;align-items:center;gap:12px;height:54px;padding:0 16px;display:flex}.gt-palette__search-icon{color:var(--gt-text-tertiary);flex-shrink:0;display:inline-flex}.gt-palette__input{min-width:0;height:100%;font-family:var(--gt-font-sans);color:var(--gt-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.gt-palette__input::placeholder{color:var(--gt-text-tertiary)}.gt-palette__spinner{border:2px solid var(--gt-border-subtle);border-top-color:var(--gt-primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite gt-palette-spin}@keyframes gt-palette-spin{to{transform:rotate(360deg)}}.gt-palette__esc{display:inline-flex}.gt-palette__scopes{scrollbar-width:none;border-bottom:1px solid var(--gt-border-subtle);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.gt-palette__scopes::-webkit-scrollbar{display:none}.gt-scope{border:1px solid var(--gt-border-subtle);border-radius:var(--gt-radius-pill);background:var(--gt-gray-0);height:26px;font-family:var(--gt-font-sans);font-size:11.5px;font-weight:var(--gt-weight-medium);color:var(--gt-text-secondary);cursor:pointer;transition:background-color var(--gt-transition-fast), border-color var(--gt-transition-fast), color var(--gt-transition-fast);flex-shrink:0;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.gt-scope:hover{background:var(--gt-primary-soft);border-color:var(--gt-green-200);color:var(--gt-green-700)}.gt-scope:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-scope--active,.gt-scope--active:hover{background:var(--gt-primary);border-color:var(--gt-primary);color:var(--gt-text-inverse)}.gt-scope__count{font-size:10.5px;font-weight:var(--gt-weight-semibold);opacity:.75;font-variant-numeric:tabular-nums}.gt-scope:disabled{opacity:.45;cursor:not-allowed}.gt-palette__body{overscroll-behavior:contain;flex:1;min-height:120px;padding:4px 0;overflow-y:auto}.gt-palette__list{margin:0;padding:0;list-style:none}.gt-result-group{font-size:10.5px;font-weight:var(--gt-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--gt-text-tertiary);align-items:center;gap:6px;padding:10px 16px 4px;display:flex}.gt-result-group__count{font-weight:var(--gt-weight-medium);opacity:.8;font-variant-numeric:tabular-nums}.gt-result-group__action{font:inherit;text-transform:none;letter-spacing:0;color:var(--gt-text-link);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.gt-result-group__action:hover{text-decoration:underline}.gt-result-group__action:focus-visible{box-shadow:var(--gt-focus-ring-tight);border-radius:3px;outline:none}.gt-result{box-sizing:border-box;border-radius:var(--gt-radius-sm);cursor:pointer;min-height:44px;color:var(--gt-text-primary);transition:background-color var(--gt-transition-fast);align-items:center;gap:12px;margin:0 4px;padding:7px 16px 7px 12px;display:flex}.gt-result[aria-selected=true],.gt-result--active{background:var(--gt-info-soft)}.gt-result__main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.gt-result__title{font-size:13.5px;font-weight:var(--gt-weight-medium);line-height:var(--gt-leading-snug);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;display:flex;overflow:hidden}.gt-result__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gt-result__key{font-family:var(--gt-font-mono);font-size:11px;font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary);flex-shrink:0}.gt-result__context{color:var(--gt-text-tertiary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.gt-palette__tag{border-radius:var(--gt-radius-pill);background:var(--gt-surface-sunken);height:16px;color:var(--gt-text-secondary);align-items:center;padding:0 5px;font-size:9.5px;font-weight:600;line-height:1;display:inline-flex}.gt-result__dot:before{content:"·"}.gt-result__meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.gt-result__type{font-size:10.5px;font-weight:var(--gt-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--gt-text-tertiary)}.gt-result__enter{display:none}.gt-result[aria-selected=true] .gt-result__enter{display:inline-flex}.gt-result[aria-selected=true] .gt-result__type{display:none}.gt-result mark{color:inherit;font-weight:var(--gt-weight-semibold);text-decoration:underline;-webkit-text-decoration-color:var(--gt-accent);text-decoration-color:var(--gt-accent);text-underline-offset:2px;background:0 0}.gt-result__badge{background:var(--gt-primary);min-width:18px;height:18px;color:var(--gt-gray-0);font-size:11px;font-weight:var(--gt-weight-semibold);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.gt-result__status{align-items:center;gap:4px;display:inline-flex}.gt-result__status-dot{background:var(--gt-gray-400);border-radius:50%;width:7px;height:7px}.gt-result__status-dot--in_progress{background:var(--gt-accent)}.gt-result__status-dot--done{background:var(--gt-primary)}.gt-palette__state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 24px;display:flex}.gt-palette__state-title{font-size:13.5px;font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);margin:0}.gt-palette__state-hint{color:var(--gt-text-tertiary);max-width:360px;font-size:12px;line-height:var(--gt-leading-normal);margin:0}.gt-palette__state-hint .gt-kbd{vertical-align:middle;margin:0 2px}.gt-palette__state--error .gt-palette__state-title{color:var(--gt-text-secondary)}.gt-palette__retry{font:inherit;font-size:12px;font-weight:var(--gt-weight-medium);color:var(--gt-text-link);cursor:pointer;background:0 0;border:none;padding:0}.gt-palette__retry:hover{text-decoration:underline}.gt-palette__skeleton{align-items:center;gap:12px;min-height:44px;padding:7px 16px 7px 12px;display:flex}.gt-palette__skeleton-icon,.gt-palette__skeleton-line{background:linear-gradient(90deg, var(--gt-gray-100) 25%, var(--gt-gray-50) 50%, var(--gt-gray-100) 75%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite gt-palette-shimmer}.gt-palette__skeleton-icon{border-radius:var(--gt-radius-sm);flex-shrink:0;width:28px;height:28px}.gt-palette__skeleton-line{height:10px}@keyframes gt-palette-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.gt-palette__footer{border-top:1px solid var(--gt-border-subtle);height:40px;color:var(--gt-text-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:11.5px;display:flex}.gt-palette__hints{align-items:center;gap:14px;display:flex}.gt-palette__hint{align-items:center;gap:5px;display:inline-flex}.gt-pagination-compact{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.gt-pagination-compact__btn{border:1px solid var(--gt-border-subtle);background:var(--gt-gray-0);width:24px;height:24px;color:var(--gt-text-secondary);cursor:pointer;transition:background-color var(--gt-transition-fast), color var(--gt-transition-fast);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.gt-pagination-compact__btn:hover:not(:disabled){background:var(--gt-gray-100);color:var(--gt-text-primary)}.gt-pagination-compact__btn:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-pagination-compact__btn:disabled{opacity:.4;cursor:not-allowed}.gt-pagination-compact__range{color:var(--gt-text-tertiary)}.gt-pagination-compact__page{color:var(--gt-text-secondary);font-weight:var(--gt-weight-medium)}@media (width<=640px){.gt-palette-backdrop{align-items:flex-start;padding:8px}.gt-palette{max-height:calc(100dvh - 16px)}.gt-palette__hints{display:none}.gt-palette__footer{justify-content:flex-end}.gt-result__type{display:none}}@media (width<=768px){.gt-search-trigger{justify-content:center;width:40px;min-width:40px;height:40px;padding:0}.gt-search-trigger__label,.gt-search-trigger__keys{display:none}}@media (prefers-reduced-motion:reduce){.gt-palette-backdrop,.gt-palette,.gt-palette-backdrop--closing,.gt-palette-backdrop--closing .gt-palette{animation-duration:.01ms}.gt-palette__skeleton-icon,.gt-palette__skeleton-line,.gt-palette__spinner{animation:none}.gt-result,.gt-scope,.gt-search-trigger{transition:none}}.app-header{background:var(--gt-surface);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:16px 24px;display:flex;position:sticky;top:0}.app-header--class{height:auto;min-height:64px;padding-top:16px;padding-bottom:10px}.app-header .app-header__page-title{color:var(--gt-text-secondary);margin:0;padding-left:8px;font-family:Poppins,sans-serif;font-size:24px;font-weight:600;line-height:1.2}.app-header .app-header__breadcrumb-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.app-header .app-header__breadcrumb-link:hover{text-decoration:underline}.app-header .app-header__breadcrumb-separator,.app-header .app-header__breadcrumb-rest{font:inherit;color:inherit}.app-header .app-header__right{align-items:center;gap:16px;display:flex}.app-header__title-block{flex-direction:column;gap:3px;display:flex}.app-header__class-meta{flex-wrap:wrap;align-items:center;gap:6px;padding-left:8px;display:flex}.app-header__class-term{color:var(--gt-text-tertiary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500}.app-header__meta-dot{color:var(--gt-text-tertiary);font-size:.8rem}.app-header__meta-label{color:var(--gt-text-tertiary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500}.app-header__access-pill{color:var(--gt-primary);cursor:pointer;background-color:#0181562e;border:none;border-radius:5px;align-items:center;gap:6px;padding:2px 10px 2px 12px;transition-property:background-color,box-shadow;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.app-header__access-pill:hover{background-color:#01815638;box-shadow:0 0 0 1px #0181561f}.app-header__access-pill:focus{outline:none}.app-header__access-pill:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.app-header__access-pill--copied{background-color:#01815642}.app-header__access-code{color:var(--gt-primary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:600}.app-header__copy-btn{width:18px;height:18px;color:var(--gt-primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition-property:transform,opacity,color,background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.app-header__copy-btn--copied{color:var(--gt-primary-hover);transform:translateY(-1px)}.app-header__icon-button{background-color:var(--gt-surface);width:40px;height:40px;box-shadow:var(--gt-shadow-card);cursor:pointer;color:var(--gt-text-secondary);border-radius:7px;justify-content:center;align-items:center;display:flex;position:relative}.app-header__icon-button img{filter:brightness(.68)}.app-header__icon-button svg{color:var(--gt-text-secondary)}.app-header__icon-button:hover{background-color:var(--gt-canvas);border-color:var(--gt-text-secondary)}.app-header__icon-button:focus{outline:none}.app-header__icon-button:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.app-header__menu-button{width:40px;height:40px;color:var(--gt-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;margin-right:8px;display:none}.app-header__menu-button svg{flex-shrink:0}.app-header__menu-button:hover{background-color:var(--gt-canvas)}.app-header__notification-badge{background-color:var(--gt-error);min-width:24px;height:24px;color:var(--gt-text-inverse);border-radius:50%;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #00000026}.app-header__notification-container{position:relative}.app-header__dropdown{background-color:var(--gt-surface);box-shadow:var(--gt-shadow-card);z-index:11;border:none;border-radius:10px;animation:.2s appHeaderDropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0}@keyframes appHeaderDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-header__notifications-dropdown{min-width:320px;max-width:400px}.app-header__notifications-dropdown .app-header__dropdown-header{border-bottom:1px solid var(--gt-border);justify-content:space-between;align-items:center;gap:8px;padding:16px 16px 8px;display:flex}.app-header__notifications-dropdown .app-header__dropdown-header h3{color:var(--gt-text-secondary);margin:0;font-family:Poppins,sans-serif;font-size:16px;font-weight:600}.app-header__notifications-dropdown .app-header__mark-all-read{cursor:pointer;color:var(--gt-accent);white-space:nowrap;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:12px}.app-header__notifications-dropdown .app-header__mark-all-read:hover{text-decoration:underline}.app-header__notifications-dropdown .app-header__dropdown-content{max-height:400px;overflow-y:auto}.app-header__notifications-dropdown .app-header__empty-state{text-align:center;color:var(--gt-text-secondary);padding:32px;font-family:Poppins,sans-serif;font-size:14px}.app-header__notifications-dropdown .app-header__notification-item{border-bottom:1px solid var(--gt-border);align-items:flex-start;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.app-header__notifications-dropdown .app-header__notification-item:last-child{border-bottom:none}.app-header__notifications-dropdown .app-header__notification-item:hover{background-color:var(--gt-canvas)}.app-header__notifications-dropdown .app-header__notification-item.unread{background-color:var(--gt-info-soft)}.app-header__notifications-dropdown .app-header__notification-body{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:16px}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-title{color:var(--gt-text-secondary);margin-bottom:4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-content{color:var(--gt-text-secondary);margin-bottom:4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:1.4}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-time{color:var(--gt-text-secondary);font-family:Poppins,sans-serif;font-size:12px;font-weight:500}.app-header__notifications-dropdown .app-header__notification-dismiss{cursor:pointer;color:var(--gt-text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:8px 8px 0 0;padding:8px;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:flex}.app-header__notifications-dropdown .app-header__notification-dismiss:hover{background-color:var(--gt-info-soft);color:var(--gt-accent)}@media (width<=768px){.app-header{gap:8px;padding:16px}.app-header__menu-button{flex-shrink:0;display:inline-flex}.app-header__title-block{flex:auto;min-width:0}.app-header__page-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header__right{flex-shrink:0}}.preview-banner{--preview-banner-h:44px;height:var(--preview-banner-h);z-index:1100;color:var(--gt-text-inverse);background:linear-gradient(90deg,#6d28d9,#4f46e5);justify-content:center;align-items:center;gap:1rem;padding:0 1rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 6px #0000002e}.preview-banner__label{align-items:center;gap:.5rem;display:inline-flex}.preview-banner__eye{flex-shrink:0}.preview-banner__pill{letter-spacing:.02em;text-transform:uppercase;background:#ffffff2e;border-radius:999px;align-items:center;gap:.25rem;margin-left:.25rem;padding:.1rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.preview-banner__exit{color:var(--gt-text-inverse);cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:inline-flex;position:absolute;right:1rem}.preview-banner__exit:hover{background:#ffffff29}.preview-banner__toast{z-index:1200;color:var(--gt-text-inverse);background:#1f2937;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;animation:.18s preview-toast-in;display:inline-flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000047}@keyframes preview-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.preview-banner{font-size:.8125rem}.preview-banner__pill{display:none}.preview-banner__exit{padding:.3rem .55rem}}.gt-alert{border-radius:var(--gt-radius-sm);font-family:var(--gt-font-sans);font-size:var(--gt-text-body);align-items:flex-start;gap:10px;padding:.75rem 1rem;display:flex}.gt-alert__icon{flex-shrink:0;margin-top:1px;display:inline-flex}.gt-alert__content{flex:1;min-width:0}.gt-alert__title{font-weight:var(--gt-weight-semibold);font-size:var(--gt-text-body);margin:0}.gt-alert__text{font-size:var(--gt-text-caption);line-height:var(--gt-leading-normal);margin:0}.gt-alert__text p{margin:0}.gt-alert__text p+p{margin-top:4px}.gt-alert__actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.gt-alert__title+.gt-alert__text{margin-top:2px}.gt-alert__dismiss{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px;display:inline-flex}.gt-alert__dismiss:hover{opacity:1}.gt-alert__dismiss:focus-visible{box-shadow:var(--gt-focus-ring-tight);outline:none}.gt-alert--success{background-color:var(--gt-success-soft);color:var(--gt-success-text)}.gt-alert--warning{background-color:var(--gt-warning-soft);color:var(--gt-warning-text)}.gt-alert--error{background-color:var(--gt-error-soft);color:var(--gt-error-text)}.gt-alert--info{background-color:var(--gt-info-soft);color:var(--gt-info-text)}@media (width<=767px){.gt-alert__dismiss{justify-content:center;align-items:center;min-width:44px;min-height:44px}}.message-widget__unread,.messages-list__unread{background:var(--gt-primary);color:var(--gt-text-inverse);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.messages-page{background:var(--gt-canvas);height:calc(100vh - 64px);color:var(--gt-text-primary);grid-template-columns:320px 1fr;display:grid}.messages-page__list{border-right:1px solid var(--gt-border);background:var(--gt-surface);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.messages-page__thread{background:var(--gt-surface);flex-direction:column;min-height:0;display:flex}.messages-page__back-btn{display:none}@media (width<=768px){.messages-page{grid-template-rows:1fr;grid-template-columns:1fr;height:calc(100dvh - 64px)}.messages-page__list{border-right:none;height:100%}.messages-page--thread-active .messages-page__list,.messages-page:not(.messages-page--thread-active) .messages-page__thread{display:none}.messages-page--thread-active .messages-page__thread{height:100%;overflow:hidden}.messages-page__back-btn{border:none;border-bottom:1px solid var(--gt-border);color:var(--gt-primary);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:4px;width:100%;padding:8px 16px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.messages-page__back-btn:hover{background:var(--gt-surface-muted)}.messages-page .messages-list__item .conversation-menu{display:none}.messages-page .messages-list__item{touch-action:manipulation}}.messages-list{flex-direction:column;flex:1;min-height:0;display:flex}.messages-list__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.messages-list__title{color:var(--gt-text-primary);font-size:1.125rem;font-weight:600}.messages-list__search{color:var(--gt-text-tertiary);cursor:pointer;font-size:inherit;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.messages-list__search:hover,.messages-list__search:focus-visible{background:var(--gt-surface-muted);border-color:#0000}.messages-list__search-input{border:1px solid var(--gt-border);min-width:0;color:var(--gt-text-primary);background:var(--gt-surface);border-radius:20px;flex:1;padding:4px 16px;font-family:inherit;font-size:.9rem;transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease}.messages-list__search-input::placeholder{color:var(--gt-text-tertiary)}.messages-list__search-input:focus{border-color:var(--gt-accent);box-shadow:var(--gt-focus-ring-tight);outline:none}.messages-list__empty{color:var(--gt-text-tertiary);text-align:center;padding:32px 16px;font-size:.95rem}.messages-list__items{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.messages-list__item{border-bottom:1px solid var(--gt-border);cursor:pointer;outline:none;align-items:center;gap:16px;padding:16px 24px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:relative}.messages-list__item:hover,.messages-list__item:focus-visible{background:var(--gt-surface-muted)}.messages-list__item:hover .conversation-menu:not(.conversation-menu--always-visible) .conversation-menu__trigger,.messages-list__item:focus-within .conversation-menu:not(.conversation-menu--always-visible) .conversation-menu__trigger{opacity:1}.messages-list__item--active{background:var(--gt-green-50);border-left:3px solid var(--gt-primary);padding-left:21px}.messages-list__item:has(.messages-list__unread) .messages-list__name{font-weight:var(--gt-weight-bold)}.messages-list__item:has(.messages-list__unread) .messages-list__preview{color:var(--gt-text-secondary);font-weight:var(--gt-weight-medium)}.messages-list__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.messages-list__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.messages-list__name{font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;overflow:hidden}.messages-list__time{color:var(--gt-text-tertiary);flex-shrink:0;font-size:.8rem}.messages-list__preview{color:var(--gt-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.messages-list__unread{flex-shrink:0}.gt-convo__chip{font-size:10px;font-weight:var(--gt-weight-semibold);letter-spacing:var(--gt-tracking-wide);text-transform:uppercase;border-radius:var(--gt-radius-lg);flex-shrink:0;padding:1px 6px}.gt-convo__chip--team_ta{background:var(--gt-info-soft);color:var(--gt-info-text)}.gt-convo__chip--team_instructor{background:var(--gt-warning-soft);color:var(--gt-warning-text)}.gt-convo__chip--team_members{background:var(--gt-success-soft);color:var(--gt-success-text)}.conversation-menu{flex-shrink:0;position:relative}.conversation-menu__trigger{color:var(--gt-text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition-property:opacity,background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.conversation-menu__trigger:hover,.conversation-menu__trigger:focus-visible{background:var(--gt-surface-muted);opacity:1;border-color:#0000}.conversation-menu--always-visible .conversation-menu__trigger{opacity:1}.conversation-menu__dropdown{background:var(--gt-surface);border:1px solid var(--gt-border);min-width:140px;box-shadow:var(--gt-shadow-pop);z-index:10;border-radius:7px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.conversation-menu__item{text-align:left;width:100%;color:var(--gt-text-primary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:8px 16px;font-family:inherit;font-size:.9rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:block}.conversation-menu__item:hover:not(:disabled),.conversation-menu__item:focus-visible:not(:disabled){background:var(--gt-surface-muted);border-color:#0000}.conversation-menu__item--unread{font-weight:600}.conversation-menu__item--danger{color:#dc2626}.conversation-menu__item:disabled{cursor:not-allowed;opacity:.6}.messages-thread{flex-direction:column;height:100%;min-height:0;display:flex}.messages-thread--empty{color:var(--gt-text-tertiary);text-align:center;justify-content:center;align-items:center;padding:32px;font-size:.95rem}.messages-thread__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;justify-content:space-between;align-items:center;height:76px;padding:16px 24px;display:flex}.messages-thread__header-left{align-items:center;gap:16px;min-width:0;display:flex}.messages-thread__title{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.messages-thread__scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding:16px 24px;display:flex;overflow-y:auto}.messages-thread__loading,.messages-thread__empty{color:var(--gt-text-tertiary);text-align:center;padding:24px;font-size:.9rem}.messages-thread__skeleton{flex-direction:column;gap:8px;display:flex}.messages-thread__seen{color:var(--gt-text-tertiary);align-self:flex-end;margin-top:4px;font-size:.75rem}.messages-thread__header-text{flex-direction:column;min-width:0;display:flex}.messages-thread__subtitle{font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messages-thread__day{font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);background:var(--gt-surface-sunken);border-radius:var(--gt-radius-lg);margin:var(--gt-space-sm) 0;align-self:center;padding:2px 10px}.messages-thread__older{min-height:20px;font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);align-self:center}.messages-bubble{border-radius:var(--gt-radius-md);max-width:72%;padding:8px 12px;animation:.2s both gt-rise-in}.messages-bubble--mine{background:var(--gt-primary);color:var(--gt-text-inverse);align-self:flex-end}.messages-bubble--mine .messages-bubble__time{color:var(--gt-text-inverse)}.messages-bubble--theirs{background:var(--gt-surface);border:1px solid var(--gt-border);color:var(--gt-text-primary);align-self:flex-start}.messages-bubble--pending{opacity:.6;animation:none}.messages-bubble__author{font-size:var(--gt-text-caption);font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary);margin-bottom:2px}.messages-bubble__body{font-size:var(--gt-text-body);line-height:var(--gt-leading-snug)}.messages-bubble__time{color:var(--gt-text-tertiary);text-align:right;margin-top:2px;font-size:11px}.messages-md{overflow-wrap:anywhere}.messages-md p,.messages-md pre{margin:0}.messages-md :is(p,pre)+:is(p,pre){margin-top:4px}.messages-md strong{font-weight:var(--gt-weight-semibold)}.messages-md__link{color:var(--gt-text-link);text-decoration:underline}.messages-md__code{font-family:var(--gt-font-mono);border-radius:var(--gt-radius-sm);background:var(--gt-surface-sunken);padding:1px 4px;font-size:.9em}.messages-md__pre{border-radius:var(--gt-radius-sm);background:var(--gt-surface-sunken);white-space:pre-wrap;padding:4px 8px}.messages-md__pre .messages-md__code{background:0 0;padding:0}.messages-bubble--mine .messages-md__link,.messages-bubble--mine .messages-md__link:hover{color:inherit}.messages-bubble--mine .messages-md__code,.messages-bubble--mine .messages-md__pre{background:var(--gt-primary-hover)}.messages-composer{border-top:1px solid var(--gt-border);background:var(--gt-surface);flex-direction:column;gap:8px;padding:16px 24px;display:flex}.messages-composer--disabled{color:var(--gt-text-tertiary);text-align:center;padding:16px 24px;font-size:.9rem}.messages-composer__input{border:1px solid var(--gt-border);color:var(--gt-text-primary);background:var(--gt-surface);resize:none;border-radius:20px;min-height:48px;max-height:160px;padding:8px 16px;font-family:inherit;font-size:.95rem;transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease;overflow-y:auto}.messages-composer__input::placeholder{color:var(--gt-text-tertiary)}.messages-composer__input:focus{border-color:var(--gt-accent);box-shadow:var(--gt-focus-ring-tight);outline:none}.messages-composer__footer{justify-content:flex-end;align-items:center;gap:16px;display:flex}.messages-composer__counter{color:var(--gt-text-tertiary);margin-right:auto;font-size:.8rem}.messages-composer__counter--over{color:#dc2626;font-weight:600}.messages-composer__error{color:#dc2626;font-size:.85rem}.messages-composer__send{background:var(--gt-primary);color:var(--gt-text-inverse);cursor:pointer;border:none;border-radius:7px;padding:8px 24px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease}.messages-composer__send:active{transform:translateY(.5px)}.messages-composer__send:hover:not(:disabled){background:var(--gt-primary-hover)}.messages-composer__send:disabled{opacity:.45;cursor:not-allowed}.message-btn{background:var(--gt-surface);color:var(--gt-primary);border:1px solid var(--gt-primary);cursor:pointer;border-radius:7px;padding:4px 16px;font-size:.85rem;font-weight:600;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease}.message-btn:hover{background:var(--gt-primary);color:var(--gt-text-inverse)}.message-widget{z-index:10;background:var(--gt-surface);color:var(--gt-text-primary);font-family:inherit;position:fixed;bottom:0;right:24px}.message-widget--tab{cursor:pointer;height:48px;color:var(--gt-text-primary);border:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex;box-shadow:0 -2px 12px #00000014}.message-widget--tab:hover{background:var(--gt-surface-muted)}.message-widget--tab:focus-visible{box-shadow:var(--gt-focus-ring), 0 -2px 12px #00000014;outline:none}.message-widget__label{font-weight:600}.message-widget--popover{border-radius:var(--gt-radius-md) var(--gt-radius-md) 0 0;width:360px;height:480px;box-shadow:var(--gt-shadow-card);flex-direction:column;display:flex;overflow:hidden}.message-widget__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;align-items:center;gap:8px;height:56px;padding:8px 16px;display:flex}.message-widget__title{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.message-widget__back,.message-widget__minimize{color:var(--gt-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.message-widget__back:hover,.message-widget__back:focus-visible,.message-widget__minimize:hover,.message-widget__minimize:focus-visible{background:var(--gt-surface-muted)}.message-widget__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (width<=767px){.message-widget{display:none}}.new-conv-search{position:relative}.new-conv-search__trigger{color:var(--gt-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.new-conv-search__trigger:hover,.new-conv-search__trigger:focus-visible{background:var(--gt-surface-muted);color:var(--gt-primary)}.new-conv-search__panel{background:var(--gt-surface);border:1px solid var(--gt-border);z-index:200;border-radius:20px;flex-direction:column;width:300px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.new-conv-search__input-row{border-bottom:1px solid var(--gt-border);align-items:center;gap:8px;padding:8px 16px;display:flex}.new-conv-search__icon{color:var(--gt-text-tertiary);flex-shrink:0}.new-conv-search__input{color:var(--gt-text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem}.new-conv-search__input::placeholder{color:var(--gt-text-tertiary)}.new-conv-search__results{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.new-conv-search__status{color:var(--gt-text-tertiary);text-align:center;padding:16px 24px;font-size:.875rem}.new-conv-search__status--error{color:#dc2626}.new-conv-search__result{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:16px;width:100%;padding:8px 16px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.new-conv-search__result:hover,.new-conv-search__result:focus-visible{background:var(--gt-surface-muted);outline:none}.new-conv-search__result-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.new-conv-search__result-name{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500;overflow:hidden}.app-view{background-color:var(--gt-surface);min-height:100vh;color:var(--gt-text-primary);position:relative}.app-view--previewing .sidebar{top:44px}.app-view--previewing .app-main{margin-top:44px}.app-view--previewing .app-header{top:44px}.app-main{min-height:100vh;margin-left:64px}@media (hover:none) and (width>=769px){.app-main{margin-left:256px}}.app-nav-backdrop{background:var(--gt-scrim);z-index:98;animation:.15s both app-nav-backdrop-fade-in;position:fixed;inset:0}.app-modal-load-error{right:var(--gt-space-lg);bottom:var(--gt-space-lg);width:360px;max-width:calc(100vw - 2 * var(--gt-space-lg));z-index:var(--gt-z-tooltip);border-radius:var(--gt-radius-sm);box-shadow:var(--gt-shadow-pop);position:fixed}@keyframes app-nav-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=768px){.app-main{margin-left:0}}.dev-mode-toggle{z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000c;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:fixed;bottom:1rem;left:5rem}.dev-control-label{color:#ffeb3b;align-items:center;gap:.5rem;font-family:Poppins,sans-serif;font-size:.8125rem;display:flex}.dev-toggle-switch{cursor:pointer;background-color:#ffffff4d;border:none;border-radius:12px;width:48px;height:24px;transition-property:background-color;transition-duration:.3s;transition-timing-function:ease;position:relative}.dev-toggle-switch.active{background-color:#4caf50}.dev-toggle-switch:hover{background-color:#fff6}.dev-toggle-slider{background-color:var(--gt-surface);border-radius:50%;width:20px;height:20px;transition-property:transform;transition-duration:.3s;transition-timing-function:ease;position:absolute;top:2px;left:2px}.active .dev-toggle-slider{transform:translate(24px)}.requests-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.requests-modal{background:#fff;border-radius:10px;flex-direction:column;width:min(640px,100%);max-height:85vh;font-family:Poppins,sans-serif;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}.requests-modal__close{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s;display:flex;position:absolute;top:16px;right:16px}.requests-modal__close:hover:not(:disabled){color:#303030;background-color:#eee}.requests-modal__close:disabled{opacity:.5;cursor:not-allowed}.requests-modal__header{border-bottom:1px solid #dadada99;padding:24px 3rem 16px 24px}.requests-modal__title{color:#303030;margin:0 0 4px;font-size:1.35rem;font-weight:600}.requests-modal__subtitle{color:#424242;margin:0;font-size:12px;line-height:1.45}.requests-modal__tabs{background:#eee;border-radius:7px;gap:0;margin:16px 24px 0;padding:4px;display:flex}.requests-modal__tab{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;transition:background-color .2s,color .2s;display:inline-flex}.requests-modal__tab--active{color:#303030;background:#fff;box-shadow:0 1px 3px #00000014}.requests-modal__tab--active:focus-visible{box-shadow:var(--gt-focus-ring), 0 1px 3px #00000014;outline:none}.requests-modal__tab-count{color:#018156;background:#0181561f;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.requests-modal__error{color:#dc2626;background:#dc26261a;border:1px solid #dc262640;border-radius:7px;margin:16px 24px 0;padding:8px 16px;font-size:12px}.requests-modal__body{flex:1;padding:16px 24px 24px;overflow-y:auto}.requests-modal__loading,.requests-modal__empty{text-align:center;color:#424242;margin:24px 0;font-size:12px}.requests-modal__loading{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.requests-modal__spinner,.requests-modal__btn-spinner{animation:.65s linear infinite requests-modal-spin}.requests-modal__list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.requests-modal__card{background:#fffffff2;border:1px solid #dadada;border-radius:10px;align-items:flex-start;gap:16px;padding:16px;display:flex}.requests-modal__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.requests-modal__avatar--thumbnail{object-fit:cover;border-radius:8px}.requests-modal__card-main{flex:1;min-width:0}.requests-modal__card-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.requests-modal__card-sub{color:#424242;margin:0 0 8px;font-size:12px}.requests-modal__card-message{color:#424242;white-space:pre-wrap;overflow-wrap:anywhere;background:#61616114;border-left:3px solid #6161614d;border-radius:6px;margin:0 0 8px;padding:8px 16px;font-size:12px;font-style:italic}.requests-modal__badges{flex-wrap:wrap;gap:8px;display:flex}.requests-modal__badge{color:#424242;background:#6161611f;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.requests-modal__badge--purple{color:#7d3c98;background:#8e44ad24}.requests-modal__badge--denied{color:#c0392b;background:#c0392b24}.requests-modal__meta{color:#616161;align-items:center;gap:6px;margin-top:16px;font-size:12px;display:flex}.requests-modal__actions{gap:8px;margin-top:16px;display:flex}.requests-modal__btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s,opacity .2s;display:inline-flex}.requests-modal__btn:disabled{cursor:not-allowed;opacity:.85}.requests-modal__btn--accept{color:#fff;background:#018156}.requests-modal__btn--accept:hover:not(:disabled){background:#016547}.requests-modal__btn--decline{color:#fff;background:#dc2626}.requests-modal__btn--decline:hover:not(:disabled){opacity:.92}@keyframes requests-modal-spin{to{transform:rotate(360deg)}}.student-home{background-color:#fff;min-height:calc(100vh - 64px);padding:24px 24px 60px;font-family:Poppins,sans-serif;position:relative}.student-home__join-banner{margin-bottom:24px}.student-home__grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.student-home__grid{grid-template-columns:1fr}}.student-home__column{flex-direction:column;gap:24px;min-width:0;display:flex}.student-home__card{background:#fff;border-radius:10px;padding:24px;box-shadow:0 0 2.61px #00000040}.student-home__card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.student-home__card-title{color:#303030;margin:0;font-size:16px;font-weight:600}.student-home__link{color:#018156;cursor:pointer;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.student-home__link:hover{text-decoration:underline}.student-home__team-project{color:#018156;text-align:right;flex-shrink:0;font-size:14px;font-weight:600}.student-home__team-project-select{color:#018156;cursor:pointer;appearance:none;text-align:left;text-align-last:left;background:#0181560f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23018156' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #01815659;border-radius:7px;flex-shrink:1;min-width:0;max-width:min(200px,55vw);padding:4px 28px 4px 10px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.student-home__team-project-select:focus{outline:none}.student-home__schedule-list{margin:0;padding:0;list-style:none;position:relative}.student-home__schedule-item{grid-template-columns:72px 1fr;gap:16px;padding-bottom:24px;display:grid;position:relative}.student-home__schedule-item:not(:last-child):before{content:"";background:#dadada;width:2px;position:absolute;top:14px;bottom:0;left:5px}.student-home__schedule-time{color:#616161;padding-top:2px;font-size:12px;font-weight:500}.student-home__schedule-body{align-items:flex-start;gap:8px;display:flex}.student-home__schedule-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px}.student-home__schedule-dot--green{background:#018156}.student-home__schedule-dot--blue{background:#2771ff}.student-home__schedule-dot--orange{background:#f5a623}.student-home__schedule-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.student-home__schedule-sub{color:#616161;margin:0;font-size:12px}.student-home__schedule-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 24px;display:flex}.student-home__schedule-empty-icon{color:#018156;background:#0181561a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;display:flex;box-shadow:0 1px 4px #0000000f}.student-home__schedule-empty-title{color:#303030;max-width:14rem;margin:0;font-size:14px;font-weight:400;line-height:1.5}.student-home__request-feedback{color:#8b1a1a;background:#dc26261a;border:1px solid #dc262640;border-radius:7px;margin:-8px 0 16px;padding:8px 16px;font-size:12px;font-weight:500}.student-home__requests-list{flex-direction:column;gap:16px;display:flex}.student-home__request-card{background:#ffffffe6;border:1px solid #dadada;border-radius:10px;padding:16px}.student-home__request-top{align-items:flex-start;gap:16px;display:flex}.student-home__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.student-home__avatar--thumbnail{object-fit:cover;border-radius:8px}.student-home__request-main{flex:1;min-width:0}.student-home__request-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.student-home__request-sub{color:#424242;margin:0 0 8px;font-size:12px}.student-home__request-message{color:#424242;white-space:pre-wrap;overflow-wrap:anywhere;background:#61616114;border-left:3px solid #6161614d;border-radius:6px;margin:0 0 8px;padding:8px 16px;font-size:12px;font-style:italic}.student-home__badges{flex-wrap:wrap;gap:8px;display:flex}.student-home__badge{color:#424242;background:#6161611f;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.student-home__badge--purple{color:#7d3c98;background:#8e44ad24}.student-home__badge--denied{color:#c0392b;background:#c0392b24}.student-home__request-actions{gap:8px;margin-top:16px;display:flex}.student-home__btn-accept{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s;display:inline-flex}.student-home__btn-accept:hover:not(:disabled){background:#016547}.student-home__btn-accept:disabled{cursor:not-allowed;opacity:.85}.student-home__btn-deny{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:opacity .2s;display:inline-flex}.student-home__btn-deny:hover:not(:disabled){opacity:.92}.student-home__btn-deny:disabled{cursor:not-allowed;opacity:.85}.student-home__btn-spinner{flex-shrink:0;animation:.65s linear infinite student-home-spin}@keyframes student-home-spin{to{transform:rotate(360deg)}}.student-home__awaiting{color:#616161;align-items:center;gap:6px;margin-top:16px;font-size:12px;display:flex}.student-home__team-list{margin:0;padding:0;list-style:none}.student-home__team-item{border-bottom:1px solid #dadada80;align-items:center;gap:16px;padding:8px 0;display:flex}.student-home__team-item:last-child{border-bottom:none}.student-home__team-avatar-wrap{flex-shrink:0;position:relative}.student-home__team-avatar{color:#212b36;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.student-home__team-avatar--0{background:#01815633}.student-home__team-avatar--1{background:#2771ff33}.student-home__team-avatar--2{background:#8e44ad33}.student-home__team-avatar--3{background:#f5a62340}.student-home__team-avatar--4{background:#e91e632e}.student-home__team-avatar--photo{object-fit:cover;background:0 0}.student-home__status-dot{border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.student-home__status-dot--green{background:#2ecc71}.student-home__status-dot--orange{background:#f5a623}.student-home__status-dot--gray{background:#9e9e9e}.student-home__team-text{flex:1;min-width:0}.student-home__team-name{color:#303030;font-size:14px;font-weight:600}.student-home__you{color:#018156;margin-left:4px;font-weight:600}.student-home__team-role{color:#616161;margin-top:2px;font-size:12px;display:block}.student-home__empty{color:#424242;margin:0;font-size:14px;line-height:1.5}.student-home__loading{color:#616161;font-size:14px}@media (width<=600px){.student-home{padding:16px 16px 32px}.student-home__card{padding:16px}}.student-home__fab{color:#fff;cursor:pointer;z-index:10;background:#212121;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:600;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #0003}.student-home__fab:hover{background:#424242;transform:scale(1.04)}.student-home__fab:focus-visible{box-shadow:var(--gt-focus-ring), 0 4px 14px #0003}.add-assignment-btn{color:#fff;cursor:pointer;background-color:#018156;border:none;border-radius:7px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.add-assignment-btn:hover{background-color:#016547}.add-assignment-btn:focus{outline:none}.instructor-home{background-color:#fff;min-height:calc(100vh - 64px);padding:24px 24px 60px;font-family:Poppins,sans-serif}.instructor-home__grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.instructor-home__grid{grid-template-columns:1fr}}.instructor-home__column{flex-direction:column;gap:24px;min-width:0;display:flex}.instructor-home__card{background:#fff;border:1px solid #dadada;border-radius:10px;padding:24px;box-shadow:0 0 4px #00000014}.instructor-home__card-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.instructor-home__card-title{color:#212b36;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.instructor-home__card-title svg{color:#018156;flex-shrink:0}.instructor-home__count-badge{color:#b3261e;background:#dc262624;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.instructor-home__muted{color:#616161;margin:0;font-size:14px}.instructor-home__all-clear{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:32px 0;display:flex}.instructor-home__all-clear-icon{color:#018156;background:#0181561f;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:flex}.instructor-home__all-clear-title{color:#212b36;margin:0;font-size:16px;font-weight:600}.instructor-home__all-clear-sub{color:#616161;margin:0;font-size:14px}.instructor-home__alert-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instructor-home__alert{border-bottom:1px solid #dadada;align-items:center;gap:8px;width:100%;display:flex}.instructor-home__alert:last-child{border-bottom:none}.instructor-home__alert-main{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;align-items:center;gap:16px;min-width:0;padding:16px 8px;font-family:Poppins,sans-serif;transition:background-color .2s;display:flex}.instructor-home__alert-main:hover{background-color:#6161610f}.instructor-home__alert-main:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);outline:none}.instructor-home__alert-icon{flex-shrink:0}.instructor-home__alert--roster_missing .instructor-home__alert-icon{color:#d08700}.instructor-home__alert--unmatched .instructor-home__alert-icon{color:#dc2626}.instructor-home__alert-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.instructor-home__alert-class{color:#303030;font-size:14px;font-weight:600}.instructor-home__alert-msg{color:#616161;font-size:12px}.instructor-home__alert-chevron{color:#616161;flex-shrink:0}.instructor-home__alert-dismiss{color:#616161;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background-color .2s,color .2s,border-color .2s;display:flex}.instructor-home__alert-dismiss svg{flex-shrink:0}.instructor-home__alert-dismiss:hover{color:#dc2626;background:#dc26261a;border-color:#dc262659}.instructor-home__activity-empty{text-align:center;color:#616161;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 0;display:flex}.instructor-home__activity-empty svg{color:#dadada}.instructor-home__activity-empty p{margin:0;font-size:14px}.instructor-home__create-btn{justify-content:center;align-self:stretch;width:100%}.instructor-home__class-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instructor-home__class-list li{border-bottom:1px solid #dadada}.instructor-home__class-list li:last-child{border-bottom:none}.instructor-home__class-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:16px;width:100%;padding:16px 8px;font-family:Poppins,sans-serif;transition:background-color .2s;display:flex}.instructor-home__class-row:hover{background-color:#6161610f}.instructor-home__class-row:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);outline:none}.instructor-home__class-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.instructor-home__class-name{color:#303030;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.instructor-home__class-meta{color:#616161;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.instructor-home__status-tag{border-radius:20px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.instructor-home__status-tag--active{color:#018156;background-color:#d4f5ee}.instructor-home__status-tag--complete{color:#2771ff;background-color:#dce8f5}.instructor-home__class-arrow{color:#616161;flex-shrink:0}.home-page{font-family:Poppins,sans-serif}.home-page--guest,.home-page--loading,.home-page--instructor{background-color:#eee;min-height:calc(100vh - 64px);padding:32px 24px}.home-page--guest{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.home-page--guest h1{color:#303030;margin-bottom:16px}.home-page--guest p{color:#424242;margin-bottom:24px}.home-page--guest button{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;padding:10px 20px;font-family:Poppins,sans-serif;font-weight:600}.home-page--guest button:hover{background:#016547}.home-page--loading{color:#424242}.home-page__welcome-card{max-width:520px;box-shadow:var(--gt-shadow-card);background:#fff;border-radius:10px;padding:32px}.home-page__title{color:#303030;margin:0 0 16px;font-size:24px;font-weight:600}.home-page__lede{color:#424242;margin:0 0 24px;line-height:1.5}.home-page__actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.home-page__link{color:#018156;font-weight:600;text-decoration:none}.home-page__link:hover{text-decoration:underline}.home-page__link--secondary{color:#2771ff}
