*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#070c18;--bg-card:#0d1424;--border:hsla(0,0%,100%,.07);--border-hover:rgba(139,92,246,.5);--purple:#8b5cf6;--purple-light:#a78bfa;--purple-dim:rgba(139,92,246,.12);--mint:#34d399;--mint-dim:rgba(52,211,153,.12);--gold:#fbbf24;--gold-dim:rgba(251,191,36,.12);--red-dim:rgba(239,68,68,.12);--red:#f87171;--text:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--radius:12px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.6;min-height:100vh}body:after{content:"";position:fixed;top:-20%;left:50%;transform:translateX(-50%);width:800px;height:600px;background:radial-gradient(ellipse at center,rgba(139,92,246,.06) 0,transparent 70%);pointer-events:none;z-index:0}.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1}nav{padding:16px 0;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:rgba(7,12,24,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:100}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-logo{gap:10px;font-weight:600;font-size:15px;color:var(--text);text-decoration:none}.nav-logo,.nav-logo-icon{display:flex;align-items:center;flex-shrink:0}.nav-logo-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--purple),var(--mint));justify-content:center;font-size:14px}.nav-logo-img{width:32px;height:32px;border-radius:6px;flex-shrink:0;object-fit:contain}.nav-submit-btn{background:var(--purple-dim);border:1px solid rgba(139,92,246,.3);color:var(--purple-light);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.nav-submit-btn:hover{background:rgba(139,92,246,.2);border-color:var(--purple)}.hero{padding:88px 0 56px;text-align:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--purple-dim);border:1px solid rgba(139,92,246,.25);border-radius:100px;padding:5px 14px;font-size:12px;color:var(--purple-light);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:28px}.hero h1{font-size:clamp(36px,6vw,64px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:18px;background:linear-gradient(135deg,#fff 20%,var(--purple-light) 55%,var(--mint));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:18px;color:var(--text-secondary);font-weight:500;margin-bottom:14px}.hero-description{font-size:15px;color:var(--text-muted);max-width:520px;margin:0 auto 48px;line-height:1.75}.stats{display:flex;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-width:420px;margin:0 auto 32px}.stat{flex:1 1;padding:18px 0;text-align:center;border-right:1px solid var(--border)}.stat:last-child{border-right:none}.stat-value{font-size:26px;font-weight:700;color:var(--text);display:block;letter-spacing:-.02em}.stat-label{font-size:11px;color:var(--text-muted);margin-top:2px;display:block}.hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--mint-dim);border:1px solid rgba(52,211,153,.3);color:var(--mint);padding:12px 24px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease}.hero-cta:hover{background:rgba(52,211,153,.18);border-color:var(--mint);transform:translateY(-1px)}.filters-section{padding:48px 0 36px}.filters-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.filter-btn:hover{border-color:hsla(0,0%,100%,.15);color:var(--text);background:hsla(0,0%,100%,.04)}.filter-btn.active{background:var(--purple-dim);border-color:rgba(139,92,246,.4);color:var(--purple-light)}.event-group{margin-bottom:52px}.event-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.event-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap}.event-divider{flex:1 1;height:1px;background:var(--border)}.event-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),transparent);opacity:0;transition:opacity .2s ease}.project-card:hover{border-color:rgba(139,92,246,.35);transform:translateY(-2px);box-shadow:0 12px 36px rgba(139,92,246,.1)}.project-card:hover:before{opacity:1}.project-card.winner{border-color:rgba(251,191,36,.25)}.project-card.winner:before{background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:1}.project-card.winner:hover{border-color:rgba(251,191,36,.5);box-shadow:0 12px 36px rgba(251,191,36,.08)}.card-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-winner{background:var(--gold-dim);border:1px solid rgba(251,191,36,.35);color:var(--gold)}.badge-event{background:hsla(0,0%,100%,.05);border:1px solid var(--border);color:var(--text-muted)}.card-name{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.3}.card-student{font-size:13px;color:var(--text-secondary);gap:7px;margin-top:4px}.card-avatar,.card-student{display:flex;align-items:center}.card-avatar{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--mint));flex-shrink:0;justify-content:center;font-size:9px;font-weight:700;color:#fff}.card-description{font-size:14px;color:var(--text-secondary);line-height:1.65;flex:1 1}.card-footer{margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}.try-btn{display:inline-flex;align-items:center;gap:6px;background:var(--purple-dim);border:1px solid rgba(139,92,246,.25);color:var(--purple-light);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s ease;font-family:inherit;cursor:pointer}.try-btn:hover{background:rgba(139,92,246,.2);border-color:var(--purple);transform:translateY(-1px)}.try-btn svg{transition:transform .15s ease}.try-btn:hover svg{transform:translate(2px,-2px)}.try-btn-secondary{background:transparent;border-color:rgba(139,92,246,.15);color:var(--text-muted)}.try-btn-secondary:hover{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.3);color:var(--purple-light)}.project-card.winner .try-btn{background:var(--gold-dim);border-color:rgba(251,191,36,.3);color:var(--gold)}.project-card.winner .try-btn:hover{background:rgba(251,191,36,.18);border-color:var(--gold)}.empty-state{text-align:center;padding:80px 24px;color:var(--text-muted);font-size:15px}footer{border-top:1px solid var(--border);padding:28px 0;margin-top:32px}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-text{font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}@keyframes modalIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal{background:#0d1424;border:1px solid rgba(139,92,246,.25);border-radius:16px;padding:32px;width:100%;max-width:480px;position:relative;max-height:90vh;overflow-y:auto;animation:modalIn .15s ease}.modal-close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:6px 8px;border-radius:6px;font-family:inherit;transition:color .15s ease,background .15s ease}.modal-close:hover{color:var(--text);background:hsla(0,0%,100%,.06)}.modal-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;padding-right:32px}.modal-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:28px;line-height:1.6}.submit-form{display:flex;flex-direction:column;gap:0}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-hint{color:var(--text-muted);font-weight:400}.form-input{width:100%;background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;font-family:inherit;transition:border-color .15s ease,background .15s ease;outline:none;-webkit-appearance:none}.form-input:focus{border-color:rgba(139,92,246,.5);background:hsla(0,0%,100%,.06)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:88px}.form-readonly{opacity:.6;cursor:default}.form-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:var(--red);padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.form-submit-btn{width:100%;background:var(--purple-dim);border:1px solid rgba(139,92,246,.3);color:var(--purple-light);padding:12px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.form-submit-btn:hover:not(:disabled){background:rgba(139,92,246,.2);border-color:var(--purple)}.form-submit-btn:disabled{opacity:.55;cursor:not-allowed}.modal-success{text-align:center;padding:16px 0 8px}.success-icon{font-size:52px;margin-bottom:20px;display:block}.modal-success h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}.modal-success p{font-size:14px;color:var(--text-muted);line-height:1.65;max-width:340px;margin:0 auto 24px}@media (max-width:640px){.hero{padding:56px 0 40px}.stats{max-width:100%}.projects-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.modal{padding:24px 20px}}@media (max-width:480px){.hero h1{font-size:32px}.hero-subtitle{font-size:16px}}