@layer tw-base,legacy-global,app-tokens,app-base,app-components,app-families;@layer app-components{.fx-pop{animation:fx-pop .2s var(--app-ease,cubic-bezier(.16,1,.3,1))}@keyframes fx-pop{0%{transform:scale(1)}45%{transform:scale(1.22)}to{transform:scale(1)}}.fx-shake{animation:fx-shake .25s cubic-bezier(.36,.07,.19,.97)}@keyframes fx-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.fx-fade-in{animation:fx-fade-in .15s ease-out both}.fx-fade-in.is-300{animation-duration:.3s}@keyframes fx-fade-in{0%{opacity:0}to{opacity:1}}.fx-slide-in{animation:fx-slide-in .25s var(--app-ease,cubic-bezier(.16,1,.3,1)) both}@keyframes fx-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.fx-tick path{stroke-dasharray:32;stroke-dashoffset:32;animation:fx-draw .35s .05s var(--app-ease,cubic-bezier(.16,1,.3,1)) forwards}@keyframes fx-draw{to{stroke-dashoffset:0}}.fx-ok-flash{animation:fx-ok-flash .9s ease-in-out both}@keyframes fx-ok-flash{0%{background:var(--app-accent);color:#fff}30%,70%{background:var(--app-ok);color:#fff}to{background:var(--app-accent);color:#fff}}.fx-ok-tint{transition:background-color .3s ease-out,color .3s ease-out,border-color .3s ease-out}@media(prefers-reduced-motion:reduce){.fx-pop,.fx-shake,.fx-fade-in,.fx-slide-in,.fx-ok-flash{animation:none}.fx-tick path{stroke-dashoffset:0;animation:none}.fx-ok-tint{transition:none}}}@layer app-components{:root{--prism-bg: var(--app-surface-2);--prism-line: var(--app-line);--prism-fg: var(--app-ink);--prism-inline-bg: var(--app-surface-2);--prism-comment: #6e7781;--prism-punct: #57606a;--prism-tag: #116329;--prism-num: #0550ae;--prism-str: #0a3069;--prism-op: #953800;--prism-fn: #8250df;--prism-kw: #cf222e}html.dark,.prism-dark{--prism-bg: #000;--prism-line: rgb(255 255 255 / 10%);--prism-fg: #e6e6e6;--prism-inline-bg: #111;--prism-comment: #8b949e;--prism-punct: #c9d1d9;--prism-tag: #7ee787;--prism-num: #79c0ff;--prism-str: #a5d6ff;--prism-op: #ffa657;--prism-fn: #d2a8ff;--prism-kw: #ff7b72}code[class*=language-],pre[class*=language-]{font-family:var(--app-mono);font-size:13px;line-height:1.65;-moz-tab-size:2;-o-tab-size:2;tab-size:2;hyphens:none;color:var(--prism-fg);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;overflow-wrap:normal;text-shadow:none;direction:ltr}pre[class*=language-],pre.prism-dark{margin:16px 0;padding:14px 16px;overflow:auto;border-radius:10px;background:var(--prism-bg);border:1px solid var(--prism-line);color:var(--prism-fg)}pre.prism-dark{color-scheme:dark}:not(pre)>code[class*=language-]{padding:.15em .4em;border-radius:5px;background:var(--prism-inline-bg);white-space:normal;font-size:.9em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#0070f340;text-shadow:none}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#0070f340;text-shadow:none}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--prism-comment);font-style:italic}.token.punctuation{color:var(--prism-punct)}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:var(--prism-tag)}.token.boolean,.token.number{color:var(--prism-num)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--prism-str)}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:var(--prism-op)}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:var(--prism-fn)}.token.keyword{color:var(--prism-kw)}.token.regex,.token.important{color:var(--prism-op)}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}.token.entity{cursor:help}}.pl-page h1.app-h1{font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.1;letter-spacing:-.025em;margin:0;font-family:var(--app-sans)}.pl-ws h1.pl-ws-h1{font-size:22px;font-weight:600;line-height:1.2}@layer app-families{.pl-page h2,.pl-page h3,.pl-ws h1,.pl-ws h2,.pl-ws h3{margin:0;font-family:var(--app-sans)}.pl-wrap{max-width:80rem;margin:0 auto;padding-left:16px;padding-right:16px}@media(min-width:640px){.pl-wrap{padding-left:24px;padding-right:24px}}@media(min-width:1024px){.pl-wrap{padding-left:32px;padding-right:32px}}.pl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--app-ink-3);margin-bottom:14px}.pl-crumbs a{color:var(--app-ink-3);transition:color .15s}.pl-crumbs a:hover{color:var(--app-ink)}.pl-crumbs b{color:var(--app-ink-2);font-weight:500}.pl-crumbs i{font-style:normal;color:var(--app-ink-4)}.pl-section{margin-top:28px}.pl-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin-bottom:12px}:is(.pl-page,.pl-ws) .app-card{min-width:0}@media(max-width:640px){.pl-page .app-head .app-btn-lg{width:100%;height:auto;min-height:46px;padding:11px 16px;white-space:normal;text-align:center}}.pl-link{font-size:13px;font-weight:500;color:var(--app-accent-ink);white-space:nowrap}.pl-link:hover{text-decoration:underline}:is(.pl-page,.pl-ws) .app-ring{position:relative;flex:none}:is(.pl-page,.pl-ws) .app-ring.is-lg{--size:96px;--w:7px}:is(.pl-page,.pl-ws) .app-ring.is-lg>span{font-size:17px}:is(.pl-page,.pl-ws) .app-ring.is-ok{background:conic-gradient(var(--app-ok) calc(var(--p)*1%),var(--app-line) 0)}:is(.pl-page,.pl-ws) .app-ring.is-warn{background:conic-gradient(var(--app-warn) calc(var(--p)*1%),var(--app-line) 0)}.pl-strip{display:grid;grid-template-columns:auto 1fr;gap:20px 28px;align-items:center}.pl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:16px 24px}@media(max-width:640px){.pl-strip{grid-template-columns:1fr}.pl-kpis{grid-template-columns:repeat(2,1fr)}}.pl-kpi-sub{font-size:12px;color:var(--app-ink-4);margin-top:2px}.pl-rows{display:flex;flex-direction:column}.pl-row{display:grid;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--app-line);color:inherit;min-height:52px;transition:background-color .12s}.pl-rows>.pl-row:first-child,.pl-rows>.pl-row-head+.pl-row{border-top:0}a.pl-row:hover,.pl-row.is-link:hover{background:var(--app-surface-2)}html.dark a.pl-row:hover,html.dark .pl-row.is-link:hover{background:#ffffff09}.pl-row-head{display:grid;align-items:center;gap:14px;padding:9px 18px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3);border-bottom:1px solid var(--app-line);background:var(--app-surface-2)}html.dark .pl-row-head{background:#ffffff05}.pl-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid var(--app-line);background:var(--app-surface-2);font-size:12.5px;font-weight:600;color:var(--app-ink-2)}html.dark .pl-group{background:#ffffff05}.pl-group .n{font-family:var(--app-mono);font-weight:500;font-size:12px;color:var(--app-ink-3)}.pl-title{display:block;font-size:14px;font-weight:500;color:var(--app-ink);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-meta{display:block;font-size:12px;color:var(--app-ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-num{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--app-ink-4);width:22px;text-align:right}.pl-mono{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--app-ink-2);white-space:nowrap}.pl-mono.is-dim{color:var(--app-ink-4)}.pl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:transparent;border:1.5px solid var(--app-line-2);flex:none}.pl-dot.is-solved{background:var(--app-ok);border-color:var(--app-ok);box-shadow:0 0 0 3px var(--app-ok-soft)}.pl-dot.is-attempted{background:var(--app-warn);border-color:var(--app-warn);box-shadow:0 0 0 3px var(--app-warn-soft)}.pl-dot.is-viewed{background:var(--app-danger);border-color:var(--app-danger);box-shadow:0 0 0 3px var(--app-danger-soft)}:is(.pl-page,.pl-ws) .app-chip.is-xs{height:22px;padding:0 8px;font-size:11px}.pl-logo{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#fff;border:1px solid var(--app-line);padding:3px;flex:none;overflow:hidden}.pl-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.pl-logo.is-md{width:36px;height:36px;border-radius:9px;padding:5px}.pl-logo.is-lg{width:52px;height:52px;border-radius:12px;padding:8px}.pl-logo.is-txt{font-size:11px;font-weight:600;color:#222;padding:0 4px;white-space:nowrap;overflow:hidden}.pl-logo.is-lg.is-txt{font-size:18px}.pl-logos{display:inline-flex;align-items:center;gap:4px}.pl-logos .more{font-family:var(--app-mono);font-size:11px;color:var(--app-ink-4);margin-left:2px}.pl-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pl-filters .lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-4);margin-right:2px}.pl-filters .sep{width:1px;height:18px;background:var(--app-line);margin:0 6px}:is(.pl-page,.pl-ws) button.app-chip{cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}:is(.pl-page,.pl-ws) button.app-chip:hover{color:var(--app-ink);border-color:var(--app-line-2)}:is(.pl-page,.pl-ws) button.app-chip[aria-pressed=true]{border-color:transparent;background:var(--app-accent-soft);color:var(--app-accent-ink)}.pl-callout{position:relative;padding:12px 14px 12px 16px;border-radius:10px;background:var(--app-accent-soft);color:var(--app-ink)}.pl-callout:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--app-accent)}.pl-callout .k{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-accent-ink);margin-bottom:4px}.pl-callout.is-ok{background:var(--app-ok-soft)}.pl-callout.is-ok:before{background:var(--app-ok)}.pl-callout.is-ok .k{color:var(--app-ok)}.pl-callout.is-warn{background:var(--app-warn-soft)}.pl-callout.is-warn:before{background:var(--app-warn)}.pl-callout.is-warn .k{color:var(--app-warn)}.pl-callout.is-quiet{background:var(--app-surface-2)}.pl-callout.is-quiet:before{background:var(--app-line-2)}.pl-callout.is-quiet .k{color:var(--app-ink-3)}.pl-block{border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface-2);padding:12px 14px}html.dark .pl-block{background:#ffffff06}.pl-block .k{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3);margin-bottom:6px}.pl-code{font-family:var(--app-mono);font-size:12.5px;line-height:1.6;color:var(--app-ink);white-space:pre-wrap;word-break:break-word}.pl-code .lbl{color:var(--app-ink-4)}.pl-pre{font-family:var(--app-mono);font-size:12.5px;line-height:1.6;border:1px solid var(--app-line);border-radius:10px;padding:12px 14px;overflow:auto;background:var(--app-surface-2);color:var(--app-ink)}html.dark .pl-pre{background:#0a0a0a}.pl-pre.is-dark{background:#0a0a0a;color:#e6e6e6;border-color:#ffffff1a}.pl-input{height:38px;padding:0 12px;border:1px solid var(--app-line-2);border-radius:9px;background:var(--app-surface);color:var(--app-ink);font-size:13.5px;outline:0;transition:border-color .15s,box-shadow .15s;min-width:0}.pl-input::-moz-placeholder{color:var(--app-ink-4)}.pl-input::placeholder{color:var(--app-ink-4)}.pl-input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.pl-input::-webkit-search-decoration,.pl-input::-webkit-search-cancel-button{-webkit-appearance:none}select.pl-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;background-image: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='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.pl-search{position:relative;display:flex;align-items:center}.pl-search svg{position:absolute;left:11px;width:15px;height:15px;color:var(--app-ink-4);pointer-events:none}.pl-search .pl-input{padding-left:34px;width:100%}.pl-tabs{display:flex;align-items:center;gap:2px;padding:0 10px;border-bottom:1px solid var(--app-line);overflow-x:auto;scrollbar-width:none;flex:none}.pl-tabs::-webkit-scrollbar{display:none}.pl-tab{height:42px;padding:0 10px;font-size:13px;font-weight:500;color:var(--app-ink-3);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s;display:inline-flex;align-items:center;gap:6px}.pl-tab:hover{color:var(--app-ink)}.pl-tab[aria-selected=true]{color:var(--app-ink);border-bottom-color:var(--app-accent)}.pl-tab .n{font-family:var(--app-mono);font-size:11px;color:var(--app-ink-4)}.rt-prose{font-size:14.5px;line-height:1.65;color:var(--app-ink-2)}.rt-prose p+p,.rt-prose ul+p,.rt-prose p+ul{margin-top:.65em}.rt-prose ul{list-style:disc;padding-left:1.25em}.rt-prose ol{list-style:decimal;padding-left:1.25em}.rt-prose li+li{margin-top:.25em}.rt-prose strong{font-weight:600;color:var(--app-ink)}.rt-prose code{font-family:var(--app-mono);font-size:.88em;padding:1px 5px;border-radius:5px;border:1px solid var(--app-line);background:var(--app-surface-2);color:var(--app-ink)}html.dark .rt-prose code{background:#ffffff0f;color:#e8e8e8}.rt-prose pre{font-family:var(--app-mono);font-size:12.5px;line-height:1.6;padding:12px 14px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface-2);overflow:auto;margin:.75em 0}.rt-prose pre code{border:0;background:transparent;padding:0}.rt-prose .katex{font-size:1em}.rt-prose a{color:var(--app-accent-ink)}.pl-ws{display:flex;flex-direction:column;min-height:100vh;background:var(--app-bg);color:var(--app-ink)}@media(min-width:1024px){.pl-ws.is-split{height:100vh;overflow:hidden}}.pl-ws-bar{display:flex;align-items:center;gap:12px;height:48px;padding:0 12px 0 8px;border-bottom:1px solid var(--app-line);background:var(--app-surface);flex:none;min-width:0}html.dark .pl-ws-bar{background:#0a0a0a}.pl-ws-back{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--app-ink-2);flex:none;transition:background-color .12s,color .12s}.pl-ws-back:hover{color:var(--app-ink);background:var(--app-surface-2)}html.dark .pl-ws-back:hover{background:#ffffff0f}.pl-ws-crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--app-ink-3);min-width:0;overflow:hidden;white-space:nowrap}.pl-ws-crumbs a{color:var(--app-ink-3)}.pl-ws-crumbs a:hover{color:var(--app-ink)}.pl-ws-crumbs b{color:var(--app-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis}.pl-ws-crumbs i{font-style:normal;color:var(--app-ink-4)}.pl-ws-crumbs .hide-sm{display:none}@media(min-width:768px){.pl-ws-crumbs .hide-sm{display:inline}}.pl-ws-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.pl-ws-meta{display:none;gap:12px;font-family:var(--app-mono);font-size:11.5px;color:var(--app-ink-4);margin-right:4px}@media(min-width:1024px){.pl-ws-meta{display:inline-flex}}.pl-ws-split{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-height:0;min-width:0}.pl-ws{max-width:100vw;overflow-x:hidden}.pl-ws-bar{overflow:hidden}.pl-ws-crumbs{flex:1 1 auto}.pl-ed-lang{white-space:nowrap;flex:none}.pl-ed-hint{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:1024px){.pl-ws-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.pl-ws-left{display:flex;flex-direction:column;min-height:420px;background:var(--app-surface);border-right:1px solid var(--app-line)}html.dark .pl-ws-left{background:#0a0a0a}@media(min-width:1024px){.pl-ws-left{height:100%;min-height:0}}.pl-ws-body{flex:1;overflow-y:auto;padding:22px 24px 28px}@media(max-width:640px){.pl-ws-body{padding:18px 16px 24px}}.pl-ws-h1{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--app-ink);margin-bottom:14px}.pl-ed{display:flex;flex-direction:column;min-height:480px;background:#0a0a0a;color:#e6e6e6;color-scheme:dark}@media(min-width:1024px){.pl-ed{height:100%;min-height:0}}.pl-ed-bar{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-bottom:1px solid rgb(255 255 255 / 8%);flex:none}.pl-ed-lang{display:inline-flex;align-items:center;gap:7px;font-family:var(--app-mono);font-size:11.5px;color:#a1a1a1}.pl-ed-lang i{width:6px;height:6px;border-radius:50%;background:#f5a623;display:inline-block}.pl-ed-hint{font-size:11.5px;color:#8a8a8a;display:none}@media(min-width:1280px){.pl-ed-hint{display:inline}}.pl-ed-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.pl-ed .app-btn-ghost{color:#d4d4d4;border-color:#ffffff24}.pl-ed .app-btn-ghost:hover{color:#fff;border-color:#ffffff4d}.pl-ed .app-btn-quiet{color:#8a8a8a;border-color:transparent;background:transparent}.pl-ed .app-btn-quiet:hover{color:#fff;background:#ffffff0f}.pl-ed-out{border-top:1px solid rgb(255 255 255 / 8%);padding:12px 14px 14px;flex:none;max-height:46%;overflow:auto;background:#0a0a0a}.pl-ed-status{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#e6e6e6;margin-bottom:10px}.pl-ed-status .n{font-family:var(--app-mono);font-weight:400;font-size:12px;color:#8a8a8a;margin-left:auto}.pl-tests{display:flex;flex-direction:column;gap:4px}.pl-test{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;padding:7px 10px;border-radius:8px;border:1px solid rgb(255 255 255 / 7%);font-size:12.5px;color:#d4d4d4}.pl-test.is-fail{border-color:#f0584e40;background:#f0584e0f}.pl-test .name{font-weight:500;display:flex;align-items:center;gap:8px;min-width:0}.pl-test .tag{font-family:var(--app-mono);font-size:10.5px;color:#8a8a8a}.pl-test .io{grid-column:2;font-family:var(--app-mono);font-size:11.5px;color:#a1a1a1;white-space:pre-wrap;word-break:break-word;line-height:1.55}.pl-test .io b{font-weight:500;color:#3fb950}.pl-test .io em{font-style:normal;color:#f0584e}.pl-spin{width:12px;height:12px;border-radius:50%;border:2px solid #f5a623;border-top-color:transparent;animation:pl-spin .8s linear infinite;display:inline-block}@keyframes pl-spin{to{transform:rotate(360deg)}}.pl-ws-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#0a0a0a;border-top:1px solid rgb(255 255 255 / 10%)}.pl-ws-sticky .app-btn{flex:1}@media(min-width:1024px){.pl-ws-sticky{display:none}}.pl-ws.is-split{padding-bottom:64px}@media(min-width:1024px){.pl-ws.is-split{padding-bottom:0}}.pl-ws-sticky .app-btn-ghost{color:#e6e6e6;border-color:#fff3}.pl-opt{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface);color:var(--app-ink-2);text-align:left;font-size:14px;line-height:1.55;cursor:pointer;transition:border-color .15s,background-color .15s}html.dark .pl-opt{background:#ffffff05}.pl-opt:hover{border-color:var(--app-line-2);color:var(--app-ink)}.pl-opt .id{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid var(--app-line-2);font-family:var(--app-mono);font-size:12px;font-weight:600;color:var(--app-ink-3);text-transform:uppercase;flex:none;margin-top:1px}.pl-opt.is-sel{border-color:var(--app-accent);background:var(--app-accent-soft);color:var(--app-ink)}.pl-opt.is-sel .id{border-color:var(--app-accent);background:var(--app-accent);color:#fff}.pl-opt.is-ok{border-color:var(--app-ok);background:var(--app-ok-soft);color:var(--app-ink)}.pl-opt.is-ok .id{border-color:var(--app-ok);background:var(--app-ok);color:#fff}.pl-opt.is-bad{border-color:var(--app-danger);background:var(--app-danger-soft);color:var(--app-ink)}.pl-opt.is-bad .id{border-color:var(--app-danger);background:var(--app-danger);color:#fff}.pl-opt[disabled]{cursor:default}.pl-opt,.pl-opt *{white-space:normal}.pl-opt>.rt-prose{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.pl-coach-user{max-width:85%;padding:9px 14px;border-radius:14px 14px 4px;background:var(--app-accent);color:#fff;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.pl-coach-av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--app-accent);color:#fff;flex:none}.pl-coach-sug{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.pl-coach-sug:hover{border-color:var(--app-line-2);background:var(--app-surface-2)}html.dark .pl-coach-sug:hover{background:#ffffff0a}.pl-coach-sug b{font-size:13px;font-weight:500;color:var(--app-ink)}.pl-coach-sug span{font-size:12px;color:var(--app-ink-3)}.pl-coach-box{display:flex;align-items:flex-end;gap:6px;padding:6px 6px 6px 10px;border:1px solid var(--app-line-2);border-radius:12px;background:var(--app-surface);transition:border-color .15s,box-shadow .15s}.pl-coach-box:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.pl-coach-box textarea{flex:1;min-width:0;resize:none;background:transparent;border:0;outline:0;font-size:14px;line-height:1.5;color:var(--app-ink);padding:6px 0;max-height:112px;min-height:32px}.pl-coach-box textarea::-moz-placeholder{color:var(--app-ink-4)}.pl-coach-box textarea::placeholder{color:var(--app-ink-4)}.pl-dots{display:inline-flex;gap:3px;align-items:center}.pl-dots i{width:5px;height:5px;border-radius:50%;background:var(--app-ink-4);animation:pl-blink 1s infinite}.pl-dots i:nth-child(2){animation-delay:.15s}.pl-dots i:nth-child(3){animation-delay:.3s}@keyframes pl-blink{0%,80%,to{opacity:.3}40%{opacity:1}}.pl-map{width:100%;font-size:12.5px;border-collapse:collapse;margin-top:10px}.pl-map th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-ink-3);padding:6px 8px;border-bottom:1px solid var(--app-line)}.pl-map td{padding:6px 8px;border-bottom:1px solid var(--app-line);color:var(--app-ink-2);vertical-align:top}.pl-map td:first-child{font-family:var(--app-mono);color:var(--app-ink);white-space:nowrap}.pl-map tr:last-child td{border-bottom:0}.pl-heat{display:flex;gap:3px;overflow-x:auto;padding-bottom:4px}.pl-heat .w{display:flex;flex-direction:column;gap:3px}.pl-heat .d{width:11px;height:11px;border-radius:2px;background:var(--app-line)}.pl-heat .d.l1{background:#3fb95059}.pl-heat .d.l2{background:#3fb95099}.pl-heat .d.l3{background:var(--app-ok)}.pl-heat .d.is-future{background:transparent}.pl-legend{display:grid;gap:10px 20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.pl-legend>div{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--app-ink-3);line-height:1.45}.pl-legend b{display:block;font-weight:600;color:var(--app-ink);font-size:13px}.pl-legend .pl-dot{margin-top:5px}.pl-cell{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12px;text-align:center;padding:4px 0;border-radius:6px;color:var(--app-ink-3);background:var(--app-surface-2)}html.dark .pl-cell{background:#ffffff08}.pl-cell.is-some{color:var(--app-accent-ink);background:var(--app-accent-soft)}.pl-cell.is-full{color:var(--app-ok);background:var(--app-ok-soft)}.pl-cell.is-none{color:var(--app-ink-4);background:transparent}}@layer app-families{.lab-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--app-bg);color:var(--app-ink);font-family:var(--app-sans);-webkit-font-smoothing:antialiased}.lab-shell ::-moz-selection{background:#0070f340}.lab-shell ::selection{background:#0070f340}.lab-top{display:flex;align-items:center;gap:10px;height:48px;padding:0 10px 0 8px;flex:none;border-bottom:1px solid var(--app-line);background:var(--app-surface);position:relative;z-index:30}.lab-top-group{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.lab-top-group>*{flex:none}.lab-top-group>.lab-title{flex:0 1 auto}.lab-top-right{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none}.lab-icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--app-ink-2);background:transparent;border:0;cursor:pointer;flex:none;transition:color .15s,background-color .15s}.lab-icon-btn:hover{color:var(--app-ink);background:var(--app-surface-2)}html.dark .lab-icon-btn:hover{background:#ffffff0f}.lab-icon-btn.is-on{color:var(--app-ink);background:var(--app-surface-2)}html.dark .lab-icon-btn.is-on{background:#ffffff14}.lab-icon-btn svg{width:16px;height:16px}.lab-sep{width:1px;height:18px;background:var(--app-line-2);flex:none}.lab-crumb{font-size:12.5px;color:var(--app-ink-3);white-space:nowrap;flex:none}.lab-crumb a{color:inherit}.lab-crumb a:hover{color:var(--app-ink)}.lab-title{font-size:13.5px;font-weight:500;color:var(--app-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;margin:0;line-height:1.2}.lab-prog{display:flex;align-items:center;gap:10px;font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--app-ink-3);white-space:nowrap;flex:none}.lab-prog .app-bar{width:120px;height:4px}.lab-prog .app-bar>i{transition:width .6s var(--app-ease)}.lab-timer{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:7px;border:1px solid var(--app-line);background:var(--app-surface-2);font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--app-ink-2);white-space:nowrap}.lab-timer svg{width:13px;height:13px;opacity:.8}.lab-timer.is-notice{color:var(--app-ink)}.lab-timer.is-warn{color:var(--app-warn);border-color:transparent;background:var(--app-warn-soft)}.lab-timer.is-danger{color:var(--app-danger);border-color:transparent;background:var(--app-danger-soft);animation:lab-pulse 1s ease-in-out infinite}.lab-timer-extend{height:22px;padding:0 8px;border-radius:6px;border:0;background:var(--app-warn);color:#000;font-family:var(--app-sans);font-size:11.5px;font-weight:600;cursor:pointer}.lab-timer-extend[disabled]{opacity:.6}.lab-status{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:7px;font-size:12px;color:var(--app-ink-3);white-space:nowrap;border:1px solid var(--app-line);background:var(--app-surface-2)}.lab-status i{width:6px;height:6px;border-radius:50%;background:var(--app-ink-4);flex:none}.lab-status.is-ok{color:var(--app-ok);border-color:transparent;background:var(--app-ok-soft)}.lab-status.is-ok i{background:var(--app-ok)}.lab-status.is-wait{color:var(--app-warn);border-color:transparent;background:var(--app-warn-soft)}.lab-status.is-wait i{background:var(--app-warn);animation:lab-pulse 1.2s ease-in-out infinite}.lab-status.is-bad{color:var(--app-danger);border-color:transparent;background:var(--app-danger-soft)}.lab-status.is-bad i{background:var(--app-danger)}.lab-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface-2);font-size:11px;font-weight:500;color:var(--app-ink-3);white-space:nowrap}.lab-btn-danger{color:var(--app-danger)}.lab-btn-danger:hover{color:var(--app-danger);border-color:var(--app-danger);background:var(--app-danger-soft)}.lab-body{display:flex;flex:1;min-height:0;position:relative}.lab-rail{position:absolute;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;width:min(300px,86vw);flex:none;border-right:1px solid var(--app-line);background:var(--app-surface);box-shadow:var(--app-shadow-lg);transform:translate(-100%);transition:transform .25s var(--app-ease);overflow:hidden}.lab-rail.is-open{transform:none}.lab-rail-scrim{position:absolute;inset:0;z-index:39;background:#00000073}@media(min-width:1024px){.lab-rail{position:static;transform:none;width:256px;box-shadow:none}.lab-rail.is-closed,.lab-rail-scrim{display:none}}.lab-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:40px;padding:0 8px 0 16px;border-bottom:1px solid var(--app-line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-4);flex:none}.lab-rail-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.lab-step{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;border-radius:8px;text-align:left;font-size:13px;line-height:1.3;color:var(--app-ink-2);background:transparent;border:0;cursor:pointer;font-family:inherit;transition:background-color .15s,color .15s}.lab-step:hover{background:var(--app-surface-2);color:var(--app-ink)}html.dark .lab-step:hover{background:#ffffff0d}.lab-step .n{margin-top:-1px;width:22px;height:22px;border-radius:50%;border:1px solid var(--app-line-2);display:grid;place-items:center;font-family:var(--app-mono);font-size:11px;color:var(--app-ink-3);flex:none;transition:background-color .3s,border-color .3s,color .3s}.lab-step .n svg{width:11px;height:11px}.lab-step .t{min-width:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.lab-step .m{font-family:var(--app-mono);font-size:11px;color:var(--app-ink-4);flex:none}.lab-step.is-done{color:var(--app-ink-3)}.lab-step.is-done .n{background:var(--app-ok-soft);border-color:transparent;color:var(--app-ok)}.lab-step.is-active{background:var(--app-accent-soft);color:var(--app-ink)}.lab-step.is-active .n{border-color:var(--app-accent);color:var(--app-accent-ink)}.lab-step.is-locked,.lab-step:disabled,.lab-step[disabled]{color:var(--app-ink-4);cursor:not-allowed;background:transparent;opacity:1;box-shadow:none}.lab-step.is-locked:hover{background:transparent;color:var(--app-ink-4)}.lab-step.is-locked .n{border-style:dashed;color:var(--app-ink-4)}.lab-main{display:flex;flex:1;min-width:0;min-height:0}.lab-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--app-surface);border-right:1px solid var(--app-line);transition:flex-basis .3s var(--app-ease),width .3s var(--app-ease),opacity .2s}.lab-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;height:40px;padding:0 20px;border-bottom:1px solid var(--app-line);flex:none;font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--app-ink-3);white-space:nowrap}.lab-pane-head .lab-chip.is-ok{border-color:transparent;background:var(--app-ok-soft);color:var(--app-ok)}.lab-pane-body{flex:1;min-height:0;overflow-y:auto;padding:24px 24px 40px;scrollbar-width:thin}.lab-pane-foot{flex:none;padding:12px 16px;border-top:1px solid var(--app-line);background:var(--app-surface)}.lab-prose{max-width:72ch}.lab-pane-tabs{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--app-line);flex:none;overflow-x:auto}.lab-tab{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:7px;border:0;background:transparent;font-size:13px;font-weight:500;color:var(--app-ink-3);cursor:pointer;white-space:nowrap;font-family:inherit;transition:color .15s,background-color .15s}.lab-tab:hover,.lab-tab.is-on{color:var(--app-ink);background:var(--app-surface-2)}html.dark .lab-tab:hover,html.dark .lab-tab.is-on{background:#ffffff12}.lab-tab .c{font-family:var(--app-mono);font-size:11px;color:var(--app-ink-4)}.lab-term{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:#000;color:#a1a1a1;color-scheme:dark}.lab-term-head{display:flex;align-items:center;gap:10px;height:36px;padding:0 14px;border-bottom:1px solid rgb(255 255 255 / 8%);background:#0a0a0a;font-family:var(--app-mono);font-size:12px;color:#8a8a8a;flex:none;white-space:nowrap}.lab-term-head .ps{color:var(--app-accent-2)}.lab-term-head .lab-status{height:22px;padding:0 8px;font-size:11px;border-color:#ffffff14;background:#ffffff0a;color:#8a8a8a}.lab-term-head .lab-status.is-ok{color:#3fb950;background:#3fb95024;border-color:transparent}.lab-term-head .lab-status.is-wait{color:#f5a623;background:#f5a62329;border-color:transparent}.lab-term-head .lab-status.is-bad{color:#f0584e;background:#e5393529;border-color:transparent}.lab-term-body{flex:1;min-height:0;position:relative}.lab-term-foot{height:28px;display:flex;align-items:center;gap:12px;padding:0 14px;border-top:1px solid rgb(255 255 255 / 8%);background:#0a0a0a;font-family:var(--app-mono);font-size:11px;color:#666;flex:none;white-space:nowrap;overflow:hidden}.lab-term-note{padding:8px 14px;border-bottom:1px solid rgb(240 88 78 / 30%);background:#e539351a;color:#f0584e;font-size:12.5px}.lab-term .dots{display:inline-flex;gap:5px;margin-right:4px}.lab-term .dots i{width:8px;height:8px;border-radius:50%;background:#ffffff24}.lab-term-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#000;color:#8a8a8a;font-family:var(--app-mono);font-size:12.5px}.lab-term-overlay .lab-spin{width:18px;height:18px;border-width:2px;color:var(--app-accent-2);margin:0 auto 12px}.lab-term-link{position:absolute;top:8px;right:8px;z-index:20;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:6px;border:1px solid rgb(255 255 255 / 12%);background:#141414e5;font-size:11px;color:#d4d4d4}.lab-term-link:hover{border-color:#ffffff4d;color:#fff}.lab-term-link svg{width:11px;height:11px}.lab-editor-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-bottom:1px solid rgb(255 255 255 / 8%);background:#0a0a0a;font-family:var(--app-mono);font-size:12px;color:#8a8a8a;flex:none}.lab-editor-tab{height:26px;padding:0 10px;border-radius:6px;border:0;background:transparent;color:#8a8a8a;font-family:var(--app-mono);font-size:12px;cursor:pointer}.lab-editor-tab:hover{color:#fff}.lab-editor-tab.is-on{background:#ffffff14;color:#fff}.lab-editor-actions{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid rgb(255 255 255 / 8%);background:#0a0a0a;flex:none}.lab-editor-actions .app-btn-ghost{color:#d4d4d4;border-color:#ffffff24}.lab-editor-actions .app-btn-ghost:hover{color:#fff;border-color:#ffffff4d}.lab-editor-input{height:36px;flex:1;min-width:0;padding:0 12px;border-radius:8px;border:1px solid rgb(255 255 255 / 12%);background:#111;color:#e5e5e5;font-family:var(--app-mono);font-size:13px;outline:0}.lab-editor-input::-moz-placeholder{color:#666}.lab-editor-input::placeholder{color:#666}.lab-editor-input:focus{border-color:var(--app-accent)}.lab-editor-note{flex:1;min-width:0;font-size:12.5px;color:#8a8a8a}.lab-editor-note b{color:#d4d4d4;font-weight:500}.lab-editor-select{height:24px;padding:0 6px;border-radius:6px;border:1px solid rgb(255 255 255 / 12%);background:#111;color:#e5e5e5;font-family:var(--app-mono);font-size:12px;outline:0}.lab-result{flex:none;overflow:auto;border-top:1px solid rgb(255 255 255 / 8%);background:#000;padding:12px 14px;color:#a1a1a1;font-family:var(--app-mono);font-size:12.5px}.lab-verify{display:flex;flex-direction:column;gap:10px}.lab-verify-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;background:var(--app-accent);color:#fff;font-size:14px;font-weight:500;line-height:1;font-family:inherit;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}.lab-verify-btn:hover{background:var(--app-accent-ink)}html.dark .lab-verify-btn:hover{background:var(--app-accent-2)}.lab-verify-btn:active{transform:translateY(1px)}.lab-verify-btn svg{width:16px;height:16px}.lab-verify-btn.is-running,.lab-verify-btn.is-running:hover{background:var(--app-surface-2);color:var(--app-ink-2);border-color:var(--app-line);cursor:wait}.lab-verify-btn.is-pass,.lab-verify-btn.is-pass:hover,.lab-verify-btn.is-done,.lab-verify-btn.is-done:hover{background:var(--app-ok-soft);color:var(--app-ok);cursor:default}.lab-verify-btn.is-pass{transition-duration:.3s}.lab-verify-btn.is-fail,.lab-verify-btn.is-fail:hover{background:var(--app-danger-soft);color:var(--app-danger)}.lab-verify-btn[disabled]{pointer-events:none}.lab-verify-btn.is-disabled,.lab-verify-btn.is-disabled:hover{background:var(--app-surface-2);color:var(--app-ink-4);border-color:var(--app-line);cursor:not-allowed}.lab-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:lab-spin .8s linear infinite;flex:none}.lab-verify-msg{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;border:1px solid var(--app-line);font-size:13px;line-height:1.5;color:var(--app-ink-2);background:var(--app-surface-2);animation:lab-rise .25s var(--app-ease)}.lab-verify-msg>i{width:8px;height:8px;border-radius:50%;background:var(--app-ink-4);flex:none;margin-top:6px}.lab-verify-msg.is-pass{border-color:color-mix(in srgb,var(--app-ok) 35%,transparent);background:color-mix(in srgb,var(--app-ok) 8%,transparent);color:var(--app-ink)}.lab-verify-msg.is-pass>i{background:var(--app-ok);box-shadow:0 0 0 3px var(--app-ok-soft)}.lab-verify-msg.is-fail{border-color:color-mix(in srgb,var(--app-danger) 35%,transparent);background:color-mix(in srgb,var(--app-danger) 7%,transparent);color:var(--app-ink)}.lab-verify-msg.is-fail>i{background:var(--app-danger)}.lab-verify-msg.is-info{border-color:color-mix(in srgb,var(--app-accent) 35%,transparent);background:var(--app-accent-soft);color:var(--app-ink)}.lab-verify-msg.is-info>i{background:var(--app-accent)}.lab-verify-msg .body{min-width:0;flex:1}.lab-verify-msg b{font-weight:600}.lab-verify-msg.is-pass b{color:var(--app-ok)}.lab-verify-msg.is-fail b{color:var(--app-danger)}.lab-verify-msg .hint{display:block;margin-top:2px;font-size:12.5px;color:var(--app-ink-3)}.lab-verify-out{margin-top:8px;padding:8px 10px;border-radius:6px;background:#000;color:#a1a1a1;font-family:var(--app-mono);font-size:11.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto;border:1px solid rgb(255 255 255 / 8%);color-scheme:dark}.lab-checks{display:grid;gap:6px;margin-top:8px}.lab-check{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--app-line);border-radius:8px;font-size:12.5px;color:var(--app-ink-3);background:var(--app-surface)}.lab-check i{width:14px;height:14px;border-radius:50%;border:1px solid var(--app-line-2);flex:none;display:grid;place-items:center}.lab-check .mono{margin-left:auto;font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--app-ink-4);white-space:nowrap}.lab-check.is-pass{border-color:color-mix(in srgb,var(--app-ok) 35%,transparent);color:var(--app-ink)}.lab-check.is-pass i{border-color:var(--app-ok);background:var(--app-ok-soft)}.lab-check.is-pass i:after{content:"";width:4px;height:7px;border:solid var(--app-ok);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-1px,-1px)}.lab-check.is-fail{border-color:color-mix(in srgb,var(--app-danger) 35%,transparent);color:var(--app-ink)}.lab-check.is-fail i{border-color:var(--app-danger);background:var(--app-danger-soft)}.lab-check.is-fail i:after{content:"";width:6px;height:1.5px;background:var(--app-danger)}.lab-check.is-run i{border-color:var(--app-accent);border-top-color:transparent;animation:lab-spin .8s linear infinite}.lab-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-top:8px;font-family:var(--app-mono);font-size:12px;line-height:1.5}.lab-kv dt{color:var(--app-ink-4)}.lab-kv dd{margin:0;color:var(--app-ink);white-space:pre-wrap;word-break:break-word}.lab-prose{font-size:14.5px;line-height:1.7;color:var(--app-ink-2)}.lab-prose h1{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--app-ink);margin:0 0 14px}.lab-prose h2{font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--app-ink);margin:28px 0 10px}.lab-prose h3{font-size:15px;font-weight:600;color:var(--app-ink);margin:22px 0 8px}.lab-prose p{margin:0 0 12px}.lab-prose strong{font-weight:600;color:var(--app-ink)}.lab-prose em{color:var(--app-ink-3)}.lab-prose a{color:var(--app-accent-ink);text-decoration:underline;text-underline-offset:2px}.lab-prose ul,.lab-prose ol{margin:0 0 14px;padding-left:22px}.lab-prose li{margin:4px 0}.lab-prose li::marker{color:var(--app-ink-4);font-family:var(--app-mono);font-size:12px}.lab-prose hr{border:0;height:1px;background:var(--app-line);margin:24px 0}.lab-prose blockquote{margin:14px 0;padding:2px 0 2px 14px;border-left:2px solid var(--app-line-2);color:var(--app-ink-3)}.lab-prose code:not(pre code){font-family:var(--app-mono);font-size:.88em;padding:1px 6px;border-radius:5px;background:var(--app-surface-2);border:1px solid var(--app-line);color:var(--app-ink)}html.dark .lab-prose code:not(pre code){background:#ffffff0f;color:#e5e5e5}.lab-prose table{width:100%;border-collapse:collapse;font-size:13px;margin:14px 0}.lab-prose th{text-align:left;font-weight:600;color:var(--app-ink);padding:8px 12px;border-bottom:1px solid var(--app-line-2)}.lab-prose td{padding:8px 12px;border-bottom:1px solid var(--app-line);color:var(--app-ink-2);vertical-align:top}.lab-prose .tbl{overflow-x:auto;border:1px solid var(--app-line);border-radius:10px;margin:14px 0}.lab-prose .tbl table{margin:0}.lab-prose img{max-width:100%;border-radius:10px;border:1px solid var(--app-line)}.lab-code{margin:14px 0;border-radius:10px;border:1px solid rgb(255 255 255 / 10%);background:#000;overflow:hidden;color-scheme:dark}.lab-code-head{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 12px;border-bottom:1px solid rgb(255 255 255 / 8%);background:#0a0a0a;font-family:var(--app-mono);font-size:11px;color:#8a8a8a;letter-spacing:.02em}.lab-code pre{margin:0;padding:12px 14px;overflow-x:auto;background:transparent}.lab-code code{display:block;white-space:pre;font-family:var(--app-mono);font-size:12.5px;line-height:1.65;color:#e5e5e5;background:transparent;border:0;padding:0}.lab-copy{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:6px;border:1px solid rgb(255 255 255 / 10%);background:#ffffff0a;color:#a1a1a1;font-family:var(--app-sans);font-size:11.5px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.lab-copy:hover{color:#fff;border-color:#ffffff40;background:#ffffff14}.lab-copy svg{width:12px;height:12px}.lab-copy .check-icon{color:#3fb950}.lab-callout{display:flex;gap:10px;margin:14px 0;padding:11px 14px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface-2);font-size:13.5px;line-height:1.6;color:var(--app-ink-2)}.lab-callout>svg,.lab-callout>.ic{width:16px;height:16px;flex:none;margin-top:3px;color:var(--app-ink-3)}.lab-callout .body{min-width:0;flex:1}.lab-callout .body>:first-child{margin-top:0}.lab-callout .body>:last-child{margin-bottom:0}.lab-callout .ttl{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3);margin-bottom:4px}.lab-callout.is-info{border-color:color-mix(in srgb,var(--app-accent) 30%,transparent);background:color-mix(in srgb,var(--app-accent) 7%,transparent)}.lab-callout.is-info>svg,.lab-callout.is-info .ttl{color:var(--app-accent-ink)}.lab-callout.is-ok{border-color:color-mix(in srgb,var(--app-ok) 30%,transparent);background:color-mix(in srgb,var(--app-ok) 7%,transparent)}.lab-callout.is-ok>svg,.lab-callout.is-ok .ttl{color:var(--app-ok)}.lab-callout.is-warn{border-color:color-mix(in srgb,var(--app-warn) 35%,transparent);background:color-mix(in srgb,var(--app-warn) 8%,transparent)}.lab-callout.is-warn>svg,.lab-callout.is-warn .ttl{color:var(--app-warn)}.lab-callout.is-danger{border-color:color-mix(in srgb,var(--app-danger) 30%,transparent);background:color-mix(in srgb,var(--app-danger) 7%,transparent)}.lab-callout.is-danger>svg,.lab-callout.is-danger .ttl{color:var(--app-danger)}.lab-callout code{font-family:var(--app-mono);font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink)}.lab-disclose{margin:12px 0;border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface);overflow:hidden}.lab-disclose-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:0;background:transparent;text-align:left;font-size:13px;font-weight:500;color:var(--app-ink-2);cursor:pointer;font-family:inherit;transition:color .15s,background-color .15s}.lab-disclose-btn:hover{color:var(--app-ink);background:var(--app-surface-2)}.lab-disclose-btn svg{width:14px;height:14px;flex:none;color:var(--app-ink-3)}.lab-disclose-btn .chev{margin-left:auto;transition:transform .2s}.lab-disclose-btn[aria-expanded=true] .chev,.lab-disclose-btn .chev.rotate-180{transform:rotate(180deg)}.lab-disclose-body{padding:10px 14px 12px;border-top:1px solid var(--app-line);font-size:13.5px;line-height:1.6;color:var(--app-ink-2)}.lab-disclose-body.hidden{display:none}.lab-quiz{margin:18px 0;padding:16px;border:1px solid var(--app-line);border-radius:12px;background:var(--app-surface)}.lab-quiz-q{font-size:14px;font-weight:500;color:var(--app-ink);margin:0 0 12px;line-height:1.5}.lab-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--app-line);background:transparent;text-align:left;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--app-ink-2);transition:border-color .15s,background-color .15s,color .15s}.lab-option:hover{border-color:var(--app-line-2);color:var(--app-ink)}.lab-option .r{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--app-line-2);flex:none;margin-top:2px;display:grid;place-items:center;transition:border-color .15s}.lab-option .r:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--app-accent);transform:scale(0);transition:transform .15s var(--app-ease)}.lab-option.is-on{border-color:var(--app-accent);background:var(--app-accent-soft);color:var(--app-ink)}.lab-option.is-on .r{border-color:var(--app-accent)}.lab-option.is-on .r:after{transform:scale(1)}.lab-option.is-correct{border-color:color-mix(in srgb,var(--app-ok) 45%,transparent);background:color-mix(in srgb,var(--app-ok) 8%,transparent);color:var(--app-ink)}.lab-option.is-correct .r{border-color:var(--app-ok)}.lab-option.is-correct .r:after{background:var(--app-ok);transform:scale(1)}.lab-option.is-wrong{border-color:color-mix(in srgb,var(--app-danger) 45%,transparent);background:color-mix(in srgb,var(--app-danger) 7%,transparent);color:var(--app-ink)}.lab-option.is-wrong .r{border-color:var(--app-danger)}.lab-option.is-wrong .r:after{background:var(--app-danger);transform:scale(1)}.lab-option.is-muted{color:var(--app-ink-4)}.lab-option[disabled]{cursor:default}.lab-option .tag{margin-left:auto;font-size:11px;font-weight:600;flex:none;align-self:center}.lab-option.is-correct .tag{color:var(--app-ok)}.lab-option.is-wrong .tag{color:var(--app-danger)}.lab-option .txt{flex:1;min-width:0;white-space:normal;word-break:break-word}.lab-option .txt.mono{font-family:var(--app-mono);font-size:12.5px}.lab-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--app-mono);font-size:11.5px;letter-spacing:.02em;color:var(--app-ink-3);margin-bottom:10px}.lab-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--app-accent)}.lab-divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-4)}.lab-divider:before,.lab-divider:after{content:"";flex:1;height:1px;background:var(--app-line)}.lab-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009;animation:lab-fade .2s}@supports (backdrop-filter:blur(1px)){.lab-overlay{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}.lab-overlay.is-closing{opacity:0;transition:opacity .25s}.lab-modal{width:100%;max-width:440px;background:var(--app-raised);border:1px solid var(--app-line-2);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-lg);padding:28px;animation:lab-pop .35s var(--app-ease);color:var(--app-ink)}html.dark .lab-modal{background:#141414}.lab-modal.is-wide{max-width:640px}.lab-modal h2{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--app-ink);margin:0;line-height:1.2}.lab-modal h3{font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--app-ink);margin:0}.lab-modal p{font-size:14px;color:var(--app-ink-2);line-height:1.55;margin:8px 0 0}.lab-modal .center{text-align:center}.lab-tick{width:56px;height:56px;border-radius:50%;background:var(--app-ok-soft);display:grid;place-items:center;margin:0 auto 18px;animation:lab-pop .5s var(--app-ease)}.lab-tick svg{width:26px;height:26px;stroke:var(--app-ok);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.lab-tick path{stroke-dasharray:32;stroke-dashoffset:32;animation:lab-draw .45s .2s var(--app-ease) forwards}.lab-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--app-line);border:1px solid var(--app-line);border-radius:10px;overflow:hidden;margin:22px 0}.lab-stat{background:var(--app-surface);padding:12px 14px}html.dark .lab-stat{background:#111}.lab-stat .v{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--app-ink);line-height:1.1}.lab-stat .l{font-size:12px;color:var(--app-ink-3);margin-top:4px}.lab-modal-actions{display:grid;gap:8px;margin-top:20px}.lab-modal-actions.is-row{grid-auto-flow:column;grid-auto-columns:1fr}.lab-modal-actions .app-btn{width:100%}.lab-input{width:100%;height:40px;padding:0 12px;border-radius:9px;border:1px solid var(--app-line-2);background:var(--app-surface);color:var(--app-ink);font-size:14px;outline:0;transition:border-color .15s}.lab-input:focus{border-color:var(--app-accent)}.lab-input::-moz-placeholder{color:var(--app-ink-4)}.lab-input::placeholder{color:var(--app-ink-4)}.lab-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--app-bg)}.lab-start{width:100%;max-width:440px;padding:28px;border:1px solid var(--app-line);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow)}.lab-start .glyph{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:var(--app-surface-2);border:1px solid var(--app-line);color:var(--app-ink-2);margin-bottom:18px}.lab-start .glyph svg{width:20px;height:20px}.lab-start h2{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--app-ink);margin:0 0 6px}.lab-start p{font-size:14px;color:var(--app-ink-2);line-height:1.55;margin:0}.lab-start ul{list-style:none;margin:16px 0 22px;padding:0;display:grid;gap:8px}.lab-start li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--app-ink-2);line-height:1.5}.lab-start li i{width:16px;height:16px;border-radius:50%;background:var(--app-ok-soft);color:var(--app-ok);display:grid;place-items:center;flex:none;margin-top:2px}.lab-start li i:after{content:"";width:4px;height:7px;border:solid var(--app-ok);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-1px,-1px)}.lab-start .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lab-loading{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--app-bg);color:var(--app-ink);font-family:var(--app-sans)}.lab-loading .lab-top .lab-title{opacity:.9}.lab-loading .lab-rail{position:static;transform:none;width:232px;box-shadow:none;display:none}.lab-loading .lab-skel-row{display:flex;align-items:center;gap:10px;padding:8px 10px}.lab-loading .lab-skel-row .n{width:22px;height:22px;border-radius:50%;border:1px solid var(--app-line-2);flex:none}.lab-loading .lab-skel-row .app-skel{height:10px;flex:1}.lab-loading .lab-pane{border-right:1px solid var(--app-line)}.lab-loading .lab-pane-body .app-skel{margin-bottom:12px;height:12px}.lab-loading .lab-term{display:flex}.lab-loading-status{display:grid;place-items:center;height:100%;padding:24px;text-align:center}.lab-loading-status .line{display:inline-flex;align-items:center;gap:10px;font-family:var(--app-mono);font-size:13px;color:#d4d4d4}.lab-loading-status .line .ps{color:var(--app-accent-2)}.lab-loading-status .cursor{display:inline-block;width:7px;height:14px;background:#a1a1a1;vertical-align:-2px;animation:lab-blink 1s steps(2) infinite}.lab-loading-status .sub{margin-top:10px;font-size:12.5px;color:#8a8a8a}.lab-loading-stages{display:inline-flex;align-items:center;gap:18px;margin-top:22px;font-size:12px;color:#666}.lab-loading-stages span{display:inline-flex;align-items:center;gap:7px}.lab-loading-stages i{width:6px;height:6px;border-radius:50%;background:#333}.lab-loading-stages .is-on{color:#d4d4d4}.lab-loading-stages .is-on i{background:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.lab-loading-stages .is-done{color:#8a8a8a}.lab-loading-stages .is-done i{background:var(--app-ok)}.lab-loading .lab-prog .app-bar>i{animation:lab-sweep 2.4s var(--app-ease) infinite}@media(min-width:1024px){.lab-loading .lab-rail{display:flex}}@media(max-width:1023px){.lab-shell{height:auto;min-height:100dvh;overflow:visible}.lab-top{position:sticky;top:0;gap:8px}.lab-crumb,.lab-sep.is-desk,.is-desk{display:none}.lab-prog .app-bar{width:56px}.lab-body{display:block;min-height:calc(100dvh - 48px)}.lab-rail{position:fixed;top:48px;bottom:0;left:0;height:auto}.lab-rail-scrim{position:fixed;top:48px}.lab-center{position:relative;min-height:calc(100dvh - 48px)}.lab-main{display:flex;flex-direction:column}.lab-pane{border-right:0;border-bottom:1px solid var(--app-line);width:100%!important;flex-basis:auto!important;opacity:1!important;overflow:visible!important}.lab-pane-body{overflow:visible;padding:20px 16px 24px}.lab-pane-head{padding:0 16px}.lab-pane-foot{position:sticky;bottom:0;z-index:20;box-shadow:0 -8px 24px #00000014}.lab-term{min-height:360px;height:62vh;width:100%!important;flex-basis:auto!important}.lab-term-body{min-height:0}.lab-term-head{padding:0 12px}.lab-stats{grid-template-columns:1fr 1fr}.lab-modal{padding:22px}}@media(max-width:640px){.lab-top .lab-status,.lab-top .lab-chip,.lab-top .lab-prog{display:none}.lab-top{gap:6px;padding:0 8px}.lab-top-right{gap:4px}.lab-title{font-size:13px}.lab-timer{padding:0 8px;font-size:12px}}.lab-result .lab-verify-msg{background:#ffffff0a;border-color:#ffffff1f;color:#e5e5e5}.lab-result .lab-verify-msg .hint{color:#a1a1a1}.lab-result .lab-verify-msg.is-pass{border-color:#3fb95066;background:#3fb95014}.lab-result .lab-verify-msg.is-pass b{color:#3fb950}.lab-result .lab-verify-msg.is-fail{border-color:#f0584e66;background:#f0584e14}.lab-result .lab-verify-msg.is-fail b{color:#f0584e}.lab-result .lab-verify-msg.is-info{border-color:#0070f373;background:#0070f31f}.lab-result .lab-verify-msg.is-info b{color:#5ea6ff}.lab-result .lab-verify-msg>i{background:#666}.lab-result .lab-verify-msg.is-pass>i{background:#3fb950;box-shadow:0 0 0 3px #3fb95033}.lab-result .lab-verify-msg.is-fail>i{background:#f0584e}.lab-result .lab-verify-msg.is-info>i{background:#3291ff}.lab-result .app-btn-ghost{color:#d4d4d4;border-color:#ffffff24}.lab-result .app-btn-ghost:hover{color:#fff;border-color:#ffffff4d}@media(max-width:1023px){.lab-editor-actions{position:sticky;bottom:0;z-index:20}}.udemy-alert{display:flex;gap:10px;margin:16px 0;padding:11px 14px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface-2);font-size:14px;line-height:1.6;color:var(--app-ink-2)}.udemy-alert-icon{flex:none;width:16px;height:16px;margin-top:3px;color:var(--app-ink-3)}.udemy-alert-icon svg,.udemy-alert>svg{width:16px;height:16px;flex:none}.udemy-alert>svg{margin-top:3px;color:var(--app-ink-3)}.udemy-alert-content{min-width:0;flex:1}.udemy-alert-title{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3);margin-bottom:4px}.udemy-alert-body p{margin:.4rem 0}.udemy-alert-body p:first-child{margin-top:0}.udemy-alert-body p:last-child{margin-bottom:0}.udemy-alert-body ol,.udemy-alert-body ul{margin:.4rem 0;padding-left:1.25rem}.udemy-alert-body strong{font-weight:600;color:var(--app-ink)}.udemy-alert-info{border-color:color-mix(in srgb,var(--app-accent) 30%,transparent);background:color-mix(in srgb,var(--app-accent) 7%,transparent)}.udemy-alert-info .udemy-alert-icon,.udemy-alert-info>svg,.udemy-alert-info .udemy-alert-title{color:var(--app-accent-ink)}.udemy-alert-success{border-color:color-mix(in srgb,var(--app-ok) 30%,transparent);background:color-mix(in srgb,var(--app-ok) 7%,transparent)}.udemy-alert-success .udemy-alert-icon,.udemy-alert-success>svg,.udemy-alert-success .udemy-alert-title{color:var(--app-ok)}.udemy-alert-warning{border-color:color-mix(in srgb,var(--app-warn) 35%,transparent);background:color-mix(in srgb,var(--app-warn) 8%,transparent)}.udemy-alert-warning .udemy-alert-icon,.udemy-alert-warning>svg,.udemy-alert-warning .udemy-alert-title{color:var(--app-warn)}.udemy-alert-danger{border-color:color-mix(in srgb,var(--app-danger) 30%,transparent);background:color-mix(in srgb,var(--app-danger) 7%,transparent)}.udemy-alert-danger .udemy-alert-icon,.udemy-alert-danger>svg,.udemy-alert-danger .udemy-alert-title{color:var(--app-danger)}.udemy-highlight-box{background:var(--app-surface-2);border:1px solid var(--app-line);border-radius:10px;padding:14px 18px;margin:16px 0;font-size:14px;line-height:1.65;color:var(--app-ink-2)}.udemy-highlight-box strong{font-weight:600;color:var(--app-ink)}.udemy-console-path{display:flex;gap:10px;align-items:flex-start;background:var(--app-surface-2);border:1px solid var(--app-line);padding:10px 14px;margin:14px 0;border-radius:10px;font-family:var(--app-mono);font-size:13px;color:var(--app-ink-2);line-height:1.6}.udemy-console-path strong{font-family:var(--app-sans);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3);margin-right:8px}.udemy-step-table{margin:16px 0;border:1px solid var(--app-line);border-radius:10px;overflow:hidden;font-size:14px;background:var(--app-surface)}.udemy-step-header,.udemy-step-row{display:grid;grid-template-columns:72px 1fr}.udemy-step-header{background:var(--app-surface-2);border-bottom:1px solid var(--app-line)}.udemy-step-header-cell{padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3)}.udemy-step-row{border-bottom:1px solid var(--app-line)}.udemy-step-row:last-child{border-bottom:0}.udemy-step-number{padding:12px 14px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--app-line);font-family:var(--app-mono);font-size:13px;color:var(--app-ink-3)}.udemy-step-action{padding:12px 14px;color:var(--app-ink-2);line-height:1.6;display:flex;align-items:center}.region-check{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;margin:16px 0;border-radius:10px;border:1px solid color-mix(in srgb,var(--app-accent) 30%,transparent);background:color-mix(in srgb,var(--app-accent) 7%,transparent);font-size:14px;line-height:1.6;color:var(--app-ink-2)}.region-check-icon,.region-check>svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--app-accent-ink)}.region-check-icon svg{width:16px;height:16px}.region-check-label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-accent-ink);margin-bottom:4px}.region-check-text strong{font-weight:600;color:var(--app-ink)}.udemy-alert code,.udemy-highlight-box code,.udemy-console-path code,.udemy-step-action code,.region-check code{font-family:var(--app-mono);font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink)}.aws-console-link{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--app-line-2);background:var(--app-surface);color:var(--app-ink);font-weight:500;font-size:13.5px;text-decoration:none}.aws-console-link:hover{border-color:var(--app-ink-4);background:var(--app-surface-2);color:var(--app-ink)}.aws-console-link svg{width:14px;height:14px;color:var(--app-ink-3)}.aws-console-hint{display:block;margin-top:6px;font-size:12px;color:var(--app-ink-3)}@keyframes lab-spin{to{transform:rotate(360deg)}}@keyframes lab-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes lab-blink{to{visibility:hidden}}@keyframes lab-fade{0%{opacity:0}}@keyframes lab-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes lab-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes lab-draw{to{stroke-dashoffset:0}}@keyframes lab-sweep{0%{width:8%}60%{width:72%}to{width:8%}}@media(prefers-reduced-motion:reduce){.lab-rail,.lab-pane,.lab-verify-msg,.lab-modal,.lab-tick,.lab-overlay{animation:none;transition:none}.lab-tick path{stroke-dashoffset:0;animation:none}.lab-timer.is-danger,.lab-status.is-wait i,.lab-loading .lab-prog .app-bar>i{animation:none}}}@layer app-families{.pr-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--app-ink-2)}.pr-hint{font-size:12px;color:var(--app-ink-3)}.pr-input{width:100%;min-height:40px;padding:9px 12px;border-radius:10px;border:1px solid var(--app-line-2);background:var(--app-surface);color:var(--app-ink);font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.pr-input::-moz-placeholder{color:var(--app-ink-4)}.pr-input::placeholder{color:var(--app-ink-4)}.pr-input:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}textarea.pr-input{resize:vertical}.pr-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface);text-align:left;color:var(--app-ink);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;white-space:normal}.pr-choice:hover{border-color:var(--app-line-2)}.pr-choice.is-on{border-color:var(--app-accent);background:var(--app-accent-soft);box-shadow:inset 0 0 0 1px var(--app-accent)}.pr-choice .t{font-size:14px;font-weight:600;line-height:1.3;color:var(--app-ink)}.pr-choice .d{font-size:12.5px;line-height:1.45;color:var(--app-ink-3)}.pr-choice .ic{display:grid;place-items:center;width:32px;height:32px;margin-bottom:6px;border-radius:8px;border:1px solid var(--app-line);background:var(--app-surface-2);color:var(--app-ink-2)}.pr-choice.is-on .ic{border-color:transparent;background:var(--app-accent);color:#fff}.pr-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface);font-size:12.5px;font-weight:500;color:var(--app-ink-2);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.pr-pill:hover{border-color:var(--app-line-2);color:var(--app-ink)}.pr-pill.is-on{border-color:transparent;background:var(--app-accent-soft);color:var(--app-accent-ink)}.pr-steps{display:flex;flex-direction:column;gap:2px}.pr-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13.5px;color:var(--app-ink-2);transition:background-color .12s,color .12s}.pr-step:hover{background:var(--app-surface-2);color:var(--app-ink)}.pr-step .n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--app-line-2);font-family:var(--app-mono);font-size:11px;color:var(--app-ink-3);flex:none}.pr-step.is-done .n{border-color:transparent;background:var(--app-ok-soft);color:var(--app-ok)}.pr-step.is-done .n:before{content:"✓"}.pr-step.is-done .n span{display:none}.pr-step.is-current{color:var(--app-ink);font-weight:500}.pr-step.is-current .n{border-color:var(--app-accent);color:var(--app-accent-ink)}.pr-stage{background:var(--app-bg);color:var(--app-ink)}.pr-stage-bar{height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--app-line);background:color-mix(in srgb,var(--app-bg) 85%,transparent)}@supports (backdrop-filter:blur(1px)){.pr-stage-bar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.pr-seg{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface-2)}.pr-seg button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;color:var(--app-ink-3);border:0;background:transparent;cursor:pointer;transition:background-color .15s,color .15s}.pr-seg button[aria-pressed=true]{background:var(--app-surface);color:var(--app-ink);box-shadow:0 1px 2px #0000001f}html.dark .pr-seg button[aria-pressed=true]{background:var(--app-raised)}.pr-bubble{max-width:min(80%,640px);padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.55;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink)}.pr-bubble.is-user{border-color:transparent;background:var(--app-accent-soft);color:var(--app-ink);border-bottom-right-radius:4px}.pr-bubble.is-ai{border-bottom-left-radius:4px}.pr-bubble .who{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-ink-3)}.pr-bubble.is-user .who{justify-content:flex-end;color:var(--app-accent-ink)}.pr-bubble mark{background:var(--app-warn-soft);color:inherit;border-radius:3px;padding:0 2px}.pr-rec-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--app-danger)}.pr-rec-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--app-danger);opacity:.6;animation:pr-pulse 1.6s ease-out infinite}@keyframes pr-pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){.pr-rec-dot:after{animation:none;opacity:.4}}.pr-timer{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;letter-spacing:-.01em}.pr-panel{border-left:1px solid var(--app-line);background:var(--app-surface-2)}html.dark .pr-panel{background:#070707}.pr-panel-h{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 18px;border-bottom:1px solid var(--app-line);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3)}.pr-composer{border-top:1px solid var(--app-line);background:var(--app-surface)}html.dark .pr-composer{background:#0a0a0a}.pr-tier-strong{color:var(--app-ok)}.pr-tier-solid{color:var(--app-warn)}.pr-tier-needsWork{color:var(--app-danger)}.pr-bar{height:6px;border-radius:3px;background:var(--app-line);overflow:hidden}.pr-bar>i{display:block;height:100%;border-radius:3px;background:var(--app-accent)}.pr-bar.pr-tier-strong>i{background:var(--app-ok)}.pr-bar.pr-tier-solid>i{background:var(--app-warn)}.pr-bar.pr-tier-needsWork>i{background:var(--app-danger)}.pr-tabs{display:inline-flex;gap:2px;padding:3px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface-2)}.pr-tabs button{height:30px;padding:0 14px;border-radius:7px;font-size:13px;font-weight:500;color:var(--app-ink-2);border:0;background:transparent;cursor:pointer}.pr-tabs button[aria-selected=true]{background:var(--app-surface);color:var(--app-ink);box-shadow:0 1px 2px #0000001a}html.dark .pr-tabs button[aria-selected=true]{background:var(--app-raised)}.pr-list{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;color:var(--app-ink-2)}.pr-list li{display:flex;gap:10px}.pr-list li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--app-ink-4)}.pr-list.is-ok li:before{background:var(--app-ok)}.pr-list.is-warn li:before{background:var(--app-warn)}.pr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:14px 18px;border-top:1px solid var(--app-line);transition:background-color .12s}.pr-row:first-child{border-top:0}.pr-row:hover{background:var(--app-surface-2)}html.dark .pr-row:hover{background:#ffffff08}.pr-row .t{font-size:14px;font-weight:500;color:var(--app-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-row .m{margin-top:3px;font-size:12.5px;color:var(--app-ink-3)}.pr-score{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:26px;padding:0 8px;border-radius:999px;font-family:var(--app-mono);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.pr-score.pr-tier-strong{background:var(--app-ok-soft)}.pr-score.pr-tier-solid{background:var(--app-warn-soft)}.pr-score.pr-tier-needsWork{background:var(--app-danger-soft)}.pr-score.is-none{background:var(--app-surface-2);color:var(--app-ink-3)}@media(max-width:640px){.pr-bubble{max-width:92%}}}@layer app-families{.tutor-md{font-size:14px;line-height:1.6;color:var(--app-ink)}.tutor-md h3{font-size:14px;font-weight:600;margin:12px 0 4px}.tutor-md h4{font-size:13px;font-weight:600;margin:10px 0 4px}.tutor-md li{margin-left:16px;list-style:disc}.tutor-md li.is-ol{list-style:decimal}.tutor-md strong{color:var(--app-ink);font-weight:600}.tutor-inline{font-family:var(--app-mono);font-size:.86em;padding:1px 5px;border-radius:4px;background:var(--app-surface-2);border:1px solid var(--app-line);color:var(--app-accent-ink)}.tutor-code{margin:8px 0;border:1px solid var(--app-line);border-radius:10px;overflow:hidden;background:var(--app-surface-2)}html.dark .tutor-code{background:#0a0a0a}.tutor-code-h{display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 10px;border-bottom:1px solid var(--app-line);font-family:var(--app-mono);font-size:11px;color:var(--app-ink-3)}.tutor-code-h button{font-family:var(--app-sans);font-size:11px;font-weight:500;color:var(--app-ink-2);background:transparent;border:1px solid var(--app-line-2);border-radius:6px;padding:2px 8px;cursor:pointer}.tutor-code-h button:hover{color:var(--app-ink);border-color:var(--app-ink-4)}.tutor-code pre{margin:0;padding:10px 12px;overflow-x:auto;font-family:var(--app-mono);font-size:12.5px;line-height:1.55;white-space:pre;color:var(--app-ink)}.tutor-bubble{max-width:85%;min-width:0;overflow:hidden;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55}.tutor-bubble.is-user{margin-left:auto;border-bottom-right-radius:4px;background:var(--app-accent-soft);color:var(--app-ink);white-space:pre-wrap}.tutor-bubble.is-ai{border-bottom-left-radius:4px;background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink)}.tutor-composer{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid var(--app-line-2);border-radius:12px;background:var(--app-surface);transition:border-color .15s,box-shadow .15s}.tutor-composer:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.tutor-composer textarea{flex:1;min-width:0;resize:none;background:transparent;border:0;outline:0;padding:6px;font-size:14px;line-height:1.5;color:var(--app-ink)}.tutor-composer textarea::-moz-placeholder{color:var(--app-ink-4)}.tutor-composer textarea::placeholder{color:var(--app-ink-4)}.tutor-send{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--app-accent);color:#fff;border:0;cursor:pointer;flex:none}.tutor-send:hover{background:var(--app-accent-ink)}.tutor-send:disabled{opacity:.4;cursor:not-allowed}.tutor-quick{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface);font-size:12px;font-weight:500;color:var(--app-ink-2);cursor:pointer;transition:border-color .15s,color .15s}.tutor-quick:hover{border-color:var(--app-line-2);color:var(--app-ink)}.tutor-quick:disabled{opacity:.4;cursor:not-allowed}.tutor-suggest{display:block;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--app-line);background:var(--app-surface);text-align:left;font-size:13px;color:var(--app-ink-2);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.tutor-suggest:hover{border-color:var(--app-accent);color:var(--app-ink);background:var(--app-accent-soft)}.tutor-dots{display:inline-flex;gap:4px}.tutor-dots i{width:6px;height:6px;border-radius:50%;background:var(--app-ink-4);animation:tutor-b 1s infinite}.tutor-dots i:nth-child(2){animation-delay:.15s}.tutor-dots i:nth-child(3){animation-delay:.3s}@keyframes tutor-b{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-3px);opacity:1}}.tutor-field{width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--app-line-2);background:var(--app-surface);font-size:12.5px;color:var(--app-ink)}.tutor-field::-moz-placeholder{color:var(--app-ink-4)}.tutor-field::placeholder{color:var(--app-ink-4)}.tutor-field:focus{outline:none;border-color:var(--app-accent)}}@layer app-families{.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.auth-side{display:none;position:relative;isolation:isolate;overflow:hidden;background:#000;color:#fff;border-right:1px solid rgb(255 255 255 / 8%);padding:36px 48px 32px;flex-direction:column;justify-content:space-between;gap:40px}.auth-side:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 45% at 30% 0%,rgb(0 112 243 / 22%),transparent 70%);pointer-events:none}@media(min-width:1024px){.auth-side{display:flex}}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.01em;color:inherit;text-decoration:none}.auth-brand img{height:28px;width:auto;border-radius:6px}.auth-side-body{display:grid;gap:28px;max-width:520px}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a1a1a1}.auth-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#3fb950;box-shadow:0 0 0 3px #3fb9502e}.auth-tag{margin:0;font-size:clamp(30px,2.8vw,40px);font-weight:500;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.auth-tag em{font-style:normal;color:#8a8a8a}.auth-proof{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:#8a8a8a}.auth-proof b{font-family:var(--app-mono);font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.auth-proof-rows{display:grid;gap:10px}.auth-proof-row{display:flex;align-items:center;gap:12px;font-size:14px;color:#a1a1a1}.auth-proof-row i{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#3fb95029;color:#3fb950}.auth-proof-row b{font-weight:500;color:#fff}.auth-powered{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#8a8a8a}.auth-powered b{color:#fff;font-weight:500;display:inline-flex;align-items:center;gap:6px}.auth-lab{border:1px solid rgb(255 255 255 / 10%);border-radius:14px;background:#0a0a0a;box-shadow:0 0 0 1px #ffffff08,0 30px 80px #0009;overflow:hidden;font-size:12px}.auth-lab .al-top{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgb(255 255 255 / 8%);color:#8a8a8a}.auth-lab .al-top .t{color:#fff;font-weight:500}.auth-lab .al-top .app-bar{width:90px;margin-left:auto;background:#ffffff1a}.auth-lab .al-body{display:grid;grid-template-columns:150px minmax(0,1fr)}.auth-lab .al-steps{border-right:1px solid rgb(255 255 255 / 8%);padding:10px 8px;display:grid;align-content:start;gap:2px}.auth-lab .al-step{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;color:#8a8a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-lab .al-step .n{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-family:var(--app-mono);font-size:10px;border:1px solid rgb(255 255 255 / 18%)}.auth-lab .al-step.done{color:#a1a1a1}.auth-lab .al-step.done .n{background:#3fb95029;border-color:transparent;color:#3fb950}.auth-lab .al-step.active{background:#0070f324;color:#fff}.auth-lab .al-step.active .n{background:#0070f3;border-color:transparent;color:#fff}.auth-lab .al-main{padding:12px 14px;display:grid;gap:10px;min-width:0}.auth-lab .al-task{color:#a1a1a1;line-height:1.5}.auth-lab .al-task b{color:#fff;font-weight:500}.auth-lab .al-term{font-family:var(--app-mono);background:#000;border:1px solid rgb(255 255 255 / 8%);border-radius:8px;padding:10px 12px;display:grid;gap:4px;color:#e5e5e5;overflow:hidden}.auth-lab .al-term .ps{color:#3fb950}.auth-lab .al-term>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-lab .al-term .out{color:#8a8a8a}.auth-lab .al-term .cur{display:inline-block;width:7px;height:12px;vertical-align:-2px;background:#e5e5e5;animation:auth-blink 1s steps(2) infinite}.auth-lab .al-checks{display:grid;gap:6px}.auth-lab .al-check{display:flex;align-items:center;gap:8px;color:#a1a1a1}.auth-lab .al-check i{flex:none;width:14px;height:14px;border-radius:50%;background:#3fb95029;color:#3fb950;display:grid;place-items:center}.auth-lab .al-check i:before{content:"";width:6px;height:3px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(-45deg)}.auth-lab .al-verified{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px 8px;border-radius:999px;background:#3fb95024;color:#3fb950;font-weight:500;width:-moz-max-content;width:max-content}@keyframes auth-blink{to{opacity:0}}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--app-bg);color:var(--app-ink)}.auth-card{width:100%;max-width:400px;display:grid;gap:22px}.auth-card .auth-brand{color:var(--app-ink)}.auth-head{display:grid;gap:6px}.auth-h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--app-ink)}.auth-sub{margin:0;font-size:14px;color:var(--app-ink-2)}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:6px}.auth-label{font-size:13px;font-weight:500;color:var(--app-ink-2)}.auth-hint{font-size:12px;color:var(--app-ink-3)}.auth-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--app-line-2);background:var(--app-surface);color:var(--app-ink);font:inherit;font-size:15px;line-height:1;transition:border-color .15s,box-shadow .15s}.auth-input::-moz-placeholder{color:var(--app-ink-4)}.auth-input::placeholder{color:var(--app-ink-4)}.auth-input:hover{border-color:var(--app-ink-4)}.auth-input:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.auth-input:disabled{opacity:.6}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:44px}.auth-eye{position:absolute;top:0;right:0;width:44px;height:44px;display:grid;place-items:center;color:var(--app-ink-3);background:none;border:0;cursor:pointer;border-radius:10px}.auth-eye:hover{color:var(--app-ink)}.auth-eye svg{width:18px;height:18px}.auth-group{display:flex}.auth-group .auth-prefix{display:inline-flex;align-items:center;height:44px;padding:0 12px;border:1px solid var(--app-line-2);border-right:0;border-radius:10px 0 0 10px;background:var(--app-surface-2);color:var(--app-ink-3);font-family:var(--app-mono);font-size:13px}.auth-group .auth-input{border-radius:0 10px 10px 0}.auth-otp{font-family:var(--app-mono);font-size:22px;letter-spacing:.45em;text-align:center;height:52px;padding-left:.45em}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.auth-link{color:var(--app-accent-ink);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-muted{font-size:13px;color:var(--app-ink-3);text-align:center;margin:0}.auth-muted-btn{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--app-ink-3);cursor:pointer}.auth-muted-btn:hover{color:var(--app-ink)}.auth-muted-btn:disabled{cursor:default;color:var(--app-ink-4)}.auth-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--app-ink-2)}.auth-check input{margin-top:2px;width:16px;height:16px;accent-color:var(--app-accent);cursor:pointer;flex:none}.auth-btn{width:100%;height:44px}.auth-oauth{display:grid;gap:10px}.auth-oauth .app-btn{width:100%;height:44px}.auth-oauth svg{width:18px;height:18px;flex:none}.auth-div{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--app-ink-4)}.auth-div:before,.auth-div:after{content:"";flex:1;height:1px;background:var(--app-line)}.auth-alert{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45;border:1px solid transparent}.auth-alert p{margin:0;font-weight:500}.auth-alert svg{flex:none;width:16px;height:16px;margin-top:1px}.auth-alert.is-error{background:var(--app-danger-soft);color:var(--app-danger)}.auth-alert.is-ok{background:var(--app-ok-soft);color:var(--app-ok)}.auth-alert.hidden{display:none}.auth-foot{font-size:12px;color:var(--app-ink-4);text-align:center;margin:0}.auth-foot a{color:var(--app-ink-3);text-decoration:none}.auth-foot a:hover{color:var(--app-ink)}.auth-card button{font:inherit}}@layer app-families{:root{--ca-sidebar-w: 240px;--ca-header-h: 56px;--college-admin-canvas: var(--app-bg);--college-admin-panel: var(--app-surface);--college-admin-panel-soft: var(--app-surface-2);--college-admin-panel-tint: var(--app-accent-soft);--college-admin-border: var(--app-line);--college-admin-border-strong: var(--app-line-2);--college-admin-ink: var(--app-ink);--college-admin-muted: var(--app-ink-2);--college-admin-subtle: var(--app-ink-3);--college-admin-accent: var(--app-accent);--college-admin-accent-strong: var(--app-accent-ink);--college-admin-accent-soft: var(--app-accent-soft);--college-admin-accent-faint: rgb(0 112 243 / 6%);--college-admin-info: var(--app-accent);--college-admin-green: var(--app-ok);--college-admin-shadow: 0 1px 2px rgb(0 0 0 / 4%)}html[data-portal=admin] .admin-header-grid{grid-template-columns:var(--ca-sidebar-w) minmax(0,1fr) auto}html[data-portal=admin] .site-header-admin{border-bottom:1px solid var(--app-line)}html[data-portal=admin] body{background:var(--app-bg)}html[data-portal=admin] .app-container main{min-width:0;max-width:100%}html[data-portal=admin] .app-container main>div{min-width:0;max-width:100%}.college-admin-shell{display:flex;min-height:calc(100vh - var(--ca-header-h));background:var(--app-bg);color:var(--app-ink);font-family:var(--app-sans);font-size:14px}.college-admin-shell *,.college-admin-shell *:before,.college-admin-shell *:after{border-color:var(--app-line)}.college-admin-shell h1,.college-admin-shell h2,.college-admin-shell h3,.college-admin-shell h4{font-family:var(--app-sans);letter-spacing:-.01em}.college-admin-sidebar{display:none;position:fixed;top:var(--ca-header-h);left:0;bottom:0;z-index:10;width:var(--ca-sidebar-w);flex-direction:column;background:var(--app-surface);border-right:1px solid var(--app-line)}.college-admin-sidebar-head{display:flex;flex-direction:column;gap:2px;padding:14px 16px 12px;border-bottom:1px solid var(--app-line)}.college-admin-brand{font-size:13.5px;font-weight:600;line-height:1.3;color:var(--app-ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.college-admin-role{font-size:11px;font-weight:500;color:var(--app-ink-3);text-transform:capitalize}.college-admin-nav{flex:1;overflow-y:auto;padding:8px 10px 16px;scrollbar-width:thin}.ca-nav-group{padding-top:10px}.ca-nav-group:first-child{padding-top:2px}.ca-nav-label{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--app-ink-4)}.college-admin-nav-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;margin-bottom:1px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--app-ink-2);transition:background-color .12s,color .12s}.college-admin-nav-item:hover{background:var(--app-surface-2);color:var(--app-ink)}.college-admin-nav-item.is-active{background:var(--app-accent-soft);color:var(--app-accent-ink);font-weight:600}.college-admin-nav-icon{width:16px;height:16px;flex:0 0 auto;color:var(--app-ink-3)}.college-admin-nav-item:hover .college-admin-nav-icon{color:var(--app-ink-2)}.college-admin-nav-item.is-active .college-admin-nav-icon{color:var(--app-accent-ink)}.college-admin-main{flex:1 1 auto;min-width:0;max-width:100%}.college-admin-page-frame{padding:24px 28px 64px;max-width:1600px}.college-admin-content{min-width:0}.college-admin-content [class*=grid-cols]>*,.college-admin-content .grid>*,.college-admin-content .flex>div{min-width:0}.ca-mobile-nav{position:sticky;top:var(--ca-header-h);z-index:20;border-bottom:1px solid var(--app-line);background:color-mix(in srgb,var(--app-bg) 88%,transparent)}@supports (backdrop-filter: blur(1px)){.ca-mobile-nav{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.ca-mobile-nav-scroll{display:flex;gap:4px;overflow-x:auto;padding:8px 12px;scrollbar-width:none;-ms-overflow-style:none}.ca-mobile-nav-scroll::-webkit-scrollbar{display:none}.ca-mobile-nav-link{flex:none;display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface);font-size:12.5px;font-weight:500;color:var(--app-ink-2);white-space:nowrap}.ca-mobile-nav-link.is-active{border-color:transparent;background:var(--app-accent-soft);color:var(--app-accent-ink);font-weight:600}@media(min-width:1024px){.college-admin-sidebar{display:flex}.college-admin-main{margin-left:var(--ca-sidebar-w)}.ca-mobile-nav{display:none}}@media(max-width:1023px){.college-admin-page-frame{padding:16px 16px 56px}}.ca-head{margin-bottom:22px}.ca-head .app-lead{margin-top:6px;font-size:14px}.ca-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.college-admin-page-status{text-transform:capitalize}.college-admin-content .dashboard-hero h1,.college-admin-content .dashboard-hero h2{font-size:clamp(22px,2.4vw,28px);font-weight:600;letter-spacing:-.02em}.college-admin-content .dashboard-hero-kicker{letter-spacing:.06em;text-transform:uppercase}.college-admin-content .dashboard-hero-kicker span{background:var(--app-ok);box-shadow:0 0 0 3px var(--app-ok-soft)}.college-admin-content .ca-table-wrap,.college-admin-content div:has(>table){overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.college-admin-content .ca-table-wrap{border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface)}.college-admin-content table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.college-admin-content th{position:sticky;top:var(--ca-header-h);z-index:2;background:var(--app-surface-2);border-bottom:1px solid var(--app-line);letter-spacing:.05em;line-height:1.25;text-transform:uppercase;white-space:nowrap}.college-admin-content .ca-table-wrap th,.college-admin-content div:has(>table) th{position:static}@media(min-width:1440px){.college-admin-content .ca-table-wrap{overflow:visible}.college-admin-content .ca-table-wrap th{position:sticky}.college-admin-content .ca-table-wrap thead th:first-child{border-top-left-radius:var(--app-radius)}.college-admin-content .ca-table-wrap thead th:last-child{border-top-right-radius:var(--app-radius)}}.college-admin-content td{border-bottom:1px solid var(--app-line);color:var(--app-ink);vertical-align:middle}.college-admin-content tbody tr:last-child td{border-bottom:0}.college-admin-content tbody tr:hover{background:var(--app-surface-2)}.college-admin-content td .font-mono,.college-admin-content td.font-mono,.college-admin-content td[data-mono],.college-admin-content .mono{font-family:var(--app-mono);font-variant-numeric:tabular-nums}.college-admin-content td a:hover,.college-admin-content td a[class*=text-indigo]:hover{text-decoration:underline;text-underline-offset:3px}.college-admin-content td.font-mono,.college-admin-content td .font-mono{white-space:nowrap}.college-admin-content .ca-table-wrap tbody tr:last-child td:first-child{border-bottom-left-radius:var(--app-radius)}.college-admin-content .ca-table-wrap tbody tr:last-child td:last-child{border-bottom-right-radius:var(--app-radius)}.college-admin-content .ca-table-wrap table{font-size:13.5px}@media(max-width:768px){.college-admin-content .ca-table.is-stack thead{display:none}.college-admin-content .ca-table.is-stack,.college-admin-content .ca-table.is-stack tbody,.college-admin-content .ca-table.is-stack tr,.college-admin-content .ca-table.is-stack td{display:block;width:100%}.college-admin-content .ca-table.is-stack tr{padding:10px 14px;border-bottom:1px solid var(--app-line)}.college-admin-content .ca-table.is-stack tr:last-child{border-bottom:0}.college-admin-content .ca-table.is-stack td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;border:0;font-size:13px}.college-admin-content .ca-table.is-stack td[data-label]:before{content:attr(data-label);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-ink-3)}.college-admin-content .ca-table.is-stack td:not([data-label]){grid-template-columns:1fr}.college-admin-content .ca-table.is-stack td>span,.college-admin-content .ca-table.is-stack td>a,.college-admin-content .ca-table.is-stack td>button{justify-self:start}.college-admin-content .ca-table.is-stack td.font-mono,.college-admin-content .ca-table.is-stack td .font-mono{white-space:normal}.college-admin-content .ca-table.is-stack td.text-right{text-align:left}.college-admin-content .ca-table.is-stack td[colspan]{display:block;text-align:center}.college-admin-content .ca-table-wrap:has(.ca-table.is-stack){overflow-x:hidden}}.college-admin-content .ca-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:13px}.college-admin-content .ca-pagination a,.college-admin-content .ca-pagination span.is-page{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--app-line-2);background:var(--app-surface);color:var(--app-ink-2);font-family:var(--app-mono);font-variant-numeric:tabular-nums}.college-admin-content .ca-pagination a:hover{border-color:var(--app-ink-4);color:var(--app-ink)}.college-admin-content .ca-pagination a.is-current,.college-admin-content .ca-pagination .is-current{background:var(--app-accent);border-color:var(--app-accent);color:#fff}.college-admin-content .ca-pagination .is-nav{font-family:var(--app-sans)}.college-admin-content .ca-pagination .is-ellipsis{color:var(--app-ink-3);padding:0 4px}.college-admin-content .ca-pagination .is-meta{width:100%;text-align:center;color:var(--app-ink-3);font-size:12px;margin-top:4px}.college-admin-content div[class*=bg-white][class*=border][class*=rounded],.college-admin-content section[class*=bg-white][class*=border][class*=rounded],.college-admin-content form[class*=bg-white][class*=border][class*=rounded],.college-admin-content a[class*=bg-white][class*=border][class*=rounded]{box-shadow:var(--college-admin-shadow)}.college-admin-content .admin-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;padding:12px 14px;background:var(--app-surface);border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:var(--college-admin-shadow)}.college-admin-content .admin-toolbar>*{max-width:100%;min-width:0}.college-admin-content .admin-toolbar select:not(.w-full),.college-admin-content .admin-toolbar input:not(.w-full){width:auto;max-width:420px}@media(max-width:768px){.college-admin-content .admin-action,.college-admin-content .admin-subtle-action{height:auto;text-align:center}.college-admin-content .admin-toolbar>*{flex:1 1 100%}.college-admin-content .admin-toolbar select,.college-admin-content .admin-toolbar input,.college-admin-content .admin-toolbar select:not(.w-full),.college-admin-content .admin-toolbar input:not(.w-full){width:100%;max-width:100%}.college-admin-content .admin-toolbar .flex{flex-wrap:wrap}}.college-admin-content .admin-metric{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:6px 12px;border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface-2);color:var(--app-ink)}.college-admin-content .admin-metric>svg{color:var(--app-accent-ink)}.college-admin-content .admin-metric>span{color:var(--app-ink-2);font-size:13px;font-weight:600;line-height:1.2}.college-admin-content .admin-metric>strong{color:var(--app-ink);font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1;white-space:nowrap}.college-admin-content .admin-metric>small{color:var(--app-ink-3);font-size:12px;font-weight:500;line-height:1.1}.college-admin-content .admin-metric svg,.college-admin-content .admin-action svg{flex:0 0 auto}.college-admin-content .admin-metric-label{color:var(--app-ink-3);font-size:11px;font-weight:600;letter-spacing:.05em;line-height:1.1;text-transform:uppercase}.college-admin-content .admin-metric-value{color:var(--app-ink);font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1.1}.college-admin-content .admin-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 14px;font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.college-admin-content .admin-subtle-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;white-space:nowrap}.college-admin-content td .admin-subtle-action{min-height:28px;padding:0 9px;font-size:12px}.college-admin-content .admin-section-title{display:flex;align-items:center;gap:8px;color:var(--app-ink);font-size:15px;font-weight:600;letter-spacing:-.01em}.college-admin-content .admin-section-title svg{color:var(--app-accent-ink)}.college-admin-content .admin-empty{display:grid;place-items:center;text-align:center;gap:10px;padding:48px 24px;border:1px dashed var(--app-line-2);border-radius:var(--app-radius);color:var(--app-ink-3)}.college-admin-content .admin-empty svg{color:var(--app-ink-4)}.college-admin-content .bg-indigo-600,.college-admin-content .bg-blue-600,.college-admin-content .bg-purple-600,.college-admin-content button[class*=bg-indigo-600],.college-admin-content a[class*=bg-indigo-600],.college-admin-content button[class*=bg-blue-600],.college-admin-content a[class*=bg-blue-600],.college-admin-content button[class*=bg-purple-600],.college-admin-content a[class*=bg-purple-600]{box-shadow:none}.college-admin-content .rounded-full[class*=bg-gray-100],.college-admin-content .rounded-full[class*=bg-gray-200],.college-admin-content .rounded-full[class*=bg-slate-100]{border:1px solid var(--app-line)}.college-admin-content .rounded-full.text-xs,.college-admin-content span.rounded.text-xs{font-weight:500}.college-admin-content button[class*=bg-gray-200],.college-admin-content button[class*=bg-gray-100]{border:1px solid var(--app-line-2)}.college-admin-content input:not([type=checkbox]):not([type=radio]),.college-admin-content select,.college-admin-content textarea{font-family:var(--app-sans);font-size:13.5px;min-height:36px}.college-admin-content textarea{min-height:0}.college-admin-content textarea.font-mono{font-family:var(--app-mono)}.college-admin-content input[type=checkbox]{accent-color:var(--app-accent)}.college-admin-content label{color:var(--app-ink-2)}.college-admin-content a[class*=bg-indigo-600][class*=rounded][href*="page="]{font-family:var(--app-mono)}.college-admin-content [data-tooltip]:hover:before,.college-admin-content [data-tooltip]:focus:before{font-family:var(--app-sans);background:var(--app-ink);color:var(--app-bg)}.college-admin-content [data-tooltip]:hover:after,.college-admin-content [data-tooltip]:focus:after{border-top-color:var(--app-ink)}.college-admin-nav::-webkit-scrollbar{width:6px}.college-admin-nav::-webkit-scrollbar-thumb{background:var(--app-line-2);border-radius:999px}}.college-admin-nav-item,.ca-mobile-nav-link{text-decoration:none}.college-admin-content .dashboard-hero{background:var(--app-surface);background-image:none;border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:none}.college-admin-content .dashboard-hero h1,.college-admin-content .dashboard-hero h2{color:var(--app-ink)}.college-admin-content .dashboard-hero p{color:var(--app-ink-2)}.college-admin-content .dashboard-hero-kicker{background:transparent;box-shadow:none;padding:0;color:var(--app-ink-3);font-size:12px;font-weight:600}.college-admin-content thead,.college-admin-content thead[class*=bg-gray],.college-admin-content thead[class*="dark:bg"]{background:var(--app-surface-2)}.college-admin-content th{color:var(--app-ink-3);font-size:11.5px;font-weight:600}.college-admin-content td a,.college-admin-content td a[class*=text-indigo],.college-admin-content td a[class*=text-blue]{color:var(--app-ink)}.college-admin-content td a:hover,.college-admin-content td a[class*=text-indigo]:hover{color:var(--app-accent-ink)}@media(max-width:768px){.college-admin-content .ca-table.is-stack td{padding:4px 0}}.college-admin-content .ca-pagination a,.college-admin-content .ca-pagination span.is-page{text-decoration:none}.college-admin-content div[class*=bg-white][class*=border][class*=rounded],.college-admin-content section[class*=bg-white][class*=border][class*=rounded],.college-admin-content form[class*=bg-white][class*=border][class*=rounded],.college-admin-content a[class*=bg-white][class*=border][class*=rounded]{border-color:var(--app-line);border-radius:var(--app-radius);background:var(--app-surface)}@media(max-width:768px){.college-admin-content .admin-action,.college-admin-content .admin-subtle-action{white-space:normal}.college-admin-content .admin-toolbar select,.college-admin-content .admin-toolbar input,.college-admin-content .admin-toolbar select:not(.w-full),.college-admin-content .admin-toolbar input:not(.w-full){min-width:0}}.college-admin-content .admin-action{border:1px solid var(--app-accent);border-radius:10px;background:var(--app-accent);color:#fff;text-decoration:none}.college-admin-content .admin-action:hover{background:var(--app-accent-ink);border-color:var(--app-accent-ink)}.college-admin-content .admin-subtle-action{background:var(--app-surface);border:1px solid var(--app-line-2);border-radius:10px;color:var(--app-ink-2);text-decoration:none}.college-admin-content .admin-subtle-action:hover{background:var(--app-surface-2);border-color:var(--app-ink-4);color:var(--app-ink)}.college-admin-content .admin-subtle-action.text-red-600,.college-admin-content .admin-subtle-action[class*=text-red]{color:var(--app-danger)}.college-admin-content td .admin-subtle-action{border-radius:7px}.college-admin-content div[class*=bg-gray-50],.college-admin-content section[class*=bg-gray-50],.college-admin-content td[class*=bg-gray-50],.college-admin-content tr[class*=bg-gray-50]{background:var(--app-surface-2)}.college-admin-content .bg-gray-100,.college-admin-content .bg-gray-200,.college-admin-content .bg-slate-100,.college-admin-content .bg-slate-50{background:var(--app-surface-2)}.college-admin-content .text-gray-900,.college-admin-content .text-slate-950,.college-admin-content .text-slate-900{color:var(--app-ink)}.college-admin-content .text-gray-500,.college-admin-content .text-gray-600,.college-admin-content .text-gray-700,.college-admin-content .text-slate-500,.college-admin-content .text-slate-600,.college-admin-content .text-slate-700{color:var(--app-ink-2)}.college-admin-content .text-gray-400,.college-admin-content .text-slate-400{color:var(--app-ink-3)}.college-admin-content .text-gray-300,.college-admin-content .text-slate-300{color:var(--app-ink-4)}.college-admin-content .border-slate-200,.college-admin-content .border-slate-300,.college-admin-content .border-gray-200,.college-admin-content .border-gray-300{border-color:var(--app-line)}.college-admin-content .shadow-sm,.college-admin-content .shadow-md,.college-admin-content .shadow-lg{box-shadow:var(--college-admin-shadow)}.college-admin-content .bg-indigo-600,.college-admin-content .bg-blue-600,.college-admin-content .bg-purple-600,.college-admin-content button[class*=bg-indigo-600],.college-admin-content a[class*=bg-indigo-600],.college-admin-content button[class*=bg-blue-600],.college-admin-content a[class*=bg-blue-600],.college-admin-content button[class*=bg-purple-600],.college-admin-content a[class*=bg-purple-600]{background:var(--app-accent);color:#fff;border-color:var(--app-accent)}.college-admin-content .hover\:bg-indigo-700:hover,.college-admin-content .hover\:bg-blue-700:hover,.college-admin-content .hover\:bg-purple-700:hover,.college-admin-content button[class*="hover:bg-indigo-700"]:hover,.college-admin-content a[class*="hover:bg-indigo-700"]:hover,.college-admin-content button[class*="hover:bg-blue-700"]:hover,.college-admin-content a[class*="hover:bg-blue-700"]:hover,.college-admin-content button[class*="hover:bg-purple-700"]:hover,.college-admin-content a[class*="hover:bg-purple-700"]:hover{background:var(--app-accent-ink)}.college-admin-content .text-indigo-600,.college-admin-content .text-indigo-700,.college-admin-content .text-indigo-800,.college-admin-content .text-indigo-900,.college-admin-content .text-blue-600,.college-admin-content .text-blue-700,.college-admin-content .text-blue-800,.college-admin-content .text-blue-900,.college-admin-content .text-purple-600,.college-admin-content .text-purple-700,.college-admin-content .text-purple-800,.college-admin-content .hover\:text-indigo-600:hover{color:var(--app-accent-ink)}.college-admin-content .bg-indigo-50,.college-admin-content .bg-indigo-100,.college-admin-content .bg-purple-50,.college-admin-content .bg-purple-100,.college-admin-content .bg-blue-50,.college-admin-content .bg-blue-100,.college-admin-content [class*="bg-indigo-50/"]{background:var(--app-accent-soft)}.college-admin-content .border-indigo-100,.college-admin-content .border-indigo-200,.college-admin-content .border-indigo-300,.college-admin-content .border-indigo-400,.college-admin-content .border-indigo-500,.college-admin-content .border-indigo-700{border-color:#0070f359}.college-admin-content .hover\:border-indigo-500:hover,.college-admin-content .hover\:border-blue-400:hover{border-color:var(--app-accent)}.college-admin-content .rounded-full[class*=bg-green-100],.college-admin-content .rounded[class*=bg-green-100],.college-admin-content [class*=bg-emerald-100]{background:var(--app-ok-soft);color:var(--app-ok)}.college-admin-content .rounded-full[class*=bg-amber-100],.college-admin-content .rounded[class*=bg-amber-100],.college-admin-content [class*=bg-yellow-100]{background:var(--app-warn-soft);color:var(--app-warn)}.college-admin-content .rounded-full[class*=bg-red-100],.college-admin-content .rounded[class*=bg-red-100],.college-admin-content [class*=bg-rose-100]{background:var(--app-danger-soft);color:var(--app-danger)}.college-admin-content .rounded-full[class*=bg-blue-100],.college-admin-content .rounded-full[class*=bg-indigo-100],.college-admin-content .rounded-full[class*=bg-purple-100],.college-admin-content .rounded[class*=bg-blue-100]{background:var(--app-accent-soft);color:var(--app-accent-ink)}.college-admin-content .rounded-full[class*=bg-gray-100],.college-admin-content .rounded-full[class*=bg-gray-200],.college-admin-content .rounded-full[class*=bg-slate-100]{background:var(--app-surface-2);color:var(--app-ink-2)}.college-admin-content .text-green-600,.college-admin-content .text-green-700,.college-admin-content .text-green-800,.college-admin-content .text-emerald-600,.college-admin-content .text-emerald-700{color:var(--app-ok)}.college-admin-content .text-amber-600,.college-admin-content .text-amber-700,.college-admin-content .text-amber-800,.college-admin-content .text-yellow-700{color:var(--app-warn)}.college-admin-content .text-red-600,.college-admin-content .text-red-700,.college-admin-content .text-rose-600{color:var(--app-danger)}.college-admin-content .bg-green-600,.college-admin-content .bg-emerald-500{background:var(--app-ok)}.college-admin-content .bg-amber-500{background:var(--app-warn)}.college-admin-content .bg-red-500,.college-admin-content .bg-red-600{background:var(--app-danger)}.college-admin-content .bg-indigo-600.rounded-full.h-2,.college-admin-content .bg-indigo-600.h-2,.college-admin-content .bg-indigo-500.h-2{background:var(--app-accent)}.college-admin-content button,.college-admin-content a[class*=inline-flex]{border-radius:8px}.college-admin-content button[class*=border],.college-admin-content a[class*=border]{border-color:var(--app-line-2)}.college-admin-content button[class*=bg-gray-200],.college-admin-content button[class*=bg-gray-100]{background:var(--app-surface-2);color:var(--app-ink-2)}.college-admin-content input:not([type=checkbox]):not([type=radio]),.college-admin-content select,.college-admin-content textarea{background:var(--app-surface);border:1px solid var(--app-line-2);color:var(--app-ink);border-radius:8px}.college-admin-content input:focus,.college-admin-content select:focus,.college-admin-content textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft);outline:none}.college-admin-content .bg-red-50{background:var(--app-danger-soft);border-color:#c6282840}.college-admin-content .bg-amber-50{background:var(--app-warn-soft);border-color:#b86e004d}.college-admin-content .bg-green-50{background:var(--app-ok-soft)}.college-admin-content [class*=transition-colors]{transition-property:border-color,color,box-shadow,opacity,transform}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --p{syntax: "<number>"; inherits: true; initial-value: 0;}@layer app-tokens{:root{--app-bg:#fafafa;--app-surface:#fff;--app-surface-2:#f4f4f4;--app-raised:#fff;--app-line:#e6e6e6;--app-line-2:#d4d4d4;--app-ink:#0a0a0a;--app-ink-2:#525252;--app-ink-3:#737373;--app-ink-4:#8a8a8a;--app-accent:#0070f3;--app-accent-ink:#0062d6;--app-accent-2:#3291ff;--app-accent-soft:rgb(0 112 243 / 10%);--app-ok:#1f8a3b;--app-ok-soft:rgb(63 185 80 / 14%);--app-warn:#b86e00;--app-warn-soft:rgb(245 166 35 / 16%);--app-danger:#c62828;--app-danger-soft:rgb(229 57 53 / 12%);--app-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--app-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--app-ease:cubic-bezier(.16,1,.3,1);--app-dur:.5s;--app-shadow:0 1px 2px rgb(0 0 0 / 4%),0 8px 24px rgb(0 0 0 / 6%);--app-shadow-lg:0 24px 60px rgb(0 0 0 / 12%);--app-radius:12px;--app-radius-lg:16px;color-scheme:light}html.dark{--app-bg:#000;--app-surface:#111;--app-surface-2:#0a0a0a;--app-raised:#1a1a1a;--app-line:rgb(255 255 255 / 8%);--app-line-2:rgb(255 255 255 / 14%);--app-ink:#fff;--app-ink-2:#a1a1a1;--app-ink-3:#8a8a8a;--app-ink-4:#808080;--app-accent:#0070f3;--app-accent-ink:#3291ff;--app-accent-2:#5ea6ff;--app-accent-soft:rgb(0 112 243 / 16%);--app-ok:#3fb950;--app-warn:#f5a623;--app-danger:#f0584e;--app-shadow:0 1px 0 rgb(255 255 255 / 4%) inset,0 8px 24px rgb(0 0 0 / 50%);--app-shadow-lg:0 0 0 1px rgb(255 255 255 / 6%),0 40px 120px rgb(0 0 0 / 60%);color-scheme:dark}}@layer app-base{html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--app-sans);background:var(--app-bg);color:var(--app-ink)}html.dark body{background:var(--app-bg);color:var(--app-ink)}.mono,.tabular{font-family:var(--app-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px;border-radius:6px}.app-skip{position:absolute;left:16px;top:-100px;z-index:100;height:36px;padding:0 14px;display:inline-flex;align-items:center;border-radius:10px;background:var(--app-ink);color:var(--app-bg);font-size:13.5px;font-weight:500;box-shadow:var(--app-shadow-lg);transition:top .15s}.app-skip:focus{top:12px;outline:2px solid var(--app-accent);outline-offset:2px}::-moz-selection{background:#0070f340}::selection{background:#0070f340}html.dark{scrollbar-color:#333 #000}}@layer app-components{.app-page{padding:32px 0 64px}.app-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:28px}.app-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-ink-3)}.app-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--app-ok);box-shadow:0 0 0 3px var(--app-ok-soft)}.app-h1{font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:var(--app-ink);text-wrap:balance}.app-lead{margin-top:8px;font-size:15px;line-height:1.55;color:var(--app-ink-2);max-width:60ch;text-wrap:pretty}.app-h2{font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--app-ink)}.app-h3{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--app-ink)}.app-sub{font-size:13px;color:var(--app-ink-3)}.app-card{background:var(--app-surface);border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:var(--app-shadow);transition:border-color .2s,transform .35s var(--app-ease),box-shadow .35s var(--app-ease)}a.app-card:hover,.app-card.is-link:hover{border-color:var(--app-line-2);transform:translateY(-2px);box-shadow:var(--app-shadow-lg)}.app-card-pad{padding:20px 22px}.app-divider{height:1px;background:var(--app-line)}.app-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--app-line);background:var(--app-surface-2);font-size:12px;font-weight:500;color:var(--app-ink-2);white-space:nowrap}.app-chip.is-on{border-color:transparent;background:var(--app-accent-soft);color:var(--app-accent-ink)}.app-chip.is-ok{border-color:transparent;background:var(--app-ok-soft);color:var(--app-ok)}.app-chip.is-warn{border-color:transparent;background:var(--app-warn-soft);color:var(--app-warn)}.app-chip.is-danger,.app-chip.is-bad{border-color:transparent;background:var(--app-danger-soft);color:var(--app-danger)}.app-chip.is-xs{height:20px;padding:0 7px;font-size:11px}.app-chip.is-dim{color:var(--app-ink-3)}.app-kbd{font-family:var(--app-mono);font-size:11px;line-height:1;padding:3px 5px;border:1px solid var(--app-line-2);border-bottom-width:2px;border-radius:5px;color:var(--app-ink-3);background:var(--app-surface)}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;border:1px solid transparent;transition:background-color .15s,color .15s,border-color .15s,transform .15s;cursor:pointer}.app-btn:active{transform:translateY(1px)}.app-btn-primary{background:var(--app-accent);color:#fff}.app-btn-primary:hover{background:var(--app-accent-ink)}html.dark .app-btn-primary{color:#fff}html.dark .app-btn-primary:hover{background:var(--app-accent-2)}.app-btn-ink{background:var(--app-ink);color:var(--app-bg)}.app-btn-ink:hover{opacity:.9}.app-btn-ghost{color:var(--app-ink-2);border-color:var(--app-line-2);background:transparent}.app-btn-ghost:hover{color:var(--app-ink);border-color:var(--app-ink-4)}.app-btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.app-btn-lg{height:48px;padding:0 22px;font-size:15px}.app-btn[disabled],.app-btn.is-disabled{opacity:.5;pointer-events:none}.app-bar{height:6px;border-radius:3px;background:var(--app-line);overflow:hidden}.app-bar>i{display:block;height:100%;width:var(--w,0%);border-radius:3px;background:var(--app-accent);transition:width .9s var(--app-ease)}.app-bar.is-ok>i{background:var(--app-ok)}.app-kpi{display:flex;flex-direction:column;gap:6px}.app-kpi .v{font-family:var(--app-mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--app-ink)}.app-kpi .l{font-size:12px;color:var(--app-ink-3)}.app-ring{--p:0;--size:72px;--w:6px;position:relative;width:var(--size);height:var(--size);border-radius:50%;background:conic-gradient(var(--app-accent) calc(var(--p)*1%),var(--app-line) 0);display:grid;place-items:center;transition:--p 1s}.app-ring:before{content:"";width:calc(var(--size) - var(--w)*2);height:calc(var(--size) - var(--w)*2);border-radius:50%;background:var(--app-surface)}.app-ring>span{position:absolute;font-family:var(--app-mono);font-size:13px;font-weight:600;color:var(--app-ink)}.app-empty{display:grid;place-items:center;text-align:center;gap:10px;padding:48px 24px;border:1px dashed var(--app-line-2);border-radius:var(--app-radius);color:var(--app-ink-3)}.app-empty .t{font-size:15px;font-weight:600;color:var(--app-ink)}.app-skel{position:relative;overflow:hidden;background:var(--app-line);border-radius:8px}.app-skel:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgb(255 255 255 / 25%),transparent);animation:app-shimmer 1.4s infinite}html.dark .app-skel:after{background:linear-gradient(90deg,transparent,rgb(255 255 255 / 6%),transparent)}@keyframes app-shimmer{to{transform:translate(100%)}}html.js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s var(--app-ease),transition-delay 0s,transform .7s var(--app-ease)}html.js .rv.in{opacity:1;transform:none}html.js .rv[data-delay="1"]{transition-delay:.06s}html.js .rv[data-delay="2"]{transition-delay:.12s}html.js .rv[data-delay="3"]{transition-delay:.18s}html.js .rv[data-delay="4"]{transition-delay:.24s}html.js .rv[data-delay="5"]{transition-delay:.3s}.app-stagger>*{transition-delay:calc(var(--i,0)*50ms)}@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}.app-bar>i,.app-card{transition:none}}.app-logo-chip{flex:none;display:grid;place-items:center;width:34px;height:34px;padding:6px;border-radius:9px;background:#fff;border:1px solid var(--app-line)}.app-logo-chip img,.app-logo-chip svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.app-logo-chip.is-dark{background:#111;border-color:#ffffff1f}.app-logo-chip.is-lg{width:44px;height:44px;padding:8px;border-radius:11px}.app-grid-dense{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.app-rail{position:sticky;top:56px;z-index:20;display:flex;align-items:center;gap:8px;padding:10px 0;background:color-mix(in srgb,var(--app-bg) 86%,transparent);border-bottom:1px solid var(--app-line)}@supports (backdrop-filter:blur(1px)){.app-rail{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.app-rail-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.app-rail-scroll::-webkit-scrollbar{display:none}.app-frame-bar{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-bottom:1px solid var(--app-line);background:var(--app-surface-2);font-family:var(--app-mono);font-size:12px;color:var(--app-ink-3)}.app-frame-bar .dots{display:flex;gap:5px}.app-frame-bar .dots i{width:8px;height:8px;border-radius:50%;background:var(--app-line-2)}.app-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--app-ink-2);font-size:13.5px}.app-step .n{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--app-line-2);display:grid;place-items:center;font-family:var(--app-mono);font-size:11px;color:var(--app-ink-3)}.app-step.is-done{color:var(--app-ink-3)}.app-step.is-done .n{background:var(--app-ok-soft);border-color:transparent;color:var(--app-ok)}.app-step.is-active{background:var(--app-accent-soft);color:var(--app-ink)}.app-step.is-active .n{border-color:var(--app-accent);color:var(--app-accent-ink)}.app-tabs{display:flex;gap:2px;border-bottom:1px solid var(--app-line)}.app-tab{padding:10px 12px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:13.5px;font-weight:500;color:var(--app-ink-3);background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;transition:color .15s,border-color .15s}.app-tab:hover{color:var(--app-ink)}.app-tab[aria-selected=true],.app-tab.is-active{color:var(--app-ink);border-bottom-color:var(--app-accent)}.app-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--app-bg) 90%,transparent);border-top:1px solid var(--app-line)}@supports (backdrop-filter:blur(1px)){.app-mobile-bar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}@media(min-width:1024px){.app-mobile-bar{display:none}}.app-kpis{display:flex;flex-wrap:wrap;border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface);overflow:hidden}.app-kpis>*{flex:1 1 0;min-width:140px;padding:16px 20px;border-right:1px solid var(--app-line)}.app-kpis>*:last-child{border-right:0}@media(max-width:767px){.app-kpis>*{flex-basis:50%;border-bottom:1px solid var(--app-line)}.app-kpis>*:nth-child(2n){border-right:0}}.app-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--app-line)}.app-row:last-child{border-bottom:0}.app-rows{border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface);overflow:hidden}.app-row-body{display:flex;flex-direction:column;gap:1px;min-width:0}.app-row-body .t{font-size:14px;font-weight:500;color:var(--app-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-row-body .m{font-size:12.5px;color:var(--app-ink-3)}.app-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px;margin-bottom:14px}.app-kpi .v small{font-size:13px;font-weight:400;color:var(--app-ink-3)}.app-kpi .v.is-ok{color:var(--app-ok)}.app-kpi .v.is-warn{color:var(--app-warn)}.app-kpi .v.is-bad{color:var(--app-danger)}.app-kpi .v.is-dim{color:var(--app-ink-4)}.app-kpis-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;padding:20px 0;border-top:1px solid var(--app-line);border-bottom:1px solid var(--app-line)}@media(min-width:640px){.app-kpis-inline{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.app-kpis-inline{display:flex;gap:0}.app-kpis-inline>.app-kpi{flex:1;padding:0 18px;border-left:1px solid var(--app-line)}.app-kpis-inline>.app-kpi:first-child{padding-left:0;border-left:0}}.app-logo-chip.is-xs{width:24px;height:24px;padding:4px;border-radius:6px}.app-logo-chip.is-sm{width:28px;height:28px;padding:4px;border-radius:7px}.app-tab.is-stacked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:40px;min-width:84px;padding:0 14px;text-decoration:none;color:var(--app-ink-3)}.app-tab.is-stacked b{font-weight:500;font-size:14px;line-height:1.25}.app-tab.is-stacked small{font-size:11px;line-height:1.2;color:var(--app-ink-4);letter-spacing:.02em}.app-tab.is-stacked:hover{color:var(--app-ink);text-decoration:none}.app-tab.is-stacked.is-current,.app-tab.is-stacked.is-current small{color:var(--app-accent-ink)}.app-tab.is-stacked[aria-selected=true]{color:var(--app-ink);border-bottom-color:var(--app-accent)}.app-tab.is-stacked[aria-selected=true] small{color:var(--app-ink-2)}.app-tab.is-stacked[aria-selected=true].is-current,.app-tab.is-stacked[aria-selected=true].is-current small{color:var(--app-accent-ink)}.app-tab.is-stacked.is-upcoming{opacity:.45;cursor:not-allowed}.app-tab.is-stacked.is-upcoming:hover{color:var(--app-ink-3)}}h1.app-h1,h2.app-h1{font-family:var(--app-sans);font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:var(--app-ink);margin:0}h2.app-h2,h3.app-h2{font-family:var(--app-sans);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--app-ink);margin:0}h3.app-h3,h4.app-h3{font-family:var(--app-sans);font-size:15px;font-weight:600;line-height:1.4;color:var(--app-ink);margin:0}:is(.dh,.an,.ml) h1.app-h1{font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.1;margin:0}.app-btn-ghost[disabled],.app-btn-ghost.is-disabled{background:transparent;color:var(--app-ink-3);border-color:var(--app-line)}html.dark .prose :where(code):not(:where(pre *)){color:#85b6ff}.swal2-popup{font-family:var(--app-sans);border-radius:14px;background:var(--app-raised);color:var(--app-ink);border:1px solid var(--app-line-2);box-shadow:var(--app-shadow-lg)}.swal2-title{font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--app-ink)}.swal2-html-container{font-size:14px;line-height:1.55;color:var(--app-ink-2)}.swal2-styled.swal2-confirm{background:var(--app-accent);color:#fff;border-radius:10px;font-weight:500;box-shadow:none}.swal2-styled.swal2-cancel{background:transparent;color:var(--app-ink-2);border:1px solid var(--app-line-2);border-radius:10px;font-weight:500}.swal2-icon.swal2-error{border-color:var(--app-danger);color:var(--app-danger)}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--app-danger)}.swal2-icon.swal2-success{border-color:var(--app-ok);color:var(--app-ok)}.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--app-ok)}.swal2-icon.swal2-success .swal2-success-ring{border-color:var(--app-ok-soft)}.swal2-icon.swal2-warning,.swal2-icon.swal2-info,.swal2-icon.swal2-question{border-color:var(--app-warn);color:var(--app-warn)}html.dark .swal2-backdrop-show,html.dark .swal2-container{background:#0009}
