:root{--gs-bg:#111318;--gs-surface:#1c1f26;--gs-surface-2:#252830;--gs-surface-3:#2e3240;--gs-border:rgba(255,255,255,0.06);--gs-border-2:#2e3240;--gs-border-3:#3d4258;--gs-text:#e2e8f0;--gs-text-2:#94a3b8;--gs-text-3:#64748b;--gs-text-4:#475569;--gs-teal:#0d9488;--gs-teal-hover:#0f766e;--gs-teal-light:#2dd4bf;--gs-teal-lighter:#5eead4;--gs-teal-dim:rgba(13,148,136,0.15);--gs-teal-xs:rgba(13,148,136,0.08);--gs-teal-sm:rgba(13,148,136,0.12);--gs-teal-md:rgba(13,148,136,0.20);--gs-teal-glow:rgba(13,148,136,0.30);--gs-green:#22c55e;--gs-green-bright:#4ade80;--gs-green-dim:rgba(34,197,94,0.15);--gs-lime:#a3e635;--gs-lime-dim:rgba(163,230,53,0.15);--gs-amber:#fbbf24;--gs-amber-dim:rgba(251,191,36,0.15);--gs-yellow:#eab308;--gs-yellow-dim:rgba(234,179,8,0.15);--gs-orange:#f97316;--gs-orange-bright:#fb923c;--gs-orange-dim:rgba(249,115,22,0.15);--gs-red:#ef4444;--gs-red-bright:#f87171;--gs-red-dim:rgba(239,68,68,0.15);--gs-red-sm:rgba(239,68,68,0.10);--gs-red-md:rgba(239,68,68,0.20);--gs-red-glow:rgba(239,68,68,0.30);--gs-blue:#3b82f6;--gs-blue-light:#60a5fa;--gs-blue-dim:rgba(59,130,246,0.15);--gs-purple:#a855f7;--gs-purple-light:#c084fc;--gs-purple-dim:rgba(168,85,247,0.15);--gs-red-text:#f87171;--gs-green-text:#4ade80;--gs-orange-text:#fb923c;--gs-amber-text:#fbbf24;--gs-teal-text:#2dd4bf;--gs-blue-text:#60a5fa;--gs-green-border:rgba(34,197,94,0.30);--gs-amber-border:rgba(251,191,36,0.35);--gs-overlay-xs:rgba(255,255,255,0.04);--gs-overlay-sm:rgba(255,255,255,0.08);--gs-overlay-md:rgba(255,255,255,0.12);--gs-overlay-lg:rgba(255,255,255,0.20);--gs-font:var(--font-inter),system-ui,-apple-system,sans-serif;--gs-font-mono:ui-monospace,"Cascadia Code",monospace;--gs-text-xs:10px;--gs-text-sm:11px;--gs-text-base:12px;--gs-text-md:13px;--gs-text-lg:14px;--gs-text-xl:15px;--gs-text-2xl:16px;--gs-text-3xl:18px;--gs-text-4xl:22px;--gs-text-5xl:26px;--gs-text-6xl:32px;--gs-text-7xl:40px;--gs-r-xs:4px;--gs-r-sm:6px;--gs-r:8px;--gs-r-md:10px;--gs-r-lg:12px;--gs-r-xl:16px;--gs-r-2xl:20px;--gs-r-full:999px;--gs-shadow-xs:0 1px 3px rgba(0,0,0,0.20);--gs-shadow-sm:0 2px 8px rgba(0,0,0,0.30);--gs-shadow:0 4px 16px rgba(0,0,0,0.40);--gs-shadow-lg:0 8px 32px rgba(0,0,0,0.55);--gs-shadow-xl:0 20px 60px rgba(0,0,0,0.35);--gs-shadow-teal:0 4px 16px rgba(13,148,136,0.30);--gs-t-fast:0.1s ease;--gs-t:0.15s ease;--gs-t-slow:0.25s ease}[data-theme=light]{--gs-bg:#f8fafc;--gs-surface:#ffffff;--gs-surface-2:#f1f5f9;--gs-surface-3:#e2e8f0;--gs-border:rgba(0,0,0,0.07);--gs-border-2:#e2e8f0;--gs-border-3:#cbd5e1;--gs-text:#0f172a;--gs-text-2:#1e293b;--gs-text-3:#475569;--gs-text-4:#64748b;--gs-teal-dim:rgba(13,148,136,0.10);--gs-teal-xs:rgba(13,148,136,0.06);--gs-teal-sm:rgba(13,148,136,0.10);--gs-teal-md:rgba(13,148,136,0.16);--gs-teal-glow:rgba(13,148,136,0.25);--gs-green-dim:rgba(34,197,94,0.12);--gs-yellow-dim:rgba(234,179,8,0.12);--gs-amber-dim:rgba(251,191,36,0.12);--gs-red-dim:rgba(239,68,68,0.12);--gs-red-sm:rgba(239,68,68,0.08);--gs-red-md:rgba(239,68,68,0.16);--gs-red-glow:rgba(239,68,68,0.24);--gs-blue-dim:rgba(59,130,246,0.12);--gs-orange-dim:rgba(249,115,22,0.12);--gs-purple-dim:rgba(168,85,247,0.12);--gs-lime-dim:rgba(163,230,53,0.12);--gs-overlay-xs:rgba(0,0,0,0.03);--gs-overlay-sm:rgba(0,0,0,0.05);--gs-overlay-md:rgba(0,0,0,0.08);--gs-overlay-lg:rgba(0,0,0,0.14);--gs-shadow:0 2px 8px rgba(0,0,0,0.10);--gs-shadow-xs:0 1px 3px rgba(0,0,0,0.06);--gs-shadow-sm:0 2px 8px rgba(0,0,0,0.08);--gs-shadow-lg:0 8px 32px rgba(0,0,0,0.18);--gs-shadow-xl:0 20px 60px rgba(0,0,0,0.12);--gs-shadow-teal:0 4px 16px rgba(13,148,136,0.15);--gs-red-text:#b91c1c;--gs-green-text:#15803d;--gs-orange-text:#c2410c;--gs-amber-text:#92400e;--gs-teal-text:#0f766e;--gs-blue-text:#0369a1;--gs-green-border:rgba(34,197,94,0.40);--gs-amber-border:rgba(251,191,36,0.50)}[data-theme=light] nav[data-sidebar]{--gs-bg:#111318;--gs-surface:#1c1f26;--gs-surface-2:#252830;--gs-surface-3:#2e3240;--gs-text:#e2e8f0;--gs-text-2:#94a3b8;--gs-text-3:#64748b;--gs-text-4:#475569;--gs-border:rgba(255,255,255,0.06);--gs-border-2:#2e3240;--gs-border-3:#3d4258;--gs-overlay-xs:rgba(255,255,255,0.04);--gs-overlay-sm:rgba(255,255,255,0.08);--gs-overlay-md:rgba(255,255,255,0.12);--gs-overlay-lg:rgba(255,255,255,0.20)}*,:after,:before{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--gs-bg);color:var(--gs-text);font-family:var(--gs-font);line-height:1.5;-webkit-font-smoothing:antialiased}a,button,input,label,select,summary,textarea{touch-action:manipulation}@media (max-width:768px){input,select,textarea{font-size:max(var(--gs-text-md),16px)}}*{scrollbar-width:thin;scrollbar-color:var(--gs-border-2) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gs-border-2);border-radius:var(--gs-r-full)}:focus-visible{outline:2px solid var(--gs-teal);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gs-teal-md);outline-offset:0;border-color:var(--gs-teal)!important}.gs-page-title{font-size:var(--gs-text-4xl);letter-spacing:-.02em;margin:0 0 4px}.gs-page-title,.gs-section-title{font-weight:700;color:var(--gs-text)}.gs-section-title{font-size:var(--gs-text-xl);margin:0 0 12px}.gs-label{font-size:var(--gs-text-base);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.gs-label,.gs-muted{color:var(--gs-text-2)}.gs-muted{font-size:var(--gs-text-md)}.gs-subtle{color:var(--gs-text-3);font-size:var(--gs-text-base)}.gs-page{min-height:100vh;background:var(--gs-bg);padding:24px;font-family:var(--gs-font)}.gs-page-inner{max-width:1100px;margin:0 auto}.gs-page-wide{max-width:1400px;margin:0 auto}.gs-card{background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-r-lg);padding:20px 24px;transition:box-shadow var(--gs-t),border-color var(--gs-t)}.gs-card:hover{box-shadow:var(--gs-shadow-xs);border-color:var(--gs-border-2)}.gs-card-flat{background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-r-lg);padding:20px 24px}.gs-elevated{background:var(--gs-surface-2);border:1px solid var(--gs-border);border-radius:var(--gs-r-md);padding:16px}.gs-section{background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-r-lg);padding:20px 24px;margin-bottom:20px}.gs-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--gs-r);font-size:var(--gs-text-md);font-weight:600;font-family:inherit;cursor:pointer;border:none;text-decoration:none;transition:filter var(--gs-t-fast),box-shadow var(--gs-t-fast),background var(--gs-t-fast);white-space:nowrap;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gs-btn:not(:disabled):hover{filter:brightness(1.1)}.gs-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.gs-btn-primary{background:var(--gs-teal);color:#fff}.gs-btn-primary:not(:disabled):hover{background:var(--gs-teal-hover);filter:none}.gs-btn-secondary{background:var(--gs-surface-2);color:var(--gs-text);border:1px solid var(--gs-border-2)}.gs-btn-ghost{background:transparent;color:var(--gs-text-2);border:1px solid var(--gs-border)}.gs-btn-ghost:not(:disabled):hover{background:var(--gs-overlay-xs);filter:none}[data-theme=light] .gs-btn-ghost:not(:disabled):hover{background:var(--gs-overlay-xs)}.gs-btn-danger{background:var(--gs-red);color:#fff}.gs-btn-danger:not(:disabled):hover{background:#dc2626;filter:none}.gs-btn-warning{background:var(--gs-yellow);color:#1e1014}.gs-btn-sm{padding:6px 12px;font-size:var(--gs-text-base);border-radius:var(--gs-r-sm)}.gs-btn-lg{padding:12px 22px;font-size:var(--gs-text-xl);border-radius:var(--gs-r-xl)}.gs-btn-xs{padding:4px 9px;font-size:var(--gs-text-sm);border-radius:var(--gs-r-xs)}.gs-btn-icon{padding:7px;width:32px;height:32px;border-radius:var(--gs-r-sm);background:var(--gs-surface-2);color:var(--gs-text-2);border:1px solid var(--gs-border)}.gs-input,.gs-select,.gs-textarea{width:100%;padding:10px 14px;background:var(--gs-bg);color:var(--gs-text);border:1px solid var(--gs-border-2);border-radius:var(--gs-r);font-size:var(--gs-text-lg);font-family:inherit;transition:border-color var(--gs-t),box-shadow var(--gs-t);outline:none}.gs-input::placeholder,.gs-textarea::placeholder{color:var(--gs-text-3)}.gs-input:focus,.gs-select:focus,.gs-textarea:focus{border-color:var(--gs-teal);box-shadow:0 0 0 3px var(--gs-teal-md)}.gs-textarea{resize:vertical;min-height:80px;line-height:1.5}.gs-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.gs-select option{background:var(--gs-surface);color:var(--gs-text)}.gs-form-row{display:grid;grid-gap:12px;gap:12px}.gs-form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.gs-field{display:flex;flex-direction:column;gap:5px}.gs-field-label{font-size:var(--gs-text-base);font-weight:600;color:var(--gs-text-2);text-transform:uppercase;letter-spacing:.05em}.gs-field-hint{font-size:var(--gs-text-sm);color:var(--gs-text-3)}.gs-table-wrap{overflow-x:auto;border-radius:var(--gs-r-lg);border:1px solid var(--gs-border)}.gs-table{width:100%;border-collapse:collapse;font-size:var(--gs-text-md);color:var(--gs-text)}.gs-table thead{background:var(--gs-surface-2)}.gs-table th{padding:10px 14px;text-align:left;font-size:var(--gs-text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gs-text-2);border-bottom:1px solid var(--gs-border-2)}.gs-table td{padding:11px 14px;border-bottom:1px solid var(--gs-border);vertical-align:middle}.gs-table tbody tr{background:var(--gs-surface);transition:background var(--gs-t-fast)}.gs-table tbody tr:nth-child(2n){background:var(--gs-surface-2)}.gs-table tbody tr:hover{background:var(--gs-surface-3)}.gs-table tbody tr:last-child td{border-bottom:none}.gs-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--gs-r-full);font-size:var(--gs-text-sm);font-weight:700;letter-spacing:.03em;white-space:nowrap}.gs-badge-green{background:var(--gs-green-dim);color:var(--gs-green)}.gs-badge-green-bright{background:var(--gs-green-dim);color:var(--gs-green-bright)}.gs-badge-lime{background:var(--gs-lime-dim);color:var(--gs-lime)}.gs-badge-amber{background:var(--gs-amber-dim);color:var(--gs-amber)}.gs-badge-yellow{background:var(--gs-yellow-dim);color:var(--gs-yellow)}.gs-badge-orange{background:var(--gs-orange-dim);color:var(--gs-orange)}.gs-badge-red{background:var(--gs-red-dim);color:var(--gs-red)}.gs-badge-red-bright{background:var(--gs-red-dim);color:var(--gs-red-bright)}.gs-badge-blue{background:var(--gs-blue-dim);color:var(--gs-blue)}.gs-badge-teal{background:var(--gs-teal-dim);color:var(--gs-teal)}.gs-badge-purple{background:var(--gs-purple-dim);color:var(--gs-purple)}.gs-badge-neutral{background:var(--gs-overlay-sm);color:var(--gs-text-2)}.gs-alert{padding:12px 16px;border-radius:var(--gs-r);font-size:var(--gs-text-md);display:flex;align-items:flex-start;gap:10px;border-width:1px;border-style:solid}.gs-alert-error{background:var(--gs-red-dim);border-color:var(--gs-red-glow);color:var(--gs-red-bright)}.gs-alert-warning{background:var(--gs-yellow-dim);border-color:rgba(234,179,8,.3);color:#fde047}.gs-alert-success{background:var(--gs-green-dim);border-color:rgba(34,197,94,.3);color:var(--gs-green-bright)}.gs-alert-info{background:var(--gs-blue-dim);border-color:rgba(59,130,246,.3);color:var(--gs-blue-light)}[data-theme=light] .gs-alert-error{color:#b91c1c}[data-theme=light] .gs-alert-warning{color:#92400e}[data-theme=light] .gs-alert-success{color:#166534}[data-theme=light] .gs-alert-info{color:#1d4ed8}.gs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:gs-fade-in .12s ease}.gs-modal{background:var(--gs-surface);border:1px solid var(--gs-border-2);border-radius:var(--gs-r-xl);padding:28px 32px;max-width:520px;width:100%;box-shadow:var(--gs-shadow-lg);animation:gs-slide-up .15s ease}.gs-modal-title{font-size:var(--gs-text-3xl);font-weight:700;color:var(--gs-text);margin:0 0 20px;letter-spacing:-.02em}.gs-divider{height:1px;margin:16px 0}.gs-divider,.gs-divider-v{background:var(--gs-border)}.gs-divider-v{width:1px;align-self:stretch}.gs-empty{text-align:center;padding:48px 24px;color:var(--gs-text-3);font-size:var(--gs-text-lg)}.gs-empty-icon{font-size:var(--gs-text-6xl);margin-bottom:12px;opacity:.5}@keyframes gs-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.gs-skeleton{background:linear-gradient(90deg,var(--gs-surface) 25%,var(--gs-surface-2) 50%,var(--gs-surface) 75%);background-size:600px 100%;animation:gs-shimmer 1.4s ease infinite;border-radius:var(--gs-r-sm)}@keyframes gs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gs-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes gs-slide-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes gs-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gs-spin{to{transform:rotate(1turn)}}@keyframes gs-progress{0%{transform:translateX(-100%)}60%{transform:translateX(200%)}to{transform:translateX(200%)}}.gs-animate-fade{animation:gs-fade-in .18s ease}.gs-animate-up{animation:gs-slide-up .18s ease}.gs-animate-in{animation:gs-slide-in .18s ease}.gs-animate-pulse{animation:gs-pulse 1.5s ease infinite}.gs-spin{animation:gs-spin .7s linear infinite}.gs-nav-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--gs-r-sm);color:var(--gs-text-2);text-decoration:none;font-size:var(--gs-text-md);font-weight:500;transition:background var(--gs-t-fast),color var(--gs-t-fast)}.gs-nav-link.active,.gs-nav-link:hover{background:var(--gs-overlay-sm);color:var(--gs-text);opacity:1!important}.gs-menu-link{display:block;padding:9px 12px;border-radius:var(--gs-r-sm);text-decoration:none;font-size:var(--gs-text-lg);font-weight:500;color:var(--gs-text)!important;transition:background var(--gs-t-fast)}.gs-menu-link:hover{background:var(--gs-overlay-xs)!important;opacity:1!important}.gs-project-card{background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-r-xl);padding:20px 22px;text-decoration:none;color:var(--gs-text);display:block;transition:transform var(--gs-t),box-shadow var(--gs-t),border-color var(--gs-t)}.gs-project-card:hover{transform:translateY(-2px);box-shadow:var(--gs-shadow-sm);border-color:var(--gs-border-2);opacity:1}.gs-tabs{display:flex;gap:2px;background:var(--gs-surface-2);border-radius:var(--gs-r);padding:3px}.gs-tab{padding:6px 14px;border-radius:var(--gs-r-sm);font-size:var(--gs-text-md);font-weight:600;color:var(--gs-text-2);cursor:pointer;border:none;background:transparent;transition:background var(--gs-t-fast),color var(--gs-t-fast)}.gs-tab.active,.gs-tab:hover{color:var(--gs-text)}.gs-tab.active{background:var(--gs-surface);box-shadow:var(--gs-shadow)}.gs-progress-track{background:var(--gs-surface-2);border-radius:var(--gs-r-full);height:6px;overflow:hidden}.gs-progress-fill{height:100%;border-radius:var(--gs-r-full);background:var(--gs-teal);transition:width .3s ease}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--gs-surface);color:var(--gs-text);font-size:var(--gs-text-sm);white-space:nowrap;padding:4px 8px;border-radius:var(--gs-r-sm);pointer-events:none;opacity:0;transition:opacity .12s;z-index:200;border:1px solid var(--gs-border-2)}[data-tooltip]:hover:after{opacity:1}a{transition:opacity var(--gs-t-fast)}a:hover{opacity:.78}.gs-link{color:var(--gs-teal);text-decoration:none;font-weight:500}.gs-link:hover{opacity:.8}.gs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.gs-sr-only,.gs-truncate{overflow:hidden;white-space:nowrap}.gs-truncate{text-overflow:ellipsis}.gs-mono{font-size:.9em}.gs-code,.gs-mono{font-family:var(--gs-font-mono)}.gs-code{background:var(--gs-surface-2);border-radius:var(--gs-r-xs);padding:2px 6px;font-size:.85em;color:var(--gs-teal)}@media (max-width:600px){.gs-card,.gs-page,.gs-section{padding:16px}.gs-form-row-2{grid-template-columns:1fr}.gs-hide-mobile{display:none!important}.gs-btn-lg{padding:11px 18px;font-size:var(--gs-text-lg)}.gs-cta-group{flex-direction:column!important;align-items:stretch!important}.gs-cta-group a,.gs-cta-group button{text-align:center!important;width:100%!important}.gs-hero-section{padding-top:40px!important;padding-bottom:36px!important}.gs-home-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.gs-nav-email{display:none!important}}