@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1f14;--felt:#1f4d2b;--felt-dark:#143620;--felt-light:#2c6a3c;--paper:#f3ead3;--paper-dim:#d7ccb0;--ink:#1b1a17;--gold:#e0b44c;--gold-dark:#b38a2c;--red:#c8402f;--danger:#ff8a7a;--ok:#8fd694;--panel:#0a1a11eb;--panel-solid:#0a1a11;--panel-border:#f3ead32e;--focus:#ffd866;--radius:10px;--radius-sm:6px;--shadow:0 6px 24px #00000073;--font:"Source Sans 3", system-ui, sans-serif;--font-display:var(--font);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}:root[data-site=tile]{--bg:#1d2a3a;--felt:#2f4a63;--felt-dark:#233a50;--felt-light:#3e5f7d;--panel:#141f2ceb;--panel-solid:#141f2c}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100dvh;color:var(--paper);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}body{background:radial-gradient(circle at 50% 30%, var(--felt) 0%, var(--felt-dark) 60%, var(--bg) 100%) fixed}a{color:var(--gold)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--paper);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#f3ead31a;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#f3ead32e}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default}.btn.primary{background:var(--gold);border-color:var(--gold-dark);color:var(--ink)}.btn.primary:hover:not(:disabled){background:#eac266}.btn.toggle[aria-pressed=true]{background:var(--felt-light);border-color:var(--gold)}.btn.small{min-height:36px;padding:0 var(--space-3);font-size:.9rem}.page{max-width:44rem;padding:var(--space-5) calc(var(--space-4) + var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left));margin:0 auto}.page h1{margin:0 0 var(--space-4);font-size:clamp(1.8rem,6vw,2.6rem)}.page h2{margin:var(--space-5) 0 var(--space-2);font-size:1.3rem}.page nav.footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--panel-border);font-size:.95rem}.page nav.footer .footer-links{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.page nav.footer .footer-tools{align-items:center;gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:1fr auto 1fr;display:grid}.page nav.footer .footer-tools>:first-child{justify-self:start}@media (width<=560px){.page nav.footer .footer-tools{grid-template-columns:1fr}.page nav.footer .footer-tools a.coffee{justify-self:center}}.site-top{z-index:40;padding-top:var(--safe-top);position:sticky;top:0}.site-top:not(:has(>.site-header,>.site-banners>*)){display:none}.site-header{border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08180ff0}.site-bar,.subnav-links{max-width:72rem;padding:0 calc(var(--space-4) + var(--safe-right)) 0 calc(var(--space-4) + var(--safe-left));align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.site-bar{min-height:56px;position:relative}.site-bar .brand{color:var(--paper);white-space:nowrap;font-weight:700;text-decoration:none}.main-nav{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex}.main-nav a,.subnav-links a{color:var(--paper-dim);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;text-decoration:none}.main-nav a:hover,.subnav-links a:hover{color:var(--paper);background:#f3ead314}.main-nav a[aria-current=page],.subnav-links a[aria-current=page]{color:var(--gold);font-weight:600}.site-account{align-items:center;margin-left:auto;display:flex}.account{position:relative}.account-button{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:1px solid var(--panel-border);color:var(--paper);font:inherit;cursor:pointer;background:#f3ead314;border-radius:999px;font-weight:600;display:inline-flex}.account-button:hover,.account-button[aria-expanded=true]{background:#f3ead329}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.account-menu{right:0;top:calc(100% + var(--space-2));z-index:45;min-width:13rem;padding:var(--space-1) 0;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;list-style:none;position:absolute}.account-menu a,.account-menu button{width:100%;padding:var(--space-2) var(--space-4);min-height:44px;font:inherit;text-align:left;color:var(--paper);cursor:pointer;background:0 0;border:0;line-height:28px;text-decoration:none;display:block}.account-menu li:last-child{border-top:1px solid var(--panel-border);margin-top:var(--space-1)}.account-menu a:hover,.account-menu button:hover,.account-menu a[aria-current=page]{background:#f3ead31a}.menu-button{min-height:40px;padding:0 var(--space-3);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--paper);font:inherit;cursor:pointer;background:0 0;display:none}.subnav{border-bottom:1px solid var(--panel-border);background:#08180fcc;overflow-x:auto}.subnav-links{gap:var(--space-1);min-height:44px}.subnav-links a{font-size:.95rem}@media (width<=48rem){.menu-button{align-items:center;display:inline-flex}.main-nav{padding:var(--space-2) calc(var(--space-4) + var(--safe-left));background:var(--panel);border-bottom:1px solid var(--panel-border);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;display:none;position:absolute;top:100%;left:0;right:0}.main-nav.open{display:flex}.main-nav a{align-items:center;min-height:44px;display:flex}.account-name,.account-button .caret{display:none}.account-button{padding:var(--space-1)}}.lang-switch{align-items:center;gap:var(--space-2);display:inline-flex}.hero{text-align:center;justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:70dvh;display:flex}.hero h1{letter-spacing:.02em;margin:0;font-size:clamp(2.4rem,9vw,4.2rem)}.hero p{max-width:32em;color:var(--paper-dim);margin:0;font-size:clamp(1.05rem,3.6vw,1.3rem)}.form{gap:var(--space-4);display:grid}.field{gap:var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}.form,.form>*,.field,.field>*{min-width:0}.field>span{overflow-wrap:anywhere}.field>span,fieldset>legend{font-weight:600}fieldset{border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-2);margin:0;display:grid}input:not([type]),input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=date],input[type=datetime-local],input[type=time],textarea,select{max-width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--paper);font:inherit;background:#0000004d}.field>select{text-overflow:ellipsis;width:100%;max-width:100%;overflow:hidden}textarea{min-height:6rem;padding:var(--space-2) var(--space-3);resize:vertical}label.check{align-items:center;gap:var(--space-2);min-height:44px;display:flex}label.check input{width:22px;height:22px;accent-color:var(--gold)}.hint{color:var(--paper-dim);font-size:.9rem}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-4)}dialog{background:var(--panel);color:var(--paper);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-4);max-width:min(40rem,100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}dialog::backdrop{background:#0000008c}dialog h2:first-child{margin-top:0}.toast-stack{z-index:50;left:16px;right:16px;bottom:calc(var(--space-4) + var(--safe-bottom));justify-items:center;gap:var(--space-2);pointer-events:none;display:grid;position:fixed}.toast-stack>*{pointer-events:auto;max-width:100%}.toast{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-3);display:flex}.error-screen{place-content:center;gap:var(--space-3);text-align:center;min-height:80dvh;padding:var(--space-4);display:grid}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.data th,table.data td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--panel-border);text-align:right}table.data th:first-child,table.data td:first-child{text-align:left}.table-scroll{max-width:100%;overflow-x:auto}table.data code{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}fieldset.prompt,fieldset.hand-buttons{border:0;min-width:0;margin:0}.field-error,.form-message.error{color:var(--danger)}.form-message{margin:0}.form-message.ok{color:var(--ok)}.password-field{align-items:end;gap:var(--space-2);grid-template-columns:1fr auto;display:grid}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page .row{justify-content:flex-start}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.link{color:var(--gold);background:0 0;border:0;min-height:0;padding:0;text-decoration:underline}.page section{margin-top:var(--space-5)}.impersonation-banner{color:#fff;padding:var(--space-2) var(--space-4);text-align:center;background:#9b1c1c}.staging-ribbon{color:#fff;padding:var(--space-1) var(--space-4);text-align:center;background:#1d4ed8;font-size:.875rem;font-weight:600}.maintenance-banner{background:var(--panel);border-bottom:1px solid var(--gold);color:var(--paper);padding:var(--space-2) var(--space-4);text-align:center}.avatar{vertical-align:middle;border-radius:50%;flex:none}.avatar-img{border-radius:50%}.avatar-editor canvas{touch-action:none;cursor:grab;background:#0000004d;border-radius:50%;max-width:100%}.qr{border-radius:var(--radius-sm);background:#fff;max-width:100%;height:auto;display:block}.totp-secret{letter-spacing:.05em;word-break:break-all;font-size:1.1rem}.backup-codes .codes{columns:2;font-size:1.05rem}.sessions{gap:var(--space-2);padding:0;list-style:none;display:grid}.sessions li{gap:var(--space-2);border-bottom:1px solid var(--panel-border);padding-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.warn{color:var(--gold);font-weight:600}.danger-zone{border-top:1px solid var(--danger);padding-top:var(--space-3)}mark.todo{background:var(--gold);color:var(--ink);border-radius:3px;padding:0 4px}.page.admin{max-width:72rem}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}table.admin-table th,table.admin-table td{text-align:left;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--panel-border);vertical-align:top}.metrics,.admin-facts{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.metrics dd,.admin-facts dd{overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:600}pre.flags{font-size:.85rem;overflow-x:auto}.card-row{gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.card-thumb{text-align:center;width:clamp(56px,13vw,88px);margin:0}.card-thumb figcaption{margin-top:var(--space-1);font-size:.875rem}.card-thumb-btn,.card-zoom-img{cursor:zoom-in;background:0 0;border:0;border-radius:8%;width:100%;padding:0;display:block}.card-thumb-btn:focus-visible,.card-zoom-img:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.card-thumb img,.card-zoom img{filter:drop-shadow(0 1px 3px #00000073);width:100%;height:auto;display:block}.card-zoom{text-align:center}.card-zoom-img{cursor:zoom-out;margin:0 auto}.card-zoom-name{margin:var(--space-2) 0;font-weight:600}.card-grid{gap:var(--space-4) var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));display:grid}.card-cell{align-items:center;gap:var(--space-1);flex-direction:column;font-size:.875rem;display:flex}.card-cell .card-thumb{width:100%}.learner-badge{color:#fff;background:#1d4ed8;border-radius:2px;flex:none;justify-content:center;align-items:center;width:1.25em;height:1.25em;font-family:Arial,Helvetica,sans-serif;font-size:.85em;font-weight:800;line-height:1;display:inline-flex}.card-zoom-stage{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.card-zoom-nav{flex:none;min-width:44px;min-height:44px;font-size:1.6rem;line-height:1}.card-zoom-img img{touch-action:pan-y;-webkit-user-select:none;user-select:none}.page nav.footer a.coffee{line-height:0;display:inline-flex}.page nav.footer a.coffee img{width:142px;height:40px}.page figure.tile-figure-box{margin:var(--space-4) 0}
