.projects-main{background-color:var(--background);max-width:100%;color:var(--foreground);overflow-x:hidden}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem}.highlight{color:var(--primary)}.text-foreground{color:var(--foreground)}.projects-hero{border-bottom:1px solid var(--hairline);padding:6rem 2rem 4rem}.hero-wrapper{max-width:1200px;margin:0 auto}.projects-hero .hero-title{letter-spacing:-.03em;margin:.5rem 0;font-size:clamp(3.5rem,12vw,8rem);font-weight:700;line-height:.9}.projects-hero .hero-title .highlight{font-style:italic}.projects-hero .hero-subtitle{max-width:600px;color:var(--muted-fg);margin-top:1.5rem;font-size:1.1rem;line-height:1.6}.sector-section{border-bottom:1px solid var(--hairline);max-width:1200px;margin:0 auto;padding:4rem 2rem}.sector-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;display:flex}.sector-header-left .sector-title{letter-spacing:-.02em;color:var(--foreground);margin:.5rem 0;font-size:clamp(2.5rem,5vw,4rem);font-weight:500}.tech-tags{text-transform:uppercase;letter-spacing:.2em;flex-wrap:wrap;gap:.75rem;margin-top:1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;display:flex}.tech-tags span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted-fg);padding:.4rem .8rem;transition:all .2s}.tech-tags span:hover{border-color:var(--primary);color:var(--primary)}.sector-header-right{flex-wrap:wrap;gap:.75rem;display:flex}.btn-outline{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.2em;color:var(--muted-fg);cursor:pointer;border-radius:var(--radius-sm);background:0 0;padding:.6rem 1.2rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;transition:all .2s}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-primary{background:var(--primary);color:var(--primary-fg);border:1px solid var(--primary);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary:hover{opacity:.85}.game-grid{border:1px solid var(--hairline);text-align:center;color:var(--muted-fg);border-radius:var(--radius-sm);padding:3rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9rem}.web-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem;margin-top:2rem;display:grid}.project-card{border:1px solid var(--hairline);color:inherit;border-radius:var(--radius-sm);text-decoration:none;transition:border-color .2s;display:block}.project-card:hover{border-color:var(--primary)}.card-preview{aspect-ratio:4/3;border-bottom:1px solid var(--hairline);background:var(--surface);border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:relative;overflow:hidden}.window-dots{gap:.4rem;display:flex;position:absolute;top:.75rem;left:.75rem}.window-dots span{border-radius:50%;width:8px;height:8px;display:block}.window-dots span:first-child{background:#ff5f56}.window-dots span:nth-child(2){background:#ffbd2e}.window-dots span:nth-child(3){background:#27c93f}.preview-placeholder{border:1px solid var(--hairline);background:var(--background);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex;position:absolute;inset:2.5rem .75rem .75rem}.preview-placeholder svg{color:var(--primary);opacity:.4;transition:opacity .2s}.project-card:hover .preview-placeholder svg{opacity:1}.card-footer{justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.card-footer h3{color:var(--foreground);margin:0;font-size:1.2rem;font-weight:500}.card-footer p{color:var(--muted-fg);margin:.2rem 0 0;font-size:.75rem}.card-open{text-transform:uppercase;letter-spacing:.2em;color:var(--primary);opacity:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem;transition:opacity .2s}.project-card:hover .card-open{opacity:1}.sector-header-simple{margin-bottom:2rem}.sector-header-simple .sector-title{letter-spacing:-.02em;color:var(--foreground);margin:.5rem 0;font-size:clamp(2.5rem,5vw,4rem);font-weight:500}.sector-desc{max-width:600px;color:var(--muted-fg);margin:.5rem 0 0}.repo-list{border:1px solid var(--hairline);border-radius:var(--radius-sm)}.repo-item{border-bottom:1px solid var(--hairline);color:inherit;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;text-decoration:none;transition:background .15s;display:flex}.repo-item:last-child{border-bottom:none}.repo-item:hover{background:var(--surface)}.repo-item>div{align-items:center;gap:1rem;display:flex}.repo-item svg{color:var(--muted-fg);flex-shrink:0;transition:color .2s}.repo-item:hover svg{color:var(--primary)}.repo-item h4{color:var(--foreground);margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1rem;font-weight:500}.repo-item p{color:var(--muted-fg);margin:.1rem 0 0;font-size:.85rem}.repo-link{text-transform:uppercase;letter-spacing:.2em;color:var(--muted-fg);white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;transition:color .2s}.repo-item:hover .repo-link{color:var(--primary)}.play-main{max-width:1200px;min-height:80vh;margin:0 auto;padding:6rem 2rem 4rem}.play-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.play-viewport-container{border:1px solid var(--border);border-radius:var(--radius-sm);aspect-ratio:16/9;background:#000;width:100%;min-height:250px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0009}.upload-modal-overlay{z-index:9999;background:#0a0a0af2;justify-content:center;align-items:center;padding:2rem;font-family:JetBrains Mono,ui-monospace,monospace;display:none;position:fixed;inset:0}.upload-modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:550px;max-height:90vh;padding:2.5rem;overflow-y:auto;box-shadow:0 0 30px #00000080}.upload-modal-title{color:var(--primary);letter-spacing:-.02em;margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.upload-modal-label{color:var(--muted-fg);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;display:block}.upload-modal-input{background:var(--background);border:1px solid var(--border);width:100%;color:var(--foreground);border-radius:var(--radius-sm);outline:none;margin-bottom:1.5rem;padding:.75rem;font-family:inherit;transition:border-color .2s}.upload-modal-input:focus{border-color:var(--primary)}@media (width<=768px){.projects-hero{padding:4rem 1.5rem 3rem}.sector-section{padding:3rem 1.5rem}.sector-header{flex-direction:column;align-items:stretch}.sector-header-right{justify-content:flex-start;width:100%}.sector-header-right .btn-outline,.sector-header-right .btn-primary{width:100%}.game-grid{padding:2rem 1rem}.repo-item{flex-direction:column;align-items:flex-start;gap:.75rem}.repo-link{align-self:flex-end}.upload-modal-overlay{padding:1rem}.upload-modal-card{padding:1.5rem}.play-main{padding:4rem 1.5rem 3rem}.play-header-bar{flex-direction:column-reverse;align-items:flex-start}.play-header-bar .btn-outline{text-align:center;justify-content:center;width:100%}}
