@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_2f2b70c1-module__3MKMjq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_2f2b70c1-module__3MKMjq__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--color-primary:#fa6969;--color-primary-hover:#e85555;--color-primary-light:#fff0ee;--color-primary-dark:#c43e3e;--color-accent:#c17f4a;--color-accent-hover:#a86b38;--color-background:#faf8f5;--color-surface:#fff;--color-surface-2:#f5f1ec;--color-text-main:#2c1810;--color-text-muted:#7a6b63;--color-text-light:#b5a89e;--color-border:#ede8e2;--color-border-strong:#e0d8d0;--color-success:#2d9e6b;--color-success-light:#dcfce7;--color-error:#e8442a;--color-error-light:#fee8e4;--color-warning:#d97706;--color-online:#3b7dd8;--color-online-light:#dbeafe;--color-offline:#7c5cbf;--color-offline-light:#ede9fe;--color-both:#2d9e6b;--color-both-light:#dcfce7;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000f, 0 1px 2px -1px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000012, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000012, 0 8px 10px -6px #0000000d;--shadow-coral:0 8px 25px -5px #fa69694d;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit}button{font-family:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-coral);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-outline{color:var(--color-text-main);border:2px solid var(--color-border-strong);background:0 0}.btn-outline:hover{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-accent:hover{background-color:var(--color-accent-hover);box-shadow:0 8px 25px -5px #c17f4a59}.btn-ghost{color:var(--color-text-muted);box-shadow:none;background:0 0;border:none}.btn-ghost:hover{background:var(--color-surface-2);color:var(--color-text-main);box-shadow:none;transform:none}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:.875rem}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:1.0625rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);transform:translateY(-2px)}.card-flat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6)}.input-field{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-main);font-family:var(--font-sans);transition:border-color var(--transition-base), box-shadow var(--transition-base);font-size:.9375rem}.input-field::placeholder{color:var(--color-text-light)}.input-field:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #fa69692e}select.input-field{cursor:pointer}.label{color:var(--color-text-main);margin-bottom:var(--spacing-2);font-size:.875rem;font-weight:600;display:block}.glass-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-2xl);background:#ffffffbf;border:1px solid #fff6}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge-online{background:var(--color-online-light);color:var(--color-online)}.badge-offline{background:var(--color-offline-light);color:var(--color-offline)}.badge-both{background:var(--color-both-light);color:var(--color-both)}.badge-free{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge-chapter{color:#4f46e5;background:#f0f4ff}.badge-revision{color:#db2777;background:#fff0f5}.badge-quiz{color:#059669;background:#f0fff4}.badge-pending{color:#b45309;background:#fff8dc}.badge-approved{background:var(--color-success-light);color:var(--color-success)}.badge-rejected{background:var(--color-error-light);color:var(--color-error)}.avatar{border-radius:var(--radius-full);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-md{width:44px;height:44px;font-size:.9375rem}.avatar-lg{width:64px;height:64px;font-size:1.375rem}.avatar-xl{width:88px;height:88px;font-size:1.875rem}.avatar-2xl{width:120px;height:120px;font-size:2.5rem}.stars{color:var(--color-primary);gap:2px;font-size:1rem;display:inline-flex}.stars-sm{font-size:.875rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5) var(--spacing-6);align-items:center;gap:var(--spacing-4);box-shadow:var(--shadow-sm);transition:all var(--transition-base);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tag{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);align-items:center;padding:4px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.tag:hover,.tag.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark)}.section{padding:var(--spacing-20) var(--spacing-6)}.section-header{text-align:center;max-width:640px;margin:0 auto var(--spacing-12)}.section-label{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--spacing-3);padding:4px 14px;font-size:.8125rem;font-weight:700;display:inline-block}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-6);background:#fafaf7e0;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:var(--spacing-8);max-width:1200px;height:64px;margin:0 auto;display:flex}.navbar-logo{color:var(--color-text-main);letter-spacing:-.04em;align-items:center;gap:6px;font-size:1.375rem;font-weight:800;text-decoration:none;display:flex}.navbar-logo span{color:var(--color-primary)}.navbar-links{align-items:center;gap:var(--spacing-1);list-style:none;display:flex}.navbar-links a{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast);font-size:.9375rem;font-weight:500;text-decoration:none}.navbar-links a:hover{color:var(--color-text-main);background:var(--color-surface-2)}.navbar-actions{align-items:center;gap:var(--spacing-3);display:flex}.dashboard-layout{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:260px;padding:var(--spacing-6) var(--spacing-4);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{color:var(--color-text-main);letter-spacing:-.04em;padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-8);align-items:center;gap:6px;font-size:1.375rem;font-weight:800;text-decoration:none;display:flex}.sidebar-logo span{color:var(--color-primary)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;list-style:none;display:flex}.sidebar-nav a{align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-3);border-radius:var(--radius-lg);color:var(--color-text-muted);transition:all var(--transition-fast);font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a:hover{background:var(--color-surface-2);color:var(--color-text-main)}.sidebar-nav a.active{background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600}.sidebar-nav .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.sidebar-divider{background:var(--color-border);height:1px;margin:var(--spacing-4) 0}.dashboard-content{padding:var(--spacing-8);flex:1;max-width:calc(100% - 260px);overflow-y:auto}.page-header{margin-bottom:var(--spacing-8);justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.page-title{font-size:1.875rem;font-weight:800}.page-subtitle{color:var(--color-text-muted);margin-top:var(--spacing-1);font-size:.9375rem}.grid-2{gap:var(--spacing-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--spacing-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--spacing-6);grid-template-columns:repeat(4,1fr);display:grid}.grid-auto{gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.dashboard-content{padding:var(--spacing-4);max-width:100%}.sidebar{width:220px}.page-title{font-size:1.5rem}}@media (max-width:640px){.sidebar{display:none}.dashboard-content{max-width:100%}}.form-group{gap:var(--spacing-2);flex-direction:column;display:flex}.form-row{gap:var(--spacing-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.divider{background:var(--color-border);height:1px;margin:var(--spacing-6) 0}.empty-state{text-align:center;padding:var(--spacing-16) var(--spacing-8);color:var(--color-text-muted)}.empty-state-icon{margin-bottom:var(--spacing-4);opacity:.4;font-size:3rem}.chat-layout{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);grid-template-columns:300px 1fr;height:calc(100vh - 100px);display:grid;overflow:hidden}.chat-sidebar{border-right:1px solid var(--color-border);overflow-y:auto}.chat-main{flex-direction:column;display:flex}.chat-messages{padding:var(--spacing-6);gap:var(--spacing-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-input-area{border-top:1px solid var(--color-border);padding:var(--spacing-4);gap:var(--spacing-3);display:flex}.msg-bubble{max-width:70%;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-xl);font-size:.9375rem;line-height:1.5}.msg-bubble.sent{background:var(--color-primary);color:var(--color-text-main);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.msg-bubble.received{background:var(--color-surface-2);color:var(--color-text-main);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-coral{0%,to{box-shadow:0 0 #fa696966}50%{box-shadow:0 0 0 12px #fa696900}}.animate-fadeInUp{animation:.5s both fadeInUp}.animate-fadeIn{animation:.4s both fadeIn}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}
