:root{--t-bg: oklch(97% .018 150);--t-bg-wash-jade: oklch(88% .07 160 / .55);--t-bg-wash-rice: oklch(90% .08 80 / .5);--t-bg-wash-bamboo: oklch(86% .07 145 / .55);--t-accent: oklch(65% .2 30);--t-accent-from: oklch(72% .19 40);--t-accent-to: oklch(60% .22 22);--t-accent-soft: oklch(94% .04 35);--t-accent-line: oklch(70% .18 32);--t-jade: oklch(55% .14 170);--t-jade-soft: oklch(92% .04 160);--t-ink: oklch(22% .04 200);--t-ink-2: oklch(45% .04 200);--t-ink-3: oklch(62% .03 200);--t-line: oklch(88% .02 170);--t-card: oklch(99% .005 90);--t-shadow-soft: 0 8px 22px oklch(45% .1 150 / .1);--t-shadow-card: 0 6px 16px oklch(45% .1 150 / .08);--t-shadow-cta: 0 14px 28px oklch(55% .2 30 / .28);--t-accent-ink: oklch(43% .14 30);--t-jade-ink: oklch(36% .08 170);--t-success: var(--t-jade-ink);--t-error: oklch(43% .15 28);--t-control: oklch(58% .035 170);--t-radius-card: 20px;--t-radius-control: 12px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;font-family:var(--font-sans);color:var(--t-ink);background:var(--t-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}::selection{background:var(--t-jade-soft);color:var(--t-ink)}main.student-app .student-progress-panel,main.staff-page :is(.access-panel,.scan-panel,.result-panel){border-radius:var(--t-radius-card)}main.student-app .student-button,main.staff-page :is(button,select,textarea){border-radius:var(--t-radius-control)}.login-panel[data-v-34596e7b]{--login-primary: var(--t-accent);--login-ink: var(--t-ink);--login-border: var(--t-line);box-sizing:border-box;width:100%;color:var(--login-ink);background:var(--t-card);padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--login-border);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card);font-family:var(--font-sans)}.login-eyebrow[data-v-34596e7b]{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--t-accent-ink);margin:0 0 .75rem}h2[data-v-34596e7b]{font-size:clamp(1.5rem,4vw,2rem);line-height:1.3;margin:0}.login-description[data-v-34596e7b]{color:var(--t-ink-2);line-height:1.7;margin:.75rem 0 1.75rem;text-wrap:pretty}form[data-v-34596e7b]{display:grid;gap:.65rem}label[data-v-34596e7b]{font-weight:650}input[data-v-34596e7b]{box-sizing:border-box;width:100%;min-height:48px;padding:.7rem .9rem;border:1px solid var(--t-control);border-radius:var(--t-radius-control);font:inherit;color:inherit;background:var(--t-card)}input[readonly][data-v-34596e7b]{background:var(--t-bg)}input[aria-invalid=true][data-v-34596e7b]{border-color:var(--t-error)}button[data-v-34596e7b]{min-height:44px;font:inherit;border-radius:var(--t-radius-control);cursor:pointer;padding:.65rem 1rem;transition:background-color .15s ease}button[data-v-34596e7b]:disabled{cursor:default;opacity:.65}button[data-v-34596e7b]:focus-visible,input[data-v-34596e7b]:focus-visible,[tabindex][data-v-34596e7b]:focus-visible{outline:3px solid var(--t-jade);outline-offset:3px}.login-primary[data-v-34596e7b]{border:1px solid var(--login-primary);background:var(--login-primary);color:var(--t-ink);font-weight:750}.login-primary[data-v-34596e7b]:hover:not(:disabled){background:var(--t-accent-from)}.login-primary[data-v-34596e7b]:active:not(:disabled){background:var(--t-accent)}.login-resend[data-v-34596e7b]{background:transparent;color:var(--login-ink);border:1px solid var(--login-border)}.login-resend[data-v-34596e7b]:hover:not(:disabled),.login-text-button[data-v-34596e7b]:hover:not(:disabled){background:var(--t-bg)}.login-code-heading[data-v-34596e7b]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.login-text-button[data-v-34596e7b]{background:transparent;border:0;color:var(--t-jade-ink);padding:.5rem}.login-help[data-v-34596e7b],.login-notice[data-v-34596e7b]{margin:0;color:var(--t-ink-2);line-height:1.6;font-size:.875rem;overflow-wrap:anywhere}.login-notice[data-v-34596e7b]:empty{display:none}.login-notice[data-v-34596e7b]{color:var(--t-success);padding-block:.35rem}.login-error[data-v-34596e7b],.login-field-error[data-v-34596e7b]{color:var(--t-error);font-size:.9rem;line-height:1.6;margin:0}.login-error[data-v-34596e7b]{padding:.8rem;background:var(--t-accent-soft);border-radius:var(--t-radius-control)}@media(prefers-reduced-motion:reduce){button[data-v-34596e7b]{transition:none}}.student-tab-bar[data-v-1b32d4de]{position:fixed;left:0;right:0;bottom:0;z-index:40;background:color-mix(in srgb,var(--t-card) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--t-line);box-shadow:0 -4px 16px #23643614;padding:.35rem clamp(.5rem,3vw,1.5rem) max(.35rem,env(safe-area-inset-bottom))}.student-tab-bar-inner[data-v-1b32d4de]{width:min(720px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.student-tab-item[data-v-1b32d4de]{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:52px;padding:.35rem .25rem;border:1px solid transparent;border-radius:var(--t-radius-control);background:transparent;color:var(--t-ink-2);font:inherit;font-size:.78rem;font-weight:600;line-height:1.2;transition:background-color .15s ease,color .15s ease}.student-tab-item[data-v-1b32d4de]:hover{background:var(--t-bg);color:var(--t-ink)}.student-tab-item.is-active[data-v-1b32d4de]{background:var(--t-jade-soft);border-color:color-mix(in srgb,var(--t-jade) 30%,transparent);color:var(--t-jade-ink);font-weight:750}.student-tab-item[data-v-1b32d4de]:focus-visible{outline:3px solid var(--t-jade);outline-offset:2px}.student-tab-icon[data-v-1b32d4de]{display:inline-flex;width:20px;height:20px}.student-tab-icon svg[data-v-1b32d4de]{width:100%;height:100%}.student-tab-label[data-v-1b32d4de]{white-space:nowrap}@media(prefers-reduced-motion:reduce){.student-tab-item[data-v-1b32d4de]{transition:none}}.puzzle-panel[data-v-5b5fd707]{--puzzle-primary: var(--t-jade);--puzzle-ink: var(--t-jade-ink);--puzzle-locked: var(--t-bg);--puzzle-outline: var(--t-line);min-width:0}.puzzle-heading[data-v-5b5fd707]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.25rem}.puzzle-heading h2[data-v-5b5fd707]{margin:0;font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.4}.puzzle-heading h2 span[data-v-5b5fd707]{color:var(--puzzle-ink);margin-left:.4rem;font-variant-numeric:tabular-nums}.puzzle-heading p[data-v-5b5fd707]{margin:0;font-size:.875rem;color:var(--t-ink-2)}.puzzle[data-v-5b5fd707]{position:relative;isolation:isolate;width:100%;max-width:600px;aspect-ratio:1 / 1;margin-inline:auto}.piece[data-v-5b5fd707]{position:absolute;display:block;height:auto}.piece.locked[data-v-5b5fd707]{z-index:1}.piece.lit[data-v-5b5fd707]{z-index:2}.piece.just-lit[data-v-5b5fd707]{z-index:3;animation:lit-glow-5b5fd707 1.2s ease-out 1}.puzzle-full[data-v-5b5fd707]{display:block;width:100%;height:auto}.badge-done[data-v-5b5fd707]{position:absolute;right:3%;top:3%;padding:.4rem .9rem;border-radius:999px;background:var(--t-accent-soft);color:var(--t-accent-ink);font-weight:750;box-shadow:var(--t-shadow-card)}.puzzle-statuses[data-v-5b5fd707]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:0;margin:1.5rem 0 0;list-style:none}.puzzle-statuses li[data-v-5b5fd707]{display:flex;min-width:0;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--puzzle-outline);border-radius:var(--t-radius-control);background:var(--t-bg);color:var(--t-ink-2)}.puzzle-statuses li.is-lit[data-v-5b5fd707]{background:var(--t-jade-soft);border-color:var(--puzzle-primary);color:var(--puzzle-ink)}.puzzle-month[data-v-5b5fd707]{font-size:.8rem}.puzzle-statuses strong[data-v-5b5fd707]{font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}.puzzle-status[data-v-5b5fd707]{display:flex;align-items:center;gap:.45rem;margin-top:auto;font-size:.85rem;font-weight:650}@keyframes lit-glow-5b5fd707{0%{filter:drop-shadow(0 0 0 oklch(55% .14 170 / 0)) brightness(1.3);transform:scale(1.04)}40%{filter:drop-shadow(0 0 12px oklch(55% .14 170 / .6)) brightness(1.1)}to{filter:drop-shadow(0 0 0 oklch(55% .14 170 / 0));transform:scale(1)}}@media(max-width:720px){.puzzle-statuses[data-v-5b5fd707]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.puzzle-statuses[data-v-5b5fd707]{gap:.5rem}.puzzle-statuses li[data-v-5b5fd707]{padding:.75rem}}@media(prefers-reduced-motion:reduce){.piece.just-lit[data-v-5b5fd707]{animation:none}}@media(forced-colors:active){.puzzle-statuses li[data-v-5b5fd707],.badge-done[data-v-5b5fd707]{border:1px solid CanvasText}}.progress-details[data-v-94b27fc5]{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--t-line)}h3[data-v-94b27fc5]{margin:0 0 .75rem;font-size:1.1rem}.progress-details p[data-v-94b27fc5]{margin:.65rem 0}.progress-note[data-v-94b27fc5]{color:var(--t-ink-2);font-size:.875rem;line-height:1.7}.dorm-progress[data-v-94b27fc5]{color:var(--t-success)}.pending[data-v-94b27fc5]{padding:.75rem;background:var(--t-accent-soft);color:var(--t-accent-ink);border-radius:.5rem}.student-progress-panel[data-v-17feca48]{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--t-line);background:var(--t-card);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card)}.student-progress-panel[data-v-17feca48] h2{font-size:1.3rem;margin:0 0 1rem}.student-progress-help[data-v-17feca48]{font-size:.9rem;color:var(--t-ink-2);margin:1.25rem 0 0}.student-notice[data-v-17feca48]{padding:1rem;border-radius:12px;font-size:.9rem;background:var(--t-jade-soft);color:var(--t-ink-2);margin:1rem 0 0}.student-loading p[data-v-17feca48],.student-resource-error p[data-v-17feca48]{color:var(--t-ink-2)}.student-loading-pieces[data-v-17feca48]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.student-loading-pieces span[data-v-17feca48]{height:104px;border-radius:12px;background:var(--t-bg)}.student-resource-error[data-v-17feca48]{padding:.5rem 0}.student-resource-error h2[data-v-17feca48]{margin-top:0}.student-button[data-v-17feca48]{cursor:pointer;min-height:44px;padding:.6rem 1rem;font:inherit;font-size:.9rem;font-weight:650;color:var(--t-ink);background:var(--t-card);border:1px solid var(--t-control);border-radius:var(--t-radius-control);transition:background-color .15s ease}.student-button[data-v-17feca48]:hover:not(:disabled){background:var(--t-jade-soft)}.student-button[data-v-17feca48]:disabled{cursor:default;opacity:.6}@media(max-width:720px){.student-loading-pieces[data-v-17feca48]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.student-button[data-v-17feca48]{transition:none}}.activity-detail[data-v-264e65dd]{position:fixed;inset:0 0 0 auto;width:min(100%,36rem);height:100%;height:100dvh;max-width:100%;max-height:100%;margin:0;padding:0;border:0;border-left:1px solid var(--t-line);color:var(--t-ink);background:var(--t-card);font-family:var(--font-sans);line-height:1.7;overflow-y:auto;overscroll-behavior:contain}.activity-detail[data-v-264e65dd]::backdrop{background:#1e262066}.activity-detail-header[data-v-264e65dd]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1.25rem,4vw,2.5rem);border-bottom:1px solid var(--t-line)}.activity-detail-header p[data-v-264e65dd]{margin:0;color:var(--t-ink-2);font-size:.9rem}.activity-detail button[data-v-264e65dd]{min-height:44px;padding:.6rem 1rem;border:1px solid var(--t-control);border-radius:12px;font:inherit;font-size:.9rem;cursor:pointer}.activity-detail button[data-v-264e65dd]:focus-visible{outline:3px solid var(--t-jade);outline-offset:3px}.activity-detail-close[data-v-264e65dd]{background:transparent;color:var(--t-ink)}.activity-detail-close[data-v-264e65dd]:hover{background:var(--t-jade-soft)}.activity-detail-body[data-v-264e65dd]{padding:clamp(1.5rem,5vw,3rem) clamp(1.25rem,4vw,2.5rem);overflow-wrap:anywhere}.activity-detail-theme[data-v-264e65dd]{margin:0 0 .75rem;color:var(--t-accent-ink);font-size:.9rem;font-weight:700}.activity-detail h2[data-v-264e65dd]{margin:0;font-size:clamp(1.6rem,5vw,2.25rem);line-height:1.35;text-wrap:pretty}.activity-detail-facts[data-v-264e65dd]{margin:2rem 0}.activity-detail-facts>div[data-v-264e65dd]{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--t-line)}.activity-detail dt[data-v-264e65dd]{color:var(--t-ink-2)}.activity-detail dd[data-v-264e65dd]{margin:0;white-space:pre-wrap}.activity-detail-status[data-v-264e65dd]{display:inline-block;padding:.15rem .6rem;border:1px solid var(--t-line);border-radius:8px;font-size:.9rem}.activity-detail-status.is-attended[data-v-264e65dd]{border-color:transparent;color:var(--t-success);background:var(--t-jade-soft)}.activity-detail-description h3[data-v-264e65dd]{margin:0 0 .75rem;font-size:1.1rem}.activity-detail-description p[data-v-264e65dd]{margin:.75rem 0}.activity-detail-note[data-v-264e65dd]{color:var(--t-ink-2);font-size:.85rem}.activity-detail-footer[data-v-264e65dd]{padding:0 clamp(1.25rem,4vw,2.5rem) max(1.5rem,env(safe-area-inset-bottom))}.activity-detail-back[data-v-264e65dd]{width:100%;background:var(--t-jade-soft);color:var(--t-ink);font-weight:650}.activity-detail-back[data-v-264e65dd]:hover{background:var(--t-bg)}.student-activities[data-v-50548e99]{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--t-line);background:var(--t-card);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card)}.student-eyebrow[data-v-50548e99]{font-size:.8rem;letter-spacing:.1em;font-weight:750;color:var(--t-accent-ink);margin:0 0 .5rem}.student-section-heading[data-v-50548e99]{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.student-section-heading h2[data-v-50548e99]{margin:0;font-size:clamp(1.35rem,3vw,1.7rem)}.student-section-heading>p[data-v-50548e99]{color:var(--t-ink-2);font-size:.9rem;white-space:nowrap;margin:0}.student-section-note[data-v-50548e99]{color:var(--t-ink-2);font-size:.85rem;margin:.65rem 0 1.5rem}.student-theme-groups[data-v-50548e99]{display:grid;gap:1.75rem}.student-theme-heading[data-v-50548e99]{display:flex;align-items:baseline;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--t-line)}.student-theme-heading>span[data-v-50548e99]{color:var(--t-accent-ink);font-size:.9rem;font-weight:750}.student-theme-heading h3[data-v-50548e99]{margin:0;font-size:1.15rem}.student-theme-heading small[data-v-50548e99]{margin-left:auto;white-space:nowrap;color:var(--t-ink-2)}.student-activity-list[data-v-50548e99]{list-style:none;padding:0;margin:0}.student-activity[data-v-50548e99]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--t-line)}.student-activity[data-v-50548e99]:last-child{border-bottom:0;padding-bottom:0}.student-activity-details[data-v-50548e99]{min-width:0}.student-activity-actions[data-v-50548e99]{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.5rem}.student-activity-actions button[data-v-50548e99]{white-space:nowrap}.student-activity h4[data-v-50548e99]{margin:0 0 .5rem;font-size:1rem}.student-activity dl[data-v-50548e99]{display:flex;flex-wrap:wrap;column-gap:1.5rem;row-gap:.25rem;margin:0;color:var(--t-ink-2);font-size:.85rem}.student-activity dl div[data-v-50548e99]{display:flex;gap:.5rem}.student-activity dt[data-v-50548e99]{flex-shrink:0}.student-activity dd[data-v-50548e99]{margin:0;overflow-wrap:anywhere}.student-available-badge[data-v-50548e99]{flex-shrink:0;font-size:.8rem;padding:.25rem .65rem;border-radius:8px;white-space:nowrap;background:var(--t-jade-soft);color:var(--t-jade-ink);font-weight:650}.student-empty[data-v-50548e99],.student-resource-error[data-v-50548e99]{padding:1.25rem 0 .5rem}.student-empty h3[data-v-50548e99],.student-resource-error h3[data-v-50548e99]{margin-top:0}.student-empty p[data-v-50548e99],.student-resource-error p[data-v-50548e99]{color:var(--t-ink-2)}.student-button[data-v-50548e99]{cursor:pointer;min-height:44px;padding:.6rem 1rem;font:inherit;font-size:.9rem;font-weight:650;color:var(--t-ink);background:var(--t-card);border:1px solid var(--t-control);border-radius:var(--t-radius-control);transition:background-color .15s ease}.student-button[data-v-50548e99]:hover:not(:disabled){background:var(--t-jade-soft)}.student-button[data-v-50548e99]:disabled{cursor:default;opacity:.6}@media(max-width:720px){.student-activity dl[data-v-50548e99]{flex-direction:column}.student-activity[data-v-50548e99]{gap:.5rem}}@media(prefers-reduced-motion:reduce){.student-button[data-v-50548e99]{transition:none}}.ranking-panel[data-v-fb7b0932]{min-width:0;margin-top:clamp(2rem,5vw,3.5rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--t-line);border-radius:var(--t-radius-card);background:var(--t-card);box-shadow:var(--t-shadow-card);color:var(--t-ink)}.ranking-heading[data-v-fb7b0932]{display:flex;align-items:center;justify-content:space-between;gap:1rem}h2[data-v-fb7b0932]{margin:0;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.4}.ranking-eyebrow[data-v-fb7b0932]{margin:0 0 .5rem;font-size:.8rem;color:var(--t-jade-ink)}button[data-v-fb7b0932]{min-height:44px;padding:.6rem 1rem;font:inherit;font-size:.9rem;cursor:pointer;border-radius:var(--t-radius-control);transition:background-color .15s ease}button[data-v-fb7b0932]:focus-visible{outline:3px solid var(--t-jade);outline-offset:3px}button[data-v-fb7b0932]:disabled{cursor:wait;opacity:.65}.ranking-refresh[data-v-fb7b0932]{flex-shrink:0;border:1px solid var(--t-control);background:transparent;color:var(--t-ink)}.ranking-refresh[data-v-fb7b0932]:hover:not(:disabled){background:var(--t-jade-soft)}.ranking-switch[data-v-fb7b0932]{display:inline-flex;gap:.25rem;margin-top:1.5rem;padding:.25rem;background:var(--t-bg);border:1px solid var(--t-line);border-radius:var(--t-radius-control)}.ranking-switch button[data-v-fb7b0932]{border:1px solid transparent;color:var(--t-ink-2);background:transparent;font-weight:650}.ranking-switch button[aria-pressed=true][data-v-fb7b0932]{border-color:var(--t-accent-line);background:var(--t-accent-soft);color:var(--t-accent-ink)}.ranking-note[data-v-fb7b0932]{color:var(--t-ink-2);margin:.9rem 0 1.25rem;font-size:.85rem;line-height:1.7}.ranking-mine[data-v-fb7b0932]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--t-radius-control);background:var(--t-jade-soft);color:var(--t-jade-ink);font-size:.9rem}.ranking-list[data-v-fb7b0932]{list-style:none;margin:0;padding:0}.ranking-list li[data-v-fb7b0932],.ranking-columns[data-v-fb7b0932]{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.75rem;align-items:baseline;padding:1rem .5rem}.ranking-columns[data-v-fb7b0932]{padding-block:.5rem;color:var(--t-ink-2);font-size:.75rem}.ranking-list li[data-v-fb7b0932]{border-top:1px solid var(--t-line)}.ranking-list li.ranking-self[data-v-fb7b0932]{background:var(--t-jade-soft)}.ranking-place[data-v-fb7b0932]{font-variant-numeric:tabular-nums;color:var(--t-ink-2)}.ranking-leading[data-v-fb7b0932]{color:var(--t-accent-ink);font-weight:750}.ranking-label[data-v-fb7b0932]{min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ranking-label small[data-v-fb7b0932]{display:inline-block;margin-left:.5rem;font-size:.7rem;color:var(--t-jade-ink)}.ranking-score[data-v-fb7b0932]{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--t-ink-2)}.ranking-score strong[data-v-fb7b0932]{color:var(--t-ink);font-size:1rem}.ranking-empty[data-v-fb7b0932]{padding:1.5rem 0;color:var(--t-ink-2);line-height:1.7}.ranking-empty h3[data-v-fb7b0932]{margin:0 0 .5rem;font-size:1rem;color:var(--t-ink)}.ranking-empty p[data-v-fb7b0932]{margin:0}.ranking-error[data-v-fb7b0932]{color:var(--t-error);overflow-wrap:anywhere}.sr-only[data-v-fb7b0932]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:420px){.ranking-heading[data-v-fb7b0932]{align-items:flex-start;flex-wrap:wrap}.ranking-list li[data-v-fb7b0932],.ranking-columns[data-v-fb7b0932]{grid-template-columns:2rem minmax(0,1fr) auto;gap:.5rem}}@media(prefers-reduced-motion:reduce){button[data-v-fb7b0932]{transition:none}}.ranking-tab[data-v-b07e5b05] .ranking-panel{margin-top:0}.dynamic-code[data-v-372b0674]{color:var(--t-ink, #182b2b);font-family:var(--font-sans, inherit);background:var(--t-card, #fff);border:1px solid var(--t-line, #e4e9e3);border-radius:var(--t-radius-card, 20px);padding:clamp(20px,3vw,32px);line-height:1.65}.dynamic-code[data-v-372b0674] *{box-sizing:border-box}.code-heading[data-v-372b0674]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.code-eyebrow[data-v-372b0674]{color:var(--t-jade, #286651);font-size:.78rem;font-weight:750;letter-spacing:.08em;margin:0 0 10px}h2[data-v-372b0674]{margin:0;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.35}.code-description[data-v-372b0674]{font-size:.9rem;margin:16px 0 24px}.code-description[data-v-372b0674],.code-footnote[data-v-372b0674],.expiry-note[data-v-372b0674],.code-loading[data-v-372b0674]{color:color-mix(in srgb,var(--t-ink, #182b2b) 76%,var(--t-bg, #f6f7f4))}.code-ticket[data-v-372b0674]{background:var(--t-bg, #f6f7f4);border:1px dashed var(--t-control, #87948e);border-radius:12px;padding:20px}.qr-frame[data-v-372b0674]{display:grid;place-items:center;margin:0 0 16px;padding:12px;background:#fff;border-radius:12px}.qr-image[data-v-372b0674]{display:block;width:min(240px,72vw);height:auto;image-rendering:pixelated}.qr-fallback[data-v-372b0674]{margin:0 0 12px;font-size:.875rem}.ticket-heading[data-v-372b0674]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ticket-heading label[data-v-372b0674]{font-weight:750;font-size:.85rem}.ticket-heading span[data-v-372b0674]{color:var(--t-success, #21644f);font-size:.75rem}textarea[data-v-372b0674]{display:block;resize:vertical;width:100%;min-height:94px;padding:10px;font:inherit;font-size:.9rem;line-height:1.7;color:inherit;background:var(--t-card, #fff);border:1px solid var(--t-line, #e4e9e3);border-radius:8px;overflow-wrap:anywhere;word-break:break-all}.expiry-note[data-v-372b0674]{font-size:.8rem;margin:12px 0 0;font-variant-numeric:tabular-nums}.expired .expiry-note[data-v-372b0674],.expired .ticket-heading span[data-v-372b0674]{color:var(--t-error, #952b20)}.code-actions[data-v-372b0674]{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}button[data-v-372b0674]{font:inherit;font-size:.9rem;min-height:44px;padding:10px 16px;border-radius:10px;cursor:pointer;transition:background-color .15s ease}button[data-v-372b0674]:disabled{cursor:default;opacity:.6}.code-primary[data-v-372b0674]{border:1px solid var(--t-accent, #ed6538);background:var(--t-accent, #ed6538);color:var(--t-ink, #182b2b);font-weight:750}.code-primary[data-v-372b0674]:hover:not(:disabled){background:color-mix(in srgb,var(--t-accent, #ed6538) 85%,var(--t-card, #fff))}.code-secondary[data-v-372b0674]{border:1px solid var(--t-control, #87948e);background:transparent;color:inherit}.code-secondary[data-v-372b0674]:hover:not(:disabled){background:var(--t-bg, #f6f7f4)}.code-error[data-v-372b0674]{color:var(--t-error, #952b20)}.code-notice[data-v-372b0674]{color:var(--t-success, #21644f)}.code-error[data-v-372b0674],.code-notice[data-v-372b0674]{font-size:.875rem;overflow-wrap:anywhere}.code-footnote[data-v-372b0674]{font-size:.8rem;margin:18px 0 0}button[data-v-372b0674]:focus-visible,textarea[data-v-372b0674]:focus-visible{outline:3px solid var(--t-jade, #286651);outline-offset:4px}@media(max-width:400px){.code-heading[data-v-372b0674]{flex-wrap:wrap;gap:10px}.code-ticket[data-v-372b0674]{padding:14px}}@media(prefers-reduced-motion:reduce){button[data-v-372b0674]{transition:none}}.profile-scan[data-v-715b59c0]{margin-top:1.75rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--t-line);border-radius:var(--t-radius-card);background:var(--t-card);box-shadow:var(--t-shadow-card)}.profile-heading[data-v-715b59c0]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-eyebrow[data-v-715b59c0]{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.1em;font-weight:750;color:var(--t-accent-ink)}.profile-heading h2[data-v-715b59c0]{margin:0;font-size:1.25rem}.profile-badge[data-v-715b59c0]{flex-shrink:0;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:650;background:var(--t-jade-soft);color:var(--t-jade-ink)}.profile-lead[data-v-715b59c0]{margin:1rem 0 1.25rem;color:var(--t-ink-2);font-size:.95rem;line-height:1.7}.profile-latest[data-v-715b59c0]{padding:1rem 1.1rem;border-radius:14px;background:var(--t-jade-soft);border:1px solid color-mix(in oklch,var(--t-jade) 35%,white)}.latest-label[data-v-715b59c0]{margin:0 0 .35rem;font-size:.8rem;font-weight:700;color:var(--t-jade-ink)}.profile-latest h3[data-v-715b59c0]{margin:0 0 .75rem;font-size:1.1rem}.profile-latest dl[data-v-715b59c0]{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;font-size:.85rem;color:var(--t-ink-2)}.profile-latest dt[data-v-715b59c0]{display:inline;font-weight:650;color:var(--t-ink);margin-right:.35rem}.profile-latest dd[data-v-715b59c0]{display:inline;margin:0}.profile-empty[data-v-715b59c0]{padding:1rem;border-radius:14px;background:var(--t-accent-soft);color:var(--t-accent-ink);font-size:.9rem}.profile-list[data-v-715b59c0]{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.65rem}.profile-list li[data-v-715b59c0]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;padding-bottom:.65rem;border-bottom:1px solid var(--t-line);font-size:.9rem}.profile-list span[data-v-715b59c0]{color:var(--t-ink-2)}.profile-actions[data-v-715b59c0]{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem}.profile-primary[data-v-715b59c0],.profile-secondary[data-v-715b59c0]{min-height:44px;padding:.55rem 1rem;border-radius:var(--t-radius-control);font-weight:650;cursor:pointer}.profile-primary[data-v-715b59c0]{border:none;color:#fff;background:linear-gradient(135deg,var(--t-accent-from),var(--t-accent-to));box-shadow:var(--t-shadow-cta)}.profile-secondary[data-v-715b59c0]{border:1px solid var(--t-control);background:var(--t-card);color:var(--t-ink)}.profile-note[data-v-715b59c0]{margin:.75rem 0 0;font-size:.85rem;color:var(--t-jade-ink)}.track-setup[data-v-e93896af]{color:var(--t-ink);font-family:var(--font-sans);margin-bottom:24px;padding:clamp(20px,3vw,32px);background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card);line-height:1.65;container-type:inline-size}.track-setup[data-v-e93896af] *{box-sizing:border-box}h2[data-v-e93896af]{margin:0;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.35;overflow-wrap:anywhere}.setup-eyebrow[data-v-e93896af]{font-size:.78rem;font-weight:750;letter-spacing:.08em;color:var(--t-jade-ink);margin:0 0 10px}.setup-description[data-v-e93896af],.setup-note[data-v-e93896af],.track-option small[data-v-e93896af],.invite-label[data-v-e93896af]{color:var(--t-ink-2)}.setup-description[data-v-e93896af]{margin:12px 0 24px;font-size:.9rem}fieldset[data-v-e93896af]{min-width:0;margin:0;padding:0;border:0}.track-options[data-v-e93896af]{display:grid;gap:12px}.track-option[data-v-e93896af]{display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--t-control, #87948e);border-radius:var(--t-radius-control);padding:18px}.track-option.selected[data-v-e93896af]{border-color:var(--t-jade, #286651);background:color-mix(in srgb,var(--t-jade, #286651) 6%,var(--t-card, #fff))}.track-option input[data-v-e93896af]{accent-color:var(--t-jade, #286651);width:18px;height:18px;flex-shrink:0;margin:0}.track-option strong[data-v-e93896af],.track-option small[data-v-e93896af]{display:block}.track-option small[data-v-e93896af]{margin-top:4px;font-size:.8rem}.option-symbol[data-v-e93896af]{margin-left:auto;color:var(--t-jade-ink);font-size:.8rem;white-space:nowrap}.setup-note[data-v-e93896af]{font-size:.8rem;margin:16px 0}button[data-v-e93896af]{cursor:pointer;min-height:44px;padding:10px 16px;border-radius:var(--t-radius-control);font:inherit;font-size:.9rem;transition:background-color .15s ease}button[data-v-e93896af]:disabled,fieldset[data-v-e93896af]:disabled{opacity:.6;cursor:default}.setup-primary[data-v-e93896af]{color:var(--t-ink, #182b2b);background:var(--t-accent, #ed6538);border:1px solid var(--t-accent, #ed6538);font-weight:750}.setup-primary[data-v-e93896af]:hover:not(:disabled){background:color-mix(in srgb,var(--t-accent, #ed6538) 85%,var(--t-card, #fff))}.setup-secondary[data-v-e93896af]{color:inherit;border:1px solid var(--t-control, #87948e);background:transparent}.dorm-modes[data-v-e93896af]{display:flex;gap:8px;border-bottom:1px solid var(--t-line, #e4e9e3);margin-bottom:24px;padding-bottom:12px}.dorm-modes button[data-v-e93896af]{color:inherit;border:1px solid transparent;background:transparent}.dorm-modes button[aria-pressed=true][data-v-e93896af]{border-color:var(--t-accent-line);background:var(--t-accent-soft);color:var(--t-accent-ink)}.dorm-fields[data-v-e93896af]{display:grid;gap:16px}.setup-field[data-v-e93896af]{display:grid;gap:8px}.setup-field label[data-v-e93896af]{font-size:.875rem;font-weight:700}.setup-field input[data-v-e93896af],.setup-field select[data-v-e93896af]{font:inherit;color:inherit;background:var(--t-card, #fff);border:1px solid var(--t-control, #87948e);border-radius:var(--t-radius-control);padding:10px 12px;min-height:46px;width:100%;min-width:0}.address-fields[data-v-e93896af]{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.capacity-field[data-v-e93896af]{max-width:220px}.invite-row[data-v-e93896af]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:24px}.invite-label[data-v-e93896af]{display:block;font-size:.8rem}.invite-code[data-v-e93896af]{display:block;letter-spacing:.14em;font-size:1.75rem;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.setup-error[data-v-e93896af]{color:var(--t-error, #952b20)}.setup-notice[data-v-e93896af]{color:var(--t-success, #21644f)}.setup-error[data-v-e93896af],.setup-notice[data-v-e93896af]{font-size:.875rem;margin:16px 0 0;overflow-wrap:anywhere}button[data-v-e93896af]:focus-visible,input[data-v-e93896af]:focus-visible,select[data-v-e93896af]:focus-visible{outline:3px solid var(--t-jade, #286651);outline-offset:4px}.sr-only[data-v-e93896af]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.setup-field input[aria-invalid=true][data-v-e93896af]{border-color:var(--t-error)}.solo-description[data-v-e93896af]{margin-bottom:0}.dorm-capacity[data-v-e93896af]{margin:6px 0 0;font-size:.85rem;color:var(--t-ink-2);font-variant-numeric:tabular-nums}.dorm-members[data-v-e93896af]{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.dorm-members li[data-v-e93896af]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--t-line, #e4e9e3);border-radius:999px;font-size:.85rem;font-variant-numeric:tabular-nums}.member-tag[data-v-e93896af]{font-size:.72rem;padding:0 6px;border-radius:999px;background:var(--t-jade-soft, #e3efe9);color:var(--t-jade-ink, #21644f)}.member-form[data-v-e93896af]{margin-top:24px;padding-top:20px;border-top:1px solid var(--t-line, #e4e9e3)}.member-row[data-v-e93896af]{display:flex;gap:8px}.member-row input[data-v-e93896af]{flex:1}.member-row button[data-v-e93896af]{flex-shrink:0}.leave-row[data-v-e93896af]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px}.leave-row .setup-note[data-v-e93896af]{flex-basis:100%;margin:4px 0 0}.setup-danger[data-v-e93896af]{color:var(--t-error, #952b20);border:1px solid currentColor;background:transparent}@container (max-width: 400px){.address-fields[data-v-e93896af]{grid-template-columns:1fr}.capacity-field[data-v-e93896af]{max-width:none}.track-option[data-v-e93896af]{padding:14px}.option-symbol[data-v-e93896af]{display:none}.member-row[data-v-e93896af]{flex-direction:column}}@media(prefers-reduced-motion:reduce){button[data-v-e93896af]{transition:none}}.profile-tab[data-v-81abb53f]{color:var(--t-ink);font-family:var(--font-sans);line-height:1.65}.profile-tab[data-v-81abb53f] *{box-sizing:border-box}.profile-head[data-v-81abb53f]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.profile-head h2[data-v-81abb53f]{margin:0;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.35}.profile-eyebrow[data-v-81abb53f]{margin:0 0 6px;font-size:.78rem;font-weight:750;letter-spacing:.08em;color:var(--t-jade-ink)}.profile-feedback[data-v-81abb53f]{display:grid;justify-items:start;gap:12px;margin-bottom:16px}.profile-loading[data-v-81abb53f]{color:var(--t-ink-2)}.profile-summary[data-v-81abb53f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 16px;padding:clamp(16px,3vw,24px);background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card)}.profile-summary div[data-v-81abb53f]{min-width:0}.profile-summary dt[data-v-81abb53f]{font-size:.78rem;color:var(--t-ink-2)}.profile-summary dd[data-v-81abb53f]{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}.profile-sid[data-v-81abb53f]{font-variant-numeric:tabular-nums;letter-spacing:.04em}.profile-staff-note[data-v-81abb53f]{margin:-4px 0 16px;font-size:.85rem;color:var(--t-accent-ink)}button[data-v-81abb53f]{cursor:pointer;min-height:44px;padding:10px 16px;border-radius:var(--t-radius-control);font:inherit;font-size:.9rem;transition:background-color .15s ease}button[data-v-81abb53f]:disabled{opacity:.6;cursor:default}button[data-v-81abb53f]:focus-visible{outline:3px solid var(--t-jade);outline-offset:4px}.profile-staff[data-v-81abb53f]{flex-shrink:0;color:var(--t-ink);background:var(--t-accent);border:1px solid var(--t-accent);font-weight:750}.profile-staff[data-v-81abb53f]:hover{background:color-mix(in srgb,var(--t-accent) 85%,var(--t-card))}.profile-footer[data-v-81abb53f]{margin-top:24px;display:grid;justify-items:center;gap:8px}.profile-logout[data-v-81abb53f]{color:var(--t-ink-2);background:transparent;border:1px solid var(--t-control)}.profile-logout[data-v-81abb53f]:hover:not(:disabled){background:var(--t-jade-soft)}.profile-error[data-v-81abb53f]{margin:0;font-size:.875rem;color:var(--t-error)}@media(prefers-reduced-motion:reduce){button[data-v-81abb53f]{transition:none}}.student-app[data-v-d9a2554e]{--student-primary: var(--t-accent);--student-text: var(--t-ink);--student-background: var(--t-bg);--student-surface: var(--t-card);--student-muted: var(--t-ink-2);--student-border: var(--t-line);--student-success: var(--t-jade);min-height:100vh;color:var(--student-text);background:var(--student-background);font-family:var(--font-sans);line-height:1.6}.student-app.has-tab-bar[data-v-d9a2554e]{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}.student-app[data-v-d9a2554e] *,.student-app[data-v-d9a2554e] *:before,.student-app[data-v-d9a2554e] *:after{box-sizing:border-box}.student-shell[data-v-d9a2554e]{width:min(1120px,100%);padding:0 clamp(1rem,4vw,3rem);margin:0 auto}.student-header[data-v-d9a2554e]{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between;min-height:76px;padding-block:.5rem;border-bottom:1px solid var(--student-border)}.student-brand[data-v-d9a2554e]{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(1.05rem,3vw,1.35rem);font-weight:800;text-decoration:none;color:var(--student-text)}.student-brand span[data-v-d9a2554e]{color:var(--student-primary);padding:0 .2rem}.student-edition[data-v-d9a2554e]{font-size:.8rem;color:var(--student-muted);white-space:nowrap}.student-header-right[data-v-d9a2554e]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.student-identity[data-v-d9a2554e]{color:var(--student-muted);font-size:.85rem}.student-actions[data-v-d9a2554e]{display:flex;flex-wrap:wrap;gap:.5rem}.student-button[data-v-d9a2554e]{cursor:pointer;min-height:40px;padding:.45rem .85rem;font:inherit;font-size:.85rem;font-weight:650;color:var(--student-text);background:var(--student-surface);border:1px solid var(--t-control);border-radius:12px;transition:background-color .15s ease}.student-button[data-v-d9a2554e]:hover:not(:disabled){background:var(--t-jade-soft)}.student-button[data-v-d9a2554e]:active:not(:disabled){background:var(--student-border)}.student-button[data-v-d9a2554e]:disabled{cursor:default;opacity:.6}.student-button-quiet[data-v-d9a2554e]{background:transparent;border-color:transparent;font-weight:400}button[data-v-d9a2554e]:focus-visible,a[data-v-d9a2554e]:focus-visible{outline:3px solid var(--student-success);outline-offset:3px}.student-content[data-v-d9a2554e]{padding-block:clamp(1.25rem,4vw,2.5rem)}.student-welcome[data-v-d9a2554e]{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);min-height:60vh}.student-eyebrow[data-v-d9a2554e]{font-size:.8rem;letter-spacing:.1em;font-weight:750;color:var(--t-accent-ink);margin:0 0 .65rem}h1[data-v-d9a2554e],h2[data-v-d9a2554e],h3[data-v-d9a2554e],h4[data-v-d9a2554e],p[data-v-d9a2554e]{overflow-wrap:anywhere;text-wrap:pretty}h1[data-v-d9a2554e]{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.25;letter-spacing:-.035em;margin:0}.student-lead[data-v-d9a2554e]{max-width:30rem;color:var(--student-muted);margin:1.5rem 0;line-height:1.9}.student-steps[data-v-d9a2554e]{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.8rem;color:var(--student-muted)}.student-steps [aria-hidden][data-v-d9a2554e]{color:var(--t-accent-ink)}.student-notice[data-v-d9a2554e],.student-error[data-v-d9a2554e]{padding:1rem;border-radius:12px;font-size:.9rem;margin-bottom:1rem}.student-notice[data-v-d9a2554e]{background:var(--t-jade-soft);color:var(--t-ink-2)}.student-error[data-v-d9a2554e]{background:var(--t-accent-soft);color:var(--t-error)}.student-footer[data-v-d9a2554e]{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;border-top:1px solid var(--student-border);padding-block:1.5rem;color:var(--student-muted);font-size:.8rem}.skip-link[data-v-d9a2554e]{position:absolute;left:-10000px;top:1rem;background:var(--student-surface);color:var(--student-text);padding:.75rem;z-index:50}.skip-link[data-v-d9a2554e]:focus{left:1rem}@media(max-width:720px){.student-header[data-v-d9a2554e]{min-height:64px}.student-welcome[data-v-d9a2554e]{grid-template-columns:1fr;min-height:auto;gap:2rem}.student-intro h1[data-v-d9a2554e]{font-size:clamp(2rem,8vw,3rem)}}@media(prefers-reduced-motion:reduce){.student-button[data-v-d9a2554e]{transition:none}}.staff-page[data-v-393d2d61]{min-height:100vh;background:var(--t-bg, #f6f7f4);color:var(--t-ink, #182b2b);font-family:var(--font-sans, sans-serif);line-height:1.65}.staff-page[data-v-393d2d61] *,.staff-page[data-v-393d2d61] *:before,.staff-page[data-v-393d2d61] *:after{box-sizing:border-box}.staff-shell[data-v-393d2d61]{max-width:1160px;margin:0 auto;padding-inline:clamp(20px,5vw,56px)}.staff-header[data-v-393d2d61]{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:88px;border-bottom:1px solid var(--t-line, #e4e9e3)}.staff-brand[data-v-393d2d61]{color:inherit;text-decoration:none;font-size:clamp(1.05rem,3vw,1.35rem);font-weight:800}.staff-brand span[data-v-393d2d61]{color:var(--t-accent, #ed6538);margin-inline:3px}.staff-edition[data-v-393d2d61],.staff-account[data-v-393d2d61],footer[data-v-393d2d61]{font-size:.85rem}.staff-content[data-v-393d2d61]{padding-block:clamp(32px,6vw,64px)}.staff-heading[data-v-393d2d61]{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}.eyebrow[data-v-393d2d61]{color:var(--t-jade, #286651);font-size:.78rem;letter-spacing:.09em;font-weight:750;margin:0 0 10px}h1[data-v-393d2d61]{font-size:clamp(2rem,4.2vw,3.1rem);letter-spacing:-.045em;line-height:1.25;margin:0}h2[data-v-393d2d61]{font-size:1.4rem;line-height:1.4;margin:0 0 16px}p[data-v-393d2d61],h1[data-v-393d2d61],h2[data-v-393d2d61],dd[data-v-393d2d61]{overflow-wrap:anywhere}.mobile-break[data-v-393d2d61]{display:none}.staff-account[data-v-393d2d61]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.login-layout[data-v-393d2d61]{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,6vw,88px);align-items:center}.login-intro>p[data-v-393d2d61],.field-help[data-v-393d2d61],.desk-note[data-v-393d2d61],.waiting-result p[data-v-393d2d61]{color:color-mix(in srgb,var(--t-ink, #182b2b) 76%,var(--t-bg, #f6f7f4))}.workflow[data-v-393d2d61]{list-style:none;padding:0;margin:32px 0 0}.workflow li[data-v-393d2d61]{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--t-line, #e4e9e3)}.workflow span[data-v-393d2d61]{color:var(--t-jade, #286651);font-size:.8rem;padding-top:3px}.access-panel[data-v-393d2d61]{padding:clamp(24px,4vw,40px);background:var(--t-card, #fff);border:1px solid var(--t-line, #e4e9e3);border-radius:var(--t-radius-card, 20px);max-width:640px}.workspace-layout[data-v-393d2d61]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:28px;align-items:start}.scan-panel[data-v-393d2d61]{background:var(--t-card, #fff);border:1px solid var(--t-line, #e4e9e3);border-radius:var(--t-radius-card, 20px);padding:clamp(20px,3vw,32px)}.section-heading[data-v-393d2d61]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading h2[data-v-393d2d61]{margin-bottom:0}.live-label[data-v-393d2d61]{font-size:.75rem;color:var(--t-success, #21644f);white-space:nowrap;padding-top:4px}form[data-v-393d2d61]{display:grid;gap:10px}.field-heading[data-v-393d2d61]{display:flex;justify-content:space-between;align-items:center;gap:12px}label[data-v-393d2d61]{font-weight:700;font-size:.9rem}select[data-v-393d2d61],textarea[data-v-393d2d61]{width:100%;min-width:0;color:inherit;background:var(--t-card, #fff);border:1px solid var(--t-control, #87948e);border-radius:10px;padding:12px;font:inherit;min-height:48px}textarea[data-v-393d2d61]{resize:vertical;line-height:1.7}.field-help[data-v-393d2d61]{margin:0;font-size:.8rem}.code-label[data-v-393d2d61]{margin-top:18px}.camera-box[data-v-393d2d61]{display:grid;gap:10px;margin-top:8px}.camera-actions[data-v-393d2d61]{display:flex;flex-wrap:wrap;gap:10px}.camera-actions button[data-v-393d2d61]{flex:1 1 140px}.camera-preview[data-v-393d2d61]{display:none;width:100%;max-height:360px;min-height:220px;background:#182b2b;border-radius:12px;object-fit:contain}.camera-preview.is-live[data-v-393d2d61]{display:block}button[data-v-393d2d61]{font:inherit;font-size:.9rem;min-height:44px;border-radius:10px;padding:10px 16px;cursor:pointer;transition:background-color .15s ease,transform .15s ease}button[data-v-393d2d61]:disabled{opacity:.6;cursor:default}button[data-v-393d2d61]:active:not(:disabled){transform:translateY(1px)}.primary-button[data-v-393d2d61]{color:var(--t-ink, #182b2b);background:var(--t-accent, #ed6538);font-weight:750;border:1px solid var(--t-accent, #ed6538)}.primary-button[data-v-393d2d61]:hover:not(:disabled){background:color-mix(in srgb,var(--t-accent, #ed6538) 85%,var(--t-card, #fff))}.submit-button[data-v-393d2d61]{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.submit-button span[data-v-393d2d61]{font-size:1.3rem}.quiet-button[data-v-393d2d61]{color:inherit;background:transparent;border:1px solid transparent;padding-inline:8px}.quiet-button[data-v-393d2d61]:hover:not(:disabled){background:var(--t-bg, #f6f7f4)}.secondary-button[data-v-393d2d61]{color:inherit;background:transparent;border:1px solid currentColor}.result-panel[data-v-393d2d61]{padding:28px;border-radius:var(--t-radius-card, 20px)}.waiting-result[data-v-393d2d61]{border:1px dashed var(--t-control, #87948e)}.result-mark[data-v-393d2d61]{display:block;color:var(--t-jade, #286651);font-size:2.25rem;line-height:1;margin-bottom:32px}.success-result[data-v-393d2d61]{background:color-mix(in srgb,var(--t-jade, #286651) 10%,var(--t-card, #fff));color:var(--t-ink, #182b2b)}.success-result h2 span[data-v-393d2d61]{color:var(--t-success, #21644f)}.result-panel dl[data-v-393d2d61]{margin:24px 0}.result-panel dl div[data-v-393d2d61]{display:grid;grid-template-columns:72px 1fr;gap:12px;margin-top:12px}.result-panel dt[data-v-393d2d61]{font-size:.85rem}.result-panel dd[data-v-393d2d61]{margin:0;font-weight:650}.result-panel>p[data-v-393d2d61]:not(.eyebrow),.desk-note[data-v-393d2d61]{font-size:.875rem}.desk-note[data-v-393d2d61]{padding-inline:12px;margin-top:18px}.error[data-v-393d2d61],.error-result[data-v-393d2d61]{color:var(--t-error, #952b20)}.error-result[data-v-393d2d61]{background:color-mix(in srgb,var(--t-error, #952b20) 6%,var(--t-card, #fff))}.notice[data-v-393d2d61]{color:var(--t-success, #21644f)}a[data-v-393d2d61]{color:inherit;text-underline-offset:4px}a[data-v-393d2d61]:focus-visible,button[data-v-393d2d61]:focus-visible,select[data-v-393d2d61]:focus-visible,textarea[data-v-393d2d61]:focus-visible,[tabindex][data-v-393d2d61]:focus-visible{outline:3px solid var(--t-jade, #286651);outline-offset:4px}footer[data-v-393d2d61]{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--t-line, #e4e9e3);padding-block:24px}.skip-link[data-v-393d2d61]{position:absolute;left:-10000px;top:16px;padding:12px;background:var(--t-card, #fff);z-index:2}.skip-link[data-v-393d2d61]:focus{left:16px}@media(max-width:760px){.login-layout[data-v-393d2d61],.workspace-layout[data-v-393d2d61]{grid-template-columns:1fr}.staff-heading[data-v-393d2d61]{align-items:flex-start;flex-direction:column;margin-bottom:28px}.staff-header[data-v-393d2d61]{min-height:72px}.staff-edition[data-v-393d2d61]{font-size:.75rem}.mobile-break[data-v-393d2d61]{display:initial}.section-heading[data-v-393d2d61]{flex-wrap:wrap}.result-mark[data-v-393d2d61]{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){button[data-v-393d2d61]{transition:none}}.workspace[data-v-7be80c65]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.panel[data-v-7be80c65]{min-width:0;padding:clamp(20px,3vw,32px);border:1px solid var(--admin-border);border-radius:var(--t-radius-card);background:var(--admin-surface);box-shadow:var(--t-shadow-card)}h2[data-v-7be80c65]{margin:0;font-size:1.5rem;letter-spacing:-.03em}.eyebrow[data-v-7be80c65]{margin:0 0 8px;color:var(--admin-secondary);font-size:.875rem}.intro[data-v-7be80c65]{margin:12px 0 24px;color:var(--admin-secondary)}fieldset[data-v-7be80c65]{min-width:0;border:0;padding:0;margin:0}.field[data-v-7be80c65]{margin-bottom:20px}label[data-v-7be80c65]{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-weight:600}label span[data-v-7be80c65]{font-size:.8rem;color:var(--admin-secondary);font-weight:400}input[data-v-7be80c65],select[data-v-7be80c65]{box-sizing:border-box;min-height:48px;width:100%;min-width:0;border:1px solid var(--admin-control);border-radius:var(--t-radius-control);background:var(--admin-surface);color:var(--admin-text);padding:10px 12px;font:inherit}input[aria-invalid=true][data-v-7be80c65],select[aria-invalid=true][data-v-7be80c65]{border-color:var(--admin-error)}button[data-v-7be80c65]{min-height:44px;border-radius:var(--t-radius-control);padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}.primary[data-v-7be80c65]{width:100%;border:1px solid var(--admin-primary);background:var(--admin-primary);color:var(--admin-text)}.secondary[data-v-7be80c65]{border:1px solid var(--admin-control);background:transparent;color:var(--admin-text);white-space:nowrap}button[data-v-7be80c65]:hover:not(:disabled){filter:brightness(.95)}button[data-v-7be80c65]:active:not(:disabled){filter:brightness(.9)}button[data-v-7be80c65]:disabled,fieldset[data-v-7be80c65]:disabled{opacity:.65;cursor:wait}input[data-v-7be80c65]:focus-visible,select[data-v-7be80c65]:focus-visible,button[data-v-7be80c65]:focus-visible{outline:3px solid var(--admin-text);outline-offset:3px}.hint[data-v-7be80c65]{display:flex;justify-content:space-between;gap:8px;margin:6px 0 0;color:var(--admin-secondary);font-size:.8rem}.error[data-v-7be80c65]{color:var(--admin-error);margin:8px 0 0}.notice[data-v-7be80c65]{padding:12px 0;margin:0 0 12px;overflow-wrap:anywhere}.success[data-v-7be80c65]{color:var(--admin-success)}.section-heading[data-v-7be80c65]{display:flex;gap:16px;justify-content:space-between;align-items:center}.count[data-v-7be80c65]{margin-left:6px;font-size:.875rem;color:var(--admin-secondary);font-weight:400}.empty[data-v-7be80c65]{margin:32px 0 8px;color:var(--admin-secondary)}.activities[data-v-7be80c65]{list-style:none;margin:24px 0 0;padding:0}.activities li[data-v-7be80c65]{padding:20px 0;border-top:1px solid var(--admin-border)}.activities li[data-v-7be80c65]:last-child{padding-bottom:0}.activity-topline[data-v-7be80c65]{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme[data-v-7be80c65]{color:var(--admin-text);background:var(--admin-background);border-radius:6px;padding:4px 8px;font-size:.8rem}.identifier[data-v-7be80c65]{font-size:.8rem;color:var(--admin-secondary);font-variant-numeric:tabular-nums}h3[data-v-7be80c65]{font-size:1.125rem;margin:12px 0;overflow-wrap:anywhere}dl[data-v-7be80c65]{margin:0;display:grid;gap:8px;font-size:.875rem}dl div[data-v-7be80c65]{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:12px}dt[data-v-7be80c65]{color:var(--admin-secondary)}dd[data-v-7be80c65]{margin:0;overflow-wrap:anywhere}@media(max-width:720px){.workspace[data-v-7be80c65]{grid-template-columns:minmax(0,1fr);gap:16px}.section-heading[data-v-7be80c65]{flex-wrap:wrap}}.admin-page[data-v-1034142e]{--admin-primary: var(--t-accent);--admin-text: var(--t-ink);--admin-background: var(--t-bg);--admin-surface: var(--t-card);--admin-border: var(--t-line);--admin-control: var(--t-control);--admin-secondary: var(--t-ink-2);--admin-success: var(--t-success);--admin-error: var(--t-error);box-sizing:border-box;min-height:100vh;background:var(--admin-background);color:var(--admin-text);padding:clamp(20px,4vw,56px) clamp(16px,4vw,48px);font-family:var(--font-sans);line-height:1.6;text-wrap:pretty}.admin-shell[data-v-1034142e]{max-width:1120px;margin:0 auto}.page-header[data-v-1034142e]{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.brand[data-v-1034142e]{font-weight:600;margin:0 0 20px}.brand span[data-v-1034142e]{margin-left:12px;color:var(--admin-secondary);font-size:.875rem;font-weight:400}h1[data-v-1034142e]{margin:0;font-size:clamp(2rem,4vw,2.75rem);line-height:1.2;letter-spacing:-.04em}.subtitle[data-v-1034142e]{margin:12px 0 0;color:var(--admin-secondary)}.back-link[data-v-1034142e]{display:inline-flex;align-items:center;min-height:44px;color:var(--admin-text);text-underline-offset:5px}.back-link[data-v-1034142e]:hover{text-decoration-thickness:2px}.access-panel[data-v-1034142e]{padding:clamp(24px,4vw,40px);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card);max-width:640px}h2[data-v-1034142e]{margin-top:0}.eyebrow[data-v-1034142e]{color:var(--admin-secondary);font-size:.875rem}.access-error[data-v-1034142e]{color:var(--admin-error);overflow-wrap:anywhere}button[data-v-1034142e]{min-height:44px;padding:10px 16px;background:var(--admin-primary);border:0;border-radius:var(--t-radius-control);color:var(--admin-text);font:inherit;cursor:pointer}button[data-v-1034142e]:hover{filter:brightness(.95)}button[data-v-1034142e]:active{filter:brightness(.9)}a[data-v-1034142e]:focus-visible,button[data-v-1034142e]:focus-visible{outline:3px solid var(--admin-text);outline-offset:4px}.export-panel[data-v-1034142e]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:clamp(20px,3vw,32px);margin-bottom:24px;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--t-radius-card);box-shadow:var(--t-shadow-card)}.export-panel h2[data-v-1034142e]{margin:0;font-size:1.25rem}.export-panel p[data-v-1034142e]{margin:.5rem 0 0;color:var(--admin-secondary);font-size:.9rem}.export-panel button[data-v-1034142e]{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-weight:650}.export-panel .export-feedback[data-v-1034142e]{flex-basis:100%;margin:0;overflow-wrap:anywhere}.export-panel .access-error[data-v-1034142e]{color:var(--admin-error)}.export-panel .export-success[data-v-1034142e]{color:var(--admin-success)}button[data-v-1034142e]:disabled{cursor:wait;opacity:.65}@media(max-width:720px){.page-header[data-v-1034142e]{flex-direction:column;gap:8px;margin-bottom:24px}.brand[data-v-1034142e],.export-panel[data-v-1034142e]{margin-bottom:16px}}@media(max-width:420px){.export-panel button[data-v-1034142e]{width:100%}}
