.captcha-input[data-v-6251f392]{font-family:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Courier New", var(--font-sans), monospace;font-variant-numeric:lining-nums tabular-nums}.app-tooltip-bubble[data-v-edae7ea6]{text-wrap:pretty;max-width:min(18rem,100vw - 1.5rem);line-height:1.5}@media (prefers-reduced-motion:reduce){.app-tooltip-bubble[data-v-edae7ea6]{transition:none!important}}.login-scene[data-v-b5397088]{--sc-a:#1e3a8a;--sc-b:#1d4ed8;--sc-c:#0ea5e9;--btn-a:#1d4ed8;--btn-b:#2563eb;--btn-c:#0ea5e9}.accent-emerald[data-v-b5397088]{--sc-a:#064e3b;--sc-b:#047857;--sc-c:#14b8a6;--btn-a:#047857;--btn-b:#059669;--btn-c:#14b8a6}.accent-violet[data-v-b5397088]{--sc-a:#4c1d95;--sc-b:#6d28d9;--sc-c:#8b5cf6;--btn-a:#6d28d9;--btn-b:#7c3aed;--btn-c:#a78bfa}.login-card[data-v-b5397088]{animation:.6s cubic-bezier(.22,1,.36,1) both card-rise-b5397088}@keyframes card-rise-b5397088{0%{opacity:0;transform:translateY(20px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@property --frame-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.gradient-frame[data-v-b5397088]{background:conic-gradient(from var(--frame-angle), #94a3b859, #38bdf8cc, #6366f1cc, #94a3b859);animation:7s linear infinite frame-spin-b5397088}.dark,:root[data-theme=dark] .gradient-frame[data-v-b5397088]{background:conic-gradient(from var(--frame-angle), #33415599, #38bdf8e6, #818cf8e6, #33415599)}@keyframes frame-spin-b5397088{to{--frame-angle:360deg}}.showcase[data-v-b5397088]{background:radial-gradient(120% 120% at 100% 0%, #ffffff29 0%, transparent 55%), linear-gradient(160deg, var(--sc-a) 0%, var(--sc-b) 45%, var(--sc-c) 130%)}.orbit[data-v-b5397088]{animation:14s ease-in-out infinite alternate orbit-drift-b5397088}.orbit-slow[data-v-b5397088]{animation-duration:22s}@keyframes orbit-drift-b5397088{0%{transform:translate(0)scale(1)}to{transform:translate(28px,20px)scale(1.08)}}.shine-sweep[data-v-b5397088]{background:linear-gradient(115deg,#0000 30%,#ffffff1f 48%,#0000 62%) 0 0/260% 100%;animation:6s ease-in-out infinite sweep-b5397088}@keyframes sweep-b5397088{0%,55%{background-position:130% 0}to{background-position:-60% 0}}.aurora[data-v-b5397088]{animation:16s ease-in-out infinite alternate aurora-float-b5397088}.aurora-b[data-v-b5397088]{animation-duration:20s;animation-delay:-6s}.aurora-c[data-v-b5397088]{animation-duration:24s;animation-delay:-12s}@keyframes aurora-float-b5397088{0%{transform:translate(0)scale(1)}to{transform:translate(-40px,36px)scale(1.12)}}.feat-enter-active[data-v-b5397088],.feat-leave-active[data-v-b5397088]{transition:opacity .45s,transform .45s}.feat-enter-from[data-v-b5397088]{opacity:0;transform:translate(-28px)}.feat-leave-to[data-v-b5397088]{opacity:0;transform:translate(28px)}.card-shake[data-v-b5397088]{animation:.45s cubic-bezier(.36,.07,.19,.97) card-shake-b5397088}@keyframes card-shake-b5397088{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.submit-btn[data-v-b5397088]{background:linear-gradient(120deg, var(--btn-a), var(--btn-b) 45%, var(--btn-c));box-shadow:0 10px 24px -8px color-mix(in srgb, var(--btn-b) 55%, transparent);background-size:180% 100%;transition:background-position .5s,box-shadow .3s,transform .15s}.submit-btn[data-v-b5397088]:hover{box-shadow:0 14px 30px -8px color-mix(in srgb, var(--btn-b) 65%, transparent);background-position:90% 0}.submit-btn[data-v-b5397088]:disabled{box-shadow:none}.btn-shine[data-v-b5397088]{background:linear-gradient(115deg,#0000 35%,#ffffff40 50%,#0000 65%) 0 0/250% 100%;animation:3.2s ease-in-out infinite sweep-b5397088}@media (width<=1023px){.aurora[data-v-b5397088],.gradient-frame[data-v-b5397088],.orbit[data-v-b5397088],.orbit-slow[data-v-b5397088],.shine-sweep[data-v-b5397088],.btn-shine[data-v-b5397088]{animation:none}}@media (prefers-reduced-motion:reduce){.login-card[data-v-b5397088],.gradient-frame[data-v-b5397088],.orbit[data-v-b5397088],.orbit-slow[data-v-b5397088],.shine-sweep[data-v-b5397088],.aurora[data-v-b5397088],.btn-shine[data-v-b5397088],.card-shake[data-v-b5397088]{animation:none}.feat-enter-active[data-v-b5397088],.feat-leave-active[data-v-b5397088]{transition:none}}.notification-badge[data-v-8d2d862c]{background-color:#f43f5e}.export-indeterminate[data-v-8d2d862c]{width:40%;animation:1.2s ease-in-out infinite export-indeterminate-8d2d862c}@keyframes export-indeterminate-8d2d862c{0%{transform:translate(-120%)}to{transform:translate(320%)}}.toast-card[data-v-e002377e]{background:linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 88%, var(--tst) 12%), var(--app-surface) 72%);border:1px solid color-mix(in srgb, var(--tst) 22%, var(--app-border));box-shadow:0 .75rem 2rem -1.25rem #0f172a6b, 0 0 0 1px color-mix(in srgb, var(--tst) 5%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-glow[data-v-e002377e]{background:color-mix(in srgb, var(--tst) 14%, transparent);filter:blur(.25rem);pointer-events:none;border-radius:999px;block-size:6rem;inline-size:6rem;position:absolute;inset-block-start:-2.5rem;inset-inline-start:-2rem}.toast-card[data-v-e002377e]>:not(.toast-glow,.toast-progress){position:relative}.toast-chip[data-v-e002377e]{background:var(--tst-soft);color:var(--tst);box-shadow:0 0 0 1px color-mix(in srgb, var(--tst) 15%, transparent)}.toast-title[data-v-e002377e]{color:var(--tst)}.toast-message[data-v-e002377e]{color:var(--app-text);overflow-wrap:anywhere;font-weight:500}.toast-close[data-v-e002377e]{color:var(--app-muted)}.toast-close[data-v-e002377e]:hover{color:var(--app-text);background:var(--app-hover)}.toast-progress[data-v-e002377e]{background:var(--tst);opacity:.55;transform-origin:100%;animation-name:toast-progress-e002377e;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toast-progress-e002377e{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast-progress[data-v-e002377e]{opacity:.25;animation:none}}.toast-success.accent-blue[data-v-e002377e]{--tst:var(--brand-tint-text);--tst-soft:var(--brand-tint-bg)}.toast-success.accent-emerald[data-v-e002377e]{--tst:#047857;--tst-soft:#ecfdf5}.toast-success.accent-violet[data-v-e002377e]{--tst:#6d28d9;--tst-soft:#f5f3ff}.toast-error[data-v-e002377e]{--tst:#be123c;--tst-soft:#fff1f2}.dark{--tst:#fda4af;--tst-soft:#f43f5e29}.pwa-update-enter-active[data-v-c2dfd622],.pwa-update-leave-active[data-v-c2dfd622]{transition:opacity .18s}.pwa-update-enter-from[data-v-c2dfd622],.pwa-update-leave-to[data-v-c2dfd622]{opacity:0}.fab-spacer[data-v-2db3a41a]{height:var(--fab-height,5.25rem)}.fab[data-v-2db3a41a]{inset-inline-start:var(--fab-inset-start,0px);inset-inline-end:0;z-index:20;padding-block:.65rem;padding-bottom:calc(.65rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--app-surface) 88%, transparent);-webkit-backdrop-filter:blur(1rem)saturate(1.15);backdrop-filter:blur(1rem)saturate(1.15);border-top-width:1px;padding-inline:clamp(1rem,4vw,1.5rem);position:fixed;bottom:0;box-shadow:0 -1.25rem 3rem -2.5rem #0f172a9e}.fab[data-v-2db3a41a]:before{inset-inline:clamp(1rem,4vw,1.5rem);content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-brand) 48%, transparent), transparent);height:1px;position:absolute;top:-1px}.fab-panel[data-v-2db3a41a]{max-width:var(--fab-max-width,72rem);background:color-mix(in srgb, var(--app-surface-muted) 76%, var(--app-surface));box-shadow:0 .9rem 2.1rem -1.75rem #0f172a75, inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent);border-width:1px;border-radius:1rem;margin-inline:auto;padding:.5rem}.fab-inner[data-v-2db3a41a]{align-items:center;gap:.5rem;width:100%;display:flex}.fab-primary[data-v-2db3a41a]{flex:1;min-width:0}.fab-submit[data-v-2db3a41a]{outline:none;place-items:center;width:100%;min-height:2.875rem;padding-block:.75rem;padding-inline:1rem;display:inline-grid}.fab-submit[data-v-2db3a41a]:focus-visible{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--app-control-focus) 18%, transparent), 0 .75rem 1.5rem -1rem color-mix(in srgb, var(--color-brand) 52%, transparent)}.fab-sizer[data-v-2db3a41a]{visibility:hidden;white-space:nowrap;grid-area:1/1;height:0;overflow:hidden}.fab-label[data-v-2db3a41a]{white-space:nowrap;grid-area:1/1;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.fab-cancel[data-v-2db3a41a]{flex-shrink:0;min-height:2.875rem;padding-block:.75rem;padding-inline:1.25rem}.fab-hint[data-v-2db3a41a]{align-items:flex-start;gap:.35rem;margin-block-start:.5rem;padding-inline:.5rem;font-size:.6875rem;line-height:1.25rem;display:flex}@media (width>=640px){.fab-inner[data-v-2db3a41a]{justify-content:flex-end}.fab-primary[data-v-2db3a41a]{flex:0 18rem;min-width:12rem}}@media (width<=639px){.fab[data-v-2db3a41a]{padding-inline:.75rem}.fab[data-v-2db3a41a]:before{inset-inline:.75rem}.fab-panel[data-v-2db3a41a]{border-radius:.9rem}}@media (prefers-reduced-motion:reduce){.fab-submit[data-v-2db3a41a]{transition:none}}.form-caret[data-v-80152096]{transition:rotate .2s}.form-caret.is-open[data-v-80152096]{rotate:180deg}@media (prefers-reduced-motion:reduce){.form-caret[data-v-80152096]{transition:none}}.app-border-track[data-v-1f1fdc9a]{color:#00000014}.dark{color:#ffffff1f}.map-modal-backdrop[data-v-3cfc4ab4]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1b1794}.map-modal-frame[data-v-3cfc4ab4]{border:1px solid var(--map-border-strong);background:var(--map-texture), linear-gradient(160deg, var(--map-surface-raised), var(--map-surface) 55%, var(--map-surface-sunken));color:var(--map-text);box-shadow:var(--map-shadow), var(--map-inner-shadow);outline:1px solid color-mix(in srgb, var(--map-gold) 26%, transparent);outline-offset:-4px;border-radius:1rem;animation:.19s cubic-bezier(.22,1,.36,1) map-modal-in-3cfc4ab4}@media (width<=40rem){.map-modal-frame[data-v-3cfc4ab4]{padding-bottom:env(safe-area-inset-bottom,0);border-bottom:0;border-radius:1.25rem 1.25rem 0 0;animation-name:map-modal-rise-3cfc4ab4}}.map-modal-header[data-v-3cfc4ab4]{border-color:color-mix(in srgb, var(--map-border) 70%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--map-gold) 22%, transparent)}.map-modal-title[data-v-3cfc4ab4]{color:var(--map-text);overflow-wrap:anywhere;line-height:1.8}.map-modal-footer[data-v-3cfc4ab4]{border-color:color-mix(in srgb, var(--map-border) 70%, transparent);background:color-mix(in srgb, var(--map-surface-sunken) 55%, transparent);border-radius:0 0 .9rem .9rem}.map-modal-close[data-v-3cfc4ab4]{border:1px solid color-mix(in srgb, var(--map-border) 80%, transparent);background:color-mix(in srgb, var(--map-surface-sunken) 70%, transparent);color:var(--map-text-muted);cursor:pointer;border-radius:999px;transition:color .15s,border-color .15s,background-color .15s}.map-modal-close[data-v-3cfc4ab4]:hover{color:var(--map-gold);border-color:var(--map-gold)}.map-modal-close[data-v-3cfc4ab4]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}@keyframes map-modal-in-3cfc4ab4{0%{opacity:0;scale:.97}}@keyframes map-modal-rise-3cfc4ab4{0%{opacity:0;translate:0 14px}}@media (prefers-reduced-motion:reduce){.map-modal-frame[data-v-3cfc4ab4]{animation:none}}.attendance-hero[data-v-53ddb9fd]{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-tint-bg) 55%,var(--app-surface)),var(--app-surface))}.attendance-rate-track[data-v-53ddb9fd]{background:color-mix(in srgb,var(--app-text) 10%,transparent)}.attendance-distribution-card[data-v-53ddb9fd]{background:linear-gradient(145deg,var(--app-surface),color-mix(in srgb,var(--brand-tint-bg) 28%,var(--app-surface)))}.attendance-list[data-v-53ddb9fd]{container-type:inline-size}.attendance-list-head[data-v-53ddb9fd],.attendance-list-row[data-v-53ddb9fd]{grid-template-columns:minmax(0,1.2fr) minmax(11.5rem,.95fr) minmax(8rem,.95fr) minmax(9rem,.85fr);align-items:center;gap:clamp(.75rem,2vw,1.25rem)}.attendance-list-head[data-v-53ddb9fd]{top:var(--legacy-topbar-min-height);z-index:5;position:sticky}.attendance-list-row[data-v-53ddb9fd]{min-width:0;display:grid;position:relative}.attendance-list-row[data-v-53ddb9fd]:before{content:"";background:var(--row-accent,transparent);border-radius:9999px;width:.2rem;position:absolute;inset-block:clamp(.9rem,3cqw,1.25rem);inset-inline-start:0}.attendance-list-row[data-v-53ddb9fd]>*{min-width:0}.attendance-row-present[data-v-53ddb9fd]{--row-accent:#10b981}.attendance-row-late[data-v-53ddb9fd]{--row-accent:#f59e0b}.attendance-row-absent[data-v-53ddb9fd]{--row-accent:#f43f5e}.attendance-row-excused[data-v-53ddb9fd]{--row-accent:#3b82f6}.attendance-avatar[data-v-53ddb9fd]{background:color-mix(in srgb,var(--row-accent,var(--app-text)) 13%,var(--app-surface-muted));color:var(--row-accent,var(--app-muted))}.attendance-bar-segment+.attendance-bar-segment[data-v-53ddb9fd]{border-inline-start:2px solid var(--app-surface)}.attendance-bar-present[data-v-53ddb9fd]{background:#10b981}.attendance-bar-late[data-v-53ddb9fd]{background:#f59e0b}.attendance-bar-absent[data-v-53ddb9fd]{background:#f43f5e}.attendance-bar-excused[data-v-53ddb9fd]{background:#3b82f6}.attendance-time-box[data-v-53ddb9fd]{background:var(--app-surface-muted);border:1px solid var(--app-border)}.attendance-status-active[data-v-53ddb9fd]{box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--app-control-focus)}.attendance-summary-row[data-v-53ddb9fd]{color:var(--app-text);background:var(--app-surface-muted);border-color:var(--app-border)}.attendance-summary-row[data-v-53ddb9fd]:hover{background:var(--app-hover)}.attendance-summary-icon[data-v-53ddb9fd]{background:var(--app-surface);box-shadow:var(--app-shadow)}.attendance-summary-present .attendance-summary-icon[data-v-53ddb9fd]{color:#059669}.attendance-summary-late .attendance-summary-icon[data-v-53ddb9fd]{color:#d97706}.attendance-summary-absent .attendance-summary-icon[data-v-53ddb9fd]{color:#e11d48}.attendance-summary-excused .attendance-summary-icon[data-v-53ddb9fd]{color:#2563eb}.attendance-status-picker[data-v-53ddb9fd]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;max-width:15rem;display:grid}.attendance-status-option[data-v-53ddb9fd]{border:1px solid var(--app-border);background:var(--app-surface-muted);opacity:.75;border-radius:.65rem;justify-content:center;align-items:center;gap:.3rem;min-height:2.35rem;padding:.3rem .5rem;font-size:.7rem;font-weight:700;transition:opacity .15s,transform .15s,border-color .15s,background .15s;display:inline-flex}.attendance-status-option-label[data-v-53ddb9fd]{white-space:nowrap}.attendance-status-option[data-v-53ddb9fd]:hover:not(:disabled){opacity:1;transform:translateY(-1px)}.attendance-status-option.is-selected[data-v-53ddb9fd]{opacity:1;background:color-mix(in srgb,currentColor 13%,var(--app-surface));border-color:color-mix(in srgb,currentColor 40%,var(--app-border))}.attendance-status-option[data-v-53ddb9fd]:disabled{cursor:wait;opacity:.45}.attendance-action-present[data-v-53ddb9fd]{color:#059669}.attendance-action-late[data-v-53ddb9fd]{color:#d97706}.attendance-action-absent[data-v-53ddb9fd]{color:#e11d48}.attendance-action-excused[data-v-53ddb9fd]{color:#2563eb}.attendance-present[data-v-53ddb9fd]{color:#047857;background:#10b9811c;border-color:#10b98133}.attendance-late[data-v-53ddb9fd]{color:#b45309;background:#f59e0b1f;border-color:#f59e0b38}.attendance-absent[data-v-53ddb9fd]{color:#be123c;background:#f43f5e1c;border-color:#f43f5e33}.attendance-excused[data-v-53ddb9fd]{color:#1d4ed8;background:#3b82f61c;border-color:#3b82f633}.dark{color:#bfdbfe;background:#3b82f629;background:linear-gradient(145deg,var(--app-surface),color-mix(in srgb,var(--brand-tint-bg) 35%,var(--app-surface)));background:color-mix(in srgb,var(--app-surface-muted) 82%,white 2%);border-color:#60a5fa4d;border-color:color-mix(in srgb,var(--app-border) 75%,white 8%);background:color-mix(in srgb,var(--app-surface-muted) 78%,white 8%)}.dark,.dark{color:#93c5fd}.dark{background:color-mix(in srgb,var(--app-surface-muted) 72%,white 9%);border-color:color-mix(in srgb,var(--app-border) 65%,white 12%);background:color-mix(in srgb,var(--app-surface-muted) 62%,white 15%);background:color-mix(in srgb,currentColor 16%,var(--app-surface));--row-accent:#60a5fa;background:color-mix(in srgb,var(--row-accent,white) 18%,var(--app-surface-muted));background:#60a5fa}@media (width<=1023px){.attendance-list-row[data-v-53ddb9fd]{grid-template-columns:minmax(0,1fr) auto;align-items:start}.attendance-list-row[data-v-53ddb9fd]>:nth-child(3),.attendance-list-row[data-v-53ddb9fd]>:nth-child(4){grid-column:1/-1}}@container (width<=47rem){.attendance-list-head[data-v-53ddb9fd]{display:none}.attendance-list-row[data-v-53ddb9fd]{grid-template-columns:minmax(0,1fr) auto;align-items:start}.attendance-list-row[data-v-53ddb9fd]>:nth-child(3),.attendance-list-row[data-v-53ddb9fd]>:nth-child(4){grid-column:1/-1}}@container (width<=30rem){.attendance-list-row[data-v-53ddb9fd]{grid-template-columns:1fr}.attendance-list-row[data-v-53ddb9fd]>*{grid-column:1!important}.attendance-status-picker[data-v-53ddb9fd]{max-width:none}.attendance-status-option[data-v-53ddb9fd]{min-height:2.75rem;font-size:.78rem}}@media (width<=479px){.attendance-list-row[data-v-53ddb9fd]{grid-template-columns:1fr}.attendance-list-row[data-v-53ddb9fd]>*{grid-column:1!important}.attendance-status-picker[data-v-53ddb9fd]{max-width:none}.attendance-status-option[data-v-53ddb9fd]{min-height:2.75rem;font-size:.78rem}}.cal-btn[data-v-c85448bc]{min-width:2.5rem;height:2.5rem;color:var(--app-text);background:color-mix(in srgb,var(--app-text) 8%,transparent);border-radius:.75rem;justify-content:center;align-items:center;padding-inline:.625rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.cal-btn[data-v-c85448bc]:hover{background:color-mix(in srgb,var(--app-text) 18%,transparent);transform:translateY(-1px)}.cal-btn-solid[data-v-c85448bc],.cal-switch-btn.is-active[data-v-c85448bc]{color:#fff;background:var(--color-brand)}.cal-switch[data-v-c85448bc]{background:color-mix(in srgb,currentColor 8%,transparent);border-radius:.875rem;gap:.25rem;margin-inline-start:.25rem;padding:.25rem;display:inline-flex}.cal-switch-btn[data-v-c85448bc]{width:2rem;height:2rem;color:var(--app-muted);border-radius:.625rem;justify-content:center;align-items:center;display:inline-flex}.cal-shell[data-v-c85448bc]{--fc-border-color:var(--app-border);--fc-page-bg-color:transparent;--fc-neutral-bg-color:transparent;--fc-today-bg-color:color-mix(in srgb,var(--color-brand) 7%,transparent);--fc-now-indicator-color:#ef4444;color:var(--app-text)}.cal-shell[data-v-c85448bc] .fc{font-size:.875rem}.cal-shell[data-v-c85448bc] .fc a{color:inherit;text-decoration:none}.cal-shell[data-v-c85448bc] .fc-theme-standard .fc-scrollgrid{border-radius:1rem;overflow:hidden}.cal-shell[data-v-c85448bc] .fc-col-header-cell{background:var(--app-surface-muted);padding-block:.625rem}.cal-shell[data-v-c85448bc] .fc-col-header-cell-cushion{flex-direction:column;gap:.125rem;padding:.25rem;display:flex}.cal-shell[data-v-c85448bc] .fcx-weekday,.cal-shell[data-v-c85448bc] .fcx-title{font-weight:700}.cal-shell[data-v-c85448bc] .fcx-daydate{color:var(--app-muted);font-size:.6875rem}.cal-shell[data-v-c85448bc] .fc-event{cursor:pointer;border:0;border-radius:.65rem;box-shadow:0 4px 12px #0f172a1f}.cal-shell[data-v-c85448bc] .fcx-card{min-width:0;padding:.35rem .45rem}.cal-shell[data-v-c85448bc] .fcx-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-shell[data-v-c85448bc] .fcx-time{opacity:.9;margin-top:.15rem;font-size:.7rem}@media (width<=767px){.cal-shell[data-v-c85448bc] .fc-list-event td{padding:.75rem .5rem}}.instructor-page-hero[data-v-6c4e515e],.instructor-page-hero[data-v-5e69500a]{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-tint-bg) 45%,var(--app-surface)),var(--app-surface))}.dashboard-hero[data-v-a38d560b]{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-tint-bg) 55%,var(--app-surface)),var(--app-surface))}.dashboard-quick-link[data-v-a38d560b]:hover{border-color:color-mix(in srgb,var(--brand-tint-text) 35%,var(--app-border));box-shadow:var(--app-shadow)}.fw-field[data-v-d73afcb3]{min-width:0;position:relative}.fw-label[data-v-d73afcb3]{transform-origin:100%;min-height:1.25rem;transition:color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);line-height:1.25rem;transform:scale(1)}[dir=ltr] .fw-label[data-v-d73afcb3]{transform-origin:0}.fw-field:focus-within .fw-label[data-v-d73afcb3]{color:var(--color-brand);transform:scale(.9)}.fw-required[data-v-d73afcb3]{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.fw-required-mark[data-v-d73afcb3]{line-height:1;display:block;transform:translateY(.075rem)}.fw-control[data-v-d73afcb3]{border-radius:.75rem;position:relative}@media (prefers-reduced-motion:reduce){.fw-label[data-v-d73afcb3]{transition:none}}.fp-control[data-v-689103c7]{min-height:2.875rem;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 72%, transparent)}.fp-control[data-v-689103c7]:hover:not(:disabled),.fp-control-open[data-v-689103c7]{border-color:color-mix(in srgb, var(--app-control-focus) 72%, var(--app-border))}.fp-control-open[data-v-689103c7]{box-shadow:inset 0 0 0 1px var(--app-control-focus)}.fp-control-error[data-v-689103c7]{box-shadow:inset 0 0 0 1px var(--status-danger-border)}.fp-chip[data-v-689103c7]{border:1px solid color-mix(in srgb, var(--brand-tint-text) 14%, transparent)}.fp-panel[data-v-689103c7]{border-color:color-mix(in srgb, var(--app-border) 82%, var(--brand-tint-text));box-shadow:0 1.5rem 3.5rem -1.75rem #0f172a7a, var(--app-shadow-lg)}.fp-search[data-v-689103c7]{background:color-mix(in srgb, var(--app-surface-muted) 68%, var(--app-surface))}.fp-option[data-v-689103c7]:hover{background:var(--app-hover)}@media (prefers-reduced-motion:reduce){.fp-control[data-v-689103c7],.fp-option[data-v-689103c7]{transition:none}}.cal-btn[data-v-48866c9f]{min-width:2.5rem;height:2.5rem;color:var(--app-text);background:color-mix(in srgb, var(--app-text) 8%, transparent);border-radius:.75rem;justify-content:center;align-items:center;padding-inline:.625rem;font-size:.8125rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.cal-btn[data-v-48866c9f]:hover{background:color-mix(in srgb, var(--app-text) 18%, transparent);transform:translateY(-1px)}.cal-btn-solid[data-v-48866c9f]{color:#fff;background:var(--color-brand)}.cal-btn-solid[data-v-48866c9f]:hover{background:var(--color-brand-dark)}.cal-switch[data-v-48866c9f]{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:.875rem;gap:.25rem;margin-inline-start:.25rem;padding:.25rem;display:inline-flex}.cal-switch-btn[data-v-48866c9f]{width:2rem;height:2rem;color:var(--app-muted);border-radius:.625rem;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.cal-switch-btn.is-active[data-v-48866c9f]{color:#fff;background:var(--color-brand)}.cal-shell[data-v-48866c9f]{--fc-border-color:var(--app-border);--fc-page-bg-color:transparent;--fc-neutral-bg-color:transparent;--fc-today-bg-color:color-mix(in srgb, var(--color-brand) 7%, transparent);--fc-now-indicator-color:#ef4444;color:var(--app-text)}.cal-shell[data-v-48866c9f] .fc{font-size:.875rem}.cal-shell[data-v-48866c9f] .fc a{color:inherit;text-decoration:none}.cal-shell[data-v-48866c9f] .fc-theme-standard .fc-scrollgrid{border-radius:1rem;overflow:hidden}.cal-shell[data-v-48866c9f] .fc-col-header-cell{background:var(--app-surface-muted);padding-block:.625rem}.cal-shell[data-v-48866c9f] .fc-col-header-cell.fc-day-today{background:color-mix(in srgb, var(--color-brand) 12%, transparent)}.cal-shell[data-v-48866c9f] .fc-col-header-cell-cushion{flex-direction:column;gap:.125rem;padding:.25rem;display:flex}.cal-shell[data-v-48866c9f] .fcx-weekday{font-size:.8125rem;font-weight:700}.cal-shell[data-v-48866c9f] .fcx-daydate{color:var(--app-muted);font-size:.6875rem;font-weight:500}.cal-shell[data-v-48866c9f] .fc-timegrid-slot{height:3.25rem}.cal-shell[data-v-48866c9f] .fc-timegrid-slot-label-cushion{color:var(--app-muted);font-size:.6875rem;font-weight:600}.cal-shell[data-v-48866c9f] .fc-event{box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:.625rem;padding:0}.cal-shell[data-v-48866c9f] .fc-timegrid-event{transition:transform .15s,box-shadow .15s;overflow:hidden;box-shadow:0 2px 8px #0000001f}.cal-shell[data-v-48866c9f] .fc-timegrid-event .fc-event-main{overflow:hidden}.cal-shell[data-v-48866c9f] .fc-timegrid-event:hover{z-index:5;transform:translateY(-1px);box-shadow:0 6px 16px #0003}.cal-shell[data-v-48866c9f] .fc-timegrid-event.fcx-focused{z-index:6;animation:1.1s ease-out 2 fcx-pulse-48866c9f}@keyframes fcx-pulse-48866c9f{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--app-text) 45%, transparent)}70%{box-shadow:0 0 0 .5rem #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.cal-shell[data-v-48866c9f] .fc-timegrid-event.fcx-focused{animation:none}}.cal-shell[data-v-48866c9f] .fcx-card{background:inherit;border-radius:.625rem;gap:.375rem;height:100%;display:flex;overflow:hidden}.cal-shell[data-v-48866c9f] .fcx-bar{border-radius:999px;flex:none}.cal-shell[data-v-48866c9f] .fcx-body{flex-direction:column;gap:.125rem;min-width:0;padding:.3125rem .4375rem;display:flex}.cal-shell[data-v-48866c9f] .fcx-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.cal-shell[data-v-48866c9f] .fcx-time,.cal-shell[data-v-48866c9f] .fcx-teacher{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;line-height:1.3;overflow:hidden}.cal-shell[data-v-48866c9f] .fc-list{border-radius:1rem;overflow:hidden}.cal-shell[data-v-48866c9f] .fc-list-event-time,.cal-shell[data-v-48866c9f] .fc-list-event-graphic{display:none}.cal-shell[data-v-48866c9f] .fc-list-event td{background:0 0;border:0;padding:.25rem 0}.cal-shell[data-v-48866c9f] .fc-list-day-cushion{background:var(--app-surface-muted);padding-block:.625rem;font-size:.8125rem;font-weight:700}.cal-shell[data-v-48866c9f] .fcx-card-list{border:1px solid var(--app-border);background:var(--app-surface);border-radius:.875rem;align-items:stretch;padding:.75rem;transition:border-color .15s,transform .15s}.cal-shell[data-v-48866c9f] .fc-list-event:hover .fcx-card-list{border-color:var(--color-brand);transform:translateY(-1px)}.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-bar{width:.25rem}.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-body{flex:1;gap:.25rem;padding:0}.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-title{-webkit-line-clamp:3;font-size:.875rem}.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-time,.cal-shell[data-v-48866c9f] .fcx-card-list .fcx-teacher{color:var(--app-muted);opacity:1;white-space:normal}.cal-shell[data-v-48866c9f] .fc-list-empty{color:var(--app-muted);background:0 0}.frs-control[data-v-12a058a2]{min-height:2.875rem;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 72%, transparent);transition:border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease)}.frs-control[data-v-12a058a2]:hover,.frs-control-open[data-v-12a058a2]{border-color:color-mix(in srgb, var(--app-control-focus) 72%, var(--app-border))}.frs-control-open[data-v-12a058a2]{box-shadow:inset 0 0 0 1px var(--app-control-focus)}.frs-control-error[data-v-12a058a2]{box-shadow:inset 0 0 0 1px var(--status-danger-border)}.frs-chip[data-v-12a058a2]{border:1px solid color-mix(in srgb, var(--brand-tint-text) 14%, transparent)}.frs-panel[data-v-12a058a2]{border-color:color-mix(in srgb, var(--app-border) 82%, var(--brand-tint-text));box-shadow:0 1.5rem 3.5rem -1.75rem #0f172a7a, var(--app-shadow-lg)}.frs-search[data-v-12a058a2]{background:color-mix(in srgb, var(--app-surface-muted) 68%, var(--app-surface))}.frs-option[data-v-12a058a2]:hover{background:var(--app-hover)}@media (prefers-reduced-motion:reduce){.frs-control[data-v-12a058a2],.frs-option[data-v-12a058a2]{transition:none}}.fcp-shell[data-v-a1f2374c]{background:color-mix(in srgb, var(--app-surface-muted) 72%, var(--app-surface));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent)}.fcp-shell-error[data-v-a1f2374c]{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent), inset 0 0 0 1px var(--status-danger-border)}.fcp-trigger[data-v-a1f2374c]{min-height:3.5rem;box-shadow:0 .8rem 1.8rem -1.55rem #0f172a75}.fcp-chip[data-v-a1f2374c]{border:1px solid color-mix(in srgb, var(--brand-tint-text) 14%, transparent)}.fcp-empty[data-v-a1f2374c]{background:color-mix(in srgb, var(--app-surface) 60%, transparent)}.fcp-option[data-v-a1f2374c]:hover{transform:translateY(-.1rem);box-shadow:0 .9rem 1.8rem -1.4rem #0f172a6b}@media (prefers-reduced-motion:reduce){.fcp-trigger[data-v-a1f2374c],.fcp-option[data-v-a1f2374c]{transition:none}.fcp-option[data-v-a1f2374c]:hover{transform:none}}.fpp-shell[data-v-1b1372d0]{background:color-mix(in srgb, var(--app-surface-muted) 72%, var(--app-surface));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent)}.fpp-shell-error[data-v-1b1372d0]{border-color:var(--status-danger-border);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent), inset 0 0 0 1px var(--status-danger-border)}.fpp-search[data-v-1b1372d0]:focus-within{border-color:var(--color-brand)}.fpp-chip[data-v-1b1372d0]{border:1px solid color-mix(in srgb, var(--brand-tint-text) 14%, transparent)}.fpp-initials-sm[data-v-1b1372d0]{color:var(--brand-tint-text);background:color-mix(in srgb, var(--brand-tint-text) 14%, transparent);font-weight:900}.fpp-scroller-list[data-v-1b1372d0]{max-height:clamp(12rem,34vh,22rem)}.fpp-scroller[data-v-1b1372d0]{max-height:clamp(18rem,52vh,34rem);padding-inline-end:.2rem;overflow-y:auto}.fpp-more[data-v-1b1372d0]{place-items:center;padding:.9rem 0 .3rem;display:grid}.fpp-grid[data-v-1b1372d0]{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:.7rem;display:grid}.fpp-list[data-v-1b1372d0]{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.35rem;display:grid}.fpp-row[data-v-1b1372d0]{align-items:center;gap:.45rem;display:flex}.fpp-row[data-v-1b1372d0]:not(.fpp-card-disabled):hover{border-color:color-mix(in srgb, var(--color-brand) 50%, var(--app-border));background:var(--app-hover)}.fpp-row-selected[data-v-1b1372d0]{border-color:var(--color-brand);background:var(--brand-tint-bg)}.fpp-row-active[data-v-1b1372d0]{outline:2px solid color-mix(in srgb, var(--color-brand) 55%, transparent);outline-offset:1px}.fpp-row-mark[data-v-1b1372d0]{border:1px solid var(--app-border);color:#fff;background:var(--app-surface);border-radius:.35rem;flex:none;place-items:center;width:1rem;height:1rem;display:grid}.fpp-row-mark.is-on[data-v-1b1372d0]{border-color:var(--color-brand);background:var(--color-brand)}.fpp-card[data-v-1b1372d0]{box-shadow:0 .7rem 1.6rem -1.5rem #0f172a80}.fpp-card[data-v-1b1372d0]:not(.fpp-card-disabled):hover{border-color:color-mix(in srgb, var(--color-brand) 50%, var(--app-border));background:var(--app-hover);transform:translateY(-.15rem)}.fpp-card-selected[data-v-1b1372d0]{border-color:var(--color-brand);background:var(--brand-tint-bg);box-shadow:inset 0 0 0 1px var(--color-brand)}.fpp-card-disabled[data-v-1b1372d0]{cursor:not-allowed;opacity:.6}.fpp-avatar-wrap[data-v-1b1372d0]{display:inline-block;position:relative}.fpp-avatar[data-v-1b1372d0]{object-fit:cover;border:2px solid color-mix(in srgb, var(--app-border) 80%, transparent);background:var(--app-surface-muted);border-radius:50%;place-items:center;width:clamp(3.25rem,7vw,4.25rem);height:clamp(3.25rem,7vw,4.25rem);display:grid}.fpp-card-selected .fpp-avatar[data-v-1b1372d0]{border-color:var(--color-brand)}.fpp-initials[data-v-1b1372d0]{color:var(--brand-tint-text);font-size:.95rem;font-weight:900}.fpp-check[data-v-1b1372d0]{color:#fff;background:var(--color-brand);border:2px solid var(--app-surface);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;display:grid;position:absolute;inset-block-end:-.15rem;inset-inline-end:-.15rem}.fpp-key-hint[data-v-1b1372d0]{display:none}.fpp-shell:focus-within .fpp-key-hint[data-v-1b1372d0]{margin-inline-start:.4rem;display:inline}.fpp-empty[data-v-1b1372d0]{background:color-mix(in srgb, var(--app-surface) 60%, transparent)}@media (prefers-reduced-motion:reduce){.fpp-card[data-v-1b1372d0]{transition:none}.fpp-card[data-v-1b1372d0]:not(.fpp-card-disabled):hover{transform:none}}.np-collapsible[data-v-bc44cc6d]{grid-template-rows:1fr;display:grid}.np-collapsible[data-v-bc44cc6d]>*{min-height:0;overflow:hidden}.np-collapse-enter-active[data-v-bc44cc6d],.np-collapse-leave-active[data-v-bc44cc6d]{transition:grid-template-rows .26s,opacity .2s}.np-collapse-enter-from[data-v-bc44cc6d],.np-collapse-leave-to[data-v-bc44cc6d]{opacity:0;grid-template-rows:0fr}.np-swap-enter-active[data-v-bc44cc6d],.np-swap-leave-active[data-v-bc44cc6d]{transition:opacity .16s,transform .2s}.np-swap-enter-from[data-v-bc44cc6d],.np-swap-leave-to[data-v-bc44cc6d]{opacity:0;transform:translateY(.375rem)}@media (prefers-reduced-motion:reduce){.np-collapse-enter-active[data-v-bc44cc6d],.np-collapse-leave-active[data-v-bc44cc6d],.np-swap-enter-active[data-v-bc44cc6d],.np-swap-leave-active[data-v-bc44cc6d]{transition:opacity .12s;transform:none}}.notification-preview-html[data-v-bc44cc6d] img,.notification-preview-html[data-v-bc44cc6d] table{max-width:100%;height:auto}.notification-preview-html[data-v-bc44cc6d] a{color:var(--color-brand,currentColor);text-decoration:underline}.np-mail[data-v-bc44cc6d]{background:var(--app-surface-muted)}.np-phone[data-v-bc44cc6d]{background:var(--app-surface-muted);border:1px solid var(--app-border)}.np-bubble[data-v-bc44cc6d]{background:var(--app-surface);border:1px solid var(--app-border);border-end-end-radius:.25rem}.oc-grid[data-v-a3686399]{grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));display:grid}.option-card[data-v-a3686399]{min-height:4.25rem;box-shadow:0 8px 24px -24px #0f172abf}.option-card[data-v-a3686399]:hover{transform:translateY(-1px);box-shadow:0 13px 28px -24px #0f172ab3}.option-card[data-v-a3686399]:focus-visible{outline:2px solid var(--app-control-focus);outline-offset:2px}.option-card[data-v-a3686399]:disabled{cursor:not-allowed;opacity:.58;transform:none}.ag-grid[data-v-7d52d353]{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));display:grid}.icon-choice[data-v-d254a718]{min-block-size:2.5rem;inline-size:2.5rem;padding:0}.rpt-col[data-v-712c6d3d]{grid-column:span 12/span 12}@media (width>=640px){.rpt-col[data-v-712c6d3d]{grid-column:span var(--col-sm,12) / span var(--col-sm,12)}}@media (width>=1024px){.rpt-col[data-v-712c6d3d]{grid-column:span var(--col,12) / span var(--col,12)}}.fs-count[data-v-745a3c07]{margin-bottom:.35rem;font-size:.6875rem;font-weight:700;line-height:1.25}.fs-steps[data-v-745a3c07]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.fs-step[data-v-745a3c07]{height:4.5rem;position:relative}.fs-step-upcoming[data-v-745a3c07],.fs-step-locked[data-v-745a3c07]{--fs-bg:var(--app-control-bg);--fs-border:var(--app-border);--fs-text:var(--app-muted)}.fs-step-locked[data-v-745a3c07]{--fs-bg:var(--status-disabled-bg);--fs-border:var(--status-disabled-border);--fs-text:var(--status-disabled-text)}.fs-step-active[data-v-745a3c07]{--fs-bg:var(--color-brand);--fs-border:var(--color-brand);--fs-text:#fff}.fs-step-done[data-v-745a3c07]{--fs-bg:var(--status-success-bg);--fs-border:var(--status-success-border);--fs-text:var(--status-success-text)}.fs-step-warning[data-v-745a3c07]{--fs-bg:var(--status-warning-bg);--fs-border:var(--status-warning-border);--fs-text:var(--status-warning-text)}.fs-step-error[data-v-745a3c07]{--fs-bg:var(--status-danger-bg);--fs-border:var(--status-danger-border);--fs-text:var(--status-danger-text)}.fs-marker[data-v-745a3c07]{z-index:1;background:var(--fs-bg);border-color:var(--fs-border);width:1.75rem;height:1.75rem;color:var(--fs-text);transition:background-color var(--motion-normal) ease, border-color var(--motion-normal) ease, color var(--motion-normal) ease, transform var(--motion-fast) ease;position:absolute;top:1.5rem;left:50%;transform:translate(-50%)}.fs-step-active .fs-marker[data-v-745a3c07]{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 18%, transparent)}.fs-step-active .fs-label[data-v-745a3c07]{color:var(--color-brand)}.fs-step-upcoming .fs-label[data-v-745a3c07],.fs-step-locked .fs-label[data-v-745a3c07]{color:var(--app-muted)}.fs-step[data-v-745a3c07]:not(.fs-step-first):before{content:"";inset-inline-end:50%;border-top:2px solid var(--app-border);z-index:0;width:100%;position:absolute;top:2.375rem}.fs-step-locked[data-v-745a3c07]:not(.fs-step-first):before{border-top-style:dashed}.fs-step[data-v-745a3c07]:not(.fs-step-first):after{content:"";inset-inline-end:50%;border-top:2px solid var(--color-brand);z-index:0;transform-origin:0;width:100%;transition:transform var(--motion-slow) var(--motion-ease);position:absolute;top:2.375rem;transform:scaleX(0)}.fs-step-reached[data-v-745a3c07]:not(.fs-step-first):after{transform:scaleX(1)}@keyframes fs-check-arrive-745a3c07{0%{transform:translate(-50%)scale(.82)}52%{transform:translate(-50%)scale(1.16)}to{transform:translate(-50%)scale(1)}}.fs-marker-celebrate[data-v-745a3c07]{animation:fs-check-arrive-745a3c07 .4s var(--motion-ease)}.fs-label[data-v-745a3c07]{inset-inline:.125rem;color:var(--fs-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;transition:top var(--motion-slow) ease, font-size var(--motion-slow) ease, opacity var(--motion-slow) ease;font-size:.75rem;font-weight:700;line-height:1.1rem;position:absolute;top:3.5rem;overflow:hidden}.fs-step-past .fs-label[data-v-745a3c07]{opacity:.75;font-size:.625rem;top:.15rem}.fs-hit[data-v-745a3c07]{z-index:3;cursor:pointer;border-radius:.5rem;position:absolute;inset:0}.fs-hit[data-v-745a3c07]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.fs-sr[data-v-745a3c07]{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fs-step-clickable:hover .fs-marker[data-v-745a3c07]{transform:translate(-50%)scale(1.12)}.fs-step-clickable:hover .fs-label[data-v-745a3c07]{opacity:1}.fs-badge[data-v-745a3c07]{top:1.35rem;z-index:2;background:var(--status-danger-bg);min-width:1rem;height:1rem;color:var(--status-danger-text);border:1px solid var(--status-danger-border);padding-inline:.25rem;font-size:.625rem;position:absolute;inset-inline-start:calc(50% + 1.1rem)}.fs-active-label[data-v-745a3c07]{text-align:center;margin-top:.5rem;font-size:.8125rem;font-weight:700;line-height:1.35rem}@media (width>=640px){.fs-steps[data-v-745a3c07]{gap:.5rem}.fs-label[data-v-745a3c07]{font-size:.8125rem}.fs-step-past .fs-label[data-v-745a3c07]{font-size:.6875rem}.fs-active-label[data-v-745a3c07]{display:none}}@media (width<=639px){.fs-step[data-v-745a3c07]{height:2.75rem}.fs-marker[data-v-745a3c07]{top:.5rem}.fs-step[data-v-745a3c07]:not(.fs-step-first):before,.fs-step[data-v-745a3c07]:not(.fs-step-first):after{top:1.375rem}.fs-badge[data-v-745a3c07]{top:.35rem}.fs-label[data-v-745a3c07]{display:none}}@media (prefers-reduced-motion:reduce){.fs-label[data-v-745a3c07],.fs-marker[data-v-745a3c07],.fs-step[data-v-745a3c07]:after{transition:none}.fs-marker-celebrate[data-v-745a3c07]{animation:none}.fs-step-clickable:hover .fs-marker[data-v-745a3c07]{transform:translate(-50%)}}.df-header[data-v-88b35357]{top:var(--df-sticky-top,0px);z-index:10;background:linear-gradient(135deg, color-mix(in srgb, var(--brand-tint-bg) 58%, var(--app-surface)), var(--app-surface) 68%);margin-inline:calc(var(--df-card-padding) * -1);padding-inline:var(--df-card-padding);margin-top:calc(var(--df-card-padding) * -1);padding-top:var(--df-card-padding);box-shadow:0 .75rem 2rem -2rem color-mix(in srgb, var(--brand-tint-text) 45%, transparent);border-top-left-radius:1.25rem;border-top-right-radius:1.25rem;position:sticky}.df-form-shell[data-v-88b35357]{box-shadow:0 1.5rem 4rem -3rem #0f172a61, var(--app-shadow);border-radius:clamp(1rem,2vw,1.5rem)}.df-compact[data-v-88b35357]{--df-card-padding:.75rem;box-shadow:none;border:0;padding:.75rem!important}.df-compact .df-header[data-v-88b35357]{margin-bottom:.75rem;padding-bottom:.55rem}.df-compact .df-section-rail[data-v-88b35357]{border-radius:.85rem;margin-bottom:.75rem;padding:.55rem}.df-compact .df-content-frame[data-v-88b35357]{border-radius:.85rem;padding:.75rem}.df-compact .df-step-panel[data-v-88b35357]{row-gap:1rem}.df-compact .df-step-panel>div>.grid[data-v-88b35357]{gap:.9rem .75rem}.df-compact[data-v-88b35357] .fw-label{min-height:1rem;margin-bottom:.35rem;font-size:.75rem;line-height:1rem}.df-compact[data-v-88b35357] .app-field-control{min-height:2.25rem;padding-block:.45rem;font-size:.8rem}.df-compact[data-v-88b35357] textarea.app-field-control{min-height:5rem}.df-title-icon[data-v-88b35357]{border:1px solid color-mix(in srgb, var(--brand-tint-text) 18%, transparent);box-shadow:0 .65rem 1.4rem -1rem color-mix(in srgb, var(--brand-tint-text) 55%, transparent)}.df-submit[data-v-88b35357]{place-items:center;display:inline-grid;position:relative}.df-submit-sizer[data-v-88b35357]{visibility:hidden;white-space:nowrap;grid-area:1/1;height:0;overflow:hidden}.df-submit-label[data-v-88b35357]{white-space:nowrap;grid-area:1/1;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.df-tabs-shell[data-v-88b35357]{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 75%, transparent)}.df-tab[data-v-88b35357]{min-height:2.65rem}.df-tab-active[data-v-88b35357]{background:var(--app-surface);box-shadow:0 .5rem 1.25rem -1rem #0f172a6b}.df-section-rail[data-v-88b35357]{background:color-mix(in srgb, var(--app-surface-muted) 70%, var(--app-surface));padding:clamp(.8rem,2vw,1.15rem)}.df-content-frame[data-v-88b35357]{background:color-mix(in srgb, var(--app-surface-muted) 34%, var(--app-surface));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--app-surface) 78%, transparent);border-width:1px;border-radius:clamp(1rem,2vw,1.35rem);padding:clamp(1rem,2.5vw,1.5rem)}.df-with-rail[data-v-88b35357]{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.df-rail[data-v-88b35357]{border-bottom:1px solid var(--app-border);padding-bottom:.9rem}@media (width>=1024px){.df-with-rail[data-v-88b35357]{grid-template-columns:clamp(12rem,18vw,15rem) minmax(0,1fr);align-items:start;gap:clamp(1rem,2vw,1.5rem)}.df-rail[data-v-88b35357]{padding-bottom:0;border-bottom:0;border-inline-end:1px solid var(--app-border);padding-inline-end:clamp(.75rem,1.4vw,1.15rem);position:sticky;top:0}.df-rail[data-v-88b35357] .app-selection-list{flex-direction:column;align-items:stretch}.df-rail[data-v-88b35357] .app-selection-button{justify-content:flex-start;width:100%}}.df-with-aside.df-with-rail[data-v-88b35357]{grid-template-columns:minmax(0,1fr)}.df-footer-actions[data-v-88b35357]{z-index:5;margin-top:1rem;margin-inline:calc(var(--df-card-padding) * -1);margin-bottom:calc(var(--df-card-padding) * -1);padding:.85rem var(--df-card-padding);background:var(--app-surface);box-shadow:0 -6px 16px -12px var(--app-scroll-shadow);border-top-width:1px;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex;position:sticky;bottom:0}@media (width<=30rem){.df-footer-actions[data-v-88b35357]>*{flex:8rem}}.df-group-mark[data-v-88b35357]{width:.45rem;height:1.5rem;box-shadow:0 .45rem .9rem -.55rem var(--color-brand)}.df-composer[data-v-88b35357]{border:1px solid color-mix(in srgb, var(--app-border) 88%, transparent);border-radius:1.5rem;box-shadow:0 26px 70px -52px #0f172a8c}.df-composer .df-header[data-v-88b35357]{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}form[data-v-88b35357]{--df-card-padding:1.25rem}@media (width>=640px){form[data-v-88b35357]{--df-card-padding:1.5rem}}.df-stage[data-v-88b35357]{position:relative;overflow-x:clip}.df-step-panel[data-v-88b35357]{scroll-margin-top:calc(var(--df-sticky-top,0px) + var(--df-header-h,0px) + 1rem)}.df-step-panel[data-v-88b35357] :focus-visible:not(.app-control){outline:2px solid var(--color-brand);outline-offset:2px}.df-shortcut-grid[data-v-88b35357]{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:.5rem;margin-top:.85rem;display:grid}.df-shortcut[data-v-88b35357]{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:.75rem;align-items:center;gap:.6rem;padding:.5rem .7rem;display:flex}.df-shortcut kbd[data-v-88b35357]{border:1px solid var(--app-border);background:var(--app-surface);min-width:2.2rem;color:var(--app-text);text-align:center;white-space:nowrap;border-radius:.45rem;padding:.2rem .45rem;font-family:inherit;font-size:.7rem;font-weight:800;display:inline-block}@media (width<=767px){.df-keyboard-button[data-v-88b35357]{display:none}}.df-step-next-leave-active[data-v-88b35357],.df-step-prev-leave-active[data-v-88b35357]{inset-inline:0;position:absolute;top:0}.df-step-next-enter-active[data-v-88b35357],.df-step-next-leave-active[data-v-88b35357],.df-step-prev-enter-active[data-v-88b35357],.df-step-prev-leave-active[data-v-88b35357]{transition:opacity .2s,transform .24s}.df-step-next-enter-from[data-v-88b35357],.df-step-prev-leave-to[data-v-88b35357]{opacity:0;transform:translateX(var(--df-slide-in,1.5rem))}.df-step-next-leave-to[data-v-88b35357],.df-step-prev-enter-from[data-v-88b35357]{opacity:0;transform:translateX(var(--df-slide-out,-1.5rem))}[dir=rtl]{--df-slide-in:-1.5rem;--df-slide-out:1.5rem}@media (prefers-reduced-motion:reduce){.df-step-next-enter-active[data-v-88b35357],.df-step-next-leave-active[data-v-88b35357],.df-step-prev-enter-active[data-v-88b35357],.df-step-prev-leave-active[data-v-88b35357]{transition:opacity .12s;transform:none}}.df-col[data-v-88b35357]{grid-column:span 12/span 12}.df-field-enter-active[data-v-88b35357],.df-field-leave-active[data-v-88b35357]{transition:opacity .18s,translate .18s cubic-bezier(.22,1,.36,1)}.df-field-enter-from[data-v-88b35357],.df-field-leave-to[data-v-88b35357]{opacity:0;translate:0 -.35rem}.df-field-leave-active[data-v-88b35357]{width:100%;position:absolute}.df-field-move[data-v-88b35357]{transition:translate .2s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.df-field-enter-active[data-v-88b35357],.df-field-leave-active[data-v-88b35357],.df-field-move[data-v-88b35357]{transition:none}}@media (width>=640px){.df-col[data-v-88b35357]{grid-column:span var(--col) / span var(--col)}}.df-with-aside[data-v-88b35357]{grid-template-columns:minmax(0,1fr);display:grid}@media (width<=1023px){.df-aside[data-v-88b35357]{inset-inline:0;z-index:40;overscroll-behavior:contain;max-height:82vh;padding:.875rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--app-surface);visibility:hidden;border-start-start-radius:1.25rem;border-start-end-radius:1.25rem;transition:transform .22s,visibility .22s;position:fixed;bottom:0;overflow-y:auto;transform:translateY(101%);box-shadow:0 -18px 45px -25px #0f172a8c}.df-aside-open[data-v-88b35357]{visibility:visible;transform:translateY(0)}.df-sheet-backdrop[data-v-88b35357]{z-index:39;background:#0f172a73;position:fixed;inset:0}.df-sheet-trigger[data-v-88b35357]{inset-inline-end:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:30;position:fixed}}@media (width>=1024px){.df-sheet-handle[data-v-88b35357],.df-sheet-backdrop[data-v-88b35357],.df-sheet-trigger[data-v-88b35357]{display:none}.df-with-aside[data-v-88b35357]{grid-template-columns:minmax(0,1fr) clamp(19rem,27vw,25rem);align-items:start}.df-aside[data-v-88b35357]{top:calc(var(--df-sticky-top,0px) + var(--df-header-h,0px) + 1rem);max-height:calc(100vh - var(--df-sticky-top,0px) - var(--df-header-h,0px) - 4rem);position:sticky;overflow-y:auto}}@media (width<=639px){.df-form-shell[data-v-88b35357]{border-radius:1rem}.df-header[data-v-88b35357]{border-top-left-radius:1rem;border-top-right-radius:1rem}.df-content-frame[data-v-88b35357]{margin-inline:-.25rem;padding-inline:.9rem}.df-composer[data-v-88b35357]{border-radius:1.15rem}.df-composer .df-header[data-v-88b35357]{border-top-left-radius:1.15rem;border-top-right-radius:1.15rem}}.chart-line[data-v-2bdab40a]{stroke-dasharray:1;stroke-dashoffset:1px}.chart-fill[data-v-2bdab40a],.chart-dot[data-v-2bdab40a]{opacity:0}.revealed .chart-line[data-v-2bdab40a]{animation:1.8s ease-out forwards area-draw-2bdab40a}.revealed .chart-fill[data-v-2bdab40a],.revealed .chart-dot[data-v-2bdab40a]{animation:.9s ease-out 1.2s forwards chart-fade-2bdab40a}@keyframes area-draw-2bdab40a{to{stroke-dashoffset:0}}@keyframes chart-fade-2bdab40a{to{opacity:1}}@media (prefers-reduced-motion:reduce){.chart-line[data-v-2bdab40a],.revealed .chart-line[data-v-2bdab40a]{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.chart-fill[data-v-2bdab40a],.chart-dot[data-v-2bdab40a],.revealed .chart-fill[data-v-2bdab40a],.revealed .chart-dot[data-v-2bdab40a]{opacity:1;animation:none}}.chart-bar[data-v-52cdb6a0]{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}.revealed .chart-bar[data-v-52cdb6a0]{animation:1.2s cubic-bezier(.22,1,.36,1) backwards bar-grow-52cdb6a0;transform:none}@keyframes bar-grow-52cdb6a0{0%{transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){.chart-bar[data-v-52cdb6a0],.revealed .chart-bar[data-v-52cdb6a0]{animation:none;transform:none}}.donut-ring[data-v-592c0200]{transform-box:fill-box;transform-origin:50%;opacity:0}.revealed .donut-ring[data-v-592c0200]{opacity:1;animation:1.4s cubic-bezier(.22,1,.36,1) backwards donut-in-592c0200}.donut-arc[data-v-592c0200]{transition:stroke-opacity .15s,stroke-width .15s}@keyframes donut-in-592c0200{0%{opacity:0;transform:rotate(-70deg)scale(.92)}}@media (prefers-reduced-motion:reduce){.donut-ring[data-v-592c0200],.revealed .donut-ring[data-v-592c0200]{opacity:1;animation:none}}.ranked-bar[data-v-8ef40bc7]{transition:width .9s cubic-bezier(.22,1,.36,1)}.chip-idle[data-v-8ef40bc7]{background:var(--app-surface-muted)}.ranked-row[data-v-8ef40bc7]:hover,.chip-idle[data-v-8ef40bc7]:hover{background:var(--app-surface-muted);color:var(--app-text)}.sort-active[data-v-8ef40bc7]{background:var(--brand-tint-bg);color:var(--brand-tint-text)}.ranked-row-glass[data-v-8ef40bc7]{filter:blur(.4px);opacity:.85;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,#00000059 60%,#0000 100%);mask-image:linear-gradient(#000 0%,#00000059 60%,#0000 100%)}.rank-row-enter-active[data-v-8ef40bc7],.rank-row-leave-active[data-v-8ef40bc7],.rank-row-move[data-v-8ef40bc7]{transition:opacity .6s,transform .7s cubic-bezier(.22,1,.36,1)}.rank-row-enter-active[data-v-8ef40bc7]{transition-delay:var(--enter-delay,0s)}.rank-row-enter-from[data-v-8ef40bc7],.rank-row-leave-to[data-v-8ef40bc7]{opacity:0;transform:translateY(-.75rem)}.rank-row-leave-active[data-v-8ef40bc7]{width:100%;position:absolute}@media (prefers-reduced-motion:reduce){.ranked-bar[data-v-8ef40bc7],.rank-row-enter-active[data-v-8ef40bc7],.rank-row-leave-active[data-v-8ef40bc7],.rank-row-move[data-v-8ef40bc7]{transition:none}}.summary-card[data-v-2eaf9e65]{border-color:color-mix(in srgb, var(--summary-tone) 22%, var(--app-border));background:linear-gradient(135deg, color-mix(in srgb, var(--summary-tone) 7%, var(--app-surface)), var(--app-surface) 70%);box-shadow:0 .8rem 2rem -1.7rem color-mix(in srgb, var(--summary-tone) 55%, transparent)}.summary-card[data-v-2eaf9e65]:hover{border-color:color-mix(in srgb, var(--summary-tone) 45%, var(--app-border));box-shadow:0 1rem 2.3rem -1.55rem color-mix(in srgb, var(--summary-tone) 65%, transparent)}.summary-orb[data-v-2eaf9e65]{background:color-mix(in srgb, var(--summary-tone) 12%, transparent);filter:blur(.2rem);border-radius:999px;block-size:6rem;inline-size:6rem;position:absolute;inset-block-start:-2rem;inset-inline-end:-1.5rem}.summary-icon[data-v-2eaf9e65]{border-radius:.85rem;flex:none;justify-content:center;align-items:center;block-size:2.5rem;inline-size:2.5rem;display:inline-flex}.bfd-grid[data-v-f8afd79a]{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.5rem;display:grid}.ews-count[data-v-5b86d47c]{margin-bottom:.35rem;font-size:.6875rem;font-weight:700;line-height:1.25}.ews-steps[data-v-5b86d47c]{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.ews-step[data-v-5b86d47c]{height:4.25rem;position:relative}.ews-step-upcoming[data-v-5b86d47c],.ews-step-locked[data-v-5b86d47c]{--ews-bg:var(--app-control-bg);--ews-border:var(--app-border);--ews-text:var(--app-muted)}.ews-step-locked[data-v-5b86d47c]{--ews-bg:var(--status-disabled-bg);--ews-border:var(--status-disabled-border);--ews-text:var(--status-disabled-text)}.ews-step-active[data-v-5b86d47c]{--ews-bg:var(--color-brand);--ews-border:var(--color-brand);--ews-text:#fff}.ews-step-done[data-v-5b86d47c]{--ews-bg:var(--status-success-bg);--ews-border:var(--status-success-border);--ews-text:var(--status-success-text)}.ews-step-warning[data-v-5b86d47c]{--ews-bg:var(--status-warning-bg);--ews-border:var(--status-warning-border);--ews-text:var(--status-warning-text)}.ews-step-error[data-v-5b86d47c]{--ews-bg:var(--status-danger-bg);--ews-border:var(--status-danger-border);--ews-text:var(--status-danger-text)}.ews-marker[data-v-5b86d47c]{z-index:1;background:var(--ews-bg);border-color:var(--ews-border);width:1.75rem;height:1.75rem;color:var(--ews-text);transition:background-color var(--motion-normal) ease, border-color var(--motion-normal) ease, color var(--motion-normal) ease, transform var(--motion-fast) ease;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.ews-step-active .ews-marker[data-v-5b86d47c]{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 18%, transparent)}.ews-step[data-v-5b86d47c]:not(.ews-step-first):before{content:"";inset-inline-end:50%;border-top:2px solid var(--app-border);z-index:0;width:100%;position:absolute;top:1.625rem}.ews-step-locked[data-v-5b86d47c]:not(.ews-step-first):before{border-top-style:dashed}.ews-step[data-v-5b86d47c]:not(.ews-step-first):after{content:"";inset-inline-end:50%;border-top:2px solid var(--color-brand);z-index:0;transform-origin:0;width:100%;transition:transform var(--motion-slow) var(--motion-ease);position:absolute;top:1.625rem;transform:scaleX(0)}[dir=rtl]{transform-origin:100%}.ews-step-reached[data-v-5b86d47c]:not(.ews-step-first):after{transform:scaleX(1)}.ews-label[data-v-5b86d47c]{inset-inline:.125rem;color:var(--ews-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700;line-height:1.1rem;position:absolute;top:2.75rem;overflow:hidden}.ews-step-active .ews-label[data-v-5b86d47c]{color:var(--color-brand)}.ews-hit[data-v-5b86d47c]{z-index:3;border-radius:.5rem;position:absolute;inset:0}.ews-step-open .ews-hit[data-v-5b86d47c]{cursor:pointer}.ews-hit[data-v-5b86d47c]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.ews-step-open:hover .ews-marker[data-v-5b86d47c]{transform:translate(-50%)scale(1.12)}.ews-active-label[data-v-5b86d47c]{text-align:center;margin-top:.5rem;font-size:.8125rem;font-weight:700;line-height:1.35rem}@media (width>=640px){.ews-steps[data-v-5b86d47c]{gap:.5rem}.ews-active-label[data-v-5b86d47c]{display:none}}@media (width<=639px){.ews-step[data-v-5b86d47c]{height:2.5rem}.ews-marker[data-v-5b86d47c]{top:.35rem}.ews-step[data-v-5b86d47c]:not(.ews-step-first):before,.ews-step[data-v-5b86d47c]:not(.ews-step-first):after{top:1.225rem}.ews-label[data-v-5b86d47c]{display:none}}@media (prefers-reduced-motion:reduce){.ews-marker[data-v-5b86d47c],.ews-step[data-v-5b86d47c]:after{transition:none}.ews-step-open:hover .ews-marker[data-v-5b86d47c]{transform:translate(-50%)}}.edp-list[data-v-0ae6dc82]{scrollbar-width:thin}.edp-grid[data-v-0ae6dc82]{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.5rem;display:grid}.ebp-grid[data-v-80b5d570]{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.5rem;display:grid}.ecc[data-v-5223f6a9]{min-width:0}.ecc-grid[data-v-5223f6a9]{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.5rem;display:grid}.ecc-card[data-v-5223f6a9]{cursor:pointer;border-width:1px;border-radius:.85rem;align-items:flex-start;gap:.75rem;min-height:4.25rem;padding:.75rem;transition:border-color .15s,background-color .15s;display:flex}.ecc-card[data-v-5223f6a9]:has(input:focus-visible){outline:2px solid var(--color-brand);outline-offset:2px}.ecc-icon[data-v-5223f6a9]{border-radius:.75rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}@media (prefers-reduced-motion:reduce){.ecc-card[data-v-5223f6a9]{transition:none}}.wiz-actions[data-v-2601d08b]{z-index:20;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--app-surface) 78%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-block-start-width:1px;border-start-start-radius:1rem;border-start-end-radius:1rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex;position:sticky;bottom:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.wiz-actions[data-v-2601d08b]{background:var(--app-surface)}}.wiz-button[data-v-2601d08b]{min-height:2.75rem;padding-block:.6rem;padding-inline:1.1rem}@media (width<=479px){.wiz-actions>div[data-v-2601d08b]{width:100%;margin-inline-start:0;display:flex}.wiz-actions>div[data-v-2601d08b]>*{flex:1}.wiz-actions>div>span>button[data-v-2601d08b],.wiz-actions>div>button[data-v-2601d08b]{justify-content:center;width:100%}}.erc[data-v-76e7faf4]{border-inline-start-width:3px}.erc-ready[data-v-76e7faf4]{border-inline-start-color:var(--status-success-border)}.erc-blocked[data-v-76e7faf4]{border-inline-start-color:var(--status-warning-border)}.erc-track[data-v-76e7faf4]{height:.375rem}.erc-fill[data-v-76e7faf4]{transition:width var(--motion-slow) var(--motion-ease)}.erc-gate-open[data-v-76e7faf4]{background:color-mix(in srgb, var(--status-warning-bg) 55%, transparent)}.erc-gates[data-v-76e7faf4]{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.5rem;display:grid}@media (prefers-reduced-motion:reduce){.erc-fill[data-v-76e7faf4]{transition:none}}.esg[data-v-2b321db3]{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.75rem;display:grid}.esl-up[data-v-7575688f]{transform:rotate(180deg)}.esl-rows>li[data-v-7575688f]:last-child{border-bottom-width:0}.composer-strip[data-v-759e1e8e]{background:linear-gradient(115deg, color-mix(in srgb, var(--color-brand) 92%, #06192d), color-mix(in srgb, var(--color-brand-dark) 72%, #102f4d))}.card-move[data-v-3ae32c5a]{transition:transform .25s}.card-enter-active[data-v-3ae32c5a],.card-leave-active[data-v-3ae32c5a]{transition:opacity .2s,transform .2s}.card-enter-from[data-v-3ae32c5a],.card-leave-to[data-v-3ae32c5a]{opacity:0;transform:translateY(4px)}.studio-mark[data-v-e47c2897]{border:1px solid #0000;border-radius:.6rem;flex:none;place-items:center;width:1.65rem;height:1.65rem;display:grid}.studio-mark-complete[data-v-e47c2897]{color:var(--status-success-text);background:var(--status-success-bg);border-color:var(--status-success-border)}.studio-mark-pending[data-v-e47c2897]{color:var(--status-warning-text);background:var(--status-warning-bg);border-color:var(--status-warning-border)}.studio-mark-optional[data-v-e47c2897]{color:var(--app-muted);background:var(--app-surface-muted);border-style:dashed;border-color:var(--app-border)}.lp{align-items:start;gap:1.25rem;padding:1rem;display:grid}.lp-controls{align-content:start;gap:1.25rem;min-width:0;display:grid}@media (width>=1180px){.lp{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem)}.lp-preview{position:sticky;top:1rem}}.lp-modes{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;display:grid}.lp-mode{text-align:start;color:var(--app-text);border:1px solid var(--app-border);background:var(--app-surface);border-radius:1rem;align-items:flex-start;gap:.75rem;padding:.9rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.lp-mode:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-brand) 45%,var(--app-border));transform:translateY(-.1rem)}.lp-mode[data-selected=true]{border-color:var(--color-brand);background:var(--brand-tint-bg)}.lp-mode:disabled{cursor:not-allowed;opacity:.6}.lp-mode-mark{width:2.25rem;height:2.25rem;color:var(--app-muted);background:var(--app-surface-muted);border-radius:.75rem;flex:none;place-items:center;font-weight:900;display:grid}.lp-mode[data-selected=true] .lp-mode-mark{color:#fff;background:var(--color-brand)}.lp-gates{gap:.5rem;display:grid}.lp-gate{border:1px solid var(--app-border);background:var(--app-surface);border-radius:.9rem;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;transition:border-color .2s,background .2s;display:flex}.lp-gate[data-on=true]{border-color:color-mix(in srgb,var(--color-brand) 35%,var(--app-border));background:color-mix(in srgb,var(--brand-tint-bg) 55%,var(--app-surface))}.lp-number{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.lp-number input{width:7rem}.lp-preview{border:1px dashed color-mix(in srgb,var(--app-text) 20%,var(--app-border));background:var(--app-surface-muted);border-radius:1rem;padding:1rem}.lp-rows{gap:.5rem;display:grid}.lp-row{background:var(--app-surface);border-radius:.75rem;align-items:flex-start;gap:.65rem;padding:.6rem .7rem;display:flex}.lp-badge{text-align:center;min-width:2.75rem;color:var(--status-success-text);background:var(--status-success-bg);border-radius:999px;flex:none;padding:.2rem .45rem;font-size:.65rem;font-weight:900}.lp-row[data-locked=true] .lp-badge{color:var(--status-warning-text);background:var(--status-warning-bg)}@media (width<=639px){.lp{padding:.75rem}.lp-number input{width:100%}}.studio-legend[data-v-df09d4b1]{position:relative}.studio-legend-button[data-v-df09d4b1]{border-radius:.7rem;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.7rem;font-weight:800;display:inline-flex}.studio-legend-list[data-v-df09d4b1]{background:var(--app-surface);border-width:1px;border-radius:.9rem;gap:.5rem;margin-top:.5rem;padding:.7rem;display:grid}.studio-legend-list li[data-v-df09d4b1]{align-items:center;gap:.6rem;font-size:.72rem;line-height:1.6;display:flex}@media (width>=768px){.studio-legend-list[data-v-df09d4b1]{z-index:20;width:max-content;max-width:min(24rem,80vw);box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--app-text) 14%, transparent);position:absolute;inset-inline-end:0}}.course-studio{--studio-gap:clamp(.75rem, 1.4vw, 1.25rem);width:min(100%,96rem);margin-inline:auto;padding-bottom:6rem}.studio-hero{margin-bottom:var(--studio-gap);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-tint-bg) 70%,var(--app-surface)),var(--app-surface) 58%);align-items:center;gap:clamp(.75rem,1.6vw,1.25rem);padding:clamp(1rem,2vw,1.5rem);display:flex;position:relative;overflow:hidden}.studio-hero:before{content:"";background:radial-gradient(circle,color-mix(in srgb,var(--color-brand) 16%,transparent),transparent 68%);pointer-events:none;border-radius:50%;width:22rem;height:22rem;position:absolute;inset-block-start:-40%;inset-inline-start:-6%}.studio-hero>*{position:relative}.studio-eyebrow{color:var(--brand-tint-text);letter-spacing:.08em;font-size:.72rem;font-weight:900}.studio-hero-cover{aspect-ratio:1;border:1px solid var(--app-border);background:var(--app-surface-muted);width:clamp(4rem,7vw,5.5rem);color:var(--brand-tint-text);box-shadow:0 .6rem 1.4rem color-mix(in srgb,var(--app-text) 10%,transparent);border-radius:1.1rem;flex:none;place-items:center;font-size:1.5rem;font-weight:900;display:grid;overflow:hidden}.studio-hero-cover img{object-fit:cover;width:100%;height:100%}.studio-hero-cover small{text-align:center;padding:.25rem;font-size:.6rem;font-weight:700}.studio-chips{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.studio-chip{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);border-radius:999px;padding:.25rem .6rem;font-size:.68rem;font-weight:800}.studio-chip-status{border-color:color-mix(in srgb,var(--brand-tint-text) 35%,var(--app-border));background:var(--brand-tint-bg);color:var(--brand-tint-text)}.studio-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.studio-hero-buttons{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.studio-ring{flex:none;place-items:center;width:4.25rem;height:4.25rem;display:grid;position:relative}.studio-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.studio-ring circle{fill:none;stroke-width:4px;stroke-linecap:round}.studio-ring-track{stroke:color-mix(in srgb,var(--app-text) 12%,transparent)}.studio-ring-value{stroke:var(--color-brand);transition:stroke-dashoffset .5s}.studio-ring-label{color:var(--app-text);font-size:.78rem;font-weight:900;position:absolute}.studio-back-link{border-radius:.75rem;padding:.55rem .8rem;font-size:.72rem;font-weight:800}.studio-save-state{border:1px solid var(--app-border);color:var(--app-text);background:var(--app-surface-muted);border-radius:999px;flex:none;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.72rem;font-weight:800;display:flex}.studio-state-dot{background:var(--status-success-icon);width:.5rem;height:.5rem;box-shadow:0 0 0 .25rem color-mix(in srgb,var(--status-success-icon) 14%,transparent);border-radius:50%}.studio-save-state.is-dirty .studio-state-dot{background:var(--status-warning-icon);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--status-warning-icon) 14%,transparent)}.studio-layout{gap:var(--studio-gap);grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);align-items:start;display:grid}.studio-rail{top:calc(var(--legacy-topbar-min-height,4rem) + 1rem);max-height:calc(100vh - var(--legacy-topbar-min-height,4rem) - 2rem);padding:1rem;position:sticky;overflow-y:auto}.studio-rail-progress{padding:.5rem}.studio-rail-nav{gap:.35rem;display:grid}.studio-rail-group-block{display:contents}.studio-rail-group{color:var(--app-muted);letter-spacing:.06em;margin:.6rem .35rem .15rem;font-size:.65rem;font-weight:900}.studio-step{border:1px solid #0000;border-radius:.9rem;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;padding:.7rem;transition:transform .2s,background .2s,border-color .2s;display:grid;position:relative}.studio-step:hover{color:var(--app-text);background:var(--app-hover);transform:translate(-.2rem)}.studio-step-active{border-color:color-mix(in srgb,var(--brand-tint-text) 30%,var(--app-border));background:var(--brand-tint-bg);box-shadow:0 .7rem 1.6rem color-mix(in srgb,var(--brand-tint-text) 12%,transparent)}.studio-step-index{width:2rem;height:2rem;color:var(--app-text);background:var(--app-surface-muted);border-radius:.7rem;place-items:center;font-size:.75rem;font-weight:900;display:grid}.studio-step-active .studio-step-index{color:#fff;background:var(--color-brand)}.studio-step-done:not(.studio-step-active) .studio-step-index{color:var(--status-success-text);background:var(--status-success-bg)}.studio-error-count{color:#fff;background:var(--status-danger-icon);border-radius:999px;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .3rem;font-size:.65rem;font-weight:900;display:grid}.studio-stage{scroll-margin-block-start:calc(var(--legacy-topbar-min-height,4rem) + 1rem)}.course-studio :focus-visible:not(.app-control){outline:2px solid var(--color-brand);outline-offset:2px}.studio-shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:.5rem;margin-top:.85rem;display:grid}.studio-shortcut{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:.75rem;align-items:center;gap:.6rem;padding:.5rem .7rem;display:flex}.studio-shortcut kbd{border:1px solid var(--app-border);background:var(--app-surface);min-width:2.2rem;color:var(--app-text);text-align:center;white-space:nowrap;border-radius:.45rem;padding:.2rem .45rem;font-family:inherit;font-size:.7rem;font-weight:800;display:inline-block}.studio-keyboard-button{align-items:center;gap:.4rem;display:flex}.studio-stage-heading{flex-wrap:wrap;align-items:center;gap:.8rem;padding:.5rem .35rem 0;display:flex;position:relative}.studio-stage-number{color:#fff;background:linear-gradient(135deg,var(--color-brand),var(--color-brand-dark));width:2.5rem;height:2.5rem;box-shadow:0 .7rem 1.3rem color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.9rem;place-items:center;font-weight:900;display:grid}.studio-section{border:1px solid var(--app-border);background:var(--app-surface);border-radius:1.1rem;transition:border-color .25s,box-shadow .25s,background .25s;overflow:visible}.studio-section:hover{border-color:color-mix(in srgb,var(--app-border) 45%,var(--app-text));box-shadow:0 1rem 2rem color-mix(in srgb,var(--app-text) 7%,transparent)}.studio-section-complete{border-color:var(--status-success-border)}.studio-section-header{border-bottom:1px solid #0000;border-radius:calc(1.1rem - 1px);align-items:center;gap:.7rem;padding:1rem 1.1rem;transition:background .2s,border-color .2s;display:flex}.studio-section-open .studio-section-header{border-bottom-color:var(--app-border);border-end-end-radius:0;border-end-start-radius:0}.studio-section-header:hover{background:var(--app-hover)}.studio-section-toggle{width:2rem;height:2rem;color:var(--app-muted);background:var(--app-surface-muted);border-radius:.65rem;place-items:center;transition:transform .2s,background .2s,color .2s;display:grid}.studio-section-header:hover .studio-section-toggle{color:var(--app-text);background:var(--app-surface)}.studio-section-complete .studio-mark{animation:.35s studio-pop}.studio-more{display:none;position:relative}.studio-more-menu{z-index:40;min-width:12rem;padding:.35rem;display:grid;position:absolute;inset-block-end:calc(100% + .5rem);inset-inline-start:0}.studio-more-item{width:100%;color:var(--app-text);text-align:start;border-radius:.6rem;padding:.6rem .7rem;font-size:.8rem;font-weight:700}.studio-more-item:disabled{opacity:.6}.studio-actions{z-index:30;margin-top:var(--studio-gap);padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom,0px));border-block-start:1px solid color-mix(in srgb,var(--app-border) 70%,transparent);background:color-mix(in srgb,var(--app-surface) 55%,transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);align-items:center;gap:.75rem;display:flex;position:sticky;bottom:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.studio-actions{background:var(--app-surface)}}.studio-review-card{color:var(--app-text);text-align:start;border:1px solid var(--app-border);background:var(--app-surface);border-radius:.9rem;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:1rem;transition:transform .2s,border-color .2s,background .2s;display:grid}.studio-review-card:hover{border-color:color-mix(in srgb,var(--brand-tint-text) 35%,var(--app-border));background:var(--app-hover);transform:translateY(-.15rem)}.studio-review-status{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:1rem;gap:.35rem;padding:1rem 4.5rem 1rem 1rem;display:grid;position:relative;overflow:hidden}.studio-review-status.is-ready{border-color:var(--status-success-border)}.studio-review-status.needs-attention{border-color:var(--status-warning-border)}.studio-publish{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:1rem;padding:1rem}.studio-publish.is-ready{border-color:var(--status-success-border)}.studio-publish.needs-attention{border-color:var(--status-warning-border)}.studio-publish-figure{background:var(--brand-tint-bg);color:var(--brand-tint-text);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:900}.studio-publish-list{color:var(--app-muted);gap:.25rem;margin-top:.4rem;padding-inline-start:1.1rem;font-size:.72rem;line-height:1.9;list-style:outside;display:grid}.studio-review-progress{inset-inline-end:1rem;color:var(--brand-tint-text);font-size:1.25rem;font-weight:900;position:absolute;top:50%;transform:translateY(-50%)}.studio-real-preview{border:1px solid color-mix(in srgb,var(--brand-tint-text) 24%,var(--app-border));background:color-mix(in srgb,var(--brand-tint-bg) 45%,var(--app-surface));border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem;display:flex}.studio-errors{border:1px solid var(--status-danger-border);background:var(--status-danger-bg);border-radius:1rem;padding:1rem}.studio-error-link{width:100%;color:var(--app-text);text-align:start;background:var(--app-surface);border-radius:.65rem;justify-content:space-between;gap:1rem;margin-top:.6rem;padding:.65rem;font-size:.75rem;transition:background .2s;display:flex}.studio-error-link:hover{background:var(--status-danger-hover)}.studio-error-link small{color:var(--status-danger-text)}.studio-stage-enter-active,.studio-stage-leave-active{transition:opacity .18s,transform .22s}.studio-stage-enter-from{opacity:0;transform:translate(-.75rem)}.studio-stage-leave-to{opacity:0;transform:translate(.5rem)}@keyframes studio-pop{50%{box-shadow:0 0 0 .45rem color-mix(in srgb,var(--status-success-icon) 12%,transparent);transform:scale(1.18)}}@media (width<=767px){.studio-hero{flex-wrap:wrap;align-items:flex-start}.studio-hero-actions{justify-content:space-between;width:100%}.studio-hero-buttons{align-items:flex-end}.studio-layout{grid-template-columns:1fr}.studio-rail{gap:.5rem;max-height:none;padding:.55rem;display:flex;position:relative;top:auto;overflow:auto}.studio-rail-progress{display:none}.studio-rail-nav{min-width:max-content;margin:0;display:flex}.studio-rail-group{display:none}.studio-step{grid-template-columns:2rem auto;width:auto}.studio-step small,.studio-error-count{display:none}.studio-actions{overflow:visible}.studio-secondary{display:none}.studio-more{display:block}.studio-real-preview{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.course-studio *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.course-map__viewport[data-v-352f21b4]{background:var(--map-surface-sunken);width:100%;height:100%;position:relative;overflow:hidden}.course-map__world[data-v-352f21b4]{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.course-map__artwork[data-v-352f21b4]{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.course-map__artwork--dark[data-v-352f21b4],.dark .course-map__artwork--light[data-v-352f21b4]{opacity:0}.dark .course-map__artwork--dark[data-v-352f21b4]{opacity:1}.course-map__notice[data-v-352f21b4]{inset-inline-start:50%;border:1px solid var(--map-border);background:var(--map-surface);color:var(--map-text-muted);box-shadow:var(--map-shadow);border-radius:999px;padding:.35rem .9rem;font-size:.75rem;position:absolute;top:1rem;translate:-50%}.course-map__notice--warning[data-v-352f21b4]{color:color-mix(in srgb, var(--map-gold) 80%, var(--map-text));border-color:color-mix(in srgb, var(--map-gold) 55%, var(--map-border));background:color-mix(in srgb, var(--map-gold) 14%, var(--map-surface))}.journey-path[data-v-8a73d970]{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.journey-path__shadow[data-v-8a73d970],.journey-path__road[data-v-8a73d970],.journey-path__glow[data-v-8a73d970],.journey-path__travelled[data-v-8a73d970]{fill:none;stroke-linecap:round;stroke-linejoin:round}.journey-path__shadow[data-v-8a73d970]{stroke:#0f172a47;stroke-width:26px}.journey-path__road[data-v-8a73d970]{stroke:color-mix(in srgb, var(--map-parchment-light) 78%, transparent);stroke-width:14px;stroke-dasharray:34 30}.journey-path__glow[data-v-8a73d970]{stroke:color-mix(in srgb, var(--map-gold) 45%, transparent);stroke-width:40px}.journey-path__travelled[data-v-8a73d970]{stroke:var(--map-gold);stroke-width:18px}.dark .journey-path__shadow[data-v-8a73d970]{stroke:#00000080}.dark .journey-path__road[data-v-8a73d970]{stroke:color-mix(in srgb, var(--map-parchment) 62%, transparent)}.journey-node[data-v-2dbe4c7b]{align-items:center;gap:calc(var(--node-size) * .12);cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex;position:absolute;translate:-50% -50%}.journey-node__ring[data-v-2dbe4c7b]{inline-size:var(--node-size);block-size:var(--node-size);padding:calc(var(--node-size) * .075);background:conic-gradient(var(--map-gold) var(--node-progress), color-mix(in srgb, var(--map-surface-sunken) 80%, transparent) 0);border-radius:999px;place-items:center;transition:scale .15s;display:grid;box-shadow:0 3px 10px #0f172a73}.journey-node:hover .journey-node__ring[data-v-2dbe4c7b],.journey-node:focus-visible .journey-node__ring[data-v-2dbe4c7b]{scale:1.1}.journey-node[data-v-2dbe4c7b]:focus-visible{outline:none}.journey-node:focus-visible .journey-node__ring[data-v-2dbe4c7b]{outline:3px solid var(--map-gold);outline-offset:3px}.journey-node__disc[data-v-2dbe4c7b]{border:calc(var(--node-size) * .03) solid var(--map-surface);background:var(--map-surface);block-size:100%;inline-size:100%;color:var(--map-text-muted);border-radius:999px;place-items:center;display:grid}.journey-node__label[data-v-2dbe4c7b]{-webkit-line-clamp:2;line-clamp:2;max-inline-size:calc(var(--node-size) * 3.2);border-radius:calc(var(--node-size) * .14);padding:calc(var(--node-size) * .05) calc(var(--node-size) * .15);background:color-mix(in srgb, var(--map-surface) 90%, transparent);color:var(--map-text);font-size:calc(var(--node-size) * .26);text-align:center;-webkit-box-orient:vertical;font-weight:700;line-height:1.55;display:-webkit-box;overflow:hidden;box-shadow:0 2px 8px #0f172a59}.journey-node--available .journey-node__disc[data-v-2dbe4c7b],.journey-node--not_started .journey-node__disc[data-v-2dbe4c7b]{color:var(--map-accent)}.journey-node--in_progress .journey-node__disc[data-v-2dbe4c7b]{background:color-mix(in srgb, var(--map-gold) 20%, var(--map-surface));color:color-mix(in srgb, var(--map-gold) 82%, var(--map-text))}.journey-node--completed .journey-node__disc[data-v-2dbe4c7b]{background:var(--map-success);color:#fff}.journey-node--current .journey-node__ring[data-v-2dbe4c7b]{box-shadow:0 3px 10px #0f172a73, 0 0 0 calc(var(--node-size) * .1) color-mix(in srgb, var(--map-gold) 30%, transparent)}.journey-node--current .journey-node__disc[data-v-2dbe4c7b]{background:var(--map-gold);color:#fff}.journey-node--locked[data-v-2dbe4c7b]{opacity:.55}.journey-node--locked .journey-node__ring[data-v-2dbe4c7b]{border:calc(var(--node-size) * .05) dashed var(--map-text-muted);box-shadow:none;background:0 0}.journey-node--locked .journey-node__disc[data-v-2dbe4c7b]{background:var(--map-surface-sunken);color:var(--map-text-muted);filter:saturate(.35)}.journey-node--locked .journey-node__label[data-v-2dbe4c7b]{font-weight:400}@media (prefers-reduced-motion:reduce){.journey-node__ring[data-v-2dbe4c7b]{transition:none}}.map-faces[data-v-a31897f2]{align-items:center;margin-inline-start:calc(var(--face-size) * -.25);display:flex}.map-faces__face[data-v-a31897f2]{width:var(--face-size);height:var(--face-size);border:2px solid var(--map-surface);background:var(--map-surface-sunken);color:var(--map-text);font-size:calc(var(--face-size) * .4);border-radius:999px;flex:none;place-items:center;margin-inline-start:calc(var(--face-size) * -.28);font-weight:700;display:grid;overflow:hidden;box-shadow:0 2px 6px #0f172a4d}.map-faces__face img[data-v-a31897f2]{object-fit:cover;width:100%;height:100%}.map-faces__more[data-v-a31897f2]{border:2px solid var(--map-surface);background:var(--map-text);color:var(--map-surface-sunken);padding:0 calc(var(--face-size) * .22);font-size:calc(var(--face-size) * .36);font-weight:700;line-height:calc(var(--face-size) * .9);white-space:nowrap;border-radius:999px;margin-inline-start:calc(var(--face-size) * -.16)}.map-landmark[data-v-e3fe6ee1]{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;translate:-50% -50%}.map-landmark__disc[data-v-e3fe6ee1]{width:var(--landmark-size);height:var(--landmark-size);border:calc(var(--landmark-size) * .055) solid var(--map-surface);border-radius:999px;place-items:center;display:grid;box-shadow:0 8px 20px #0f172a66}.map-landmark--start .map-landmark__disc[data-v-e3fe6ee1]{background:var(--map-accent);color:#fff}.map-landmark--finish .map-landmark__disc[data-v-e3fe6ee1]{background:var(--map-gold);color:#fff}.map-landmark__plate[data-v-e3fe6ee1]{max-width:calc(var(--landmark-size) * 3.4);border-radius:calc(var(--landmark-size) * .11);border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 92%, transparent);padding:calc(var(--landmark-size) * .07) calc(var(--landmark-size) * .14);text-align:center;box-shadow:0 4px 10px #0f172a40}.map-landmark__line[data-v-e3fe6ee1]{justify-content:center;align-items:baseline;gap:calc(var(--landmark-size) * .08);white-space:nowrap;display:flex}.map-landmark__title[data-v-e3fe6ee1]{color:var(--map-text);font-size:calc(var(--landmark-size) * .19);font-weight:700;line-height:1.6}.map-landmark__count[data-v-e3fe6ee1]{background:color-mix(in srgb, var(--map-gold) 22%, transparent);color:color-mix(in srgb, var(--map-gold) 85%, var(--map-text));padding:0 calc(var(--landmark-size) * .1);font-size:calc(var(--landmark-size) * .155);border-radius:999px;font-weight:700}.map-landmark__faces[data-v-e3fe6ee1]{justify-content:center;margin-block-start:calc(var(--landmark-size) * .07)}.learner-marker[data-v-c522373c]{z-index:3;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;translate:-50% -50%}.learner-marker__pin[data-v-c522373c]{border:4px solid var(--map-accent);background:var(--map-surface);width:54px;height:54px;color:var(--map-accent);box-shadow:0 0 0 8px color-mix(in srgb, var(--map-accent) 22%, transparent), 0 6px 14px #0f172a66;border-radius:999px;place-items:center;animation:3s ease-in-out infinite learner-marker-bob-c522373c;display:grid;overflow:hidden}.learner-marker__pin img[data-v-c522373c]{object-fit:cover;width:100%;height:100%}.learner-marker__badge[data-v-c522373c]{background:var(--map-accent);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}@keyframes learner-marker-bob-c522373c{50%{translate:0 -5px}}@media (prefers-reduced-motion:reduce){.learner-marker__pin[data-v-c522373c]{animation:none}}.map-controls[data-v-a07d08c2]{z-index:5;border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 90%, transparent);box-shadow:var(--map-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:.25rem;padding:.3rem;display:flex;position:absolute;inset-block-end:.75rem;inset-inline-end:.75rem}.map-controls__button[data-v-a07d08c2]{min-width:2.25rem;min-height:2.25rem;color:var(--map-text);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.map-controls__button[data-v-a07d08c2]:hover{background:color-mix(in srgb, var(--map-gold) 16%, transparent);color:var(--map-gold)}.map-controls__button[data-v-a07d08c2]:focus-visible{outline:2px solid var(--map-gold);outline-offset:1px}.map-legend[data-v-aa9cae8b]{z-index:5;border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 90%, transparent);max-width:min(16rem,60vw);box-shadow:var(--map-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:.75rem;position:absolute;inset-block-end:.75rem;inset-inline-start:.75rem}.map-legend__summary[data-v-aa9cae8b]{color:var(--map-text);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.75rem;list-style:none;display:flex}.map-legend__summary[data-v-aa9cae8b]::-webkit-details-marker{display:none}.map-legend__summary[data-v-aa9cae8b]:focus-visible{outline:2px solid var(--map-gold);outline-offset:1px;border-radius:.75rem}.map-legend__list[data-v-aa9cae8b]{border-top:1px solid color-mix(in srgb, var(--map-gold) 24%, transparent);gap:.35rem;padding:.55rem .7rem;display:grid}.map-legend__row[data-v-aa9cae8b]{color:var(--map-text-muted);align-items:center;gap:.45rem;font-size:.72rem;display:flex}.map-legend__chip[data-v-aa9cae8b]{border:2px solid var(--map-border);background:color-mix(in srgb, var(--map-surface-sunken) 60%, transparent);width:1.1rem;height:1.1rem;color:var(--map-text-muted);border-radius:999px;place-items:center;display:grid}.map-legend__chip--available[data-v-aa9cae8b],.map-legend__chip--not_started[data-v-aa9cae8b]{border-color:color-mix(in srgb, var(--map-accent) 55%, var(--map-border));color:var(--map-accent)}.map-legend__chip--in_progress[data-v-aa9cae8b]{border-color:color-mix(in srgb, var(--map-gold) 50%, var(--map-border));color:var(--map-gold)}.map-legend__chip--completed[data-v-aa9cae8b]{border-color:color-mix(in srgb, var(--map-success) 60%, var(--map-border));color:var(--map-success)}.map-legend__chip--current[data-v-aa9cae8b]{border-color:var(--map-gold);background:var(--map-gold);color:#2b2118}.map-legend__chip--locked[data-v-aa9cae8b]{filter:saturate(.5);border-style:dashed}@media (width<=34rem){.map-legend[data-v-aa9cae8b]{inset-block-end:3.9rem}}.map-overview[data-v-d6a6d0a8]{z-index:6;border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 94%, transparent);inline-size:clamp(13rem,19vw,16.5rem);box-shadow:var(--map-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.9rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;position:absolute;inset-block-start:clamp(4.5rem,14vh,8rem);inset-inline-start:.75rem}.map-overview--closed[data-v-d6a6d0a8]{inline-size:auto;padding:.3rem}.map-overview__head[data-v-d6a6d0a8]{align-items:center;gap:.4rem;display:flex}.map-overview__title[data-v-d6a6d0a8]{color:var(--map-text);flex:auto;font-size:.82rem;font-weight:700;line-height:1.7}.map-overview__toggle[data-v-d6a6d0a8]{border:1px solid var(--map-border);block-size:1.85rem;inline-size:1.85rem;color:var(--map-text-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;place-items:center;display:grid}.map-overview__toggle[data-v-d6a6d0a8]:hover{border-color:var(--map-gold);color:var(--map-gold)}.map-overview__toggle[data-v-d6a6d0a8]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}.map-overview__rows[data-v-d6a6d0a8]{gap:.35rem;display:grid}.map-overview__row[data-v-d6a6d0a8]{background:color-mix(in srgb, var(--map-surface-sunken) 55%, transparent);border-radius:.55rem;align-items:center;gap:.45rem;padding:.35rem .45rem;display:flex}.map-overview__icon[data-v-d6a6d0a8]{color:#fff;border-radius:.5rem;flex:none;place-items:center;block-size:1.7rem;inline-size:1.7rem;display:grid}.map-overview__icon--accent[data-v-d6a6d0a8]{background:var(--map-accent)}.map-overview__icon--gold[data-v-d6a6d0a8]{background:var(--map-gold)}.map-overview__icon--success[data-v-d6a6d0a8]{background:var(--map-success)}.map-overview__value[data-v-d6a6d0a8]{color:var(--map-text);flex:none;font-size:.9rem;font-weight:700}.map-overview__label[data-v-d6a6d0a8]{min-inline-size:0;color:var(--map-text-muted);text-align:end;flex:auto;font-size:.68rem;line-height:1.7}.map-overview__link[data-v-d6a6d0a8]{border:1px solid var(--map-border);color:var(--map-text-muted);border-radius:.55rem;justify-content:center;align-items:center;gap:.3rem;min-block-size:2rem;font-size:.7rem;display:inline-flex}.map-overview__link[data-v-d6a6d0a8]:hover{border-color:var(--map-gold);color:var(--map-gold)}.map-overview__link[data-v-d6a6d0a8]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}@media (width<=60rem){.map-overview[data-v-d6a6d0a8]{inline-size:clamp(11rem,60vw,15rem);inset-block-start:.5rem;inset-inline-start:.5rem}}.stage-panel[data-v-d871ae29]{z-index:6;border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 94%, transparent);max-block-size:min(70vh,34rem);inline-size:clamp(16rem,24vw,21rem);box-shadow:var(--map-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.9rem;flex-direction:column;gap:.55rem;padding:.85rem;display:flex;position:absolute;inset-block-start:clamp(4.5rem,14vh,8rem);inset-inline-end:.75rem}.stage-panel__head[data-v-d871ae29]{align-items:flex-start;gap:.5rem;display:flex}.stage-panel__identity[data-v-d871ae29]{flex:auto;min-inline-size:0}.stage-panel__title[data-v-d871ae29]{color:var(--map-text);font-size:.92rem;font-weight:700;line-height:1.7}.stage-panel__progress-text[data-v-d871ae29]{color:var(--map-text-muted);font-size:.72rem;line-height:1.8}.stage-panel__progress-text b[data-v-d871ae29]{color:var(--map-gold)}.stage-panel__close[data-v-d871ae29]{border:1px solid var(--map-border);block-size:1.85rem;inline-size:1.85rem;color:var(--map-text-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;place-items:center;display:grid}.stage-panel__close[data-v-d871ae29]:hover{border-color:var(--map-gold);color:var(--map-gold)}.stage-panel__close[data-v-d871ae29]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}.stage-panel__meter[data-v-d871ae29]{background:var(--map-surface-sunken);border-radius:999px;block-size:.4rem;overflow:hidden}.stage-panel__meter-fill[data-v-d871ae29]{background:var(--map-gold);border-radius:999px;block-size:100%;transition:inline-size .24s;display:block}.stage-panel__facts[data-v-d871ae29]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.stage-panel__fact dt[data-v-d871ae29]{color:var(--map-text-muted);align-items:center;gap:.2rem;font-size:.64rem;line-height:1.8;display:flex}.stage-panel__fact dd[data-v-d871ae29]{color:var(--map-text);font-size:.72rem;font-weight:700;line-height:1.7}.stage-panel__state--current[data-v-d871ae29],.stage-panel__state--in_progress[data-v-d871ae29]{color:var(--map-gold)}.stage-panel__state--completed[data-v-d871ae29]{color:var(--map-success)}.stage-panel__state--locked[data-v-d871ae29]{color:var(--map-text-muted)}.stage-panel__note[data-v-d871ae29]{color:var(--map-text-muted);font-size:.66rem;line-height:1.8}.stage-panel__list-title[data-v-d871ae29]{border-block-start:1px solid color-mix(in srgb, var(--map-border) 70%, transparent);color:var(--map-text-muted);padding-block-start:.5rem;font-size:.7rem}.stage-panel__list[data-v-d871ae29]{overscroll-behavior:contain;flex:auto;gap:.15rem;min-block-size:0;display:grid;overflow-y:auto}.stage-panel__item[data-v-d871ae29]{text-align:start;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.45rem;min-block-size:2.2rem;inline-size:100%;padding-inline:.4rem;display:flex}.stage-panel__item[data-v-d871ae29]:hover{background:color-mix(in srgb, var(--map-gold) 10%, transparent)}.stage-panel__item[data-v-d871ae29]:focus-visible{outline:2px solid var(--map-gold);outline-offset:1px}.stage-panel__item--selected[data-v-d871ae29]{border-color:color-mix(in srgb, var(--map-gold) 55%, transparent);background:color-mix(in srgb, var(--map-gold) 14%, transparent)}.stage-panel__mark[data-v-d871ae29]{border:1px solid var(--map-border);block-size:1.15rem;inline-size:1.15rem;color:var(--map-text-muted);border-radius:999px;flex:none;place-items:center;display:grid}.stage-panel__mark--completed[data-v-d871ae29]{background:var(--map-success);color:#fff;border-color:#0000}.stage-panel__mark--current[data-v-d871ae29]{background:var(--map-gold);color:#fff;border-color:#0000}.stage-panel__mark--in_progress[data-v-d871ae29]{border-color:var(--map-gold);color:var(--map-gold)}.stage-panel__item-title[data-v-d871ae29]{min-inline-size:0;color:var(--map-text);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.74rem;line-height:1.7;overflow:hidden}.stage-panel__item-duration[data-v-d871ae29]{color:var(--map-text-muted);flex:none;font-size:.66rem}.stage-panel__continue[data-v-d871ae29]{background:var(--map-gold);color:var(--map-umber,#2b2118);cursor:pointer;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:.35rem;min-block-size:2.4rem;font-size:.78rem;font-weight:700;display:flex}.stage-panel__continue[data-v-d871ae29]:hover{filter:brightness(1.06)}.stage-panel__continue[data-v-d871ae29]:focus-visible{outline:2px solid var(--map-text);outline-offset:2px}@media (width<=60rem){.stage-panel[data-v-d871ae29]{max-block-size:55vh;inline-size:auto;inset-block:auto .5rem;inset-inline:.5rem}}@media (prefers-reduced-motion:reduce){.stage-panel__meter-fill[data-v-d871ae29]{transition:none}}.neighbour-bar[data-v-1a529606]{z-index:6;border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface) 94%, transparent);max-inline-size:min(38rem,100% - 1.5rem);box-shadow:var(--map-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.9rem;gap:.5rem;padding:.7rem .85rem;display:grid;position:absolute;inset-block-end:.75rem;inset-inline-start:50%;translate:50%}.neighbour-bar__title[data-v-1a529606]{color:var(--map-text);text-align:center;font-size:.76rem;font-weight:700;line-height:1.7}.neighbour-bar__people[data-v-1a529606]{overscroll-behavior-inline:contain;scrollbar-width:none;justify-content:center;align-items:flex-start;gap:.75rem;display:flex;overflow-x:auto}.neighbour-bar__people[data-v-1a529606]::-webkit-scrollbar{display:none}.neighbour-bar__person[data-v-1a529606]{flex:none;justify-items:center;gap:.2rem;inline-size:4.2rem;display:grid}.neighbour-bar__face[data-v-1a529606]{border:2px solid var(--map-border);background:var(--map-surface-sunken);block-size:2.4rem;inline-size:2.4rem;color:var(--map-text);border-radius:999px;place-items:center;font-size:.85rem;font-weight:700;display:grid;overflow:hidden}.neighbour-bar__face img[data-v-1a529606]{object-fit:cover;block-size:100%;inline-size:100%}.neighbour-bar__name[data-v-1a529606]{max-inline-size:100%;color:var(--map-text);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.6;overflow:hidden}.neighbour-bar__relation[data-v-1a529606]{color:var(--map-text-muted);text-align:center;font-size:.62rem;line-height:1.6}.neighbour-bar__relation--ahead[data-v-1a529606]{color:var(--map-gold)}.neighbour-bar__relation--behind[data-v-1a529606]{color:var(--map-accent)}.lesson-modal[data-v-67e10d99]{gap:.7rem;display:grid}.lesson-modal__summary[data-v-67e10d99]{color:var(--map-text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.74rem;line-height:1.8;display:flex}.lesson-modal__state--completed[data-v-67e10d99]{color:var(--map-success)}.lesson-modal__state--current[data-v-67e10d99],.lesson-modal__state--in_progress[data-v-67e10d99]{color:var(--map-gold)}.lesson-modal__list[data-v-67e10d99]{overscroll-behavior:contain;gap:.3rem;max-block-size:min(55vh,24rem);display:grid;overflow-y:auto}.lesson-modal__item[data-v-67e10d99]{border:1px solid color-mix(in srgb, var(--map-border) 70%, transparent);background:color-mix(in srgb, var(--map-surface-sunken) 45%, transparent);border-radius:.55rem;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.lesson-modal__mark[data-v-67e10d99]{border:1px solid var(--map-border);block-size:1.25rem;inline-size:1.25rem;color:var(--map-text-muted);border-radius:999px;flex:none;place-items:center;display:grid}.lesson-modal__mark--completed[data-v-67e10d99]{background:var(--map-success);color:#fff;border-color:#0000}.lesson-modal__mark--current[data-v-67e10d99]{background:var(--map-gold);color:#fff;border-color:#0000}.lesson-modal__mark--in_progress[data-v-67e10d99]{border-color:var(--map-gold);color:var(--map-gold)}.lesson-modal__body[data-v-67e10d99]{flex:auto;gap:.05rem;min-inline-size:0;display:grid}.lesson-modal__title[data-v-67e10d99]{color:var(--map-text);font-size:.78rem;font-weight:700;line-height:1.7}.lesson-modal__meta[data-v-67e10d99]{color:var(--map-text-muted);font-size:.68rem;line-height:1.7}.lesson-modal__warning[data-v-67e10d99]{color:var(--map-gold)}.lesson-modal__open[data-v-67e10d99]{border:1px solid var(--map-border);color:var(--map-text-muted);border-radius:.45rem;flex:none;align-items:center;min-block-size:1.9rem;padding-inline:.55rem;font-size:.68rem;display:inline-flex}.lesson-modal__open[data-v-67e10d99]:hover{border-color:var(--map-gold);color:var(--map-gold)}.lesson-modal__open[data-v-67e10d99]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}.course-map[data-v-eaed55c4]{border:1px solid var(--app-border);background:var(--app-surface);height:clamp(26rem,68vh,46rem);box-shadow:var(--app-shadow);border-radius:1rem;position:relative;overflow:hidden}.course-map--fill[data-v-eaed55c4]{height:100%;box-shadow:none;border:0;border-radius:0}.course-map--fullscreen[data-v-eaed55c4]{z-index:60;border:0;border-radius:0;height:100%;position:fixed;inset:0}.map-stage[data-v-bb5bbdc0]{z-index:45;background:var(--app-bg);position:fixed;inset:0}.map-stage__world[data-v-bb5bbdc0]{position:absolute;inset:0}.map-hud[data-v-bb5bbdc0]{z-index:6;border-block-end:1px solid color-mix(in srgb, var(--map-border) 60%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--map-surface) 94%, transparent), color-mix(in srgb, var(--map-surface) 76%, transparent));color:var(--map-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:.5rem;padding:.6rem clamp(.6rem,2vw,1rem);padding-block-start:max(.6rem, env(safe-area-inset-top,0));display:grid;position:absolute;inset-block-start:0;inset-inline:0;box-shadow:0 6px 18px -10px #1f1b178c}.map-hud__row[data-v-bb5bbdc0]{align-items:center;gap:.6rem;display:flex}.map-hud__back[data-v-bb5bbdc0]{border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface-sunken) 60%, transparent);color:var(--map-text);border-radius:999px;flex:none;align-items:center;gap:.3rem;min-block-size:2.1rem;padding-inline:.7rem;font-size:.75rem;transition:border-color .15s,color .15s;display:inline-flex}.map-hud__back[data-v-bb5bbdc0]:hover{border-color:var(--map-gold);color:var(--map-gold)}.map-hud__back[data-v-bb5bbdc0]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}.map-hud__identity[data-v-bb5bbdc0]{flex:auto;min-inline-size:0}.map-hud__title[data-v-bb5bbdc0]{color:var(--map-text);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;line-height:1.7;overflow:hidden}.map-hud__subtitle[data-v-bb5bbdc0]{color:var(--map-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.7;overflow:hidden}.map-hud__toggle[data-v-bb5bbdc0]{border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface-sunken) 60%, transparent);block-size:2.1rem;inline-size:2.1rem;color:var(--map-text-muted);cursor:pointer;border-radius:999px;flex:none;place-items:center;transition:border-color .15s,color .15s;display:grid}.map-hud__toggle[data-v-bb5bbdc0]:hover,.map-hud__toggle[aria-expanded=true][data-v-bb5bbdc0]{border-color:var(--map-gold);color:var(--map-gold)}.map-hud__toggle[data-v-bb5bbdc0]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}.map-hud__drawer[data-v-bb5bbdc0]{border-block-start:1px solid color-mix(in srgb, var(--map-gold) 24%, transparent);gap:.5rem;padding-block-start:.55rem;display:grid}.map-hud__field[data-v-bb5bbdc0]{gap:.3rem;max-inline-size:26rem;display:grid}.map-hud__label[data-v-bb5bbdc0]{color:var(--map-text-muted);align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.map-hud__note[data-v-bb5bbdc0]{color:var(--map-text-muted);font-size:.72rem;line-height:1.9}.map-hud__note b[data-v-bb5bbdc0]{color:var(--map-text)}.map-hud__links[data-v-bb5bbdc0]{flex-wrap:wrap;gap:.4rem;display:flex}.map-hud__link[data-v-bb5bbdc0]{border:1px solid var(--map-border);background:color-mix(in srgb, var(--map-surface-sunken) 55%, transparent);color:var(--map-text-muted);border-radius:.5rem;align-items:center;min-block-size:2rem;padding-inline:.65rem;font-size:.72rem;transition:border-color .15s,color .15s;display:inline-flex}.map-hud__link[data-v-bb5bbdc0]:hover{border-color:var(--map-gold);color:var(--map-gold)}.map-hud__link[data-v-bb5bbdc0]:focus-visible{outline:2px solid var(--map-gold);outline-offset:2px}@media (width<=52rem){.map-hud__row[data-v-bb5bbdc0]{flex-wrap:wrap}.map-hud__back-text[data-v-bb5bbdc0]{display:none}}@media (prefers-reduced-motion:reduce){.map-hud__back[data-v-bb5bbdc0],.map-hud__toggle[data-v-bb5bbdc0],.map-hud__link[data-v-bb5bbdc0]{transition:none}}.pipe-num[data-v-ff7dfac2]{border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.pipe-ref[data-v-ff7dfac2]{background:color-mix(in srgb, currentColor 8%, transparent);color:inherit;opacity:.75;direction:ltr;unicode-bidi:isolate;border-radius:.25rem;margin-top:.25rem;padding:.0625rem .375rem;font-size:.625rem;line-height:1.4;display:inline-block}.pipe-head[data-v-ff7dfac2]{font-size:.625rem;line-height:1}
