:root{--color-primary:#6c63ff;--color-primary-hover:#5b52e0;--color-secondary:#38bdf8;--color-success:#4ade80;--color-warning:#facc15;--color-danger:#f87171;--color-info:#818cf8;--color-bg:#0d0d0d;--color-surface:#111827;--color-surface-hover:#1e293b;--color-border:#1e293b;--color-text:#e2e8f0;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--ip-primary:#6c63ff;--ip-secondary:#38bdf8;--ip-success:#4ade80;--ip-warning:#facc15;--ip-locked:#374151;--admin-sidebar-bg:#0d1117;--admin-sidebar-width:220px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Fira Code",source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 4px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080}*,:after,:before{box-sizing:border-box}body{font-family:var(--font-sans)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spinner-wrapper{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:24px 0}.spinner-fullpage{min-height:60vh}.spinner{animation:spin .7s linear infinite;border-color:#1e293b;border-color:var(--color-border,#1e293b);border-style:solid;border-top-color:#6c63ff;border-top-color:var(--color-primary,#6c63ff);flex-shrink:0}.spinner-sm{border-width:2px;height:20px;width:20px}.spinner-md{border-width:3px;height:36px;width:36px}.spinner-lg{border-width:4px;height:56px;width:56px}.spinner-label{color:#64748b;color:var(--color-text-muted,#64748b);font-size:14px;margin:0}.error-msg{align-items:center;background:#ef444414;border:1px solid #ef444440;border-radius:8px;color:#fca5a5;display:flex;flex-wrap:wrap;font-size:14px;gap:10px;line-height:1.5;padding:12px 16px}.error-msg-icon{flex-shrink:0;font-size:16px}.error-msg-text{flex:1 1;min-width:0}.error-msg-retry{background:#ef444426;border:1px solid #ef444466;border-radius:6px;color:#fca5a5;cursor:pointer;font-size:13px;padding:4px 12px;transition:background .15s;white-space:nowrap}.error-msg-retry:hover{background:#ef444440}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:4px;padding:16px 0 4px}.page-btn{background:#111827;background:var(--color-surface,#111827);border:1px solid #1e293b;border:1px solid var(--color-border,#1e293b);border-radius:7px;color:#94a3b8;color:var(--color-text-muted,#94a3b8);cursor:pointer;font-size:14px;font-weight:500;height:34px;line-height:1;min-width:34px;padding:0 8px;transition:background .15s,color .15s,border-color .15s}.page-btn:hover:not(:disabled){background:#1e293b;background:var(--color-surface-hover,#1e293b);color:#e2e8f0;color:var(--color-text,#e2e8f0)}.page-btn:disabled{cursor:not-allowed;opacity:.35}.page-btn-active{background:#6c63ff!important;background:var(--color-primary,#6c63ff)!important;border-color:#6c63ff!important;border-color:var(--color-primary,#6c63ff)!important;color:#fff!important;font-weight:700}.page-arrow{font-size:18px}.page-ellipsis{font-size:14px;padding:0 4px;-webkit-user-select:none;user-select:none}.page-ellipsis,.page-info{color:#64748b;color:var(--color-text-muted,#64748b)}.page-info{font-size:12px;margin-left:8px;white-space:nowrap}.stage-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:600;white-space:nowrap}.stage-badge-sm{font-size:11px;padding:2px 10px}.stage-badge-md{font-size:13px;padding:5px 14px}.badge-locked{background:#1e293b;color:#64748b}.badge-active{background:#1e2a40;color:#38bdf8}.badge-pending,.badge-submitted{background:#1a2200;color:#facc15}.badge-approved{background:#0f2a1a;color:#4ade80}.badge-rejected{background:#3d1212;color:#f87171}.badge-revision{background:#1a1040;color:#b99ef7}.ms-overlay{align-items:center;animation:msFadeIn .15s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:9999}@keyframes msFadeIn{0%{opacity:0}to{opacity:1}}.ms-modal{animation:msSlideUp .2s ease-out;background:#fff;border-radius:18px;box-shadow:0 24px 80px #0f172a4d;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px 36px;position:relative;width:100%}@keyframes msSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ms-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;position:absolute;right:18px;top:18px;transition:all .15s;width:32px;z-index:1}.ms-close:hover{background:#e2e8f0;color:#0f172a}.ms-header{gap:16px;margin-bottom:28px;padding-right:40px}.ms-header,.ms-header-icon{align-items:center;display:flex}.ms-header-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:14px;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.ms-title{color:#0f172a;font-size:22px;font-weight:700;margin:0 0 3px}.ms-subtitle{color:#64748b;font-size:14px;line-height:1.5;margin:0}.ms-form{gap:20px}.ms-field,.ms-form{display:flex;flex-direction:column}.ms-field{gap:7px;position:relative}.ms-label{color:#1e293b;font-size:14px;font-weight:600}.ms-input{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:15px;outline:none;padding:12px 16px;transition:all .15s;width:100%}.ms-input::placeholder{color:#94a3b8}.ms-input:focus{background:#fff;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.ms-textarea{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:15px;min-height:140px;outline:none;padding:12px 16px;resize:vertical;transition:all .15s;width:100%}.ms-textarea::placeholder{color:#94a3b8}.ms-textarea:focus{background:#fff;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.ms-char-count{color:#94a3b8;font-size:12px;text-align:right}.ms-optional{color:#94a3b8;font-size:13px;font-weight:400}.ms-file-wrapper{position:relative}.ms-file-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0}.ms-file-label{align-items:center;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;transition:all .15s}.ms-file-label:hover{background:#eff6ff;border-color:#1d4ed8;color:#1d4ed8}.ms-file-icon{font-size:18px}.ms-file-selected{align-items:center;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:10px;color:#166534;display:flex;font-size:14px;gap:8px;padding:10px 14px}.ms-file-name{font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-file-size{color:#64748b;font-size:12px}.ms-file-remove{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:14px;margin-left:auto;padding:2px 6px;transition:background .15s}.ms-error,.ms-file-remove:hover{background:#fef2f2}.ms-error{border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;padding:10px 14px}.ms-actions{border-top:1px solid #f1f5f9;display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:8px}.ms-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:11px 24px;transition:all .15s}.ms-btn:disabled{cursor:not-allowed;opacity:.5}.ms-btn-primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 2px 8px #1d4ed84d;color:#fff}.ms-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#1d4ed8);box-shadow:0 4px 14px #1d4ed859;transform:translateY(-1px)}.ms-btn-ghost{background:#0000;border:1.5px solid #e2e8f0;color:#64748b}.ms-btn-ghost:hover{background:#f1f5f9;color:#334155}.ms-success{padding:28px 0;text-align:center}.ms-success-icon{font-size:52px;margin-bottom:18px}.ms-success h3{color:#0f172a;font-size:22px;font-weight:700;margin:0 0 10px}.ms-success p{color:#64748b;font-size:15px;line-height:1.5;margin:0 0 28px}.navbar-mentor-wrap{align-items:center;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:12px;display:flex;padding:4px 6px;transition:all .2s ease}.navbar-mentor-wrap:hover{background:#e0e7ff;border-color:#a5b4fc}.navbar-mentor-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:9px;box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;height:34px;padding:8px 16px;position:relative;transition:all .2s ease;white-space:nowrap}.navbar-mentor-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.navbar-mentor-btn:active{box-shadow:0 1px 4px #6366f14d;transform:translateY(0)}.navbar-mentor-btn svg{flex-shrink:0;opacity:.9}.navbar-mentor-dot{animation:mentorPulse 2s ease-in-out infinite;background:#22c55e;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #22c55e33;height:10px;pointer-events:none;position:absolute;right:-1px;top:-1px;width:10px}@keyframes mentorPulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.ms-overlay{padding:16px}.ms-modal{max-width:100%;padding:24px 20px}.ms-header{padding-right:32px}.ms-title{font-size:18px}.ms-actions{flex-direction:column}.ms-btn{text-align:center;width:100%}.navbar-mentor-btn span{display:none}.navbar-mentor-btn{padding:6px 8px}}.navbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 8px #0000000f;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;height:90px;justify-content:space-between;margin:0 auto;max-width:1360px;padding:0 28px}.navbar-brand{align-items:center;display:flex;flex-shrink:0;gap:10px;text-decoration:none;transition:opacity .2s}.navbar-brand:hover{opacity:.85}.navbar-brand img{display:block;height:80px;object-fit:contain;width:auto}.navbar-links{align-items:center;display:flex;gap:4px;margin:0 auto}.navbar-link{align-items:center;border-radius:10px;color:#475569;display:inline-flex;font-size:14.5px;font-weight:500;gap:8px;letter-spacing:.01em;padding:9px 18px;position:relative;text-decoration:none;transition:all .2s ease;white-space:nowrap}.navbar-link .nav-icon{flex-shrink:0;opacity:.6;transition:opacity .2s,transform .2s}.navbar-link:hover{background:#f1f5f9;color:#0f172a}.navbar-link:hover .nav-icon{opacity:.85;transform:scale(1.05)}.navbar-link.active{background:#eef2ff;color:#4f46e5;font-weight:600}.navbar-link.active .nav-icon{color:#6366f1;opacity:1}.navbar-link.active:after{background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:2px;bottom:0;content:"";height:2.5px;left:50%;position:absolute;transform:translateX(-50%);width:24px}.nav-coming-soon{background:#fef3c7;border:1px solid #fde68a;border-radius:4px;color:#f59e0b;font-size:9px;font-weight:700;letter-spacing:.5px;line-height:1.4;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.navbar-actions{flex-shrink:0}.navbar-actions,.user-info{align-items:center;display:flex;gap:10px}.user-info{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:48px;cursor:default;padding:5px 12px 5px 5px;transition:all .2s ease}.user-info:hover{background:#e2e8f0;border-color:#cbd5e1}.user-avatar{align-items:center;background:linear-gradient(135deg,#1d4ed8,#6366f1);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;letter-spacing:.5px;width:32px}.user-details{display:flex;flex-direction:column;gap:1px}.user-name{color:#0f172a;font-size:13px;font-weight:600;line-height:1.2}.user-module-badge{color:#94a3b8;font-size:10.5px;font-weight:500;line-height:1.2}.user-module-badge[data-module=internship]{color:#6366f1}.user-info-divider{background:#e2e8f0;flex-shrink:0;height:24px;margin:0 2px;width:1px}.user-logout-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:all .18s ease;width:28px}.user-logout-btn:hover{background:#ef44441f;color:#ef4444}.user-logout-btn svg{transition:transform .18s ease}.user-logout-btn:hover svg{transform:translateX(2px)}.nav-link{border-radius:8px;color:#475569;font-size:13.5px;font-weight:500;padding:7px 16px;text-decoration:none;transition:all .18s}.nav-link:hover{background:#f1f5f9;color:#0f172a}.nav-button{background:#1d4ed8;border-radius:8px;box-shadow:0 1px 2px #1d4ed826;color:#fff;font-size:13.5px;font-weight:600;padding:8px 20px;text-decoration:none;transition:all .18s}.nav-button:hover{background:#1e40af;box-shadow:0 4px 12px #1d4ed840;transform:translateY(-1px)}.navbar-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.navbar-hamburger span{background:#475569;border-radius:2px;display:block;height:2px;transition:all .2s;width:20px}@media (max-width:768px){.navbar-container{flex-wrap:wrap;height:auto;min-height:90px;padding:0 16px}.navbar-links{align-items:flex-start;border-top:1px solid #e2e8f0;display:none;flex-direction:column;gap:2px;margin:0;padding:8px 0 12px;width:100%}.navbar-links.open{display:flex}.navbar-link{padding:10px 14px;width:100%}.navbar-link.active:after{display:none}.navbar-hamburger{display:flex}.user-details{display:none}.user-info{border-radius:50%;padding:4px}.user-info-divider,.user-logout-btn{display:none}}.navbar--dark{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#111827f5;border-bottom:1px solid #ffffff0f;box-shadow:0 1px 12px #00000073}.navbar--dark .navbar-link{color:#94a3b8}.navbar--dark .navbar-link:hover{background:#ffffff0f;color:#f1f5f9}.navbar--dark .navbar-link.active{background:#667eea26;color:#a5b4fc;font-weight:600}.navbar--dark .navbar-link.active .nav-icon{color:#818cf8}.navbar--dark .navbar-link.active:after{background:linear-gradient(90deg,#818cf8,#667eea)}.navbar--dark .nav-coming-soon{background:#fbbf241a;border-color:#fbbf2440;color:#fbbf24}.navbar--dark .user-info{background:#ffffff0d;border-color:#ffffff14}.navbar--dark .user-info:hover{background:#ffffff14;border-color:#ffffff1f}.navbar--dark .user-name{color:#f1f5f9}.navbar--dark .user-module-badge{color:#475569}.navbar--dark .user-info-divider{background:#ffffff14}.navbar--dark .user-logout-btn{color:#475569}.navbar--dark .user-logout-btn:hover{background:#ef444426;color:#f87171}.navbar--dark .hamburger span{background:#94a3b8}.navbar--dark .hamburger:hover span{background:#f1f5f9}@media (max-width:768px){.navbar--dark .navbar-links.open{background:#111827;border-top:1px solid #ffffff0f;box-shadow:0 8px 24px #0006}}.main-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}.auth-layout{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-container{max-width:580px;width:100%}.lp{--lp-ink:#1a202c;--lp-muted:#718096;--lp-line:#e2e8f0;--lp-accent:#667eea;--lp-accent-2:#764ba2;--lp-accent-soft:#667eea1a;--lp-surface:#fff;background:#f7fafc;color:var(--lp-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.lp-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #0000;position:-webkit-sticky;position:sticky;top:0;transition:border-color .2s ease,box-shadow .2s ease;z-index:50}.lp-nav--scrolled{border-bottom-color:var(--lp-line);box-shadow:0 1px 12px #667eea14}.lp-nav-inner,.lp-wrap{margin:0 auto;width:min(1040px,calc(100% - 40px))}.lp-nav-inner{align-items:center;display:flex;gap:16px;height:72px;justify-content:space-between}.lp-brand{align-items:center;color:var(--lp-ink);display:inline-flex;gap:12px;text-decoration:none}.lp-logo{height:44px;object-fit:contain;width:auto}.lp-brand-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.lp-nav-actions{align-items:center;display:flex;gap:10px}.lp-btn{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;padding:10px 16px;text-decoration:none;transition:all .2s ease}.lp-btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 8px 20px #667eea47;color:#fff}.lp-btn--primary:hover{box-shadow:0 12px 24px #667eea59;transform:translateY(-1px)}.lp-btn--ghost{background:#0000;border-color:#667eea;color:#667eea}.lp-btn--ghost:hover{background:#667eea;color:#fff}.lp-btn--lg{font-size:1rem;padding:14px 22px}.lp-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:72px 0 64px}.lp-hero-inner{margin:0 auto;text-align:left;width:min(720px,calc(100% - 40px))}.lp-eyebrow{color:#ffffffd9;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.lp-title{color:#fff;font-size:clamp(2.1rem,5vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px}.lp-title span{color:#fefcbf}.lp-sub{color:#ffffffe0;font-size:1.08rem;line-height:1.6;margin:0 0 28px;max-width:38rem}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.lp-hero .lp-btn--primary{background:#fff;box-shadow:0 10px 24px #0000002e;color:#667eea}.lp-hero .lp-btn--primary:hover{background:#f7fafc;color:#764ba2}.lp-hero .lp-btn--ghost{border-color:#ffffff8c;color:#fff}.lp-hero .lp-btn--ghost:hover{background:#ffffff24;border-color:#fff;color:#fff}.lp-section{padding:56px 0}.lp-section--muted{background:var(--lp-surface);border-bottom:1px solid var(--lp-line);border-top:1px solid var(--lp-line)}.lp-h2{color:var(--lp-ink);font-size:1.6rem;letter-spacing:-.02em;margin:0 0 28px}.lp-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.lp-card{background:var(--lp-surface);border:1px solid var(--lp-line);border-radius:16px;box-shadow:0 8px 24px #667eea0f;padding:24px}.lp-card h3{color:var(--lp-ink);font-size:1.05rem;margin:0 0 8px}.lp-card p{color:var(--lp-muted);font-size:.98rem;line-height:1.55;margin:0}.lp-steps{grid-gap:18px;display:grid;gap:18px;list-style:none;margin:0;padding:0}.lp-step{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:44px 1fr}.lp-step-n{background:var(--lp-accent-soft);border-radius:12px;color:#667eea;display:grid;font-weight:700;height:44px;place-items:center;width:44px}.lp-step h3{color:var(--lp-ink);font-size:1.05rem;margin:2px 0 4px}.lp-step p{color:var(--lp-muted);line-height:1.5;margin:0}.lp-cta{padding:64px 0}.lp-cta-inner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 20px 50px #667eea47;color:#fff;padding:44px 24px;text-align:center}.lp-cta-inner h2{color:#fff;font-size:1.7rem;margin:0 0 8px}.lp-cta-inner p{color:#ffffffe0;margin:0 0 20px}.lp-cta-inner .lp-btn--primary{background:#fff;color:#667eea}.lp-cta-inner .lp-btn--primary:hover{background:#f7fafc;color:#764ba2}.lp-footer{background:#fff;border-top:1px solid var(--lp-line);padding:28px 0 36px}.lp-footer-inner{grid-gap:16px;display:grid;gap:16px}.lp-footer-brand{display:flex;flex-direction:column;gap:2px}.lp-footer-brand span{color:var(--lp-muted);font-size:.92rem}.lp-footer-links{display:flex;flex-wrap:wrap;gap:14px}.lp-footer-links a{color:#667eea;font-size:.92rem;font-weight:500;text-decoration:none}.lp-footer-links a:hover{color:#764ba2}.lp-copy{color:#a0aec0;font-size:.85rem;margin:0}@media (max-width:800px){.lp-cards{grid-template-columns:1fr}.lp-brand-name,.lp-nav-actions .lp-btn--ghost{display:none}.lp-hero{padding:48px 0 40px}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:540px;padding:40px 48px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:#718096;font-size:15px;margin:0}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:15px;outline:none;padding:12px 16px;transition:all .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#a0aec0}.form-group select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23667eea' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;outline:none;padding:12px 42px 12px 16px;transition:all .2s;width:100%}.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select:hover{border-color:#b794f4}.error-message{align-items:center;animation:shake .3s ease-out;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;display:flex;font-size:14px;gap:10px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-message svg{flex-shrink:0}.auth-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s}.auth-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{cursor:not-allowed;opacity:.7}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.auth-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#718096;font-size:14px;margin:0}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.auth-footer a:hover{color:#764ba2;text-decoration:underline}.back-to-landing{color:#718096;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.back-to-landing:hover{color:#667eea;text-decoration:underline}.demo-credentials{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:24px;padding:16px}.demo-title{color:#2d3748;font-size:13px;font-weight:600;margin:0 0 8px}.demo-info{color:#4a5568;font-family:Courier New,monospace;font-size:13px;margin:4px 0}@media (max-width:480px){.auth-card{padding:32px 24px}.auth-header h1{font-size:24px}.auth-button{font-size:15px;padding:12px 20px}}.forgot-password-link{margin-top:-4px;text-align:right}.forgot-password-link a{color:#667eea;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.forgot-password-link a:hover{color:#764ba2;text-decoration:underline}.verification-icon{display:flex;justify-content:center;margin-bottom:20px}.verification-instructions{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;text-align:center}.verification-instructions p{color:#4a5568;font-size:14px;line-height:1.6;margin:0}.auth-button-outline{background:#0000;border:2px solid #667eea;color:#667eea}.auth-button-outline:hover:not(:disabled){background:#667eea;box-shadow:0 10px 20px #667eea33;color:#fff}.error-message-warning{align-items:flex-start;background:#fefcbf;border-color:#ecc94b;color:#744210;flex-direction:column}.error-message-warning svg{color:#d69e2e}.resend-link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:0;text-decoration:underline}.resend-link-btn:hover{color:#764ba2}.resend-link-btn:disabled{cursor:not-allowed;opacity:.6}.spinner-large{animation:spin .8s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}.verify-email-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;inset:0;justify-content:center;padding:20px;position:fixed}.verify-email-card{animation:slideUp .4s ease-out;background:#fff;border-radius:20px;box-shadow:0 24px 64px #00000040;max-width:440px;padding:48px 40px 36px;text-align:center;width:100%}.verify-email-icon{align-items:center;background:#667eea14;border-radius:50%;display:flex;height:88px;justify-content:center;margin:0 auto 24px;width:88px}.verify-email-icon--success{background:#38a16914}.verify-email-icon--error{background:#e53e3e14}.verify-email-title{color:#1a202c;font-size:24px;font-weight:700;line-height:1.3;margin:0 0 8px}.verify-email-subtitle{color:#718096;font-size:15px;line-height:1.5;margin:0 0 28px}.verify-email-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;justify-content:center;padding:13px 36px;text-decoration:none;transition:transform .2s,box-shadow .2s}.verify-email-btn:hover{box-shadow:0 8px 24px #667eea59;color:#fff;transform:translateY(-2px)}.verify-email-hint{color:#a0aec0;font-size:13px;line-height:1.5;margin:16px 0 0}.verify-email-footer{border-top:1px solid #edf2f7;color:#a0aec0;font-size:12px;margin-top:32px;padding-top:20px}@media (max-width:480px){.verify-email-card{border-radius:16px;padding:36px 24px 28px}.verify-email-title{font-size:20px}}.otp-input-group{display:flex;gap:8px;justify-content:center;margin:24px 0 8px}.otp-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;caret-color:#667eea;color:#1e293b;font-family:Courier New,monospace;font-size:24px;font-weight:700;height:56px;outline:none;text-align:center;transition:all .2s ease;width:48px}.otp-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.otp-input:disabled{cursor:not-allowed;opacity:.5}.otp-error-message{color:#e53e3e;font-size:14px;font-weight:500;margin:8px 0 0;text-align:center}.otp-resend-section{margin-top:20px;text-align:center}.otp-resend-btn{background:none;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:all .2s ease}.otp-resend-btn:hover:not(:disabled){background:#eef2ff}.otp-resend-btn:disabled{color:#a0aec0;cursor:not-allowed}.otp-resend-message{color:#38a169;font-size:13px;margin-top:8px}.auth-link{color:#667eea;font-size:14px;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:0}.auth-link-button:disabled{color:#a0aec0;cursor:not-allowed}.auth-status-icon{align-items:center;border-radius:50%;display:inline-flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.auth-status-icon--info{background:#eef2ff;color:#4f46e5}.auth-mobile-highlight{color:#1a202c;font-weight:700;letter-spacing:.02em}.auth-info-panel{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:14px 16px}.auth-info-panel p{color:#4a5568;font-size:14px;line-height:1.55;margin:0}a.auth-button--link{margin-top:0;text-decoration:none}.auth-button-secondary{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;margin-top:12px;padding:12px 24px;transition:all .2s;width:100%}.auth-button-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.auth-text-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;font-weight:600;padding:0}.auth-text-button:hover{color:#764ba2;text-decoration:underline}.auth-footer-secondary{margin-top:12px!important}@media (max-width:480px){.otp-input{border-radius:10px;font-size:20px;height:48px;width:40px}.otp-input-group{gap:6px}}.admin-layout{background:#0d0d0d;color:#e0e0e0;display:flex;font-family:Inter,system-ui,sans-serif;min-height:100vh}.admin-sidebar{background:#161616;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;height:100vh;min-width:230px;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;width:230px}.admin-sidebar-header{border-bottom:1px solid #2a2a2a;display:flex;flex-direction:column;gap:10px;padding:24px 20px 16px}.admin-badge{background:#3a1f6e;border:1px solid #5b3bbf;border-radius:20px;color:#b99ef7;display:inline-block;font-size:11px;font-weight:700;letter-spacing:1.2px;padding:3px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 0}.admin-nav-item{align-items:center;border-left:3px solid #0000;color:#aaa;display:flex;font-size:14px;padding:10px 20px;text-decoration:none;transition:all .15s ease}.admin-nav-item:hover{background:#1f1f1f;color:#e0e0e0}.admin-nav-item.active{background:#1a1040;border-left-color:#7c3aed;color:#b99ef7;font-weight:600}.admin-sidebar-footer{border-top:1px solid #2a2a2a;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.admin-user{gap:10px;overflow:hidden}.admin-avatar,.admin-user{align-items:center;display:flex}.admin-avatar{background:#5b3bbf;border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:34px;justify-content:center;width:34px}.admin-user-name{color:#e0e0e0;font-size:13px;font-weight:600}.admin-user-email,.admin-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-email{color:#666;font-size:11px}.admin-logout{background:#0000;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;font-size:13px;padding:6px 12px;text-align:center;transition:all .15s ease;width:100%}.admin-logout:hover{background:#1a1040;border-color:#7c3aed;color:#b99ef7}.admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-y:auto}.admin-page-header{border-bottom:1px solid #1f1f1f;padding:28px 36px 16px}.admin-page-header h1{color:#f0f0f0;font-size:22px;font-weight:700;margin:0}.admin-page-body{flex:1 1;padding:28px 36px}.admin-card{background:#161616;border:1px solid #2a2a2a;border-radius:12px;margin-bottom:24px;padding:24px}.admin-card h2{color:#ccc;font-size:15px;font-weight:600;margin:0 0 16px}.admin-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:28px}.admin-stat-card{background:#161616;border:1px solid #2a2a2a;border-radius:12px;padding:20px;text-align:center}.admin-stat-value{color:#b99ef7;font-size:32px;font-weight:800}.admin-stat-label{color:#777;font-size:12px;margin-top:4px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;font-size:14px;width:100%}.admin-table th{border-bottom:1px solid #2a2a2a;color:#777;font-size:12px;font-weight:600;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-bottom:1px solid #1a1a1a;color:#d0d0d0;padding:12px 14px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#1a1a1a}.admin-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .15s ease}.admin-btn-primary{background:#7c3aed;color:#fff}.admin-btn-primary:hover{background:#6d28d9}.admin-btn-secondary{background:#2a2a2a;border:1px solid #333;color:#ccc}.admin-btn-secondary:hover{background:#333;color:#fff}.admin-btn-danger{background:#3d1212;border:1px solid #7f1d1d;color:#f87171}.admin-btn-danger:hover{background:#7f1d1d}.admin-btn-sm{font-size:12px;padding:5px 10px}.admin-placeholder-notice{color:#555;padding:80px 20px;text-align:center}.admin-placeholder-notice .placeholder-icon{font-size:48px;margin-bottom:16px}.admin-placeholder-notice h2{color:#888;font-size:18px;margin-bottom:8px}.admin-placeholder-notice p{color:#555;font-size:14px}.faq-page{background:linear-gradient(180deg,#f8fafc,#fff 40%);min-height:100vh;padding:40px 20px 80px}.faq-container{margin:0 auto;max-width:740px}.faq-back-link{align-items:center;color:#667eea;display:inline-flex;font-size:14px;font-weight:500;gap:4px;margin-bottom:32px;text-decoration:none;transition:color .15s}.faq-back-link:hover{color:#4f46e5}.faq-header{margin-bottom:48px;text-align:center}.faq-eyebrow{color:#667eea;display:inline-block;font-size:13px;font-weight:600;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.faq-title{color:#0f172a;font-size:36px;font-weight:800;letter-spacing:-.5px;margin:0 0 16px}.faq-subtitle{color:#64748b;font-size:16px;line-height:1.6;margin:0 auto;max-width:540px}.faq-subtitle a{color:#667eea;text-decoration:underline}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.faq-item:hover{border-color:#cbd5e1}.faq-item--open{border-color:#667eea;box-shadow:0 2px 12px #667eea14}.faq-question{align-items:center;background:none;border:none;color:#0f172a;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:16px;justify-content:space-between;line-height:1.5;padding:18px 20px;text-align:left;width:100%}.faq-question:hover{background:#f8fafc}.faq-chevron{color:#94a3b8;flex-shrink:0;transition:transform .2s}.faq-chevron--open{color:#667eea;transform:rotate(180deg)}.faq-answer{color:#475569;font-size:14px;line-height:1.7;padding:0 20px 18px}.faq-answer p{margin:0 0 8px}.faq-answer p:last-child{margin-bottom:0}.faq-cta{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;margin-top:56px;padding:40px 24px;text-align:center}.faq-cta h3{font-size:22px;font-weight:700;margin:0 0 8px}.faq-cta p{color:#fffc;font-size:15px;margin:0 0 24px}.faq-cta-btn{align-items:center;background:#ffffff26;border:2px solid #ffffff4d;border-radius:10px;color:#fff;display:inline-flex;font-size:15px;font-weight:600;gap:8px;padding:12px 28px;text-decoration:none;transition:all .2s}.faq-cta-btn:hover{background:#ffffff40;border-color:#ffffff80}@media (max-width:640px){.faq-page{padding:24px 16px 60px}.faq-title{font-size:26px}.faq-question{font-size:14px;padding:14px 16px}.faq-answer{font-size:13px;padding:0 16px 14px}}.legal-page{background:linear-gradient(180deg,#f8fafc,#fff 40%);min-height:100vh;padding:40px 20px 80px}.legal-container{margin:0 auto;max-width:740px}.legal-back-link{align-items:center;color:#667eea;display:inline-flex;font-size:14px;font-weight:500;gap:4px;margin-bottom:32px;text-decoration:none;transition:color .15s}.legal-back-link:hover{color:#4f46e5}.legal-header{margin-bottom:40px;text-align:center}.legal-eyebrow{color:#667eea;display:inline-block;font-size:13px;font-weight:600;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.legal-title{color:#0f172a;font-size:34px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}.legal-updated{color:#94a3b8;font-size:13px}.legal-body{color:#334155;font-size:15px;line-height:1.8}.legal-body h2{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:18px;font-weight:700;margin:32px 0 12px;padding-bottom:8px}.legal-body h3{color:#1e293b;font-size:16px;font-weight:600;margin:24px 0 8px}.legal-body p{margin:0 0 16px}.legal-body ol,.legal-body ul{margin:0 0 16px;padding-left:24px}.legal-body li{margin-bottom:8px}.legal-body strong{color:#0f172a}.legal-body a{color:#667eea;text-decoration:underline}.legal-highlight{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b}.legal-highlight,.legal-info{font-size:14px;line-height:1.6;margin:20px 0;padding:16px 20px}.legal-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af}.legal-contact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:40px;padding:24px;text-align:center}.legal-contact h3{border:none;color:#0f172a;font-size:16px;font-weight:700;margin:0 0 8px;padding:0}.legal-contact p{color:#64748b;font-size:14px;margin:0}.legal-contact a{color:#667eea;font-weight:600}@media (max-width:640px){.legal-page{padding:24px 16px 60px}.legal-title{font-size:26px}.legal-body{font-size:14px}.legal-body h2{font-size:16px}}*{box-sizing:border-box}:root{--header-gradient-start:#667eea;--header-gradient-end:#764ba2}.theme-dark{--bg-primary:#1e1e1e;--bg-secondary:#2d2d30;--bg-tertiary:#252526;--text-primary:#ccc;--text-secondary:#fff;--border-color:#3e3e3e;--panel-bg:#252526;--code-bg:#1e1e1e}.theme-light{--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#fafbfc;--text-primary:#333;--text-secondary:#000;--border-color:#e0e0e0;--panel-bg:#fff;--code-bg:#f5f7fa;--header-gradient-start:#667eea;--header-gradient-end:#764ba2}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.app{background-color:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--header-gradient-start) 0,var(--header-gradient-end) 100%);box-shadow:0 2px 8px #00000026;color:#fff;gap:1.5rem;height:56px;justify-content:space-between;padding:.5rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.header-right{align-items:center;display:flex}.header-right{gap:1rem}.theme-toggle{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.3rem;justify-content:center;line-height:1;padding:.4rem .6rem;transition:all .3s ease}.theme-toggle:hover{background:#ffffff4d;transform:scale(1.1)}.logout-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin-left:12px;padding:8px 16px;transition:all .3s ease}.logout-button:hover{background:linear-gradient(135deg,#ffffff40,#ffffff26);border-color:#fff6;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.logout-button:active{box-shadow:0 2px 6px #0000001a;transform:translateY(0)}.header-left{align-items:center;display:flex;gap:.75rem;min-width:200px}.header-left img{display:block;filter:brightness(0) invert(1);object-fit:contain}.logo{font-size:1.5rem}.app-title{font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin:0}.question-nav{flex:1 1;gap:.5rem}.question-nav,.question-tab{display:flex;justify-content:center}.question-tab{align-items:center;background:#ffffff26;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;gap:.4rem;min-width:60px;padding:.4rem .8rem;transition:all .3s ease}.question-tab:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.question-tab.active{background:#fff;border-color:#fff;color:#667eea}.question-tab.answered{background:#4caf504d;border-color:#4caf5099}.question-tab.active.answered{background:#fff;color:#667eea}.question-tab:disabled{cursor:not-allowed;opacity:.5}.tab-number{font-size:.875rem}.tab-check{font-size:1rem;font-weight:700}.question-tab.active .tab-check,.tab-check{color:#4caf50}.app-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.split-layout{width:100%}.problem-panel,.split-layout{display:flex;height:calc(100vh - 56px);overflow:hidden}.problem-panel{background:var(--panel-bg);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0}.problem-header{background:var(--panel-bg);padding:1rem 1.5rem}.problem-content{height:0;min-height:0;overflow-x:hidden}.submissions-history{display:flex;flex:1 1;flex-direction:column;height:0;min-height:0;overflow-y:auto}.submissions-history::-webkit-scrollbar{width:6px}.submissions-history::-webkit-scrollbar-track{background:#0000}.submissions-history::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}.submissions-history::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.problem-content::-webkit-scrollbar{width:8px}.theme-light .problem-content::-webkit-scrollbar-track{background:#f1f1f1}.theme-dark .problem-content::-webkit-scrollbar-track{background:#2d2d30}.problem-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.problem-content::-webkit-scrollbar-thumb:hover{background:#667eea}.console-header,.editor-header,.panel-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;min-height:44px;padding:.5rem 1rem}.console-header,.editor-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.console-tabs,.editor-tabs,.panel-tabs{align-items:center;display:flex;gap:.25rem}.console-tab,.editor-tab,.panel-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem 1rem;position:relative;transition:all .2s ease}.console-tab,.editor-tab{color:#ccc}.console-tab:hover,.editor-tab:hover,.panel-tab:hover{background:#667eea0d;color:#334155}.console-tab:hover,.editor-tab:hover{background:#ffffff0d;color:#fff}.console-tab.active,.editor-tab.active,.panel-tab.active{background:#0000;border-bottom-color:#667eea;color:#667eea}.console-tab.active,.editor-tab.active{background:#1e1e1e;color:#fff}.tab-icon{align-items:center;display:flex;font-size:.875rem}.console-actions,.editor-actions,.panel-actions{align-items:center;display:flex;gap:.25rem}.icon-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.console-header .icon-btn,.editor-header .icon-btn{color:#ccc}.icon-btn:hover{background:#667eea1a;color:#667eea}.console-header .icon-btn:hover,.editor-header .icon-btn:hover{background:#ffffff1a;color:#fff}.icon-btn svg{height:14px;width:14px}.panel-resizer{background:#e0e0e0;cursor:col-resize;flex-shrink:0;position:relative;transition:background .2s ease;width:5px}.panel-resizer:hover{background:#667eea}.panel-resizer:active{background:#764ba2}.problem-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.problem-title{color:#fff!important;flex:1 1;font-size:1.25rem;font-weight:600;margin:0}.theme-light .problem-title{color:#1a1a1a!important}.difficulty-badge{border-radius:16px;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.375rem .875rem;text-transform:uppercase}.difficulty-badge.easy{background:#d4edda;color:#155724}.difficulty-badge.medium{background:#fff3cd;color:#856404}.difficulty-badge.hard{background:#f8d7da;color:#721c24}.problem-content{flex:1 1;overflow-y:auto;padding:1.5rem}.problem-section{margin-bottom:2rem}.problem-section h3{border-bottom:2px solid #667eea;color:var(--text-secondary);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.problem-description p{color:var(--text-primary);line-height:1.6;margin:.75rem 0}.problem-description--markdown h1,.problem-description--markdown h2,.problem-description--markdown h3{color:var(--text-primary);font-weight:600;margin:1.25rem 0 .5rem}.problem-description--markdown h2{font-size:1.05rem}.problem-description--markdown h3{font-size:.95rem}.problem-description--markdown ol,.problem-description--markdown ul{color:var(--text-primary);line-height:1.7;margin:.5rem 0;padding-left:1.4rem}.problem-description--markdown code{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:#c9d1d9;font-family:Courier New,monospace;font-size:.85em;padding:1px 5px}.problem-description--markdown pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;margin:.75rem 0;overflow-x:auto;padding:.75rem 1rem}.problem-description--markdown pre code{background:none;border:none;font-size:.85rem;padding:0}.problem-description--markdown strong{color:var(--text-primary);font-weight:600}.problem-description--markdown table{border-collapse:collapse;font-size:.875rem;margin:1rem 0;width:100%}.problem-description--markdown th{background:#2d2d3a;border:1px solid var(--border-color);color:#c9d1d9;font-weight:600;padding:.5rem .75rem;text-align:left}.problem-description--markdown td{border:1px solid var(--border-color);color:var(--text-primary);padding:.45rem .75rem}.problem-description--markdown tr:nth-child(2n) td{background:#ffffff08}.problem-description--markdown tr:hover td{background:#667eea14}.example-box{background:var(--bg-tertiary);border-left:3px solid #667eea;border:1px solid var(--border-color);border-radius:4px;margin:.75rem 0;padding:1rem}.example-box strong{color:var(--text-secondary)}.example-content{margin-top:.5rem}.example-content div{color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;margin:.5rem 0}.constraints-list{list-style:none;margin:0;padding:0}.constraints-list li{color:var(--text-primary);line-height:1.6;padding:.5rem 0 .5rem 1.5rem;position:relative}.constraints-list li:before{color:#667eea;content:"•";font-weight:700;left:.5rem;position:absolute}.hints-toggle{background:#ffc10726;border:1px solid #ffc10780;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:.5rem 1rem;text-align:left;transition:all .3s ease;width:100%}.hints-toggle:hover{background:#ffc107;color:#fff}.hints-list{list-style:none;margin-top:1rem;padding:0}.hints-list li{background:var(--bg-tertiary);border-left:3px solid #ffc107;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);line-height:1.6;margin:.5rem 0;padding:.75rem}.editor-panel{background:var(--code-bg);display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 56px);overflow:hidden;padding-top:.5rem}.editor-panel--fullscreen{bottom:0;height:calc(100vh - 56px);left:0;padding-top:0;position:fixed;right:0;top:56px;width:100%!important;z-index:200}.editor-section{display:flex;flex-direction:column;min-height:250px;overflow:hidden}.editor-section .editor-header{grid-gap:8px;align-items:center;background:var(--code-bg);border-bottom:1px solid var(--border-color);display:grid;flex-shrink:0;gap:8px;grid-template-columns:1fr auto 1fr;height:44px;min-height:44px;padding:.5rem 1rem}.editor-section .editor-header-left{align-items:center;color:var(--text-primary);display:flex;gap:.5rem;justify-content:flex-start}.editor-section .editor-header-center{align-items:center;display:flex;gap:8px;justify-content:center}.editor-section .editor-header-right{align-items:center;display:flex;gap:6px;justify-content:flex-end}.editor-section .language-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;outline:none;padding:.4rem .8rem;transition:all .2s ease}.editor-section .language-dropdown:hover:not(:disabled){background:var(--bg-tertiary);border-color:#667eea}.editor-section .language-dropdown:disabled{cursor:not-allowed;opacity:.5}.fullscreen-btn{align-items:center;border:1px solid var(--border-color)!important;border-radius:6px;color:var(--text-secondary);display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.fullscreen-btn:hover{background:#6366f11a;border-color:#6366f1!important;color:#818cf8}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{animation:modal-in .2s ease;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:16px;box-shadow:0 24px 64px #00000080;max-width:420px;padding:40px 36px 32px;text-align:center;width:90%}@keyframes modal-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-icon{font-size:48px;line-height:1;margin-bottom:16px}.modal-title{color:#f1f5f9;font-size:20px;font-weight:700;margin:0 0 10px}.modal-body{color:#94a3b8;font-size:14px;line-height:1.6;margin:0 0 28px}.modal-actions{display:flex;gap:12px}.modal-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.modal-btn--cancel{background:#0000;border:1px solid #334155!important;color:#94a3b8}.modal-btn--cancel:hover{background:#1e293b;border-color:#475569!important;color:#f1f5f9}.modal-btn--confirm{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px #6366f14d;color:#fff}.modal-btn--confirm:hover{box-shadow:0 6px 20px #6366f173;transform:translateY(-1px)}.driver-toggle-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s ease;white-space:nowrap}.driver-toggle-btn:hover{background:#6366f11f;border-color:#6366f1;color:#818cf8}.driver-code-block{background:repeating-linear-gradient(45deg,#111827,#111827 10px,#0f1623 0,#0f1623 20px);border-left:3px solid #374151;flex-shrink:0;max-height:180px;opacity:.85;overflow-x:auto;overflow-y:auto}.driver-code-prefix{border-bottom:none}.driver-code-suffix{border-top:none}.driver-code-label{background:#1f2937;border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.3px;padding:6px 16px}.driver-code-label,.driver-code-pre{-webkit-user-select:none;user-select:none}.driver-code-pre{color:#4b5563;font-family:Fira Code,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;padding:12px 16px;pointer-events:none;white-space:pre}.driver-solution-marker{align-items:center;background:#111827;display:flex;flex-shrink:0;gap:10px;padding:5px 16px}.driver-solution-marker--write{background:#0d1f14;border-bottom:1px solid #16a34a;border-top:1px solid #16a34a;padding:8px 16px}.driver-solution-marker--write .marker-line{background:#16a34a;height:2px}.marker-line{background:#374151;flex:1 1;height:1px}.marker-text{color:#6366f1;font-size:11px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.marker-text--write{background:#16a34a26;border:1px solid #4ade804d;border-radius:4px;color:#4ade80;font-size:12px;font-weight:700;letter-spacing:.4px;padding:2px 10px}.run-button-header,.submit-button-header{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.3px;outline:none;overflow:hidden;padding:8px 20px;position:relative;transition:all .3s ease}.run-button-header:before,.submit-button-header:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.run-button-header:hover:not(:disabled):before,.submit-button-header:hover:not(:disabled):before{left:100%}.run-button-header{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98140;color:#fff}.run-button-header:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.submit-button-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px #6366f140;color:#fff}.submit-button-header:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.run-button-header:disabled,.submit-button-header:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.5;transform:none}.run-button-header:active:not(:disabled),.submit-button-header:active:not(:disabled){box-shadow:0 2px 8px #0003;transform:translateY(0)}.editor-section .icon-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;padding:.4rem;transition:all .2s ease}.editor-section .icon-btn:hover{background:var(--bg-secondary);color:var(--text-secondary)}.editor-resizer{background:#3e3e3e;cursor:row-resize;flex-shrink:0;height:5px;position:relative;transition:background .2s ease;z-index:10}.editor-resizer:hover{background:#667eea}.editor-resizer:active{background:#764ba2}.console-section{background:var(--code-bg);display:flex;flex-direction:column;min-height:0;overflow:hidden}.console-content{height:calc(100% - 44px);min-height:0;overflow-x:hidden;overflow-y:auto;padding:1rem}.console-content::-webkit-scrollbar{width:8px}.console-content::-webkit-scrollbar-track{background:#1e1e1e}.console-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.console-content::-webkit-scrollbar-thumb:hover{background:#667eea}.testcase-view{display:flex;flex-wrap:wrap;gap:.75rem}.test-case-item{background:#2d2d2d;border:1px solid #3e3e3e;border-radius:8px;flex:1 1;min-width:200px;padding:1rem}.test-case-label{border-bottom:1px solid #3e3e3e;color:#ccc;font-size:.875rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.test-case-inputs{gap:.5rem}.test-case-inputs,.test-input{display:flex;flex-direction:column}.test-input{gap:.25rem}.input-label{color:#9cdcfe;font-size:.85rem}.input-label,.input-value{font-family:Courier New,monospace}.input-value{background:#1e1e1e;border:1px solid #3e3e3e;border-radius:4px;color:#ce9178;font-size:.875rem;padding:.5rem}.result-view{color:#fff}.running-indicator{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.spinner{animation:spin 1s linear infinite;border:4px solid #3e3e3e;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.test-results{display:flex;flex-direction:column;gap:1rem}.result-item{background:#2d2d2d;border-left:3px solid #3e3e3e;border-radius:8px;padding:1rem}.result-item.passed{border-left-color:#4caf50}.result-item.failed{border-left-color:#f44336}.result-header{align-items:center;border-bottom:1px solid #3e3e3e;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.result-status{font-size:.95rem;font-weight:600}.result-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.result-badge.pass{background:#4caf5033;color:#4caf50}.result-badge.fail{background:#f4433633;color:#f44336}.result-details{display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:.85rem;gap:.5rem}.result-details div{color:#ccc}.result-details strong{color:#9cdcfe}.error-message{background:#f443361a;border-left:3px solid #f44336;border-radius:4px;color:#f48771!important;padding:.5rem}.result-summary{border-radius:8px;font-weight:600;margin-bottom:1rem;padding:1rem;text-align:center}.result-summary.success{background:#4caf5026;border:1px solid #4caf504d;color:#4caf50}.result-summary.partial{background:#ff980026;border:1px solid #ff98004d;color:#ff9800}.no-results{color:#888;padding:3rem;text-align:center}.no-results p{font-size:1rem;margin:0}.action-bar{background:#2d2d2d;border-top:1px solid #3e3e3e;flex-shrink:0;padding:1rem 1.5rem}.action-buttons{display:flex;gap:1rem;justify-content:flex-end}.run-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease;white-space:nowrap}.run-button{background:#0000;border:2px solid #667eea;color:#667eea}.run-button:hover:not(:disabled){background:#667eea1a;transform:translateY(-2px)}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.run-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.success-message{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;margin:2rem auto;max-width:600px;padding:3rem;text-align:center}.success-message h2{color:#4caf50;font-size:2rem;margin:0 0 1rem}.success-message p{color:#555;font-size:1.125rem;line-height:1.6;margin:.75rem 0}.submitted-count{color:#667eea;font-size:1.25rem;font-weight:600;margin-top:1.5rem}@media (max-width:1200px){.split-layout{flex-direction:column}.editor-panel,.problem-panel{height:50vh;width:100%!important}.panel-resizer{display:none}.problem-panel{border-bottom:1px solid #e0e0e0;border-right:none}}@media (max-width:768px){.app-header{flex-direction:column;gap:.75rem;padding:1rem}.question-nav{order:-1;width:100%}.question-tab{font-size:.85rem;min-width:50px;padding:.4rem .75rem}.app-title,.problem-title{font-size:1rem}.action-buttons{flex-direction:column}.run-button,.submit-button{width:100%}.console-section{height:200px}}.loading-message{align-items:center;color:#667eea;display:flex;font-size:1.5rem;font-weight:600;height:calc(100vh - 70px);justify-content:center}
/*# sourceMappingURL=main.c1e24c8b.css.map*/