.bottom-bar[data-v-becf23bf]{position:fixed;right:0;bottom:0;left:0;z-index:20;width:100vw;max-width:100vw;min-width:0;height:calc(var(--bottom-bar-h) + env(safe-area-inset-bottom));overflow:visible;background:color-mix(in srgb,var(--surface-solid) 90%,transparent);box-shadow:var(--shadow-bar);backdrop-filter:blur(22px) saturate(1.04);-webkit-backdrop-filter:blur(22px) saturate(1.04)}.bottom-bar-items[data-v-becf23bf]{position:absolute;top:calc(var(--bottom-bar-h) / 2);left:50%;width:max-content;display:flex;align-items:center;justify-content:center;gap:8px;transform:translate(-50%,-50%)}.nav-item[data-v-becf23bf]{width:max-content;min-width:0;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:999px;color:var(--text);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:filter var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.nav-item svg[data-v-becf23bf]{width:18px;height:18px;flex:0 0 18px;stroke-width:1.75}.nav-item span[data-v-becf23bf]{min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-item[data-v-becf23bf]:hover:not(:disabled){filter:brightness(1.03)}.nav-item[data-v-becf23bf]:active:not(:disabled){transform:translateY(1px) scale(.99)}.nav-item.tone-warm[data-v-becf23bf]{background:var(--block-warm)}.nav-item.tone-green[data-v-becf23bf]{background:var(--block-green)}.nav-item.tone-blue[data-v-becf23bf]{background:var(--block-blue)}@media(max-width:480px){.bottom-bar-items[data-v-becf23bf]{width:calc(100% - 16px);gap:4px}.nav-item[data-v-becf23bf]{flex:1 1 0;width:0;height:54px;padding:6px 2px;flex-direction:column;gap:5px}}.class-summary[data-v-64086ce4]{color:var(--text-strong);font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1.35;letter-spacing:.055em;align-items:center;justify-content:center;text-align:center}.class-summary-bottom[data-v-64086ce4]{display:none}@media(max-width:699px){.class-summary-top[data-v-64086ce4]{display:none}.class-summary-bottom[data-v-64086ce4]{display:flex}}.dialog-backdrop[data-v-5d1734e3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-sheet[data-v-5d1734e3]{width:min(calc(100% - 32px),620px);max-height:calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;padding:0;--dialog-padding: 18px;border-radius:26px;color:var(--text);background:color-mix(in srgb,var(--surface-solid) 97%,transparent);box-shadow:var(--shadow-3)}.dialog-head[data-v-5d1734e3]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--dialog-padding)}.dialog-content[data-v-5d1734e3]{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:3px var(--dialog-padding) var(--dialog-padding);scrollbar-gutter:stable}.dialog-footer[data-v-5d1734e3]{flex:0 0 auto;flex-wrap:wrap;padding:14px var(--dialog-padding) var(--dialog-padding);border-top:1px solid var(--border-soft);background:var(--surface-solid)}.dialog-footer[data-v-5d1734e3] button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.dialog-head h2[data-v-5d1734e3]{min-width:0;overflow-wrap:anywhere;margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:23px;font-weight:600;text-align:left}.dialog-close[data-v-5d1734e3]{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;color:var(--text);background:var(--block-warm);cursor:pointer}.dialog-enter-active[data-v-5d1734e3],.dialog-leave-active[data-v-5d1734e3]{transition:opacity var(--duration-base) var(--ease-standard)}.dialog-enter-active .dialog-sheet[data-v-5d1734e3],.dialog-leave-active .dialog-sheet[data-v-5d1734e3]{transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-base) var(--ease-standard)}.dialog-enter-from[data-v-5d1734e3],.dialog-leave-to[data-v-5d1734e3]{opacity:0}.dialog-enter-from .dialog-sheet[data-v-5d1734e3],.dialog-leave-to .dialog-sheet[data-v-5d1734e3]{opacity:0;transform:scale(.975)}@media(max-width:560px){.dialog-sheet[data-v-5d1734e3]{width:min(calc(100% - 16px),620px);--dialog-padding: 16px;border-radius:22px}}.course-tile{--course-bg-1: #eadfda;--course-bg-2: #e2d4ce;--course-ink: #211f1c;--course-meta: #45413b;--course-pattern: #625b53;--course-bg-1: color-mix(in oklab, var(--course-base) 25%, #fffdf8);--course-bg-2: color-mix(in oklab, var(--course-base) 34%, #fff8f1);--course-ink: color-mix(in oklab, var(--course-base) 14%, #171714);--course-meta: color-mix(in oklab, var(--course-base) 20%, #34322e);--course-pattern: color-mix(in oklab, var(--course-base) 42%, #3f3b36);position:relative;min-width:0;overflow:hidden;isolation:isolate;padding:8px 6px 7px;border:0;border-radius:11px;color:var(--course-ink);background:linear-gradient(145deg,var(--course-bg-1),var(--course-bg-2));cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.course-tile:focus-visible{outline:0;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--course-ink) 24%,transparent)}.course-tile:active{transform:scale(.985)}.course-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--course-pattern);opacity:.115;-webkit-mask-image:var(--pattern-mask);mask-image:var(--pattern-mask);-webkit-mask-size:var(--pattern-size);mask-size:var(--pattern-size);-webkit-mask-repeat:repeat;mask-repeat:repeat}:root[data-theme=dark] .course-tile{--course-bg-1: #30312d;--course-bg-2: #252622;--course-ink: #f5f0e8;--course-meta: #ddd7ce;--course-pattern: #c7c0b7;--course-bg-1: color-mix(in oklab, var(--course-base) 24%, #252622);--course-bg-2: color-mix(in oklab, var(--course-base) 32%, #1c1d1a);--course-ink: color-mix(in oklab, var(--course-base) 10%, #f8f4ed);--course-meta: color-mix(in oklab, var(--course-base) 16%, #e1dbd2);--course-pattern: color-mix(in oklab, var(--course-base) 42%, #f3ede5)}.course-tile[data-course-highlight][data-v-f89458e4]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 3px var(--course-ink);pointer-events:none}.highlight-exiting .course-tile[data-course-highlight][data-v-f89458e4]:after{animation:course-highlight-out-f89458e4 .6s ease-out forwards}@keyframes course-highlight-out-f89458e4{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(5px)}}@media(prefers-reduced-motion:reduce){.highlight-exiting .course-tile[data-course-highlight][data-v-f89458e4]:after{animation:none;opacity:0}}.timetable[data-v-f89458e4]{width:100%;min-width:0;min-height:100%;display:flex;flex-direction:column}.notice-strip[data-v-f89458e4]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 12px 10px}.notice-strip span[data-v-f89458e4]{padding:6px 11px;border-radius:999px;color:var(--text);background:var(--block-warm);box-shadow:var(--shadow-1);font-size:12px}.schedule-card[data-v-f89458e4]{position:relative;min-height:0;flex:1 0 auto;display:flex;flex-direction:column;overflow:hidden;background:var(--schedule-surface-rest);box-shadow:var(--shadow-2)}.schedule-card-entering[data-v-f89458e4]{animation:schedule-card-enter-f89458e4 .3s var(--ease-standard) both}@keyframes schedule-card-enter-f89458e4{0%{opacity:0;transform:translateY(5px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-grid[data-v-f89458e4]{position:relative;width:100%;min-width:0;display:grid;grid-template-columns:var(--time-w) repeat(var(--day-count),minmax(0,1fr));grid-template-rows:42px repeat(var(--session-count),var(--course-row-h));gap:var(--grid-gap);padding:6px 0}.corner[data-v-f89458e4]{grid-column:1;grid-row:1;background:transparent}.day-head[data-v-f89458e4],.time-cell[data-v-f89458e4]{display:flex;align-items:center;justify-content:center;color:var(--text);background:transparent;font-family:var(--font-display);font-weight:500}.day-head[data-v-f89458e4]{position:relative;z-index:1;min-width:0;flex-direction:column;color:var(--text-strong);font-size:15px;font-weight:600;letter-spacing:.035em;white-space:nowrap}.day-head small[data-v-f89458e4]{margin-top:2px;color:var(--text-muted);font-family:var(--font-ui);font-size:11px;font-weight:500;letter-spacing:0}.time-cell[data-v-f89458e4]{color:var(--text);font-size:14px;font-weight:560;line-height:1;letter-spacing:.055em;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}.course-cell[data-v-f89458e4]{position:relative;z-index:1;min-width:0;min-height:0;display:grid;grid-auto-rows:minmax(0,1fr);gap:3px}.course-content[data-v-f89458e4]{position:relative;z-index:1;width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch}.course-field-scroll[data-v-f89458e4]{width:100%;min-width:0;overflow:hidden;contain:paint}.course-field-track[data-v-f89458e4]{width:100%;min-width:100%;transform:translateZ(0);transform-origin:left top}.course-field-scroll.is-marquee .course-field-track[data-v-f89458e4]{will-change:transform}.course-field-scroll.has-hidden-left[data-v-f89458e4]{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 100%);mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 100%)}.course-field-scroll.has-hidden-right[data-v-f89458e4]{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 10px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 10px),transparent 100%)}.course-field-scroll.has-hidden-left.has-hidden-right[data-v-f89458e4]{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%)}.course-field-scroll.is-manual-scroll[data-v-f89458e4]{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x}.course-field-scroll.is-manual-scroll[data-v-f89458e4]::-webkit-scrollbar{display:none}.course-teacher-scroll[data-v-f89458e4]{margin-top:6px}.course-title[data-v-f89458e4],.course-teacher[data-v-f89458e4],.course-room[data-v-f89458e4]{display:block;overflow-wrap:anywhere;word-break:normal;white-space:normal}.course-title[data-v-f89458e4]{display:-webkit-box;overflow:hidden;color:var(--course-ink);font-size:16px;font-weight:720;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:3}.course-teacher[data-v-f89458e4],.course-room[data-v-f89458e4]{color:var(--course-meta);font-size:14px;font-weight:540;line-height:1.32}.course-teacher[data-v-f89458e4]{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-room[data-v-f89458e4]{margin-top:5px;overflow:hidden;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis}.holiday-column[data-v-f89458e4]{z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:26px;font-weight:650;pointer-events:none}.exam-week-state[data-v-f89458e4]{min-height:360px;flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-strong);font-family:var(--font-display);font-size:64px}.exam-week-icon[data-v-f89458e4]{flex-shrink:0;color:var(--accent)}@media(min-width:700px){.schedule-card[data-v-f89458e4]{border-radius:24px}.schedule-grid[data-v-f89458e4]{grid-template-rows:54px repeat(var(--session-count),var(--course-row-h));padding:12px}.course-tile[data-v-f89458e4]{padding:14px 12px 12px;border-radius:16px}.course-teacher-scroll[data-v-f89458e4]{margin-top:8px}}@media(max-width:379px){.course-tile[data-v-f89458e4]{padding-left:5px;padding-right:5px}}.date-nav[data-v-343306b3]{display:flex;align-items:center;justify-content:center}.date-button[data-v-343306b3]{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:0;border-radius:14px;color:var(--fiddler-fg);background:var(--fiddler-bg);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard)}.date-button.previous-button[data-v-343306b3]{background:var(--fiddler-bg-previous)}.date-button[data-v-343306b3]:hover:not(:disabled){filter:brightness(1.04)}.date-button[data-v-343306b3]:active:not(:disabled){transform:translateY(1px) scale(.985)}.date-button svg[data-v-343306b3]{width:20px;height:20px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date-text[data-v-343306b3]{width:160px;min-width:160px;max-width:160px;flex:0 0 160px;border-radius:16px;text-align:center;overflow:hidden;cursor:pointer;touch-action:manipulation}.date-main[data-v-343306b3]{color:var(--text-strong);font-family:var(--font-display);font-size:30px;font-weight:650;letter-spacing:.04em;white-space:nowrap}.date-week[data-v-343306b3]{margin-top:4px;color:var(--text-muted);font-size:12px;letter-spacing:.025em;white-space:nowrap}@media(max-width:379px){.date-button[data-v-343306b3]{width:36px;height:36px;flex-basis:36px;border-radius:13px}}.announcement-date[data-v-bd7e6fb6]{margin:0 0 12px;color:var(--text-muted);font-size:13px;overflow-wrap:anywhere}.announcement-content[data-v-bd7e6fb6]{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-size:14px;line-height:1.8}.donation-qr[data-v-15edba7d]{display:block;width:min(220px,100%);height:auto;aspect-ratio:1;margin:12px auto 0;border-radius:8px;background:#fff}.about-area[data-v-15edba7d]{gap:18px;display:flex;flex-direction:column}.announcement-history[data-v-15edba7d]{color:var(--text-muted);font-size:14px}.announcement-history ul[data-v-15edba7d]{margin:0;padding:0;list-style:none}.announcement-history li+li[data-v-15edba7d]{margin-top:6px}.announcement-history button[data-v-15edba7d]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;width:100%;padding:12px;border:0;border-radius:8px;background:var(--surface-subtle);color:var(--text-strong);text-align:left;cursor:pointer;overflow-wrap:anywhere}.announcement-history strong[data-v-15edba7d]{min-width:0;font-size:14px;font-weight:600}.announcement-history span[data-v-15edba7d]{color:var(--text-muted);font-size:13px}.about-copy[data-v-15edba7d]{margin:0 2px 4px;color:var(--text-muted);font-size:14px;line-height:1.8}.about-copy p[data-v-15edba7d]{margin:0}.about-copy p+p[data-v-15edba7d]{margin-top:12px}.course-detail-list[data-v-b6a6914c]{display:grid;gap:10px;margin:4px 0 0}.course-detail-list>div[data-v-b6a6914c]{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:13px 14px;border-radius:16px;cursor:copy;transition:filter var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.course-detail-row[data-v-b6a6914c]:nth-child(odd){background:var(--block-warm)}.course-detail-row[data-v-b6a6914c]:nth-child(2n){background:var(--block-blue)}.course-detail-row[data-v-b6a6914c]:hover{filter:brightness(1.025)}.course-detail-row[data-v-b6a6914c]:active{transform:scale(.992)}.course-detail-list dt[data-v-b6a6914c]{color:var(--text-muted);font-size:14px;font-weight:600;text-align:left}.course-detail-list dd[data-v-b6a6914c]{min-width:0;margin:0;color:var(--text-strong);font-size:15px;font-weight:600;text-align:right;overflow-wrap:anywhere}.all-courses[data-v-c4a7922b]{min-width:0}.course-filter[data-v-c4a7922b]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:var(--surface-subtle);color:var(--text-muted)}.course-filter input[data-v-c4a7922b]{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-strong);font:inherit}.course-filter[data-v-c4a7922b]:focus-within{outline:2px solid var(--accent)}.course-filter input[data-v-c4a7922b]:focus-visible{box-shadow:none}.course-count[data-v-c4a7922b]{color:var(--text-muted);font-size:13px}.all-course-grid[data-v-c4a7922b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-tile[data-v-c4a7922b]{display:flex;flex-direction:column;gap:8px;min-height:152px;padding:12px;text-align:left}.catalog-tile[data-v-c4a7922b]>*{position:relative;z-index:1;overflow-wrap:anywhere}.catalog-tile strong[data-v-c4a7922b]{color:var(--course-ink);font-size:16px;font-weight:720;line-height:1.3}.catalog-tile span[data-v-c4a7922b]{color:var(--course-meta);font-size:14px;line-height:1.32}.catalog-tile small[data-v-c4a7922b]{margin-top:auto;color:var(--course-meta)}.occurrences[data-v-cd256a1f]{min-width:0;overflow-wrap:anywhere}.occurrence-count[data-v-cd256a1f]{color:var(--text-muted);font-size:13px}.occurrences h4[data-v-cd256a1f]{margin:20px 0 8px;color:var(--text-strong);font-size:14px}.occurrence[data-v-cd256a1f]{display:grid;gap:4px;width:100%;padding:12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere}.occurrence+.occurrence[data-v-cd256a1f]{border-top:1px solid var(--border-soft)}.occurrence strong[data-v-cd256a1f]{font-size:14px}.occurrence span[data-v-cd256a1f]{font-size:13px;color:var(--text-muted)}.occurrence[data-v-cd256a1f]:hover{background:var(--surface-subtle)}.occurrence[data-v-cd256a1f]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.conflict-content[data-v-ece3dba3]{min-width:0;overflow-wrap:anywhere;line-height:1.6}.conflict-overview[data-v-ece3dba3]{margin:0 0 12px;color:var(--text-muted);font-size:14px}.conflict-note[data-v-ece3dba3]{margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--danger);color:var(--text);background:var(--surface-subtle);font-size:13px}.conflict-list[data-v-ece3dba3]{margin:0;padding:0;list-style:none}.conflict-item[data-v-ece3dba3]{padding:16px 0;border-top:1px solid var(--border-soft)}.conflict-heading[data-v-ece3dba3]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.conflict-heading h3[data-v-ece3dba3]{margin:0;color:var(--text-strong);font-size:16px;font-weight:650}.conflict-heading span[data-v-ece3dba3],.conflict-weeks[data-v-ece3dba3]{color:var(--text-muted);font-size:13px}.conflict-weeks[data-v-ece3dba3]{margin:4px 0 12px}.conflict-courses[data-v-ece3dba3]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.conflict-courses li[data-v-ece3dba3]{display:grid;gap:2px;padding-left:12px;border-left:2px solid var(--danger)}.conflict-courses strong[data-v-ece3dba3]{color:var(--text-strong);font-size:14px;font-weight:600}.conflict-courses span[data-v-ece3dba3]{color:var(--text-muted);font-size:13px}.conflict-dates[data-v-ece3dba3]{margin-top:12px;color:var(--text-muted);font-size:12px}.conflict-dates summary[data-v-ece3dba3]{width:fit-content;cursor:pointer}.conflict-dates p[data-v-ece3dba3]{margin:8px 0 0}.conflict-confirm[data-v-9db40aad]{color:var(--danger)}.conflict-confirm[data-v-9db40aad]:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface-solid))}.settings-form[data-v-9db40aad]{display:grid;gap:24px}.settings-group[data-v-9db40aad]{min-width:0;margin:0;padding:0;border:0}.settings-fields[data-v-9db40aad]{display:grid;grid-template-columns:1fr;gap:12px}.settings-hint[data-v-9db40aad]{margin:0;padding:12px 13px;border-radius:15px;color:var(--text-muted);background:var(--surface-subtle);font-size:12px;line-height:1.6}.field[data-v-9db40aad]{min-width:0;display:grid;gap:7px;color:var(--text-muted);font-size:12px;font-weight:560;letter-spacing:.025em}.field select[data-v-9db40aad]{width:100%;min-width:0;padding:12px 13px;border:0;border-radius:15px;outline:0;color:var(--text-strong);background:var(--block-blue)}.field.tone-green select[data-v-9db40aad],.field.tone-green.checkbox-field[data-v-9db40aad]{background:var(--block-green)}.field.tone-blue select[data-v-9db40aad],.field.tone-blue.checkbox-field[data-v-9db40aad]{background:var(--block-blue)}.field.tone-violet select[data-v-9db40aad],.field.tone-violet.checkbox-field[data-v-9db40aad]{background:var(--block-violet)}.field.tone-warm select[data-v-9db40aad],.field.tone-warm.checkbox-field[data-v-9db40aad]{background:var(--block-warm)}.checkbox-field[data-v-9db40aad]{min-height:43px;display:flex;align-items:center;justify-content:space-between;align-self:auto;padding:0 13px;border-radius:15px;color:var(--text-strong)}.checkbox-field input[data-v-9db40aad]{width:18px;height:18px;accent-color:var(--accent)}.theme-choice[data-v-9db40aad]{--theme-choice-index: 0;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;isolation:isolate;overflow:hidden;padding:4px;border-radius:16px;background:var(--surface-subtle)}.theme-choice[data-active=light][data-v-9db40aad]{--theme-choice-index: 1}.theme-choice[data-active=dark][data-v-9db40aad]{--theme-choice-index: 2}.theme-choice[data-v-9db40aad]:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;z-index:0;width:calc((100% - 16px) / 3);border-radius:12px;background:var(--fiddler-bg);box-shadow:var(--shadow-1);transform:translate(calc(var(--theme-choice-index) * (100% + 4px)));transition:transform .43s cubic-bezier(.22,1.55,.36,1),background-color .3s ease,box-shadow .3s ease}.theme-option[data-v-9db40aad]{position:relative;z-index:1;min-height:39px;border:0;border-radius:12px;color:var(--text-muted);background:transparent;cursor:pointer;transition:color .3s ease,transform var(--duration-fast) var(--ease-standard)}.theme-option[aria-pressed=true][data-v-9db40aad]{color:var(--fiddler-fg)}.theme-option[data-v-9db40aad]:active{transform:scale(.97)}.announcement-error[data-v-ea5983c2]{color:var(--danger);overflow-wrap:anywhere;font-size:13px;line-height:1.6}.lookup-confirm[data-v-e48574ac]{overflow-wrap:anywhere;line-height:1.6}.application-layer[data-v-e48574ac],.app[data-v-e48574ac]{width:100vw;max-width:100vw;min-width:0;height:100vh;height:100dvh;overflow:hidden}.page[data-v-e48574ac]{width:100%;max-width:100vw;min-width:0;height:100vh;height:100dvh;overflow-x:hidden;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:contain;padding:14px 0 calc(32px + var(--bottom-bar-h) + env(safe-area-inset-bottom))}.shell[data-v-e48574ac]{width:100%;max-width:100%;min-width:0;min-height:100%;display:flex;flex-direction:column;gap:16px;margin:0 auto}.debug-hud[data-v-e48574ac]{display:grid;gap:12px;margin:0 12px 12px}.debug-hud-card[data-v-e48574ac]{min-width:0;display:grid;align-content:start;gap:10px;padding:12px;border:1px solid var(--border-soft);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-1)}.debug-hud-title[data-v-e48574ac]{color:var(--text-strong);font-family:var(--font-display);font-size:15px}.debug-hud-row[data-v-e48574ac]{min-width:0;display:flex;align-items:center;gap:10px}.debug-hud-label[data-v-e48574ac]{width:34px;flex:0 0 34px;color:var(--text-muted);font-size:12px;font-weight:650}.debug-hud-choice[data-v-e48574ac]{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.debug-hud-choice button[data-v-e48574ac]{min-height:32px;padding:6px 10px;border:0;border-radius:10px;color:var(--text);background:var(--surface-subtle);cursor:pointer}.debug-hud-choice button[aria-pressed=true][data-v-e48574ac]{color:var(--fiddler-fg);background:var(--fiddler-bg);box-shadow:var(--shadow-1)}.debug-hud-description[data-v-e48574ac]{margin:0;color:var(--text-muted);font-size:12px;line-height:1.55}.layer-choice[data-v-e48574ac]{display:flex;flex-wrap:wrap;gap:8px}.layer-choice label[data-v-e48574ac]{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;color:var(--text);background:var(--surface-subtle);font-size:12px}.layer-choice input[data-v-e48574ac]{accent-color:var(--accent)}.danger-button[data-v-e48574ac]{justify-self:start;padding:9px 12px;border:0;border-radius:13px;color:var(--danger);background:var(--block-warm);cursor:pointer}.week-stage[data-v-e48574ac]{--pager-x: 0px;--pager-rotation: 0deg;--pager-outgoing-opacity: 1;--pager-incoming-opacity: 0;--pager-target-scale: .955;position:relative;width:100%;min-width:0;flex:1 0 auto;display:flex;align-items:stretch;overflow:visible;isolation:isolate;touch-action:pan-y pinch-zoom}.week-stage[data-v-e48574ac]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;backdrop-filter:blur(18px) saturate(1.02);-webkit-backdrop-filter:blur(18px) saturate(1.02)}.week-card[data-v-e48574ac]{width:100%;min-width:0;min-height:100%;transform-origin:center 72%}.week-card-current[data-v-e48574ac]{position:relative;flex:1 0 auto;z-index:2;opacity:var(--pager-outgoing-opacity);transform:translate3d(var(--pager-x),0,0) rotate(var(--pager-rotation))}.week-card-target[data-v-e48574ac]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:var(--pager-incoming-opacity);pointer-events:none;transform:scale(var(--pager-target-scale))}.week-stage.is-animating .week-card[data-v-e48574ac],.week-stage.is-dragging .week-card[data-v-e48574ac]{will-change:transform,opacity}.week-stage.is-dragging[data-v-e48574ac]{cursor:grabbing;-webkit-user-select:none;user-select:none}.state-card[data-v-e48574ac]{min-height:360px;flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0 12px;border-radius:22px;color:var(--text-muted);background:var(--surface);box-shadow:var(--shadow-2)}.state-card strong[data-v-e48574ac]{color:var(--text-strong);font-family:var(--font-display);font-size:20px}.error-state span[data-v-e48574ac]{color:var(--danger)}.toast[data-v-e48574ac]{position:fixed;left:50%;bottom:calc(var(--bottom-bar-h) + env(safe-area-inset-bottom) + 16px);z-index:100;padding:10px 14px;border-radius:999px;color:var(--toast-text);background:var(--toast-bg);box-shadow:var(--shadow-2);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.toast.show[data-v-e48574ac]{opacity:1;transform:translate(-50%) translateY(0)}@media(min-width:700px){.page[data-v-e48574ac]{padding:22px 22px calc(32px + var(--bottom-bar-h) + env(safe-area-inset-bottom));scrollbar-gutter:stable}.debug-hud[data-v-e48574ac]{margin-right:0;margin-left:0}.week-stage[data-v-e48574ac]:before{border-radius:24px}}@media(min-width:900px){.debug-hud[data-v-e48574ac]{grid-template-columns:minmax(0,2fr) minmax(220px,1fr) minmax(220px,1fr)}}:root{color-scheme:light;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-display: ui-serif, "Songti SC", STSong, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK SC", SimSun, serif;--bg: #f2dfe2;--bg-accent-1: rgba(202, 91, 120, .25);--bg-accent-2: rgba(145, 174, 135, .11);--surface: rgba(255, 253, 249, .86);--surface-solid: #fffdfa;--surface-subtle: #f1ebe4;--schedule-surface-rest: rgba(255, 255, 252, .18);--schedule-surface-soft: rgba(255, 255, 252, .32);--schedule-surface-near: rgba(255, 255, 252, .52);--schedule-surface-today: rgba(255, 255, 252, .6);--block-warm: #f1dddc;--block-green: #e5ead8;--block-blue: #dfe7ef;--block-violet: #e8e1ee;--fiddler-bg: #35414b;--fiddler-bg-previous: #4a3d48;--fiddler-fg: #fffaf5;--text-strong: #292a27;--text: #464640;--text-muted: #77746d;--text-faint: #96928a;--border-soft: rgba(68, 62, 55, .08);--accent: #b9777d;--accent-on: #ffffff;--danger: #a43f4b;--scrim: rgba(42, 38, 34, .18);--toast-bg: rgba(42, 41, 37, .94);--toast-text: #ffffff;--shadow-1: 0 7px 20px rgba(62, 51, 40, .055);--shadow-2: 0 14px 38px rgba(62, 51, 40, .085);--shadow-3: 0 24px 68px rgba(50, 43, 36, .18);--shadow-bar: 0 -12px 34px rgba(62, 51, 40, .1);--time-w: 24px;--grid-gap: 4px;--bottom-bar-h: 72px;--course-row-h: 152px;--ease-standard: cubic-bezier(.2, .8, .2, 1);--duration-fast: .15s;--duration-base: .22s}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:ease-in-out}:root[data-theme=dark]{color-scheme:dark;--bg: #1a1116;--bg-accent-1: rgba(184, 76, 108, .21);--bg-accent-2: rgba(116, 151, 104, .09);--surface: rgba(31, 32, 30, .86);--surface-solid: #20211f;--surface-subtle: #292a27;--schedule-surface-rest: rgba(4, 4, 4, .18);--schedule-surface-soft: rgba(4, 4, 4, .34);--schedule-surface-near: rgba(4, 4, 4, .52);--schedule-surface-today: rgba(4, 4, 4, .6);--block-warm: #3d3031;--block-green: #30372c;--block-blue: #2c343c;--block-violet: #35303b;--fiddler-bg: #7f898f;--fiddler-bg-previous: #8d8189;--fiddler-fg: #171616;--text-strong: #f1eee8;--text: #d1cec8;--text-muted: #aaa69e;--text-faint: #817e77;--border-soft: rgba(255, 247, 238, .07);--accent: #d19aa0;--accent-on: #241a1c;--danger: #e18a94;--scrim: rgba(0, 0, 0, .38);--toast-bg: rgba(238, 235, 228, .94);--toast-text: #262724;--shadow-1: 0 7px 20px rgba(0, 0, 0, .14);--shadow-2: 0 14px 38px rgba(0, 0, 0, .22);--shadow-3: 0 24px 68px rgba(0, 0, 0, .42);--shadow-bar: 0 -12px 34px rgba(0, 0, 0, .26)}*{box-sizing:border-box}html,body,#app{height:100%}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{width:100%;max-width:100vw;min-width:0;margin:0;overflow:hidden;-webkit-user-select:none;user-select:none;color:var(--text);background:radial-gradient(circle at 8% 4%,var(--bg-accent-1),transparent 28%),radial-gradient(circle at 92% 84%,var(--bg-accent-2),transparent 28%),var(--bg);font-family:var(--font-ui);transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}button,select,input{font:inherit}select,input{-webkit-user-select:auto;user-select:auto}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.42}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.dialog-group-title{margin:0 0 13px;padding:0 2px;color:var(--text-strong);font-family:var(--font-display);font-size:18px;font-weight:650;letter-spacing:.035em;line-height:normal;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.secondary-button,.primary-button{padding:11px 15px;border:0;border-radius:14px;cursor:pointer}.secondary-button{color:var(--text);background:var(--surface-subtle)}.primary-button{color:var(--accent-on);background:var(--accent);box-shadow:var(--shadow-1)}.measure-copy{position:fixed;inset:auto auto -10000px -10000px;visibility:hidden;pointer-events:none;contain:layout style paint}@media(min-width:700px){:root{--time-w: 64px;--grid-gap: 10px;--course-row-h: 158px}}@media(max-width:379px){:root{--time-w: 22px;--grid-gap: 3px;--course-row-h: 152px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
