:root{--color-paper: oklch(97.4% .008 255);--color-paper-2: oklch(94.8% .012 255);--color-surface: oklch(99.2% .004 255);--color-surface-raised: oklch(100% .002 255);--color-ink: oklch(21% .026 255);--color-ink-2: oklch(39% .022 255);--color-muted: oklch(47% .018 255);--color-faint: oklch(54% .014 255);--color-rule: oklch(87% .013 255);--color-rule-strong: oklch(76% .018 255);--color-accent: oklch(56% .2 255);--color-accent-soft: oklch(94% .035 255);--color-accent-ink: oklch(98% .008 255);--color-success: oklch(48% .12 160);--color-success-soft: oklch(95% .03 160);--color-warning: oklch(44% .12 75);--color-warning-soft: oklch(96% .035 75);--color-danger: oklch(50% .17 25);--color-danger-soft: oklch(95% .035 25);--color-overlay: oklch(16% .03 255 / .48);--color-focus: oklch(27% .07 250);--color-nav-rule: oklch(58% .05 255);--color-nav-brand: oklch(82% .11 255);--color-nav-muted: oklch(67% .025 255);--color-nav-text: oklch(75% .025 255);--color-nav-hover: oklch(27% .035 255);--color-nav-active: oklch(31% .06 255);--color-nav-surface: oklch(25% .032 255);--color-nav-surface-rule: oklch(32% .035 255);--color-nav-user: oklch(82% .02 255);--color-nav-user-muted: oklch(64% .022 255);--color-danger-rule: oklch(80% .07 25);--color-warning-rule: oklch(85% .07 75);--color-success-rule: oklch(82% .06 160);--color-chart-rule: oklch(92% .01 255);--color-chart-purple: oklch(52% .1 300);--color-chart-cyan: oklch(66% .12 225);--color-dining-coral: oklch(67% .215 27);--color-dining-coral-strong: oklch(61% .235 20);--color-dining-apricot: oklch(77% .155 55);--color-dining-raspberry: oklch(63% .245 8);--color-dining-cream: oklch(98% .015 70);--color-dining-surface: oklch(99.4% .006 65);--color-dining-ink: oklch(20% .025 35);--color-dining-muted: oklch(53% .025 35);--color-dining-faint: oklch(66% .018 35);--color-dining-rule: oklch(91% .02 55);--color-dining-peach-soft: oklch(96% .045 55);--color-dining-success: oklch(58% .165 145);--color-dining-success-soft: oklch(96% .045 145);--gradient-dining-hero: linear-gradient(112deg, var(--color-dining-raspberry) 0%, var(--color-dining-coral) 43%, var(--color-dining-apricot) 100%);--shadow-dining-card: 0 8px 24px color-mix(in oklch, var(--color-dining-coral) 10%, transparent);--color-sport-grass: oklch(62% .155 155);--color-sport-grass-strong: oklch(54% .15 158);--color-sport-lime: oklch(80% .14 125);--color-sport-teal: oklch(58% .1 200);--color-sport-fog: oklch(97.6% .012 160);--color-sport-surface: oklch(99.4% .005 160);--color-sport-ink: oklch(21% .02 170);--color-sport-muted: oklch(52% .022 170);--color-sport-faint: oklch(66% .016 170);--color-sport-rule: oklch(90% .018 160);--color-sport-mist-soft: oklch(95.5% .032 155);--color-sport-success: oklch(58% .165 145);--gradient-sport-hero: linear-gradient(112deg, var(--color-sport-teal) 0%, var(--color-sport-grass) 45%, var(--color-sport-lime) 100%);--shadow-sport-card: 0 8px 24px color-mix(in oklch, var(--color-sport-grass) 10%, transparent);--color-auth-paper: oklch(98% .009 260);--color-auth-surface: oklch(100% 0 0);--color-auth-ink: oklch(28% .065 270);--color-auth-muted: oklch(49% .045 267);--color-auth-placeholder: oklch(52% .032 267);--color-auth-rule: oklch(88% .022 260);--color-auth-blue: oklch(54% .2 260);--color-auth-blue-hover: oklch(47% .19 260);--color-auth-blue-soft: oklch(95% .023 260);--color-auth-disabled: oklch(91% .028 260);--color-auth-focus: oklch(45% .19 260);--color-auth-danger: oklch(47% .18 25);--color-auth-danger-soft: oklch(96% .024 25);--shadow-auth-card: 0 12px 36px oklch(48% .09 260 / .09);--shadow-auth-stage: 0 18px 56px oklch(48% .09 260 / .12);--radius-auth-stage: 24px;--radius-auth-card: 28px;--radius-auth-control: 14px;--color-journal-paper: #f3f8ff;--color-journal-surface: #ffffff;--color-journal-ink: #202c4b;--color-journal-muted: #5b6c89;--color-journal-blue: #245edb;--color-journal-rule: #dce7f7;--color-journal-yellow: #f5cf67;--shadow-journal: 0 3px 14px rgb(49 89 148 / 12%);--radius-journal: 14px;--color-student-paper: #f3f7fc;--color-student-surface: #ffffff;--color-student-ink: #172444;--color-student-muted: #64748b;--color-student-blue: #246de8;--color-student-blue-soft: #edf5ff;--color-student-rule: #dbe7f5;--shadow-student-card: 0 5px 18px rgb(49 89 148 / 8%);--radius-student-card: 14px;--opacity-student-watermark: .2;--font-display: "MiSans", "HarmonyOS Sans SC", "Noto Sans SC", sans-serif;--font-body: "IBM Plex Sans", "MiSans", "HarmonyOS Sans SC", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-thin: 1px;--radius-control: 6px;--radius-panel: 10px;--radius-pill: 999px;--shadow-whisper: 0 1px 2px oklch(20% .02 255 / .06);--shadow-float: 0 20px 50px oklch(18% .02 255 / .18);--shadow-drawer: -20px 0 60px oklch(18% .02 255 / .14);--z-base: 1;--z-raised: 10;--z-sticky: 200;--z-modal: 400;--z-toast: 500}.mobile-icon[data-v-cf850628]{display:block;flex:0 0 auto}.pcm-backdrop[data-v-fe462f81]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:400;display:grid;place-items:center;padding:20px}.pcm-modal[data-v-fe462f81]{width:min(420px,100%);background:#fff;border-radius:14px;padding:24px 20px 20px;box-shadow:0 20px 50px #0f172a40}.pcm-icon[data-v-fe462f81]{width:46px;height:46px;border-radius:12px;background:#e8f0fe;color:#1a73e8;display:grid;place-items:center;margin:0 auto 12px}.pcm-title[data-v-fe462f81]{text-align:center;font-size:18px;color:#0f172a;margin-bottom:10px}.pcm-desc[data-v-fe462f81]{font-size:13px;color:#475569;line-height:1.65;margin-bottom:8px}.pcm-list[data-v-fe462f81]{margin:0 0 8px;padding:10px 14px 10px 30px;background:#f8fafc;border-radius:8px;font-size:13px;color:#475569;line-height:1.8}.pcm-link[data-v-fe462f81]{color:#1a73e8;text-decoration:none;font-weight:500}.pcm-link[data-v-fe462f81]:hover{text-decoration:underline}.pcm-warn[data-v-fe462f81]{margin-top:8px;padding:8px 12px;background:#fce8e6;color:#c5221f;border-radius:6px;font-size:12px;text-align:center}.pcm-actions[data-v-fe462f81]{display:flex;gap:10px;margin-top:16px}.pcm-btn[data-v-fe462f81]{flex:1;padding:11px 12px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,opacity .2s}.pcm-btn[data-v-fe462f81]:disabled{opacity:.6;cursor:not-allowed}.pcm-btn-primary[data-v-fe462f81]{background:#1a73e8;color:#fff;border:none}.pcm-btn-primary[data-v-fe462f81]:hover:not(:disabled){background:#1557b0}.pcm-btn-ghost[data-v-fe462f81]{background:#fff;color:#64748b;border:1px solid #cbd5e1}.pcm-btn-ghost[data-v-fe462f81]:hover:not(:disabled){color:#334155;border-color:#94a3b8}.pcm-fade-enter-active[data-v-fe462f81]{transition:opacity .22s ease}.pcm-fade-enter-active .pcm-modal[data-v-fe462f81]{transition:transform .22s ease}.pcm-fade-enter-from[data-v-fe462f81]{opacity:0}.pcm-fade-enter-from .pcm-modal[data-v-fe462f81]{transform:translateY(12px)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%;overflow-x:clip;font-family:var(--font-body);background-color:#f5f7fa}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}:root{--mobile-nav-height: 56px;--mobile-search-height: 56px;--mobile-sheet-radius: 18px;--mobile-place-collapsed-height: 440px;--mobile-home-collapsed-peek: 84px;--mobile-category-sheet-gap: 1px;--mobile-category-row-height: 56px;--mobile-page-gutter: 14px;--mobile-touch-target: 44px;--mobile-accent: #2563eb;--mobile-safe-top: env(safe-area-inset-top, 0px);--mobile-safe-bottom: env(safe-area-inset-bottom, 0px);--motion-press: .12s;--motion-fast: .16s;--motion-base: .22s;--motion-sheet: .26s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1)}html,body{overscroll-behavior-y:none}@media(max-width:860px){*{-webkit-tap-highlight-color:transparent}}
