@tailwind base;@tailwind components;@tailwind utilities;:root,[data-theme=dark]{--bg-primary: #0b0e14;--bg-card: rgba(22,27,38,.6);--text-primary: #e8ebf4;--text-secondary: #9aa1b5;--text-muted: #5c6478;--border-color: rgba(34,42,58,.8);--sidebar-bg: #0d111a;--surface-low: #10141c;--review-bg: #0b0e14;--review-card: #12161f;--review-card-soft: #161b26;--review-border: #222a3a;--review-text: #e8ebf4;--review-blue: #9db8ff;--review-blue-dark: #5a8bff}[data-theme=light]{--bg-primary: #f0f2f7;--bg-card: rgba(255,255,255,.8);--text-primary: #1a1d26;--text-secondary: #4a4e60;--text-muted: #7a7e90;--border-color: rgba(0,0,0,.1);--sidebar-bg: #ffffff;--surface-low: #f8f9fc;--review-bg: #f5f7fb;--review-card: #ffffff;--review-card-soft: #fbfcfe;--review-border: #d9e1ec;--review-text: #172033;--review-blue: #3f66c5;--review-blue-dark: #2851ae}[data-theme=light] body{background-color:#f0f2f7;color:#1a1d26;scrollbar-color:#c0c4d0 #f0f2f7}[data-theme=light] .hover-lift:hover{box-shadow:0 14px 36px #1720331f;border-color:#bcc9da!important}[data-theme=light] ::-webkit-scrollbar-track{background:#f0f2f7}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c0c4d0}@layer base{*,*:before,*:after{@apply box-border;@apply border-0;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#2a3242 #0b0e14}body{background-color:#0b0e14;color:#e8ebf4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;min-height:100vh;overflow-x:hidden}::selection{background:#5a8bff59}:focus-visible{outline:2px solid #5a8bff;outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0b0e14}::-webkit-scrollbar-thumb{background:#2a3242;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a4358}}@keyframes shioriFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shioriFadeIn{0%{opacity:0}to{opacity:1}}@keyframes shioriPulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shioriSpin{to{transform:rotate(360deg)}}.page-enter{animation:shioriFadeUp .35s ease-out both}.hover-lift{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 14px 36px #00000073;border-color:#2e3850!important}.hover-row{transition:background .13s ease;border-radius:10px}.hover-row:hover{background:#5a8bff0f}.spin{animation:shioriSpin .9s linear infinite}.pulse{animation:shioriPulse 1.6s ease-in-out infinite}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.notes-workspace{flex-direction:column;height:calc(100vh - 150px)!important;min-height:560px!important}.notes-list-panel{width:100%!important;flex:0 0 270px;margin-right:0!important;margin-bottom:12px}.notes-editor-panel{min-height:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@layer components{.surface-container-lowest{background-color:#0a0e14}.surface-container-low{background-color:#14181e}.surface-container{background-color:#181c22}.surface-container-high{background-color:#21262d}.surface-container-highest{background-color:#31353c}.glass{background:#31353c66;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(66,71,84,.25);border-radius:4px}.ghost-border{border:1px solid rgba(66,71,84,.4)}.on-surface-primary{color:#dfe2eb}.on-surface-secondary{color:#8c90a0}.on-surface-tertiary{color:#606080}.bg-cta-primary{background:linear-gradient(45deg,#afc6ff,#528dff);color:#10141a;font-weight:600}.bg-cta-secondary{background:linear-gradient(45deg,#d7ffc5,#4a6c3a);color:#10141a;font-weight:600}.bg-cta-tertiary{background:linear-gradient(45deg,#e5b5ff,#8b63a5);color:#10141a;font-weight:600}.text-glow-primary{color:#afc6ff;text-shadow:0 0 8px rgba(175,198,255,.4)}.text-glow-secondary{color:#d7ffc5;text-shadow:0 0 8px rgba(215,255,197,.3)}.text-glow-tertiary{color:#e5b5ff;text-shadow:0 0 8px rgba(229,181,255,.3)}.text-glow-error{color:#ffb4ab;text-shadow:0 0 8px rgba(255,180,171,.3)}.bg-variant-primary{background-color:#528dff1f}.bg-variant-success{background-color:#4ad7781f}.bg-variant-warning{background-color:#ffb44d1f}.bg-variant-danger{background-color:#ffb4ab1f}.bg-variant-tertiary{background-color:#e5b5ff1f}.stroke-primary{border-color:#528dff66}.stroke-success{border-color:#4ad77866}.stroke-warning{border-color:#ffb44d66}.stroke-danger{border-color:#ffb4ab66}.stroke-tertiary{border-color:#e5b5ff66}.fill-primary{background-color:#afc6ff}.fill-success{background-color:#4ad778}.fill-warning{background-color:#ffb44d}.fill-danger{background-color:#ffb4ab}.fill-tertiary{background-color:#e5b5ff}.heading-display{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;letter-spacing:-.02em}.heading-500{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:500;letter-spacing:-.01em}.label-strong{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.input-sa{background-color:#14181e;border:none;border-bottom:2px solid rgba(66,71,84,.5);color:#dfe2eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:500;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;outline:none}.input-sa::placeholder{color:#606080}.input-sa:focus{border-bottom-color:#d7ffc5;box-shadow:0 4px 12px #d7ffc514}.input-sa:disabled{opacity:.4;cursor:not-allowed}.btn-primary-sa{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:600;font-size:.875rem;letter-spacing:.04em;padding:.625rem 1.25rem;border-radius:4px;color:#10141a;background:linear-gradient(45deg,#afc6ff,#528dff);transition:box-shadow .2s,transform .1s}.btn-primary-sa:hover{box-shadow:0 8px 32px #528dff33;transform:translateY(-1px)}.btn-primary-sa:active{transform:translateY(0);box-shadow:none}.btn-ghost-sa{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:600;font-size:.875rem;letter-spacing:.04em;padding:.625rem 1.25rem;border-radius:4px;color:#afc6ff;background:transparent;border:1px solid rgba(175,198,255,.25);transition:border-color .2s,background .2s}.btn-ghost-sa:hover{border-color:#afc6ff73;background:#afc6ff0f}.btn-tertiary-sa{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:600;font-size:.875rem;letter-spacing:.04em;padding:.625rem 1.25rem;border-radius:4px;color:#d7ffc5;background:transparent;border:1px solid rgba(215,255,197,.25);transition:border-color .2s,background .2s}.btn-tertiary-sa:hover{border-color:#d7ffc573;background:#d7ffc50f}.dot-online{background-color:#4ad778;box-shadow:0 0 6px #4ad77880}.dot-away{background-color:#ffb44d;box-shadow:0 0 6px #ffb44d80}.dot-offline{background-color:#606080;box-shadow:none}.elev-1{box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.elev-2{box-shadow:0 3px 6px #00000059,0 3px 6px #00000040}.elev-3{box-shadow:0 10px 20px #00000059,0 6px 6px #00000040}.elev-4{box-shadow:0 14px 28px #0006,0 10px 10px #00000038}.elev-5{box-shadow:0 19px 38px #00000073,0 15px 12px #00000038}.skeleton{background:linear-gradient(90deg,#181c22 25% #21262d 50% #181c22 75%);background-size:400% 100%;border-radius:4px;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.transition-sa{transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:.2s;transition-timing-function:ease-out}.scrollbar-dense::-webkit-scrollbar{width:4px}.scrollbar-dense::-webkit-scrollbar-track{background:transparent}.scrollbar-dense::-webkit-scrollbar-thumb{background:#31353c;border-radius:2px}.chat-bubble-sent{background:linear-gradient(45deg,#a9c2ff,#7ea5ff);border-bottom-right-radius:2px}.chat-bubble-received{background:#181c22;border:1px solid rgba(66,71,84,.3);border-bottom-left-radius:2px}.glow-primary{box-shadow:0 0 20px #528dff26,0 0 60px #528dff0d}.glow-secondary{box-shadow:0 0 20px #4ad77826,0 0 60px #4ad7780d}.glow-tertiary{box-shadow:0 0 20px #e5b5ff26,0 0 60px #e5b5ff0d}.glow-error{box-shadow:0 0 20px #ffb4ab26,0 0 60px #ffb4ab0d}.gradient-text-primary{background:linear-gradient(45deg,#afc6ff,#7ea5ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-secondary{background:linear-gradient(45deg,#d7ffc5,#9ceca6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-tertiary{background:linear-gradient(45deg,#e5b5ff,#c896ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.event-personal{background:#e5b5ff33;border-left:2px solid #e5b5ff}.event-study{background:#528dff33;border-left:2px solid #528dff}.event-class{background:#4ad77833;border-left:2px solid #4ad778}.toast-info{background:#528dff26;border:1px solid rgba(82,141,255,.3);color:#afc6ff}.toast-success{background:#4ad77826;border:1px solid rgba(74,215,120,.3);color:#d7ffc5}.toast-warning{background:#ffb44d26;border:1px solid rgba(255,180,77,.3);color:#ffb44d}.toast-error{background:#ffb4ab26;border:1px solid rgba(255,180,171,.3);color:#ffb4ab}}@layer utilities{.focus-ring{outline:2px solid #528dff;outline-offset:2px}}
