:root{--shmacs-bg-primary: #f7f7f8;--shmacs-bg-secondary: #fff;--shmacs-bg-tertiary: #ececf1;--shmacs-bg-hover: #e3e3eb;--shmacs-bg-input: #fff;--shmacs-text-primary: #1a1a2e;--shmacs-text-secondary: #6e6e80;--shmacs-text-tertiary: #9e9eb0;--shmacs-text-inverse: #fff;--shmacs-accent: #ff9500;--shmacs-accent-bright: #ffb347;--shmacs-accent-dim: #c26a00;--shmacs-accent-glow: rgb(255 149 0 / 22%);--shmacs-accent-glow-strong: rgb(255 149 0 / 35%);--shmacs-success: #00e676;--shmacs-warning: #ffab00;--shmacs-danger: #ff5252;--shmacs-info: #40c4ff;--shmacs-fill-low: #00e676;--shmacs-fill-mid: #ffab00;--shmacs-fill-high: #ff6e40;--shmacs-fill-full: #ff5252;--shmacs-border: #d9d9e3;--shmacs-border-light: #e5e5ef;--shmacs-border-focus: var(--shmacs-accent);--shmacs-shadow-sm: 0 1px 3px rgb(0 0 0 / 8%);--shmacs-shadow-md: 0 4px 12px rgb(0 0 0 / 10%);--shmacs-shadow-lg: 0 8px 32px rgb(0 0 0 / 12%);--shmacs-shadow-glow: 0 0 20px var(--shmacs-accent-glow);--shmacs-shadow-glow-strong: 0 0 30px var(--shmacs-accent-glow-strong);--shmacs-font-body: "Elza", "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--shmacs-font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--shmacs-font-size-xs: .75rem;--shmacs-font-size-sm: .8125rem;--shmacs-font-size-base: .9375rem;--shmacs-font-size-lg: 1.125rem;--shmacs-font-size-xl: 1.5rem;--shmacs-font-size-2xl: 2rem;--shmacs-font-size-hero: 2.5rem;--shmacs-font-weight-normal: 400;--shmacs-font-weight-medium: 500;--shmacs-font-weight-semibold: 600;--shmacs-font-weight-bold: 700;--shmacs-line-height-tight: 1.25;--shmacs-line-height-base: 1.5;--shmacs-line-height-loose: 1.75;--shmacs-space-1: 4px;--shmacs-space-2: 8px;--shmacs-space-3: 12px;--shmacs-space-4: 16px;--shmacs-space-5: 24px;--shmacs-space-6: 32px;--shmacs-space-7: 48px;--shmacs-space-8: 64px;--shmacs-radius-sm: 6px;--shmacs-radius-md: 10px;--shmacs-radius-lg: 16px;--shmacs-radius-xl: 24px;--shmacs-radius-full: 9999px;--shmacs-tab-bar-height: 56px;--shmacs-top-bar-height: 48px;--shmacs-content-max-width: 1200px;--shmacs-chat-drawer-width: 420px;--shmacs-bp-sm: 640px;--shmacs-bp-md: 768px;--shmacs-bp-lg: 960px;--shmacs-z-pane-header: 30;--shmacs-z-notice-pill: 60;--shmacs-z-fab: 80;--shmacs-z-mini-schedule: 90;--shmacs-z-sidebar: 100;--shmacs-z-overlay: 9999;--shmacs-transition-fast: .15s ease;--shmacs-transition-base: .25s ease;--shmacs-transition-slow: .4s ease;--shmacs-user-pill-bg: #1a1a2e;--shmacs-user-pill-text: #fff;--shmacs-cal-1: #6c5ce7;--shmacs-cal-2: #00cec9;--shmacs-cal-3: #e17055;--shmacs-cal-4: #fdcb6e;--shmacs-cal-5: #00b894;--shmacs-cal-6: #e84393;--shmacs-cal-7: #74b9ff}[data-theme=dark]{--shmacs-bg-primary: #202225;--shmacs-bg-secondary: #18181b;--shmacs-bg-tertiary: #2d2d35;--shmacs-bg-hover: #353540;--shmacs-bg-input: #2a2a32;--shmacs-text-primary: #ececf1;--shmacs-text-secondary: #a0a0b0;--shmacs-text-tertiary: #6e6e80;--shmacs-text-inverse: #1a1a2e;--shmacs-border: #3a3a45;--shmacs-border-light: #2e2e38;--shmacs-shadow-sm: 0 1px 3px rgb(0 0 0 / 40%);--shmacs-shadow-md: 0 4px 12px rgb(0 0 0 / 50%);--shmacs-shadow-lg: 0 8px 32px rgb(0 0 0 / 60%);--shmacs-user-pill-bg: #2d2d35;--shmacs-user-pill-text: #ececf1}#app{font-family:var(--shmacs-font-body);color:var(--shmacs-text-primary);background-color:var(--shmacs-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app ::-webkit-scrollbar{width:8px;height:8px}#app ::-webkit-scrollbar-track{background:transparent}#app ::-webkit-scrollbar-thumb{background:var(--shmacs-border);border-radius:var(--shmacs-radius-full)}#app ::-webkit-scrollbar-thumb:hover{background:var(--shmacs-text-tertiary)}#app ::selection{background:var(--shmacs-accent-glow-strong);color:#fff}#app h1,#app h2,#app h3,#app h4{font-weight:var(--shmacs-font-weight-bold);letter-spacing:-.01em}.shmacs-heading-hero{font-size:var(--shmacs-font-size-hero);font-weight:var(--shmacs-font-weight-bold);line-height:var(--shmacs-line-height-tight);color:var(--shmacs-text-primary);letter-spacing:-.02em}.shmacs-heading-xl{font-size:var(--shmacs-font-size-2xl);font-weight:var(--shmacs-font-weight-bold);line-height:var(--shmacs-line-height-tight);color:var(--shmacs-text-primary)}.shmacs-heading-lg{font-size:var(--shmacs-font-size-xl);font-weight:var(--shmacs-font-weight-semibold);line-height:var(--shmacs-line-height-tight);color:var(--shmacs-text-primary)}.shmacs-text-body{font-size:var(--shmacs-font-size-base);font-weight:var(--shmacs-font-weight-normal);line-height:var(--shmacs-line-height-base);color:var(--shmacs-text-primary)}.shmacs-text-sm{font-size:var(--shmacs-font-size-sm);color:var(--shmacs-text-secondary)}.shmacs-text-xs{font-size:var(--shmacs-font-size-xs);color:var(--shmacs-text-tertiary)}.shmacs-text-muted{color:var(--shmacs-text-secondary)}.shmacs-mono{font-family:var(--shmacs-font-mono);font-size:var(--shmacs-font-size-sm);letter-spacing:.02em}.shmacs-course-id{font-family:var(--shmacs-font-mono);font-weight:var(--shmacs-font-weight-semibold);color:var(--shmacs-accent)}.shmacs-container{max-width:var(--shmacs-content-max-width);margin:0 auto;padding:0 var(--shmacs-space-5)}.shmacs-workspace__pane-body>.shmacs-container:has(>.shmacs-landing){display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.shmacs-flex{display:flex}.shmacs-flex-col{display:flex;flex-direction:column}.shmacs-flex-center{display:flex;align-items:center;justify-content:center}.shmacs-flex-between{display:flex;align-items:center;justify-content:space-between}.shmacs-flex-1{flex:1}.shmacs-gap-1{gap:var(--shmacs-space-1)}.shmacs-gap-2{gap:var(--shmacs-space-2)}.shmacs-gap-3{gap:var(--shmacs-space-3)}.shmacs-gap-4{gap:var(--shmacs-space-4)}.shmacs-gap-5{gap:var(--shmacs-space-5)}.shmacs-page{min-height:calc(100vh - var(--shmacs-tab-bar-height));padding:var(--shmacs-space-5) 0}.shmacs-viewport{min-height:100vh;display:flex;flex-direction:column}.shmacs-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--shmacs-space-2);padding:var(--shmacs-space-2) var(--shmacs-space-4);font-family:var(--shmacs-font-body);font-size:var(--shmacs-font-size-sm);font-weight:var(--shmacs-font-weight-medium);line-height:1;color:var(--shmacs-text-primary);background:var(--shmacs-bg-tertiary);border:1px solid var(--shmacs-border);border-radius:var(--shmacs-radius-md);cursor:pointer;transition:all var(--shmacs-transition-fast);white-space:nowrap}.shmacs-btn:hover{background:var(--shmacs-bg-hover);border-color:var(--shmacs-text-tertiary)}.shmacs-btn:active{transform:scale(.97)}.shmacs-btn-accent{background:var(--shmacs-accent);border-color:var(--shmacs-accent);color:#fff}.shmacs-btn-accent:hover{background:var(--shmacs-accent-bright);border-color:var(--shmacs-accent-bright)}.shmacs-btn-ghost{background:transparent;border-color:transparent;color:var(--shmacs-text-secondary)}.shmacs-btn-ghost:hover{color:var(--shmacs-text-primary);background:var(--shmacs-bg-hover)}.shmacs-btn:disabled{opacity:40%;cursor:not-allowed;transform:none}.shmacs-input{width:100%;padding:var(--shmacs-space-3) var(--shmacs-space-4);font-family:var(--shmacs-font-body);font-size:var(--shmacs-font-size-base);color:var(--shmacs-text-primary);background:var(--shmacs-bg-input);border:1px solid var(--shmacs-border);border-radius:var(--shmacs-radius-md);outline:none;transition:border-color var(--shmacs-transition-fast),box-shadow var(--shmacs-transition-fast)}.shmacs-input::placeholder{color:var(--shmacs-text-tertiary)}.shmacs-input:focus{border-color:var(--shmacs-accent)}.shmacs-input-lg{padding:var(--shmacs-space-4) var(--shmacs-space-5);font-size:var(--shmacs-font-size-lg);border-radius:var(--shmacs-radius-lg)}.shmacs-card{background:var(--shmacs-bg-secondary);border:1px solid var(--shmacs-border);border-radius:var(--shmacs-radius-md);padding:var(--shmacs-space-4);transition:border-color var(--shmacs-transition-fast),box-shadow var(--shmacs-transition-fast)}.shmacs-card:hover{border-color:var(--shmacs-border-focus);box-shadow:var(--shmacs-shadow-sm)}.shmacs-badge{display:inline-flex;align-items:center;padding:2px var(--shmacs-space-2);font-size:var(--shmacs-font-size-xs);font-weight:var(--shmacs-font-weight-medium);border-radius:var(--shmacs-radius-full);background:var(--shmacs-bg-tertiary);color:var(--shmacs-text-secondary);border:1px solid var(--shmacs-border)}.shmacs-badge-accent{background:var(--shmacs-accent-glow);color:var(--shmacs-accent-dim);border-color:var(--shmacs-accent-glow-strong)}.shmacs-badge-success{background:#00e67626;color:var(--shmacs-success);border-color:#00e6764d}.shmacs-badge-warning{background:#ffab0026;color:var(--shmacs-warning);border-color:#ffab004d}.shmacs-badge-danger{background:#ff525226;color:var(--shmacs-danger);border-color:#ff52524d}.shmacs-chip{display:inline-flex;align-items:center;padding:var(--shmacs-space-2) var(--shmacs-space-4);font-size:var(--shmacs-font-size-sm);color:var(--shmacs-text-secondary);background:var(--shmacs-bg-tertiary);border:1px solid var(--shmacs-border);border-radius:var(--shmacs-radius-full);cursor:pointer;transition:all var(--shmacs-transition-fast)}.shmacs-chip:hover{color:var(--shmacs-accent-bright);border-color:var(--shmacs-accent);background:var(--shmacs-accent-glow)}.shmacs-route-intro{color:var(--shmacs-text-secondary);font-size:var(--shmacs-font-size-base);line-height:1.5;margin:0 0 1.25rem;max-width:72ch}@media(max-width:768px)and (pointer:coarse){.shmacs-btn,.shmacs-chip{min-height:44px;min-width:44px;padding-top:var(--shmacs-space-3);padding-bottom:var(--shmacs-space-3)}.shmacs-input{font-size:16px}}.shmacs-fade-in{animation:shmacs-fade-in var(--shmacs-transition-base) ease forwards}@keyframes shmacs-fade-in{0%{opacity:0%}to{opacity:100%}}.shmacs-slide-up{animation:shmacs-slide-up var(--shmacs-transition-slow) ease forwards}@keyframes shmacs-slide-up{0%{opacity:0%;transform:translateY(20px)}to{opacity:100%;transform:translateY(0)}}.shmacs-glow-pulse{animation:shmacs-glow-pulse 2s ease-in-out infinite}@keyframes shmacs-glow-pulse{0%,to{box-shadow:0 0 15px var(--shmacs-accent-glow)}50%{box-shadow:0 0 30px var(--shmacs-accent-glow-strong)}}.shmacs-drawer-enter,.shmacs-drawer-leave-to{transform:translate(100%)}.shmacs-drawer-enter-active,.shmacs-drawer-leave-active{transition:transform var(--shmacs-transition-base)}.shmacs-loading-dots{display:inline-flex;gap:4px;align-items:center}.shmacs-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--shmacs-accent);animation:shmacs-dot-bounce 1.2s infinite ease-in-out}.shmacs-loading-dot:nth-child(2){animation-delay:.15s}.shmacs-loading-dot:nth-child(3){animation-delay:.3s}@keyframes shmacs-dot-bounce{0%,80%,to{opacity:30%;transform:scale(.8)}40%{opacity:100%;transform:scale(1)}}.shmacs-tab-indicator{height:2px;background:var(--shmacs-accent);border-radius:1px;transition:left var(--shmacs-transition-base),width var(--shmacs-transition-base);box-shadow:0 0 8px var(--shmacs-accent-glow)}@keyframes ai-highlight-pulse{0%{box-shadow:0 0 #ff9500d9;background-color:#ff950038}50%{box-shadow:0 0 0 10px #ff950066;background-color:#ff950024}to{box-shadow:0 0 #ff950000;background-color:#ff950000}}.ai-scroll-highlight{animation:ai-highlight-pulse 1.4s ease-in-out 2;border-radius:6px}.shmacs-course-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background:var(--shmacs-bg-secondary);color:var(--shmacs-text-primary);border:1px solid var(--shmacs-accent);border-radius:var(--shmacs-radius-md);padding:var(--shmacs-space-3) var(--shmacs-space-5);box-shadow:var(--shmacs-shadow-lg);font-size:var(--shmacs-font-size-sm);font-weight:var(--shmacs-font-weight-medium);z-index:9999;animation:shmacs-toast-in .18s ease-out}@keyframes shmacs-toast-in{0%{opacity:0%;transform:translate(-50%,-12px)}to{opacity:100%;transform:translate(-50%)}}
