:root{--bg:#faf7f2;--bg-elev:#fff;--bg-sunken:#f3efe8;--bg-overlay:#1c181473;--ink:#1c1814;--ink-2:#4a4339;--ink-3:#847a6c;--ink-4:#b5ac9e;--line:#ebe5da;--line-strong:#ddd4c4;--accent:#e87a5d;--accent-soft:#fde4d9;--accent-ink:#fff;--accent-deep:#c75a3e;--sage:#7fa087;--sage-soft:#dde8de;--sage-deep:#4f7058;--plum:#8c6a9c;--plum-soft:#ebdef0;--sun:#e6b34a;--sun-soft:#f7e7be;--sky:#6f8fb8;--sky-soft:#d8e3ef;--danger:#c74a3a;--danger-soft:#f5d8d3;--shadow-sm:0 1px 2px #1c18140a, 0 1px 1px #1c181408;--shadow-md:0 4px 12px #1c18140f, 0 2px 4px #1c18140a;--shadow-lg:0 16px 40px #1c18141a, 0 4px 12px #1c18140f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Instrument Serif", "DM Sans", serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}[data-theme=dark]{--bg:#1a1714;--bg-elev:#25211d;--bg-sunken:#14110e;--bg-overlay:#0000008c;--ink:#f5efe6;--ink-2:#cdc4b6;--ink-3:#908676;--ink-4:#5d564b;--line:#322d27;--line-strong:#423c33;--accent:#f08e72;--accent-soft:#4a2a1f;--accent-ink:#1a1714;--accent-deep:#f7a98f;--sage:#94b29c;--sage-soft:#2a3a2e;--sage-deep:#b3cdb8;--plum:#b694c4;--plum-soft:#3a2c42;--sun:#efc56e;--sun-soft:#4a3a18;--sky:#95b0d3;--sky-soft:#25344a;--danger:#e87a6a;--danger-soft:#4a2520;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #0006;--shadow-lg:0 16px 40px #0000008c}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}#root{min-height:100vh}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:400}.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-deep)}.btn-secondary{background:var(--bg-elev);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--bg-sunken)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{background:var(--bg-sunken);color:var(--ink)}.btn-icon{justify-content:center;width:32px;height:32px;padding:8px}.btn-sm{padding:6px 10px;font-size:12px}.btn-lg{padding:12px 20px;font-size:14px}.chip{border-radius:var(--radius-pill);background:var(--bg-sunken);color:var(--ink-2);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.chip-accent{background:var(--accent-soft);color:var(--accent-deep)}.chip-sage{background:var(--sage-soft);color:var(--sage-deep)}.chip-plum{background:var(--plum-soft);color:var(--plum)}.chip-sun{background:var(--sun-soft);color:#8a6a1c}.chip-sky{background:var(--sky-soft);color:#4d6c95}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-outline{border-color:var(--line-strong);color:var(--ink-2);background:0 0}[data-theme=dark] .chip-sun{color:#efc56e}[data-theme=dark] .chip-sky{color:#95b0d3}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-soft{background:var(--bg-elev);border-radius:var(--radius-lg)}.input,.textarea,.select{width:100%;color:var(--ink);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:var(--radius-md);outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:80px;line-height:1.55}.avatar{-webkit-user-select:none;user-select:none;color:#fff;letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.avatar-sq{border-radius:var(--radius-md)}.sidebar-item{border-radius:var(--radius-md);color:var(--ink-2);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.sidebar-item:hover{background:var(--bg-sunken);color:var(--ink)}.sidebar-item.active{background:var(--bg-elev);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.sidebar-item .badge{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);text-align:center;min-width:18px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:600}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.flex-1{flex:1}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-2)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.fade-in{animation:.25s fadeIn}.slide-in{animation:.2s slideIn}@keyframes pulse-dot{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.pulse-dot{animation:1.6s ease-in-out infinite pulse-dot}.page-header{border-bottom:1px solid var(--line);padding:24px 32px 12px}.page-content{padding:24px 32px 64px}.page-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 4px;font-size:36px;font-weight:400;line-height:1.1}.page-subtitle{color:var(--ink-3);font-size:14px}.shape-circle,.shape-square,.shape-diamond{pointer-events:none;position:absolute}.img-ph{background:repeating-linear-gradient(45deg, transparent 0 8px, #1c18140a 8px 9px), var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-md);font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;font-size:11px;display:flex}[data-theme=dark] .img-ph{background:repeating-linear-gradient(45deg, transparent 0 8px, #ffffff08 8px 9px), var(--bg-sunken)}kbd{font-family:var(--font-mono);background:var(--bg-sunken);border:1px solid var(--line-strong);color:var(--ink-2);border-radius:5px;padding:1px 5px;font-size:10.5px}.toggle{background:var(--line-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(16px)}.divider{background:var(--line);border:0;height:1px;margin:0}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.app-sidebar{border-right:1px solid var(--line);background:var(--bg);z-index:50;flex-direction:column;flex-shrink:0;width:232px;height:100vh;display:flex;position:sticky;top:0}.sidebar-close{display:none}.app-topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;align-items:center;gap:12px;min-width:0;padding:12px 24px;display:flex;position:sticky;top:0}.topbar-search{flex-shrink:1;width:280px;min-width:0}.topbar-search-icon,.nav-toggle{display:none}.nav-scrim{background:var(--bg-overlay);z-index:49;animation:.15s fadeIn;display:none;position:fixed;inset:0}.auth-root{background:var(--bg);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-brand{background:var(--bg-sunken);border-right:1px solid var(--line);flex-direction:column;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-brand-inner{flex-direction:column;flex:1;gap:24px;max-width:520px;display:flex}.auth-form-panel{flex-direction:column;min-height:100vh;display:flex}.auth-utility{align-items:center;gap:8px;padding:18px 32px;display:flex}.auth-mobile-brand{align-items:baseline;gap:4px;display:none}.auth-form-wrap{flex:1;justify-content:center;align-items:center;padding:24px 32px 48px;display:flex}.auth-form{width:100%;max-width:380px}@media (width<=880px){.auth-root{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-brand{display:inline-flex}.auth-utility{padding:16px 20px}.auth-form-wrap{align-items:flex-start;padding:16px 20px 40px}.auth-form h1{font-size:30px!important}}.profile-cover{background:linear-gradient(135deg, var(--accent-soft), var(--bg-sunken));border-bottom:1px solid var(--line);height:160px;position:relative;overflow:hidden}.profile-content{max-width:1200px;margin:0 auto;padding:0 32px 64px}.profile-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:22px;margin-top:-60px;padding-bottom:22px;display:flex}.profile-avatar-wrap{background:var(--bg);width:132px;height:132px;box-shadow:var(--shadow-sm);z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}@media (width<=600px){.profile-avatar-wrap{width:96px;height:96px;padding:4px}.profile-avatar-wrap .avatar{width:88px!important;height:88px!important;font-size:32px!important}}.profile-meta{flex:1;min-width:240px;padding-bottom:4px}.profile-actions{flex-wrap:wrap;align-self:flex-end;gap:8px;padding-bottom:4px;display:flex}.profile-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;display:grid}.profile-grid{grid-template-columns:1.2fr 1fr;gap:18px;display:grid}.profile-projects{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.profile-achievements{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}@media (width<=900px){.profile-content{padding:0 20px 48px}.profile-cover{height:120px}.profile-header{gap:16px;margin-top:-48px}.profile-actions{width:100%}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}}@media (width<=480px){.profile-stats{grid-template-columns:1fr 1fr}.profile-achievements{grid-template-columns:repeat(2,1fr)}}@media (width<=1180px){.chat-details{display:none}.chat-grid{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important}}@media (width<=900px){.app-sidebar{box-shadow:var(--shadow-lg);width:264px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.sidebar-close,.nav-toggle{display:inline-flex}.nav-scrim{display:block}.app-topbar{gap:8px;padding:10px 16px}.topbar-search{display:none}.topbar-search-icon{display:inline-flex}.breadcrumbs>span:first-child,.breadcrumbs>svg:first-of-type{display:none}.page-header{padding:18px 20px 10px}.page-content{padding:18px 20px 56px}.page-title{font-size:28px!important}.chat-grid{grid-template-columns:1fr!important}.chat-channels-mobile-hide{display:none}}@media (width<=600px){.page-header{padding:14px 16px 8px}.page-content{padding:14px 16px 48px}.page-title{font-size:24px!important}.app-topbar{padding:8px 12px}}.kanban-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.kanban-scroll>*{min-width:920px}@media (width>=1100px){.kanban-scroll>*{min-width:0}}@media (width<=1100px){.home-grid,.course-grid,.cohort-grid,.practicum-project-grid,.job-detail-grid,.promotion-grid{grid-template-columns:1fr!important}}@media (width<=900px){.home-stats,.grid-3-responsive{grid-template-columns:repeat(2,1fr)!important}}@media (width<=560px){.home-stats,.grid-3-responsive{grid-template-columns:1fr!important}}.skeleton{background:linear-gradient(90deg, var(--bg-sunken) 25%, var(--line) 50%, var(--bg-sunken) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:120px;margin-bottom:12px}.skeleton-text{width:60%;height:16px;margin-bottom:8px}.skeleton-title{width:40%;height:24px;margin-bottom:12px}.text-display-xl{font-size:44px;line-height:1.1;font-family:var(--font-display)}.text-heading-lg{font-size:28px;line-height:1.2;font-family:var(--font-display)}.text-body-md{font-size:14px;line-height:1.5}.text-caption{font-size:12px;line-height:1.4}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}
