@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap");@font-face{font-family:Fifty;src:url(/fonts/Fifty-Regular.woff2) format("woff2"),url(/fonts/Fifty-Regular.woff) format("woff"),url(/fonts/Fifty-Regular.otf) format("opentype");font-weight:400}:root{--bg:#f5f5f5;--card:#fff;--muted:#666;--accent:#000}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Space Mono,monospace;background:var(--bg);color:#000}.h1-wrapper,.hero h1,.subpage-header h1{font-family:Fifty,sans-serif;letter-spacing:-.02em;font-size:5rem;font-weight:400;margin:0}.h1-wrapper .letter{display:inline-block;transition:all .1s ease-out;transform-origin:center}.h1-wrapper .letter.space{width:28px}.homepage{background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),url(/background.jpg) 50%/cover;position:relative;min-height:100vh;display:flex;flex-direction:column;padding:24px 20px 22px;color:#fff;overflow:hidden}.bg-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.homepage-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 46px);padding:0}.hero{text-align:left;margin-bottom:40px;max-width:520px}.h1-wrapper,.hero h1{font-size:5rem;font-weight:400;margin:0;line-height:1.1}.h1-wrapper{display:inline-block}.hero .contact{font-family:JetBrains Mono,monospace;font-size:.95rem;margin-top:16px;line-height:1.8;color:#ddd}.hero .contact a{color:#ddd;text-decoration:underline;cursor:pointer;transition:all .3s}.hero .contact a:hover{opacity:.7}.nav{text-align:left;display:flex;gap:40px;margin-top:auto;padding-bottom:0}.nav a{font-family:JetBrains Mono,monospace;color:#fff;text-decoration:none;font-size:.95rem;border-bottom:1px solid #fff;padding-bottom:2px;transition:all .3s}.nav a:hover{opacity:.7}@media (max-width:820px){.nav{margin-top:40px}}.subpage{max-width:900px;margin:0 auto;padding:40px 20px}.subpage-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px}.subpage-header h1{font-size:2.5rem;margin:0;text-align:left}.logo{font-family:Space Mono,monospace;font-size:.75rem;text-decoration:none;color:#000;cursor:pointer}.logo:hover{opacity:.6}.about-text{font-size:.95rem;line-height:1.8;margin-bottom:30px;color:#333}.about-text p{margin-bottom:15px}.about-text strong{font-family:Space Mono,monospace}.about-layout{display:grid;grid-template-columns:140px 1fr;grid-gap:28px;gap:28px;align-items:start;margin-bottom:40px}.about-image{width:140px;height:140px;border-radius:16px;overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,.18)}.about-image img{width:100%;height:100%;object-fit:cover;display:block}.about-text.lead{grid-column:2;grid-row:1}.about-text.rest{grid-column:1/-1}@media (max-width:820px){.about-layout{grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:start}.about-image{width:160px;height:auto;border-radius:12px;margin:0}.about-text.lead{grid-column:2;margin-top:52px}.about-text.rest{grid-column:1/-1}}.portfolio-page .category-list{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px;width:100%}.portfolio-page .category-button{background:transparent;border:none;color:#888;padding:8px 0;font-family:JetBrains Mono,monospace;font-size:.95rem;cursor:pointer;transition:opacity .15s;flex:1 1;text-align:center}.portfolio-page .category-button:hover{opacity:.8}.portfolio-page .category-button.active{color:#111;font-weight:600}.portfolio-page .category-list{padding-left:0;padding-right:0}.portfolio-page .category-button:first-child{text-align:left;padding-left:0}.portfolio-page .category-button:last-child{text-align:right;padding-right:0}.portfolio-page .portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.portfolio-page .project-card{border:none;border-radius:24px;overflow:hidden;text-align:left;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s}.portfolio-page .project-card:hover{transform:translateY(-4px)}.portfolio-page .project-preview{overflow:hidden}.portfolio-page .project-preview img,.portfolio-page .project-preview video{width:100%;height:auto;object-fit:contain;display:block}.portfolio-page .project-preview.collage{display:flex;flex-wrap:wrap;gap:4px}.portfolio-page .project-preview.collage img,.portfolio-page .project-preview.collage video{width:calc(50% - 2px);height:auto;object-fit:cover;display:block}.portfolio-page .project-info{padding:18px}.portfolio-page .project-info .project-title{display:block;font-size:1rem;margin-bottom:10px;font-weight:400;color:inherit}.portfolio-page .project-info span{display:none}.portfolio-page .project-info p{font-size:.85rem;color:#666;margin:0}.portfolio-page .portfolio-grid{width:calc(100% + 24px);margin:0 -12px;padding:0;box-sizing:border-box}.portfolio-page .portfolio-grid .project-card,.portfolio-page .project-preview{margin:0}.portfolio-page .more-note{margin-top:20px;color:#666;font-size:.95rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:30px;z-index:1000}.modal-card{background:#fff;color:#000;border-radius:28px;max-width:980px;width:100%;max-height:90vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.modal-close{position:absolute;top:16px;right:16px;border:none;background:transparent;color:#111;font-size:28px;cursor:pointer;line-height:1}.modal-card h2{font-size:2rem;margin:28px 28px 8px}.modal-description{margin:0 28px 18px;color:#555;line-height:1.7}.modal-media{position:relative;min-height:360px;background:#000}.modal-media img,.modal-media video{width:100%;height:100%;object-fit:contain;display:block}.modal-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 28px;border-top:1px solid #eee}.modal-controls button{border:1px solid #111;background:transparent;color:#111;padding:8px 16px;border-radius:999px;cursor:pointer;transition:all .2s}.modal-controls button:disabled{opacity:.4;cursor:not-allowed}.modal-thumbnails{display:flex;flex-wrap:wrap;gap:10px;padding:16px 28px 28px}.modal-thumbnails .thumb{border:1px solid #ddd;background:transparent;color:#111;padding:8px 12px;border-radius:999px;cursor:pointer;transition:all .2s}.modal-thumbnails .thumb.selected{background:#111;color:#fff;border-color:#111}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-top:30px;align-items:start}.gallery-item{background:#fff;border:1px solid #eee;overflow:hidden}.gallery-item img{width:100%;height:auto;display:block}.gallery-item-description{padding:12px;font-size:.85rem;color:#666;border-top:1px solid #eee}.gallery-item-description input{width:100%;padding:4px;border:none;font-family:inherit;font-size:inherit}.upload-section{background:#f9f9f9;padding:20px;border-radius:6px;margin:30px 0}form{display:flex;gap:8px;align-items:center}input[type=file]{color:var(--muted)}button{background:var(--accent);color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-family:inherit}button:hover{opacity:.8}.status{margin-top:8px;font-size:.9rem}.empty,.status{color:var(--muted)}.empty{padding:12px;text-align:center}