:root{color-scheme:light dark}@media (prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark;--bg:#0a0f1f;--bg-accent:#150f30;--text:#f4f6fb;--text-muted:#a8b0c7;--border:rgba(255,255,255,0.12);--input-bg:rgba(255,255,255,0.04);--placeholder:rgba(168,176,199,0.75);--focus:#22d3ee;--button:#3b82f6;--button-hover:#2563eb;--success:#86efac;--error:#fca5a5;--glow-a:rgba(59,130,246,0.12);--glow-b:rgba(236,72,153,0.1);--switcher-bg:rgba(255,255,255,0.06);--switcher-active-bg:rgba(255,255,255,0.12);--switcher-text:rgba(244,246,251,0.72);--menu-bg:#150f30;--menu-hover-bg:#1f1840}}@media (prefers-color-scheme:light){html:not([data-theme]){color-scheme:light;--bg:#f5f7fc;--bg-accent:#e8edf8;--text:#0b1020;--text-muted:#5a6278;--border:rgba(11,16,32,0.12);--input-bg:rgba(255,255,255,0.85);--placeholder:rgba(90,98,120,0.75);--focus:#2563eb;--button:#3b82f6;--button-hover:#2563eb;--success:#15803d;--error:#b91c1c;--glow-a:rgba(59,130,246,0.1);--glow-b:rgba(236,72,153,0.08);--switcher-bg:rgba(11,16,32,0.05);--switcher-active-bg:rgba(255,255,255,0.95);--switcher-text:rgba(11,16,32,0.62);--menu-bg:#ffffff;--menu-hover-bg:#eef2f9}}html[data-theme=dark]{color-scheme:dark;--bg:#0a0f1f;--bg-accent:#150f30;--text:#f4f6fb;--text-muted:#a8b0c7;--border:rgba(255,255,255,0.12);--input-bg:rgba(255,255,255,0.04);--placeholder:rgba(168,176,199,0.75);--focus:#22d3ee;--button:#3b82f6;--button-hover:#2563eb;--success:#86efac;--error:#fca5a5;--glow-a:rgba(59,130,246,0.12);--glow-b:rgba(236,72,153,0.1);--switcher-bg:rgba(255,255,255,0.06);--switcher-active-bg:rgba(255,255,255,0.12);--switcher-text:rgba(244,246,251,0.72);--menu-bg:#150f30;--menu-hover-bg:#1f1840}html[data-theme=light]{color-scheme:light;--bg:#f5f7fc;--bg-accent:#e8edf8;--text:#0b1020;--text-muted:#5a6278;--border:rgba(11,16,32,0.12);--input-bg:rgba(255,255,255,0.85);--placeholder:rgba(90,98,120,0.75);--focus:#2563eb;--button:#3b82f6;--button-hover:#2563eb;--success:#15803d;--error:#b91c1c;--glow-a:rgba(59,130,246,0.1);--glow-b:rgba(236,72,153,0.08);--switcher-bg:rgba(11,16,32,0.05);--switcher-active-bg:rgba(255,255,255,0.95);--switcher-text:rgba(11,16,32,0.62);--menu-bg:#ffffff;--menu-hover-bg:#eef2f9}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 20%,var(--glow-a),transparent 45%),radial-gradient(circle at 80% 70%,var(--glow-b),transparent 40%),linear-gradient(160deg,var(--bg) 0,var(--bg-accent) 100%);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .18s ease,color .18s ease}.page{min-height:100dvh;display:grid;place-items:center;padding:2rem 1.25rem;position:relative}.content{width:min(100%,34rem);text-align:center}.page-topbar{position:absolute;top:1rem;right:1rem;left:1rem;justify-content:space-between}.page-topbar,.page-topbar-actions{display:flex;align-items:center;gap:.75rem}.page-topbar-actions{justify-content:flex-end}.site-brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);text-decoration:none;min-width:0}.site-brand:hover{color:var(--text);opacity:.9}.site-brand:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.35rem}.site-brand-mark{flex-shrink:0}.site-brand span{font-size:1rem;font-weight:650;letter-spacing:-.03em;white-space:nowrap}.page-topbar .theme-switcher{position:static;top:auto;right:auto;left:auto}.page-topbar form{display:inline}.user-nav-desktop{display:none;align-items:center;gap:.75rem}.user-nav-mobile{position:relative;display:inline-flex}.user-nav-mobile-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:999px;padding:0;color:var(--text-muted);background:var(--switcher-bg);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.user-nav-mobile-trigger:hover{color:var(--text);border-color:color-mix(in srgb,var(--border) 70%,var(--text) 30%)}.user-nav-mobile-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.user-nav-mobile-icon{width:1.1rem;height:1.1rem}.user-nav-mobile-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:.15rem;min-width:10.5rem;padding:.35rem;border:1px solid var(--border);border-radius:.85rem;background:var(--menu-bg);box-shadow:0 12px 32px rgba(0,0,0,.35)}.user-nav-mobile-item{display:block;border-radius:.55rem;padding:.55rem .7rem;font-size:.85rem;font-weight:600;color:var(--text);text-decoration:none;transition:background .12s ease,color .12s ease}.user-nav-mobile-item:hover{color:var(--text);background:var(--menu-hover-bg)}.user-nav-mobile-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.user-nav-mobile-signout{display:block;padding:.15rem .7rem .35rem;border-top:1px solid var(--border);margin-top:.15rem}.user-nav-mobile-signout .page-auth-link{display:block;width:100%;padding:.45rem 0;text-align:left}.user-nav-admin-desktop{position:relative;display:inline-flex}.user-nav-admin-trigger{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer}.user-nav-admin-trigger-active{color:var(--text)}.user-nav-admin-chevron{width:.8rem;height:.8rem;opacity:.7}.user-nav-admin-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:.15rem;min-width:11rem;padding:.35rem;border:1px solid var(--border);border-radius:.85rem;background:var(--menu-bg);box-shadow:0 12px 32px rgba(0,0,0,.35)}.user-nav-admin-panel-item{display:block;border-radius:.55rem;padding:.55rem .7rem;font-size:.85rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:background .12s ease,color .12s ease}.user-nav-admin-panel-item:hover{color:var(--text);background:var(--menu-hover-bg)}.user-nav-admin-panel-item-active{color:var(--text);background:color-mix(in srgb,var(--button) 18%,var(--menu-bg))}.user-nav-admin-group{display:flex;flex-direction:column;gap:.1rem;padding-top:.15rem;border-top:1px solid var(--border);margin-top:.15rem}.user-nav-admin-label{padding:.45rem .7rem .2rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.user-nav-admin-item{padding-left:1.15rem}.user-nav-admin-item-active{color:var(--text);background:color-mix(in srgb,var(--button) 12%,var(--menu-bg))}@media (min-width:768px){.user-nav-desktop{display:inline-flex}.user-nav-mobile{display:none}}.page-auth-link{border:0;padding:0;font:inherit;font-size:.85rem;font-weight:600;color:var(--text-muted);text-decoration:none;white-space:nowrap;background:transparent;cursor:pointer}.page-auth-link:hover:not(:disabled){color:var(--text)}.page-auth-link:disabled{opacity:.65;cursor:not-allowed}.page-auth-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.25rem}.theme-switcher{position:absolute;top:1rem;right:1rem;display:inline-flex}.theme-switcher-trigger{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;width:2.25rem;height:2.25rem;padding:0;color:var(--text);background:var(--switcher-bg);cursor:pointer}.theme-switcher-icon{width:1.05rem;height:1.05rem}.theme-switcher-trigger:hover{background:var(--switcher-active-bg)}.theme-switcher-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.theme-switcher-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;min-width:7.5rem;margin:0;padding:.25rem;list-style:none;border:1px solid var(--border);border-radius:.75rem;background:var(--menu-bg);box-shadow:0 12px 32px rgba(0,0,0,.35)}.theme-switcher-option{width:100%;border:0;border-radius:.5rem;padding:.45rem .65rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--text);background:transparent;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.theme-switcher-option.is-active,.theme-switcher-option:hover{color:var(--text);background:var(--menu-hover-bg)}.theme-switcher-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.logo{margin-inline:auto;display:block}h1{margin:1.25rem 0 .75rem;font-size:clamp(2.75rem,8vw,4rem);font-weight:650;letter-spacing:-.04em;line-height:1}.tagline{margin:0 auto 2rem;max-width:22rem;font-size:clamp(1.05rem,2.8vw,1.25rem);line-height:1.5;color:var(--text-muted)}.signup{width:100%}.signup-form{display:grid;grid-gap:.75rem;gap:.75rem}.signup-form button,.signup-form input{width:100%;min-height:3rem;border-radius:.75rem;font:inherit}.signup-form input{padding:0 1rem;border:1px solid var(--border);background:var(--input-bg);color:var(--text)}.signup-form input::placeholder{color:var(--placeholder)}.signup-form input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.signup-form button{border:0;padding:0 1.25rem;background:var(--button);color:white;font-weight:600;cursor:pointer;transition:background .12s ease}.signup-form button:hover:not(:disabled){background:var(--button-hover)}.signup-form button:disabled{opacity:.65;cursor:not-allowed}.signup-message{margin:.85rem 0 0;font-size:.95rem}.signup-message-ok{color:var(--success)}.signup-message-error{color:var(--error)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-secondary{margin:1.25rem 0 0;font-size:.95rem;color:var(--text-muted);line-height:1.5}.home-secondary a{color:var(--text);text-decoration:underline;text-underline-offset:.15em}.home-secondary a:hover{color:var(--focus)}.auth-card,.profile-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:1rem;padding:1.25rem;background:var(--input-bg)}.auth-oauth-stack{display:grid;grid-gap:.65rem;gap:.65rem}.oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem}.auth-oauth-option{position:relative}.auth-form-last-used{padding:.85rem;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--button) 55%,var(--border));background:color-mix(in srgb,var(--button) 6%,transparent)}.auth-recent-badge{position:absolute;top:-.45rem;right:-.35rem;z-index:1;padding:.15rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--button) 40%,var(--border));background:color-mix(in srgb,var(--button) 18%,var(--input-bg));color:var(--text);font-size:.65rem;font-weight:600;line-height:1.2;white-space:nowrap}.auth-oauth-hint{margin:.35rem 0 0;font-size:.75rem;line-height:1.4;color:var(--text-muted);text-align:center}.oauth-button-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.auth-divider{margin:1rem 0;font-size:.82rem;font-weight:600;color:var(--text-muted);text-align:center;text-transform:lowercase}.auth-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem;padding:.2rem;border-radius:999px;background:var(--switcher-bg)}.auth-mode button{border:0;border-radius:999px;padding:.55rem .75rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--switcher-text);background:transparent;cursor:pointer}.auth-mode button.is-active{background:var(--switcher-active-bg);color:var(--text)}.auth-form,.profile-section{display:grid;grid-gap:.85rem;gap:.85rem}.auth-checkbox{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.85rem;font-size:.85rem;color:var(--text-muted);line-height:1.45;cursor:pointer}.auth-checkbox input{margin-top:.15rem;accent-color:var(--button)}.auth-legal-note{margin:-.35rem 0 .85rem;font-size:.8rem;color:var(--text-muted);line-height:1.45}.auth-legal-note a{color:var(--focus)}.field{display:grid;grid-gap:.35rem;gap:.35rem}.field span{font-size:.85rem;color:var(--text-muted)}.field input{width:100%;min-height:2.75rem;border-radius:.75rem;border:1px solid var(--border);background:rgba(255,255,255,.02);color:var(--text);padding:0 .85rem;font:inherit}.primary-button,.secondary-button{width:100%;min-height:2.75rem;border-radius:.75rem;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.1rem;box-sizing:border-box;text-decoration:none}.primary-button{border:0;background:var(--button);color:white}.primary-button:hover:not(:disabled){background:var(--button-hover)}.primary-button:disabled,.secondary-button:disabled{opacity:.65;cursor:not-allowed}.secondary-button{border:1px solid var(--border);background:transparent;color:var(--text)}.destructive-button{color:var(--error)}.destructive-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--error) 45%,var(--border));background:color-mix(in srgb,var(--error) 8%,transparent)}.profile-actions-stack{display:grid;grid-gap:.65rem;gap:.65rem}.profile-note{margin:0;line-height:1.5}.form-message,.profile-note{font-size:.92rem;color:var(--text-muted)}.form-message{margin:.85rem 0 0}.form-message-error{color:var(--error)}.auth-footnote,.profile-actions{margin-top:1rem;display:flex;gap:.75rem;align-items:center;font-size:.92rem}.auth-inline-link{margin:-.35rem 0 0;text-align:right;font-size:.85rem}.text-link-button{border:0;padding:0;background:transparent;color:var(--focus);font:inherit;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.text-link-button:hover{color:var(--text)}.auth-footnote a,.profile-actions a,.text-button{color:var(--text-muted);text-decoration:none}.auth-footnote a:hover,.profile-actions a:hover,.text-button:hover:not(:disabled){color:var(--text)}.text-button{border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.profile-account-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.profile-email{margin:0 0 1rem;color:var(--text-muted);min-width:0}.profile-section h2{margin:0;font-size:1.1rem}.profile-section p{margin:0;color:var(--text-muted);line-height:1.5}.profile-checklist{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.profile-checklist-item{display:grid;grid-template-columns:auto 1fr;grid-gap:.75rem;gap:.75rem;align-items:start;padding:.85rem .95rem;border-radius:.85rem;border:1px solid var(--border);background:rgba(255,255,255,.02)}.profile-checklist-item.is-current{border-color:color-mix(in srgb,var(--button) 55%,var(--border));background:color-mix(in srgb,var(--button) 6%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--button) 12%,transparent)}.profile-checklist-item.is-current .profile-checklist-marker{border-color:color-mix(in srgb,var(--button) 55%,var(--border));background:color-mix(in srgb,var(--button) 22%,transparent);animation:quest-marker-pulse 2.4s ease-in-out infinite}.profile-checklist-item.is-done{opacity:.72}.profile-checklist-item.is-upcoming{opacity:.55}.profile-checklist-item.is-locked{opacity:.5;border-style:dashed;background:transparent}.profile-checklist-marker-lock svg{width:.85rem;height:.85rem}.profile-checklist-item.is-locked .profile-checklist-marker{border-style:dashed;color:var(--text-muted)}.profile-checklist-marker{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid var(--border);font-size:.75rem;font-weight:700;line-height:1;flex-shrink:0}.profile-checklist-item.is-done .profile-checklist-marker{border-color:color-mix(in srgb,var(--button) 45%,var(--border));background:color-mix(in srgb,var(--button) 16%,transparent)}.profile-checklist-marker-quest{font-size:.95rem;line-height:1}@keyframes quest-marker-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--button) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--button) 18%,transparent)}}.profile-checklist-body{display:grid;grid-gap:.35rem;gap:.35rem}.profile-checklist-body strong{font-size:.95rem}.profile-checklist-body p{font-size:.85rem}.profile-checklist-action{margin-top:.35rem}.profile-checklist-action .primary-button,.profile-checklist-action .secondary-button{width:auto;min-width:10rem;display:inline-flex;justify-content:center;text-decoration:none}.profile-github-field{display:grid;grid-gap:.65rem;gap:.65rem;margin-bottom:.85rem}.profile-github-hint,.profile-github-status{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.45}.download-placeholder{margin-top:.25rem;border:1px dashed var(--border);border-radius:.75rem;padding:.9rem 1rem;display:grid;grid-gap:.25rem;gap:.25rem;color:var(--text-muted)}.download-placeholder span{font-size:.85rem}.download-card{margin-top:.25rem;border:1px solid var(--border);border-radius:.75rem;padding:1rem;display:grid;grid-gap:.85rem;gap:.85rem;background:var(--input-bg)}.download-card-copy{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--text-muted);font-size:.92rem;line-height:1.45}.download-card-copy strong{color:var(--text);font-size:1rem}.download-sha{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.download-card-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.download-button{width:-moz-fit-content;width:fit-content}.content-wide{max-width:42rem;text-align:left}.content-profile{width:min(100%,42rem);text-align:left}.profile-page-header{text-align:center;margin-bottom:1.25rem}.profile-page-header .logo{margin-inline:auto}.profile-page-header h1{text-align:center}.profile-layout{display:grid;grid-gap:1rem;gap:1rem}.profile-group-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:1rem;padding:1.25rem;background:var(--input-bg);display:grid;grid-gap:.85rem;gap:.85rem;position:relative}.profile-group-card.is-complete{opacity:.88;border-color:color-mix(in srgb,var(--button) 40%,var(--border))}.profile-group-card.is-teaser{border-style:dashed;opacity:.72}.profile-group-card.is-classified{text-align:center;padding-top:1.5rem;padding-bottom:1.35rem}.profile-group-card.is-side-quest{border-color:color-mix(in srgb,#c9a227 45%,var(--border));background:color-mix(in srgb,#c9a227 4%,var(--input-bg))}.profile-chapter-badge{display:inline-flex;align-items:center;gap:.3rem;align-self:start;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:rgba(255,255,255,.03)}.profile-group-card.is-side-quest .profile-chapter-badge{border-color:color-mix(in srgb,#c9a227 50%,var(--border));color:color-mix(in srgb,#e8c84a 70%,var(--text-muted))}.profile-chapter-badge.is-complete{border-color:color-mix(in srgb,var(--button) 50%,var(--border));color:color-mix(in srgb,var(--button) 75%,var(--text));background:color-mix(in srgb,var(--button) 10%,transparent)}.profile-chapter-badge-check{font-size:.72rem;line-height:1}.profile-quest-progress{margin:0;padding:.55rem .75rem;border-radius:.65rem;border:1px solid var(--border);background:rgba(255,255,255,.02);font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.profile-quest-flavor{font-size:.95rem}.profile-quest-flavor-muted{opacity:.65}.profile-quest-subtitle{font-size:.8rem;color:var(--text-muted);line-height:1.35}.profile-teaser-lock{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-inline:auto;border-radius:999px;border:1px dashed var(--border);color:var(--text-muted)}.profile-teaser-lock svg{width:.9rem;height:.9rem}.profile-teaser-title{margin:0;font-size:1.1rem;filter:blur(3px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-page-account{color:var(--text-muted);font-weight:400}.profile-group-card h2{margin:0;font-size:1.1rem}.profile-group-card>p{margin:0;color:var(--text-muted);font-size:.92rem}.profile-feedback-note,.profile-group-recap{margin:0;font-size:.88rem;color:var(--text-muted)}.profile-feedback-note{line-height:1.45}.profile-feedback-optional{font-size:.82rem!important}.profile-feedback-action{display:grid;grid-gap:.65rem;gap:.65rem}.profile-feedback-action-row{display:flex;flex-wrap:wrap;gap:.55rem}.profile-feedback-action-row .primary-button,.profile-feedback-action-row .secondary-button{flex:1 1 9rem;width:auto}.profile-hours-card{gap:.5rem;padding-top:1rem;padding-bottom:.95rem}.profile-hours-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:-.1rem}.profile-hours-header h2{margin:0;line-height:1.15}.profile-hours-total{margin:0;font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.profile-hours-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:0}.profile-hours-medal{display:inline-flex;width:2.65rem;height:2.65rem;flex-shrink:0}.profile-hours-medal.is-future{display:none}.profile-hours-medal-svg{width:100%;height:100%;overflow:visible}.profile-hours-medal-scallop{fill:color-mix(in srgb,var(--text-muted) 18%,var(--input-bg));stroke:color-mix(in srgb,var(--text-muted) 35%,var(--border));stroke-width:.6}.profile-hours-medal-face{fill:color-mix(in srgb,var(--text-muted) 10%,var(--input-bg))}.profile-hours-medal-ring{stroke:color-mix(in srgb,var(--text-muted) 22%,var(--border));stroke-width:.55}.profile-hours-medal-value{font-size:13px;font-weight:800;fill:var(--text-muted)}.profile-hours-medal-unit{font-size:7.5px;font-weight:700;letter-spacing:.04em;fill:color-mix(in srgb,var(--text-muted) 80%,var(--text))}.profile-hours-medal.is-earned .profile-hours-medal-scallop{fill:color-mix(in srgb,#e8c84a 55%,#9a7b1a);stroke:color-mix(in srgb,#f5dfa0 70%,#7a6118);stroke-width:.45;filter:drop-shadow(0 1px 2px color-mix(in srgb,#000 25%,transparent))}.profile-hours-medal.is-earned .profile-hours-medal-face{fill:color-mix(in srgb,#c9a227 35%,#5c4a12)}.profile-hours-medal.is-earned .profile-hours-medal-ring{stroke:color-mix(in srgb,#f5dfa0 45%,#7a6118);stroke-width:.65}.profile-hours-medal.is-earned .profile-hours-medal-value{fill:color-mix(in srgb,#fff6d0 90%,#3d3208)}.profile-hours-medal.is-earned .profile-hours-medal-unit{fill:color-mix(in srgb,#f5dfa0 85%,#3d3208)}.profile-hours-medal.is-next{opacity:.72}.profile-hours-medal.is-next .profile-hours-medal-scallop{fill:transparent;stroke:color-mix(in srgb,#c9a227 55%,var(--border));stroke-width:.85;stroke-dasharray:2.2 1.6}.profile-hours-medal.is-next .profile-hours-medal-face{fill:color-mix(in srgb,#c9a227 6%,transparent)}.profile-hours-medal.is-next .profile-hours-medal-ring{stroke:color-mix(in srgb,#c9a227 35%,var(--border));stroke-dasharray:1.5 1.2}.profile-hours-medal.is-next .profile-hours-medal-unit,.profile-hours-medal.is-next .profile-hours-medal-value{fill:color-mix(in srgb,#e8c84a 50%,var(--text-muted))}.profile-hours-note{margin:0;font-size:.78rem;color:var(--text-muted)}.admin-beta-field-hint{margin:.45rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.profile-form-message{margin-top:.75rem;text-align:center}.content-wide>.logo{margin-inline:auto}.content-wide>h1{text-align:center}.page-lead{margin:0 0 1.25rem;color:var(--text-muted);line-height:1.55}.page-lead a{color:var(--focus)}.release-list{display:grid;grid-gap:1rem;gap:1rem}.release-card{border:1px solid var(--border);border-radius:.85rem;padding:1rem 1.1rem;background:var(--input-bg)}.release-card-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.release-card-header h2{margin:0;font-size:1.05rem}.release-card-meta{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.release-badge{border:1px solid var(--border);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;color:var(--text)}.release-card-stats{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin:-.35rem 0 .15rem;font-size:.85rem;color:var(--text-muted)}.release-notes{display:grid;grid-gap:.65rem;gap:.65rem;color:var(--text-muted);line-height:1.55}.release-notes h1,.release-notes h2,.release-notes h3{margin:.35rem 0 0;color:var(--text)}.release-notes h1{font-size:1.1rem}.release-notes h2{font-size:1rem}.release-notes h3{font-size:.95rem}.release-notes p,.release-notes ul{margin:0}.release-notes ul{padding-left:1.2rem}.release-notes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.release-notes pre{max-width:100%;margin:0;padding:.85rem 1rem;overflow-x:auto;border:1px solid var(--border);border-radius:.75rem;background:var(--input-bg);color:var(--text);line-height:1.45;white-space:pre}.release-notes pre code{display:block;font-size:.82rem;-moz-tab-size:2;tab-size:2}.page-document{place-items:start center;padding-top:4.5rem;padding-bottom:2.5rem}.content-legal{max-width:44rem}.legal-prose{display:grid;grid-gap:.85rem;gap:.85rem;color:var(--text-muted);line-height:1.6}.legal-prose h2,.legal-prose h3{margin:.75rem 0 0;color:var(--text)}.legal-prose h2{font-size:1.05rem}.legal-prose h3{font-size:.95rem}.legal-prose p,.legal-prose ul{margin:0}.legal-prose ul{padding-left:1.25rem}.legal-prose a{color:var(--focus)}.legal-prose strong{color:var(--text);font-weight:600}.site-footer{margin-top:2rem;text-align:center;font-size:.85rem}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}@media (min-width:640px){.signup-form{grid-template-columns:1fr auto}.signup-form button{width:auto;min-width:9.5rem}}@media (max-width:480px){.page-topbar{top:.75rem;left:.75rem;right:.75rem}}.admin-page{place-items:start center;padding-top:4.5rem;padding-bottom:3rem}.admin-page:has(.admin-shell-fill){height:100dvh;max-height:100dvh;overflow:hidden;padding-bottom:1rem;display:flex;flex-direction:column;align-items:stretch;place-items:stretch}.admin-page:has(.admin-shell-fill) .site-footer{display:none}.admin-shell{width:min(100%,72rem);text-align:left}.admin-header{margin-bottom:1.5rem}.admin-header-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-header-title-row h1{min-width:0}.admin-toggle{display:inline-flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;white-space:nowrap}.admin-toggle input{width:1rem;height:1rem;accent-color:var(--button);cursor:pointer}.admin-toggle-fallback{cursor:default}.admin-toggle-pending{opacity:.7}.admin-shell-refreshing{opacity:.72;pointer-events:none}.admin-loading{min-height:12rem}.admin-table-scroll-loading{opacity:.55;pointer-events:none}.admin-table-sort:disabled{cursor:wait;opacity:.7}.admin-kicker{margin:0 0 .35rem;font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.admin-header h1{margin:0;font-size:clamp(1.75rem,4vw,2.35rem);letter-spacing:-.03em}.admin-subtitle{margin:.45rem 0 0;color:var(--text-muted)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.admin-stat{border:1px solid var(--border);border-radius:.9rem;padding:.85rem .95rem;background:var(--input-bg)}.admin-stat-label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:600;color:var(--text-muted)}.admin-stat-value{font-size:1.25rem;letter-spacing:-.02em}.admin-stats-primary-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.admin-stats-primary-row .admin-stat-primary{padding:.8rem .7rem}.admin-stats-primary-row .admin-stat-primary .admin-stat-label{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-stats-primary-row .admin-stat-primary .admin-stat-value{font-size:1.45rem}.admin-stats-secondary-row{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:1.25rem}.admin-stats-secondary-row .admin-stat{padding:.8rem .7rem}.admin-stats-secondary-row .admin-stat-label{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-stats-secondary-row .admin-stat-value{font-size:1.25rem}.admin-stat-primary{border-color:color-mix(in srgb,var(--button) 55%,var(--border));background:color-mix(in srgb,var(--button) 12%,var(--input-bg));padding:1.05rem 1.15rem}.admin-stat-primary .admin-stat-label{color:var(--text);font-size:.82rem}.admin-stat-primary .admin-stat-value{font-size:2rem;font-weight:700}.admin-stat-link{color:inherit;text-decoration:none;display:block}.admin-stat-link:hover .admin-stat-primary{border-color:color-mix(in srgb,var(--button) 75%,var(--border));background:color-mix(in srgb,var(--button) 18%,var(--input-bg))}.admin-funnel{border:1px solid var(--border);border-radius:1rem;padding:1rem 1.05rem 1.1rem;margin-bottom:1.25rem;background:color-mix(in srgb,var(--button) 6%,var(--input-bg))}.admin-funnel-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.95rem}.admin-funnel-header h2{margin:0;font-size:.95rem;letter-spacing:-.01em}.admin-funnel-meta{margin:0;font-size:.78rem;color:var(--text-muted)}.admin-funnel-track{display:flex;align-items:stretch;gap:0}.admin-funnel-stage-wrap{display:flex;align-items:stretch;flex:1 1;min-width:0}.admin-funnel-stage-wrap:first-child{flex:1.15 1}.admin-funnel-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;flex:0 0 1.65rem;min-width:0;padding:0 .1rem}.admin-funnel-step-rate{font-size:.62rem;font-weight:650;letter-spacing:.02em;color:var(--text-muted);white-space:nowrap}.admin-funnel-chevron{width:.45rem;height:.45rem;border-top:1.5px solid color-mix(in srgb,var(--text-muted) 70%,transparent);border-right:1.5px solid color-mix(in srgb,var(--text-muted) 70%,transparent);transform:rotate(45deg)}.admin-funnel-stage,.admin-funnel-stage-link{display:flex;flex-direction:column;gap:.18rem;flex:1 1 auto;min-width:0;border:1px solid var(--border);border-radius:.85rem;padding:.7rem .55rem .65rem;background:var(--bg)}.admin-funnel-stage-link{color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.admin-funnel-stage-link:hover{border-color:color-mix(in srgb,var(--button) 65%,var(--border));background:color-mix(in srgb,var(--button) 10%,var(--bg))}.admin-funnel-count{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.admin-funnel-label{font-size:.72rem;font-weight:650;letter-spacing:.01em}.admin-funnel-share{font-size:.64rem;color:var(--text-muted)}.admin-funnel-bar-wrap{display:block;height:.28rem;margin-top:.25rem;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 12%,transparent);overflow:hidden}.admin-funnel-bar{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--button) 72%,var(--text))}@media (max-width:960px){.admin-funnel-track{flex-direction:column;gap:.55rem}.admin-funnel-stage-wrap{flex-direction:column;gap:.35rem}.admin-funnel-stage-wrap:first-child{flex:1 1 auto}.admin-funnel-connector{flex-direction:row;flex-basis:auto;justify-content:flex-start;padding:0 .35rem}.admin-funnel-chevron{transform:rotate(135deg)}}.admin-back-link{color:var(--text-muted);text-decoration:none}.admin-back-link:hover{color:var(--text)}.admin-table-actions{text-align:right;white-space:nowrap}.admin-action-buttons{display:inline-flex;align-items:center;gap:.45rem}.admin-action-button{min-height:2rem;border-radius:.55rem;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:.82rem;font-weight:600;padding:.35rem .7rem;cursor:pointer}.admin-action-button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 6%,transparent)}.admin-action-button:disabled{opacity:.65;cursor:not-allowed}.admin-action-button-primary{border:0;background:var(--button);color:white}.admin-action-button-primary:hover:not(:disabled){background:var(--button-hover)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.admin-panel{border:1px solid var(--border);border-radius:1rem;padding:1rem 1.05rem;background:var(--input-bg)}.admin-panel-wide{grid-column:1/-1;margin-bottom:1.25rem}.admin-panel h2{margin:0 0 .85rem;font-size:.95rem;letter-spacing:-.01em}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin-bottom:.85rem}.admin-panel-header h2{margin:0;flex-shrink:0}.admin-table-subtitle{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted)}.admin-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem .9rem;margin-bottom:0;margin-left:auto;min-width:0}.admin-empty{margin:0;color:var(--text-muted);font-size:.9rem}.admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-table td,.admin-table th{padding:.45rem .35rem;border-bottom:1px solid var(--border);text-align:left}.admin-table th{font-size:.74rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.admin-table-num{text-align:right;white-space:nowrap}.admin-table-check-cell{text-align:center;white-space:nowrap}.admin-table-check{color:color-mix(in srgb,var(--button) 85%,var(--text));font-weight:700}.admin-github-link{display:inline-flex;color:var(--text-muted);line-height:0}.admin-github-link:hover{color:var(--text)}.admin-github-link-icon{width:.875rem;height:.875rem}.admin-table-scroll{overflow-x:auto}.admin-table-summary{margin:0;color:var(--text-muted);font-size:.84rem}.admin-table-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.admin-table-page-size{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.82rem}.admin-table-page-size select{border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--text);padding:.25rem .45rem;font:inherit}.admin-pagination{display:inline-flex;align-items:center;gap:.5rem}.admin-pagination-status{color:var(--text-muted);font-size:.82rem;white-space:nowrap}.admin-pagination-button{border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--text);padding:.3rem .65rem;font:inherit;font-size:.82rem;cursor:pointer}.admin-pagination-button:hover:not(:disabled){border-color:var(--text-muted)}.admin-pagination-button:disabled{opacity:.45;cursor:not-allowed}.admin-table-sort{display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer}.admin-table-sort:hover{color:var(--text)}.admin-table-sort-indicator{font-size:.72rem;opacity:.55}.admin-table-sort-asc .admin-table-sort-indicator,.admin-table-sort-desc .admin-table-sort-indicator{opacity:1}.admin-chart{display:flex;align-items:flex-end;gap:.35rem;min-height:9rem;padding-top:.5rem}.admin-chart-bar-wrap{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.admin-chart-bar{width:100%;max-width:2rem;border-radius:.35rem .35rem .1rem .1rem;background:linear-gradient(180deg,var(--button) 0,color-mix(in srgb,var(--button) 70%,transparent) 100%)}.admin-chart-label{font-size:.62rem;color:var(--text-muted);writing-mode:vertical-rl;transform:rotate(180deg)}.admin-errors{margin-bottom:1rem}.admin-shell-fill{width:100%;max-width:none;flex:1 1;min-height:0;height:auto;display:flex;flex-direction:column}.admin-shell-fill .admin-header{flex-shrink:0;margin-bottom:1rem}.admin-email-layout{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:stretch;flex:1 1;min-height:0}.admin-email-sidebar{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto}.admin-email-draft-panel h3{margin:0;font-size:.92rem}.admin-email-draft-panel .admin-beta-section-header{margin-top:.85rem}.admin-email-sidebar .admin-panel{background:var(--bg-accent)}.admin-email-auth-list,.admin-email-template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.admin-email-template-button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg);color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-email-template-button:hover{border-color:color-mix(in srgb,var(--button) 35%,var(--border))}.admin-email-template-button-active{border-color:color-mix(in srgb,var(--button) 55%,var(--border));background:color-mix(in srgb,var(--button) 10%,transparent)}.admin-email-template-name{font-size:.92rem;font-weight:650}.admin-email-template-subject{font-size:.78rem;color:var(--text-muted);line-height:1.35}.admin-email-auth-list li{display:flex;flex-direction:column;gap:.2rem;font-size:.86rem}.admin-email-auth-list p{margin:0;color:var(--text-muted);line-height:1.45}.admin-email-auth-note{font-size:.78rem!important}.admin-email-preview{display:flex;flex-direction:column;min-height:0;min-width:0}.admin-email-preview-panel{flex:1 1;display:flex;flex-direction:column;min-height:0;margin-bottom:0;overflow:hidden}.admin-email-preview-panel .admin-email-controls,.admin-email-preview-panel .admin-email-preview-header{flex-shrink:0}.admin-email-preview-header{margin-bottom:1rem}.admin-email-preview-meta{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.admin-email-preview-source{margin:.45rem 0 0;font-size:.8rem;color:var(--text-muted)}.admin-email-preview-source code{font-size:.78rem}.admin-email-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem;margin-bottom:1rem}.admin-email-field{display:flex;flex-direction:column;gap:.35rem;min-width:min(100%,18rem);font-size:.86rem;color:var(--text-muted)}.admin-email-field input,.admin-email-field select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);color:var(--text);font:inherit}.admin-email-field select:disabled{opacity:.65;cursor:not-allowed}.admin-email-field-hint{margin:.35rem 0 .85rem;font-size:.78rem;color:var(--text-muted);line-height:1.4}.admin-email-user-search{position:relative;margin-bottom:.85rem}.admin-email-user-search .admin-email-field{min-width:0;width:100%}.admin-email-user-search-results{list-style:none;margin:.35rem 0 0;padding:.3rem;position:absolute;z-index:5;left:0;right:0;max-height:14rem;overflow-y:auto;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);box-shadow:0 .6rem 1.4rem color-mix(in srgb,#000 28%,transparent)}.admin-email-user-search-option{width:100%;display:block;padding:.5rem .65rem;border:0;border-radius:.45rem;background:transparent;color:var(--text);font:inherit;font-size:.86rem;text-align:left;cursor:pointer}.admin-email-user-search-option:focus-visible,.admin-email-user-search-option:hover:not(:disabled){background:color-mix(in srgb,var(--button) 12%,transparent)}.admin-email-user-search-option:disabled{opacity:.6;cursor:wait}.admin-email-user-search-empty,.admin-email-user-search-status{margin:0;padding:.55rem .65rem;font-size:.8rem;color:var(--text-muted)}.admin-email-user-search-status{padding:.35rem 0 0}.admin-email-live-user{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-top:.45rem}.admin-email-live-user-label{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.admin-email-live-user-label strong{color:var(--text);font-weight:600}.admin-email-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.admin-email-mode-toggle button{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.84rem;font-weight:600;padding:.45rem .9rem;cursor:pointer}.admin-email-mode-toggle button.admin-email-mode-active{color:var(--text);background:color-mix(in srgb,var(--button) 14%,transparent)}.admin-email-preview-frame{flex:1 1;min-height:0;display:flex;overflow:hidden}.admin-email-iframe{width:100%;height:100%;background:#f4f2fb}.admin-email-iframe,.admin-email-text-preview{flex:1 1;min-height:0;border:1px solid var(--border);border-radius:.85rem}.admin-email-text-preview{margin:0;padding:1rem;background:var(--bg-accent);font-size:.86rem;line-height:1.55;white-space:pre-wrap;overflow:auto}.admin-beta-sidebar{overflow-y:auto;max-height:100%}.admin-beta-toggle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.admin-beta-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.admin-beta-toggle input{flex-shrink:0}.admin-beta-copy-message{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.admin-beta-preview-panel{flex:1 1;min-height:0;margin-bottom:0;overflow:auto}.admin-beta-preview-chrome{max-width:42rem;margin:0 auto;padding:.5rem 0 2rem}.admin-beta-github-states{display:flex;flex-direction:column;gap:.45rem}.admin-beta-github-states button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg);color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-beta-github-states button:hover{border-color:var(--text-muted)}.admin-beta-github-states button.admin-beta-github-state-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.admin-beta-github-state-label{font-size:.875rem;font-weight:600}.admin-beta-github-state-desc{font-size:.78rem;color:var(--text-muted);line-height:1.35}.admin-beta-github-handle{margin-top:.85rem}.admin-beta-github-signin{margin-top:.65rem}.admin-beta-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.admin-beta-section-header h2{margin:0}.admin-beta-exploration-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;font-size:.8rem}.admin-beta-exploration-actions span{color:var(--text-muted)}@media (max-width:900px){.admin-email-layout,.admin-grid{grid-template-columns:1fr}.admin-page:has(.admin-shell-fill){height:auto;max-height:none;overflow:visible;padding-bottom:3rem}.admin-page:has(.admin-shell-fill) .site-footer{display:block}.admin-shell-fill{flex:none;height:auto}.admin-email-iframe,.admin-email-preview-frame{min-height:24rem}}