:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-color:#f3f6f9;--text-main:#1e293b;--text-muted:#64748b;--primary:#4f46e5;--primary-hover:#4338ca;--sidebar-bg:#0f172a;--card-bg:#ffffffd9;--glass-border:#ffffff80;--table-header:#f1f5f9cc;--border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%) fixed;min-height:100vh;line-height:1.5}#root{width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:#0f172a;letter-spacing:-.025em;font-weight:700}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-layout{width:100%;min-height:100vh;display:flex}.admin-sidebar{background:var(--sidebar-bg);color:#fff;z-index:10;flex-direction:column;width:280px;padding:32px 0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 24px #0000001a}.sidebar-header{border-bottom:1px solid #ffffff14;margin-bottom:16px;padding:0 24px 32px}.sidebar-title{background:linear-gradient(90deg,#60a5fa,#c084fc);-webkit-text-fill-color:transparent;letter-spacing:-.05em;-webkit-background-clip:text;margin:0;font-size:24px;font-weight:800}.sidebar-subtitle{color:#94a3b8;margin:6px 0 0;font-size:13px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:0 16px;display:flex}.nav-link{color:#cbd5e1;border-radius:8px;align-items:center;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.nav-link:hover{color:#fff;background:#ffffff0f;transform:translate(4px)}.nav-link.active{color:#818cf8;background:#6366f126}.logout-btn{background:rgba(2ef, 68, 68, .1);color:#ef4444;cursor:pointer;border:1px solid #ef444433;border-radius:8px;justify-content:center;margin:24px 16px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.logout-btn:hover{color:#fff;background:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.admin-content{flex:1;max-width:calc(100% - 280px);margin-left:280px;padding:40px 48px}.login-page{background:linear-gradient(135deg,#1a1a2e,#16213e);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:48px;display:flex;box-shadow:0 16px 48px #0003}.login-form h1{text-align:center;color:#1a1a2e;margin:0;font-size:28px}.login-subtitle{text-align:center;color:#888;margin:0 0 8px;font-size:14px}.login-error{color:#c62828;text-align:center;background:#ffebee;border-radius:8px;padding:12px;font-size:14px}.login-form input{border:2px solid #e0e0e0;border-radius:8px;outline:none;padding:14px 16px;font-size:16px;transition:border-color .2s}.login-form input:focus{border-color:#4fc3f7}.login-form button{color:#fff;cursor:pointer;background:#1a1a2e;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;transition:background .2s}.login-form button:hover:not(:disabled){background:#16213e}.login-form button:disabled{opacity:.6}.page{max-width:1200px;animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-title{color:#0f172a;margin:0 0 8px;font-size:32px}.page-desc{color:#64748b;margin:0 0 32px;font-size:16px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.table-container{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;background:var(--table-header);color:#475569;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:16px 24px;font-size:12px;font-weight:700}.data-table td{border-bottom:1px solid var(--border);color:#334155;padding:16px 24px;font-size:14px;transition:background .2s}.data-table tbody tr{transition:all .2s}.data-table tbody tr:hover{background:#ffffff80}.data-table tbody tr:last-child td{border-bottom:none}.data-table input{background:#fffc;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:14px;transition:all .2s}.data-table input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.color-swatch{vertical-align:middle;width:24px;height:24px;box-shadow:var(--shadow-sm);border:1px solid #0000001a;border-radius:6px;margin-right:12px;display:inline-block}.action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.action-btn.primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e54d}.action-btn.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.action-btn.primary:active{transform:translateY(0)}.action-btn.edit{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.action-btn.edit:hover{color:#0f172a;background:#e2e8f0}.action-btn.save{color:#fff;background:#10b981;margin-right:8px;box-shadow:0 4px 12px #10b98133}.action-btn.save:hover{background:#059669}.action-btn.cancel{color:#64748b;background:#f1f5f9}.action-btn.cancel:hover{background:#e2e8f0}.action-btn.danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.action-btn.danger:hover{background:#fee2e2}.filter-bar{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.filter-bar label{color:#475569;font-size:14px;font-weight:600}.filter-bar select{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:8px 16px;font-size:14px}.count-badge{color:#4338ca;background:#e0e7ff;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700}.form-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);border-radius:16px;margin-bottom:32px;padding:32px}.form-card h3{color:#0f172a;margin:0 0 24px;font-size:18px}.form-row{align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.form-row label{color:#475569;min-width:140px;padding-top:10px;font-size:14px;font-weight:600}.form-row input,.form-row select,.form-row textarea{background:#ffffffe6;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;transition:all .2s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.option-row{background:#f8fafc80;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:8px;display:flex}.option-row input[type=radio]{width:20px;height:20px;accent-color:var(--primary)}.option-row input[type=text]{border:1px solid #cbd5e1;border-radius:6px;flex:1;padding:8px 12px}.remove-btn{color:#ef4444;cursor:pointer;background:#fef2f2;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.remove-btn:hover{color:#fff;background:#ef4444}.option-tag{color:#475569;background:#f1f5f9;border-radius:6px;margin:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.option-tag.correct{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:32px;display:grid}.stat-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);text-align:center;box-shadow:var(--shadow-md);border-radius:16px;padding:24px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card h3{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:14px}.stat-value{color:#0f172a;background:linear-gradient(135deg,#4f46e5,#0ea5e9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:42px;font-weight:800}.stat-avg{color:#059669;background:#ecfdf5;border-radius:12px;margin-top:12px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-block}.pagination{justify-content:center;align-items:center;gap:20px;margin-top:32px;display:flex}.pagination button{cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 20px;font-weight:600;transition:all .2s}.pagination button:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#64748b;font-size:14px;font-weight:500}.btn-export{color:#065f46;cursor:pointer;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #cbd5e1;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-export:hover{background:linear-gradient(135deg,#d1fae5,#a7f3d0);transform:translateY(-1px);box-shadow:0 4px 12px #10b98133}.badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.badge-success{color:#059669;background:#ecfdf5}.badge-warning{color:#d97706;background:#fffbeb}.badge-danger{color:#dc2626;background:#fef2f2}.section{margin-bottom:32px}.section-title{color:#0f172a;margin:0 0 16px;font-size:20px;font-weight:700}.filter-group{align-items:center;gap:8px;display:flex}.filter-group input[type=date]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:8px 12px;font-size:14px}.filter-group input[type=date]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
