@tailwind base;@tailwind components;@tailwind utilities;:root{--primary:#6366f1;--primary-light:#e0e7ff;--primary-hover:#4f46e5;--primary-soft:#6366f11f;--accent:#06b6d4;--accent-light:#dffafe;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--allergy:#ef4444;--bg:#f1f5fb;--bg-subtle:#e5ecf5;--bg-hover:#eef2f7;--surface:#fff;--surface-2:#f6f8fc;--surface-hover:#eef2f7;--border:#bfcadc;--border-subtle:#d7e0ec;--border-strong:#cbd5e8;--text-primary:#0b1220;--text-secondary:#243247;--text-muted:#4b5e78;--text-2:#3a4a63;--text-3:#7488a3;--shadow-color:#0f172a1a;--shadow-md:0 4px 12px -4px #0f172a14, 0 2px 6px -2px #0f172a0d;--shadow-lg:0 18px 40px -16px #0f172a29, 0 6px 16px -8px #0f172a14;--shadow-glow:0 18px 50px -20px #6366f14d;--glow-primary:#6366f12e;--category-meal:#f59e0b;--category-notice:#ef4444;--category-schedule:#10b981;--c-meal:#f59e0b;--c-notice:#ef4444;--c-schedule:#10b981;--c-task:#8b5cf6;--c-exam:#ef4444;--grad:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);--r-xl:28px;--r-lg:22px;--r-md:16px;--r-sm:12px;--oauth-discord:#5865f2;--oauth-discord-hover:#4752c4}[data-theme=dark]{--primary:#818cf8;--primary-light:#818cf829;--primary-hover:#6366f1;--primary-soft:#818cf829;--accent:#22d3ee;--accent-light:#22d3ee24;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--allergy:#f87171;--bg:#081120;--bg-subtle:#101b2e;--bg-hover:#22344b;--surface:#172437;--surface-2:#0f1828;--surface-hover:#22344b;--border:#3a4c65;--border-subtle:#2a3a52;--border-strong:#324563;--text-primary:#f8fbff;--text-secondary:#d6e1f0;--text-muted:#a3b2c7;--text-2:#c4d2e6;--text-3:#8294ae;--shadow-color:#02061773;--shadow-md:0 6px 18px -6px #00000080;--shadow-lg:0 24px 50px -18px #000000a6, 0 8px 20px -10px #00000080;--shadow-glow:0 18px 50px -20px #818cf859;--glow-primary:#818cf83d;--category-meal:#fbbf24;--category-notice:#f87171;--category-schedule:#34d399;--c-meal:#fbbf24;--c-notice:#f87171;--c-schedule:#34d399;--c-task:#a78bfa;--c-exam:#f87171;--oauth-discord:#5865f2;--oauth-discord-hover:#4752c4}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a,button,[role=button]{touch-action:manipulation}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-pretendard), -apple-system, BlinkMacSystemFont, system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}main{overscroll-behavior-y:contain}.font-mono{font-family:JetBrains Mono,monospace}.glass{background:var(--surface);box-shadow:0 16px 40px -32px var(--shadow-color)}[data-theme=dark] .glass{background:var(--surface)}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.gradient-border{border:1px solid var(--border)}.hover-grow{transition:transform .2s,box-shadow .2s,opacity .15s}@media (hover:hover) and (pointer:fine){.hover-grow:hover{box-shadow:0 8px 24px -10px var(--shadow-color);opacity:.95;transform:translateY(-2px)scale(1.01)}}.hover-grow:active{box-shadow:none;opacity:.85;transition-duration:80ms;transform:translateY(0)scale(.98)}@media (hover:hover) and (pointer:fine){.hover-glow:hover{box-shadow:0 0 20px -4px var(--glow-primary)}}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-x{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transition:opacity .3s,transform .3s;transform:translateY(0)}.shimmer-bg{background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-subtle) 35%, var(--border) 50%, var(--bg-subtle) 65%, var(--bg-subtle) 100%);background-size:250% 100%;animation:2.5s ease-in-out infinite shimmer}::view-transition-old(root){animation:.25s ease-in forwards slide-out-to-left}::view-transition-new(root){animation:.3s cubic-bezier(.32,.72,0,1) forwards slide-in-from-right}.app-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.app-bg:before,.app-bg:after{content:"";filter:blur(80px);border-radius:50%;transition:opacity .6s;position:absolute}.app-bg:before{background:radial-gradient(circle, var(--primary) 0%, transparent 68%);opacity:.1;width:620px;height:620px;animation:26s ease-in-out infinite drift1;top:-240px;left:-120px}.app-bg:after{background:radial-gradient(circle, var(--accent) 0%, transparent 68%);opacity:.08;width:520px;height:520px;animation:30s ease-in-out infinite drift2;bottom:-200px;right:-80px}[data-theme=dark] .app-bg:before{opacity:.18}[data-theme=dark] .app-bg:after{opacity:.14}@keyframes drift1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(60px,50px)scale(1.12)}}@keyframes drift2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-50px,-40px)scale(1.1)}}.card-hover{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .3s}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-3px)}@keyframes revealIn{0%{opacity:0;filter:blur(2px);transform:translateY(22px)scale(.985)}to{opacity:1;filter:blur();transform:none}}.reveal-in{animation:.75s cubic-bezier(.16,1,.3,1) both revealIn}@keyframes viewIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.view-enter{animation:.5s cubic-bezier(.16,1,.3,1) both viewIn}.chip{white-space:nowrap;border-radius:11px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.orb{pointer-events:none;border-radius:50%;position:absolute}.bar-track{background:var(--border-subtle);border-radius:99px;height:6px;overflow:hidden}.bar-fill{background:var(--grad);border-radius:99px;height:100%;transition:width 1.1s cubic-bezier(.16,1,.3,1)}.meal-item{border-radius:9px;transition:background .2s}@media (hover:hover) and (pointer:fine){.meal-item:hover{background:var(--surface-2,var(--bg))}}.period{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.period:hover{transform:translateY(-4px)}}.cal-day{cursor:pointer;border-radius:9px;transition:background .2s,color .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.cal-day:hover{background:var(--surface-hover);transform:scale(1.08)}}.btn-press{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.btn-press:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.opacity-0{opacity:1!important}a:active,button:active,[role=button]:active,.hover-grow:active{transition:none!important;transform:none!important}}
@font-face{font-family:pretendard;src:url(../media/PretendardVariable-s.p.0a.~5ku~863u1.woff2)format("woff2");font-display:swap;font-weight:45 920}@font-face{font-family:pretendard Fallback;src:local(Arial);ascent-override:93.76%;descent-override:23.75%;line-gap-override:0.0%;size-adjust:101.55%}.pretendard_f66cdf55-module__G-LdMq__className{font-family:pretendard,pretendard Fallback}.pretendard_f66cdf55-module__G-LdMq__variable{--font-pretendard:"pretendard", "pretendard Fallback"}
