@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Fira+Code:wght@400;500&display=swap";:root{--bg-primary:#0a0a0f;--bg-secondary:#12121e;--bg-tertiary:#181829;--bg-glass:#12121eb3;--border-glass:#ffffff14;--accent-purple:#7c3aed;--accent-blue:#3b82f6;--accent-glow:#7c3aed4d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-primary);color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);background-image:radial-gradient(circle at 10% 20%,#7c3aed1a 0%,#0000 40%),radial-gradient(circle at 90% 80%,#3b82f61a 0%,#0000 40%);background-attachment:fixed;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple)}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:12px}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-glass);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{border-color:#7c3aed4d;transform:translateY(-4px);box-shadow:0 12px 24px -10px #7c3aed40}.text-gradient{background:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.btn-gradient{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);border:none;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #7c3aed4d}.btn-gradient:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed73}.btn-gradient:disabled{background:var(--bg-tertiary);color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.form-input{border:1px solid var(--border-glass);width:100%;color:var(--text-primary);background:#ffffff08;border-radius:8px;outline:none;padding:12px 16px;font-family:inherit;transition:all .2s}.form-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff0d}.grid-cols-adaptive{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:6s ease-in-out infinite float}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #7c3aed33}50%{box-shadow:0 0 20px #7c3aed66}}.pulse-glow{animation:3s infinite pulse-glow}.ide-container{background:#1e1e1e;grid-template-columns:260px 1fr;height:calc(100vh - 64px);display:grid;overflow:hidden}.ide-sidebar{color:#ccc;background:#252526;border-right:1px solid #3c3c3c;flex-direction:column;height:100%;display:flex}.ide-file-tree{flex:1;padding:8px 0;overflow-y:auto}.ide-file-item{cursor:pointer;align-items:center;gap:8px;padding:6px 16px;font-size:13px;transition:background .1s;display:flex}.ide-file-item:hover{background:#2a2d2e}.ide-file-item.active{color:#fff;border-left:2px solid var(--accent-purple);background:#37373d}.ide-editor-area{flex-direction:column;height:100%;display:flex}.ide-tabs{background:#2d2d2d;border-bottom:1px solid #252526;display:flex;overflow-x:auto}.ide-tab{color:#969696;cursor:pointer;-webkit-user-select:none;user-select:none;background:#2d2d2d;border-right:1px solid #252526;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.ide-tab.active{color:#fff;border-top:1px solid var(--accent-purple);background:#1e1e1e}.ide-tab-close{opacity:.5;cursor:pointer}.ide-tab-close:hover{opacity:1}.badge{text-transform:uppercase;border-radius:9999px;padding:4px 8px;font-size:11px;font-weight:600}.badge-active{color:var(--success);background:#10b98126}.badge-upcoming{color:var(--accent-blue);background:#3b82f626}.badge-completed{color:var(--text-muted);background:#64748b26}.badge-judging{color:var(--warning);background:#f59e0b26}
