@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Sora:wght@300;400;500;600;700&display=swap);.login-root{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;z-index:0}.login-bg,.login-overlay{inset:0;position:absolute}.login-overlay{background:linear-gradient(135deg,#07090fe0,#0d1018bf 50%,#07090feb);z-index:1}.login-grid{background-image:linear-gradient(#7fba000a 1px,#0000 0),linear-gradient(90deg,#7fba000a 1px,#0000 0);background-size:48px 48px;inset:0;position:absolute;z-index:2}.login-content{align-items:center;display:flex;flex-direction:column;gap:28px;max-width:480px;padding:40px 20px;position:relative;width:100%;z-index:10}.login-brand{text-align:center}.login-brand-tag{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10px;gap:8px;letter-spacing:.1em;margin-bottom:16px;text-transform:uppercase}.login-brand-tag,.login-live-dot{align-items:center;display:inline-flex}.login-live-dot{color:var(--green);font-size:9px;gap:5px}.login-live-dot:before{animation:pulse 2s ease-in-out infinite;background:var(--green);border-radius:50%;content:"";height:5px;width:5px}.login-title{color:var(--text);font-size:clamp(2.4rem,8vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;text-shadow:0 2px 20px #00000080}.login-title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a3d977,#7fba00 40%,#00b4d8);-webkit-background-clip:text;background-clip:text}.login-subtitle{color:var(--muted);font-size:13px;font-weight:300;line-height:1.75;margin-top:12px}.login-pills{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1018b3;border:1px solid var(--border);border-radius:100px;gap:0;padding:8px 20px}.login-pill,.login-pills{align-items:center;display:flex}.login-pill{flex-direction:column;gap:2px;padding:0 16px}.login-pill-num{color:var(--green);font-size:16px;font-weight:600}.login-pill-label,.login-pill-num{font-family:IBM Plex Mono,monospace}.login-pill-label{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.login-pill-sep{background:var(--border);height:32px;width:1px}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d1018cc;border:1px solid #ffffff1a;border-radius:16px;overflow:hidden;width:100%}.login-card-inner{align-items:center;display:flex;flex-direction:column;gap:16px;padding:28px 32px}.login-card-label{color:var(--hint);font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.btn-entraid{align-items:center;background:var(--green);border:none;border-radius:10px;color:#07090f;cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:14px;font-weight:700;gap:10px;justify-content:center;letter-spacing:-.01em;overflow:hidden;padding:14px 24px;position:relative;transition:all .18s;width:100%}.btn-entraid:before{background:linear-gradient(135deg,#ffffff26,#0000 60%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s}.btn-entraid:hover{background:#8dd100;box-shadow:0 4px 24px #7fba0059,0 0 0 2px #7fba004d;transform:translateY(-1px)}.btn-entraid:hover:before{opacity:1}.btn-entraid:active{transform:translateY(0)}.login-card-hint{color:var(--hint);font-size:11px;line-height:1.6;text-align:center}.login-card-hint strong{color:var(--muted)}.login-features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.login-feature-chip{align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:100px;color:var(--muted);display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:11px;gap:6px;letter-spacing:.03em;padding:5px 12px}.login-feature-dot{background:var(--green);border-radius:50%;flex-shrink:0;height:4px;width:4px}.login-footer{align-items:center;background:linear-gradient(#0000,#07090fcc);bottom:0;color:var(--hint);display:flex;font-family:IBM Plex Mono,monospace;font-size:10px;justify-content:space-between;left:0;padding:12px 24px;position:fixed;right:0;z-index:10}@media (max-width:480px){.login-title{font-size:2.2rem}.login-card-inner{padding:24px 20px}.login-pills{gap:0;padding:8px 12px}}.layout-root{display:flex;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;min-width:var(--sidebar-w);overflow-x:hidden;overflow-y:auto;padding-bottom:16px;position:sticky;top:0;transition:transform .25s ease;width:var(--sidebar-w);z-index:100}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07090fb3;display:none;inset:0;position:fixed;z-index:99}.sidebar-brand{border-bottom:1px solid var(--border);gap:10px;padding:20px 16px}.sidebar-brand,.sidebar-brand-icon{align-items:center;display:flex;flex-shrink:0}.sidebar-brand-icon{background:linear-gradient(135deg,var(--green),var(--cyan));border-radius:8px;color:#07090f;font-size:16px;font-weight:800;height:32px;justify-content:center;width:32px}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-name{color:var(--text);font-size:13px;font-weight:700;letter-spacing:-.02em}.sidebar-brand-sub{color:var(--hint);font-family:var(--font-mono);font-size:10px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 8px}.nav-item{align-items:center;border-radius:8px;color:var(--muted);display:flex;font-size:13px;font-weight:500;gap:10px;padding:9px 10px;position:relative;text-decoration:none;transition:all .15s}.nav-item:hover{background:#ffffff0a;color:var(--text)}.nav-item.active{background:var(--green-b);color:var(--green)}.nav-item.active:before{background:var(--green);border-radius:0 2px 2px 0;bottom:20%;content:"";left:0;position:absolute;top:20%;width:3px}.nav-item-icon{font-size:16px;text-align:center;width:20px}.nav-item-label{letter-spacing:-.01em}.sidebar-user{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:10px;display:flex;gap:10px;margin:0 8px;padding:12px 14px}.sidebar-user-avatar{align-items:center;background:linear-gradient(135deg,var(--green-b),var(--cyan-b));border:1px solid var(--green-d);border-radius:8px;color:var(--green);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.sidebar-user-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-user-name{color:var(--text);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-rank{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;white-space:nowrap}.sidebar-xp{background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin:8px 14px;padding:10px 12px}.sidebar-logout{color:var(--hint);font-size:11px;justify-content:center;margin:8px 14px;width:calc(100% - 28px)}.sidebar-logout:hover{border-color:#f472b64d!important;color:var(--pink)!important}.layout-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.layout-content{flex:1 1;max-width:1100px;overflow-y:auto;padding:28px 32px;width:100%}.mobile-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:none;flex-shrink:0;height:var(--header-h);justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:50}.mobile-header-title{font-size:14px;font-weight:700;letter-spacing:-.02em}.hamburger{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:36px;justify-content:center;width:36px}.hamburger span{background:var(--muted);border-radius:1px;display:block;height:2px;transition:all .2s;width:18px}@media (max-width:768px){.sidebar{box-shadow:4px 0 24px #00000080;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block}.mobile-header{display:flex}.layout-content{padding:20px 16px}}.dashboard{display:flex;flex-direction:column;gap:32px}.dash-hero{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.dash-hero-left{flex:1 1;min-width:200px}.dash-greeting{align-items:center;display:flex;gap:10px;margin-bottom:8px}.dash-live-dot{animation:pulse 2s ease-in-out infinite;background:var(--green);border-radius:50%;height:6px;width:6px}.dash-welcome{font-size:clamp(1.4rem,4vw,2rem);font-weight:700;letter-spacing:-.03em}.dash-rank-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;flex-shrink:0;gap:10px;max-width:260px;min-width:200px;padding:16px 20px}.dash-rank-icon{line-height:1}.dash-rank-info{display:flex;flex-direction:column;gap:2px}.dash-rank-name{font-size:15px;font-weight:700;letter-spacing:-.02em}.dash-rank-xp{color:var(--muted);font-family:var(--font-mono);font-size:12px}.dash-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.dash-stat-card{align-items:center;display:flex;flex-direction:column;gap:6px;padding:16px;text-align:center}.dash-stat-icon{font-size:20px}.dash-stat-value{font-family:var(--font-mono);font-size:20px;font-weight:700;letter-spacing:-.02em}.dash-stat-label{color:var(--muted);font-size:11px}.dash-section{display:flex;flex-direction:column;gap:14px}.dash-section-header{align-items:center;display:flex;justify-content:space-between}.dash-section-title{font-size:15px;font-weight:600;letter-spacing:-.02em}.dash-courses-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dash-course-card{cursor:pointer;padding:16px;transition:all .2s}.dash-empty{align-items:center;background:var(--surface);border:1px dashed var(--border2);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;padding:40px 20px;text-align:center}.dash-empty-icon{font-size:36px}.dash-badges{display:flex;flex-wrap:wrap;gap:8px}.dash-badge-chip{align-items:center;background:var(--surface2);border:1px solid var(--border2);border-radius:8px;color:var(--text);cursor:default;display:inline-flex;font-size:12px;font-weight:500;gap:8px;padding:8px 12px;transition:all .15s}.dash-badge-chip:hover{background:var(--surface3);border-color:var(--border3);transform:translateY(-1px)}.dash-quick-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dash-quick-card{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center}.dash-quick-label{color:var(--text);font-size:13px;font-weight:600}.dash-quick-sub{color:var(--muted);font-size:11px}@media (max-width:768px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-hero{flex-direction:column}.dash-rank-card{max-width:100%}}@media (max-width:480px){.dash-stats{grid-template-columns:1fr 1fr}}.page-header{margin-bottom:24px}.course-detail,.course-list{display:flex;flex-direction:column;gap:24px}.course-filters{gap:10px}.cat-tabs,.course-filters{display:flex;flex-wrap:wrap}.cat-tabs{gap:8px}.cat-tab{background:var(--surface);border:1px solid var(--border);border-radius:100px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;padding:6px 14px;text-transform:uppercase;transition:all .15s;white-space:nowrap}.cat-tab:hover{border-color:var(--border2);color:var(--text)}.cat-tab.active{background:#7fba0014;border-color:var(--cat-color,var(--green));color:var(--green);color:var(--cat-color,var(--green))}.courses-skeleton,.products-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-card{display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .2s}.product-card:hover{border-color:var(--border2);box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}.product-card-header{align-items:flex-start;display:flex;gap:12px}.product-name{color:var(--text);font-size:14px;font-weight:700;letter-spacing:-.01em}.product-category{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;margin-top:2px;text-transform:uppercase}.product-desc{color:var(--muted);font-size:12px;line-height:1.6}.product-levels{gap:6px}.level-btn,.product-levels{display:flex;flex-direction:column}.level-btn{background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;gap:4px;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.level-btn:hover{background:#7fba000f;border-color:var(--cat-color,var(--green))}.level-btn.enrolled{background:#00b4d80d;border-color:#00b4d84d}.level-btn.completed{background:#7fba000f;border-color:#7fba004d}.level-btn-top{align-items:center;display:flex;justify-content:space-between}.level-btn-title{color:var(--muted);font-size:12px}.no-results{align-items:center;display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.cd-header{padding:24px}.cd-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.cd-actions{flex-shrink:0}.cd-actions,.cd-complete-badge{align-items:center;display:flex}.cd-complete-badge{background:var(--green-b);border:1px solid var(--green-d);border-radius:10px;gap:10px;padding:12px 16px}.cd-progress-info{background:var(--surface2);border:1px solid var(--border2);border-radius:10px;padding:12px 20px;text-align:center}.cd-phases{display:flex;flex-direction:column;gap:8px}.phase-card{overflow:hidden;padding:0;transition:border-color .2s}.phase-card.open{border-color:var(--border2)}.phase-card.phase-status-completed{border-color:#7fba0033}.phase-card.phase-status-in_progress{border-color:#00b4d840}.phase-header{align-items:center;cursor:pointer;display:flex;gap:14px;padding:14px 18px;transition:background .15s;-webkit-user-select:none;user-select:none}.phase-header:hover{background:#ffffff05}.phase-num-badge{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;display:flex;flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:600;height:34px;justify-content:center;width:34px}.phase-body{border-top:1px solid var(--border);padding:16px 18px 18px}.phase-actions{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.deliverables-list{display:flex;flex-direction:column;gap:10px}.deliverable-row{align-items:flex-start;background:var(--surface2);border:1px solid var(--border);border-radius:8px;display:flex;gap:12px;padding:12px;transition:border-color .2s}.deliverable-row.approved{background:#7fba000a;border-color:#7fba0040}.deliverable-check{color:var(--muted);flex-shrink:0;font-size:14px;margin-top:1px}.review-result{border:1px solid;border-radius:6px;margin-top:8px;padding:10px 12px}.review-approved{background:#7fba000f;border-color:#7fba0040}.review-needs_revision{background:#fbbf240f;border-color:#fbbf2440}.review-error{background:#f472b60f;border-color:#f472b640}.review-unclear{background:#00b4d80f;border-color:#00b4d840}@media (max-width:600px){.products-grid{grid-template-columns:1fr}.cd-header-top{flex-direction:column}}.profile-page{display:flex;flex-direction:column;gap:24px}.profile-hero{background:linear-gradient(135deg,var(--surface) 0,var(--surface2) 100%);flex-wrap:wrap;gap:20px;padding:24px}.profile-avatar,.profile-hero{align-items:center;display:flex}.profile-avatar{background:linear-gradient(135deg,var(--green-b),var(--cyan-b));border:2px solid;border-radius:16px;color:var(--green);flex-shrink:0;font-size:26px;font-weight:800;height:64px;justify-content:center;width:64px}.profile-hero-info{flex:1 1;min-width:160px}.profile-rank-badge{align-items:center;background:var(--surface2);border:1px solid;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:16px 20px;text-align:center}.profile-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.rank-track{align-items:flex-start;display:flex;gap:0;justify-content:space-between;overflow-x:auto;padding-bottom:8px}.rank-step{flex:1 1;flex-direction:column;gap:6px;min-width:70px}.rank-step,.rank-step-icon{align-items:center;display:flex;position:relative}.rank-step-icon{border:2px solid;border-radius:50%;height:52px;justify-content:center;transition:all .3s;width:52px;z-index:2}.rank-step.current .rank-step-icon{box-shadow:0 0 16px var(--green);box-shadow:0 0 16px var(--rank-color,var(--green))}.rank-step-name{font-size:11px;font-weight:600;text-align:center}.rank-connector{height:2px;left:calc(50% + 26px);position:absolute;top:26px;transition:background .3s;width:calc(100% - 52px);z-index:1}.badges-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.badge-card{align-items:center;display:flex;gap:12px;padding:14px 16px}@media (max-width:768px){.profile-stats{grid-template-columns:repeat(2,1fr)}.rank-track{gap:4px;justify-content:flex-start}}.tutor-page{display:flex;flex-direction:column;gap:24px}.tutor-course-header{flex-wrap:wrap;justify-content:space-between}.tutor-course-header,.tutor-student-row{align-items:center;display:flex;gap:12px}.tutor-student-row{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.tutor-student-avatar{align-items:center;background:var(--green-b);border:1px solid var(--green-d);border-radius:8px;color:var(--green);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:30px;justify-content:center;width:30px}:root{--bg:#07090f;--surface:#0d1018;--surface2:#131824;--surface3:#1a2035;--border:#ffffff12;--border2:#ffffff1f;--border3:#ffffff2e;--text:#e3e8f2;--muted:#6b7280;--hint:#3d4455;--green:#7fba00;--green-b:#7fba001f;--green-d:#7fba0040;--cyan:#00b4d8;--cyan-b:#00b4d81c;--yellow:#fbbf24;--yellow-b:#fbbf241a;--pink:#f472b6;--pink-b:#f472b61a;--purple:#a78bfa;--purple-b:#a78bfa1c;--sidebar-w:220px;--header-h:60px;--radius:10px;--radius-lg:14px;--font-body:"Sora",sans-serif;--font-mono:"IBM Plex Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{font-size:14px}body{-webkit-font-smoothing:antialiased;background:#07090f;background:var(--bg);color:#e3e8f2;color:var(--text);font-family:Sora,sans-serif;font-family:var(--font-body);line-height:1.6;min-height:100vh}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#07090f;background:var(--bg)}::-webkit-scrollbar-thumb{background:#3d4455;background:var(--hint);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--muted)}h1,h2,h3,h4,h5{letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700}h2{font-size:clamp(1.2rem,2.5vw,1.8rem)}h2,h3{font-weight:600}h3{font-size:1.1rem}p{color:#6b7280;color:var(--muted);line-height:1.7}a{color:#7fba00;color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:IBM Plex Mono,monospace;font-family:var(--font-mono)}.text-muted{color:#6b7280;color:var(--muted)}.text-hint{color:#3d4455;color:var(--hint)}.text-green{color:#7fba00;color:var(--green)}.text-cyan{color:#00b4d8;color:var(--cyan)}.text-yellow{color:#fbbf24;color:var(--yellow)}.text-pink{color:#f472b6;color:var(--pink)}.text-purple{color:#a78bfa;color:var(--purple)}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.card{background:#0d1018;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);padding:20px 24px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:#ffffff1f;border-color:var(--border2)}.card-hover:hover{border-color:#7fba004d;box-shadow:0 4px 20px #7fba0014;transform:translateY(-1px)}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Sora,sans-serif;font-family:var(--font-body);font-size:13px;font-weight:600;gap:7px;justify-content:center;padding:9px 18px;transition:all .15s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:#7fba00;background:var(--green);color:#07090f}.btn-primary:hover:not(:disabled){background:#8dd100;box-shadow:0 0 0 3px #7fba0033}.btn-ghost{background:#0000;border:1px solid #ffffff1f;border:1px solid var(--border2);color:#6b7280;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:#ffffff0a;border-color:#ffffff2e;border-color:var(--border3);color:#e3e8f2;color:var(--text)}.btn-danger{background:#f472b61f;border:1px solid #f472b640;color:#f472b6;color:var(--pink)}.btn-danger:hover:not(:disabled){background:#f472b633}.btn-sm{border-radius:6px;font-size:12px;padding:6px 12px}.btn-lg{border-radius:10px;font-size:14px;padding:12px 28px}.chip{align-items:center;border-radius:4px;display:inline-flex;font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:10px;gap:4px;letter-spacing:.07em;padding:3px 9px;text-transform:uppercase}.chip-green{background:#7fba001f;background:var(--green-b);border:1px solid #7fba0040;border:1px solid var(--green-d);color:#a3d977}.chip-cyan{background:#00b4d81c;background:var(--cyan-b);border:1px solid #00b4d847;color:#00b4d8;color:var(--cyan)}.chip-yellow{background:#fbbf241a;background:var(--yellow-b);border:1px solid #fbbf2447;color:#fbbf24;color:var(--yellow)}.chip-pink{background:#f472b61a;background:var(--pink-b);border:1px solid #f472b647;color:#f472b6;color:var(--pink)}.chip-purple{background:#a78bfa1c;background:var(--purple-b);border:1px solid #a78bfa47;color:#a78bfa;color:var(--purple)}.chip-ghost{background:#ffffff08;border:1px solid #ffffff12;border:1px solid var(--border);color:#3d4455;color:var(--hint)}.progress-bar{background:#131824;background:var(--surface2);border-radius:3px;height:6px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#7fba00,#00b4d8);background:linear-gradient(90deg,var(--green),#00b4d8);border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.input{background:#131824;background:var(--surface2);border:1px solid #ffffff1f;border:1px solid var(--border2);border-radius:8px;color:#e3e8f2;color:var(--text);font-family:Sora,sans-serif;font-family:var(--font-body);font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.input:focus{border-color:#7fba00;border-color:var(--green);box-shadow:0 0 0 3px #7fba001f}.input::placeholder{color:#3d4455;color:var(--hint)}.divider{background:#ffffff12;background:var(--border);height:1px;margin:16px 0}.section-label{color:#3d4455;color:var(--hint);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 8px #7fba004d}50%{box-shadow:0 0 20px #7fba0099}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-pop{animation:pop .35s cubic-bezier(.34,1.56,.64,1) forwards}.live-dot:before{animation:pulse 2s ease-in-out infinite;background:#7fba00;background:var(--green);border-radius:50%;content:"";display:inline-block;height:6px;margin-right:6px;width:6px}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#131824 25%,#1a2035 50%,#131824 75%);background:linear-gradient(90deg,var(--surface2) 25%,var(--surface3) 50%,var(--surface2) 75%);background-size:200% 100%;border-radius:6px}.splash-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff1f;border-top-color:#7fba00;border:2px solid var(--border2);border-radius:50%;border-top-color:var(--green);height:36px;width:36px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07090fd9;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-box{animation:pop .3s cubic-bezier(.34,1.56,.64,1);background:#0d1018;background:var(--surface);border:1px solid #ffffff1f;border:1px solid var(--border2);border-radius:14px;border-radius:var(--radius-lg);max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.modal-body,.modal-header{padding:20px 24px}.modal-footer{border-top:1px solid #ffffff12;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.upload-zone{background:#131824;background:var(--surface2);border:2px dashed #ffffff1f;border:2px dashed var(--border2);border-radius:10px;border-radius:var(--radius);cursor:pointer;padding:32px;text-align:center;transition:all .2s}.upload-zone.drag-over,.upload-zone:hover{background:#7fba001f;background:var(--green-b);border-color:#7fba00;border-color:var(--green)}.upload-zone input[type=file]{display:none}.review-approved{background:#7fba0014;border-color:#7fba004d}.review-revision{background:#fbbf2414;border-color:#fbbf244d}.review-error{background:#f472b614;border-color:#f472b64d}.xp-flash{animation:pop .4s ease forwards,glow 1s ease .4s 2}@media (max-width:768px){:root{--sidebar-w:0px}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}}
/*# sourceMappingURL=main.0fa3aa94.css.map*/