﻿*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fafafa;color:#0a0a0a;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}h1,h2,h3,h4,h5,h6{font-family:"Courier New","Courier",monospace;font-weight:700;line-height:1.2;margin-bottom:1rem;text-transform:uppercase;letter-spacing:-0.02em}h1{font-size:clamp(2rem, 5vw, 3rem)}h2{font-size:clamp(1.5rem, 4vw, 2rem)}h3{font-size:clamp(1.25rem, 3vw, 1.5rem)}p{margin-bottom:1rem;max-width:65ch;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){p{max-width:100%}}a{color:#0a0a0a;text-decoration:underline;text-underline-offset:3px;transition:all 0.2s ease}a:hover{color:#f0903b;text-decoration-thickness:2px}code,pre{font-family:"Courier New","Courier",monospace;font-size:0.9rem}.container-main{max-width:1200px;margin:0 auto;padding:2rem;width:100%}@media (max-width: 768px){.container-main{padding:1rem;width:100%;overflow-x:hidden}}.site-header{position:sticky;top:0;background:#fafafa;z-index:1000;border-bottom:2px solid #0a0a0a}.site-header .banner-container{position:relative;width:100%;height:250px;overflow:hidden;background:#fafafa}@media (max-width: 768px){.site-header .banner-container{height:150px}}.site-header .banner-container .banner-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.site-header .banner-container .logo-overlay{position:absolute;top:50%;left:2rem;transform:translateY(-50%);display:block;text-decoration:none;transition:opacity 0.2s ease;z-index:10}@media (max-width: 768px){.site-header .banner-container .logo-overlay{left:1rem}}.site-header .banner-container .logo-overlay:hover{opacity:0.9}.site-header .banner-container .logo-overlay .site-logo{height:160px;width:auto;filter:drop-shadow(2px 2px 4px rgba(0,0,0,0.3))}@media (max-width: 768px){.site-header .banner-container .logo-overlay .site-logo{height:100px}}.site-header nav{background:#fafafa;padding:1rem 2rem;border-top:1px solid #888}@media (max-width: 768px){.site-header nav{padding:0.75rem 1rem}}.site-header nav .nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0;max-width:1200px;margin:0 auto}@media (max-width: 768px){.site-header nav .nav-links{gap:0.75rem;flex-wrap:wrap;justify-content:flex-start}}@media (max-width: 480px){.site-header nav .nav-links{gap:0.5rem}}.site-header nav .nav-links a{text-decoration:none;font-family:"Courier New","Courier",monospace;font-size:0.95rem;position:relative;color:#0a0a0a;transition:color 0.2s ease}@media (max-width: 768px){.site-header nav .nav-links a{font-size:0.85rem}}@media (max-width: 480px){.site-header nav .nav-links a{font-size:0.8rem}}.site-header nav .nav-links a:hover{color:#f0903b}.site-header nav .nav-links a:hover::before{content:">";position:absolute;left:-12px;color:#f0903b}@media (max-width: 768px){.site-header nav .nav-links a:hover::before{content:""}}.site-header nav .nav-links a.active{color:#f0903b;font-weight:700}.home-hero{min-height:80vh;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;overflow-x:hidden}@media (max-width: 768px){.home-hero{min-height:60vh;padding:2rem 1rem}}.home-hero .hero-text{font-family:"Courier New","Courier",monospace;font-size:clamp(2rem, 8vw, 6rem);line-height:1.1;font-weight:700;margin-bottom:2rem;max-width:100%}.home-hero .hero-text .line{display:block;animation:fadeInUp 0.8s ease forwards;opacity:0}.home-hero .hero-text .line:nth-child(1){padding-left:0}.home-hero .hero-text .line:nth-child(2){padding-left:6rem}.home-hero .hero-text .line:nth-child(3){padding-left:12rem}.home-hero .hero-text .line:nth-child(4){padding-left:18rem}@media (max-width: 768px){.home-hero .hero-text .line:nth-child(1){padding-left:0}.home-hero .hero-text .line:nth-child(2){padding-left:1rem}.home-hero .hero-text .line:nth-child(3){padding-left:2rem}.home-hero .hero-text .line:nth-child(4){padding-left:3rem}}@media (max-width: 480px){.home-hero .hero-text .line:nth-child(1){padding-left:0}.home-hero .hero-text .line:nth-child(2){padding-left:0.5rem}.home-hero .hero-text .line:nth-child(3){padding-left:1rem}.home-hero .hero-text .line:nth-child(4){padding-left:1.5rem}}.home-hero .hero-text .line:nth-child(1){animation-delay:.2s}.home-hero .hero-text .line:nth-child(2){animation-delay:.4s}.home-hero .hero-text .line:nth-child(3){animation-delay:.6s}.home-hero .hero-text .line:nth-child(4){animation-delay:.8s}.home-hero .hero-text .line:nth-child(5){animation-delay:1s}.home-hero .hero-subtitle{font-family:"Courier New","Courier",monospace;font-size:clamp(1rem, 3vw, 1.2rem);color:#888;margin-bottom:3rem}.home-hero .enter-arrow{font-size:2rem;animation:bounce 2s infinite}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.project-section{margin:4rem 0}.project-section .section-title{border-bottom:2px solid #0a0a0a;padding-bottom:0.5rem;margin-bottom:2rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:2rem;margin-top:2rem}@media (max-width: 768px){.project-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.project-grid{gap:1rem}}.project-card{border:2px solid #0a0a0a;padding:1.5rem;transition:all 0.2s ease;background:#fafafa}@media (max-width: 768px){.project-card{padding:1rem}}.project-card:hover{transform:translate(-4px, -4px);box-shadow:4px 4px 0 #0a0a0a}@media (max-width: 768px){.project-card:hover{transform:translate(-2px, -2px);box-shadow:2px 2px 0 #0a0a0a}}.project-card .project-title{font-family:"Courier New","Courier",monospace;font-size:clamp(1rem, 3vw, 1.2rem);margin-bottom:0.5rem}.project-card .project-meta{font-size:0.9rem;color:#888;margin-bottom:1rem}.project-card .project-description{margin-bottom:1rem;font-size:clamp(0.9rem, 2.5vw, 1rem)}.project-card .project-links{display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 480px){.project-card .project-links{gap:0.5rem}}.project-card .project-links a{font-family:"Courier New","Courier",monospace;font-size:clamp(0.75rem, 2vw, 0.85rem)}.project-card .project-links a::before{content:"→ "}footer{border-top:2px solid #0a0a0a;padding:2rem;margin-top:4rem;text-align:center;font-family:"Courier New","Courier",monospace;font-size:0.9rem}@media (max-width: 768px){footer{padding:1.5rem 1rem;margin-top:3rem;font-size:0.85rem}}footer .footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}@media (max-width: 768px){footer .footer-links{gap:1rem}}@media (max-width: 480px){footer .footer-links{gap:0.75rem;font-size:0.85rem}}footer .ascii-art{font-size:0.8rem;color:#888;margin-top:1rem}@media (max-width: 768px){footer .ascii-art{font-size:0.7rem}}footer .ascii-art pre{overflow-x:auto;max-width:100%}.text-mono{font-family:"Courier New","Courier",monospace}.text-accent{color:#f0903b}.text-gray{color:#888}.border-box{border:2px solid #0a0a0a;padding:1rem}.glitch{position:relative}.glitch:hover{animation:glitch 0.3s infinite}@keyframes glitch{0%,100%{transform:translate(0)}25%{transform:translate(-2px, 2px)}50%{transform:translate(2px, -2px)}75%{transform:translate(-2px, -2px)}}.project-detail{max-width:800px;width:100%}@media (max-width: 768px){.project-detail{max-width:100%}}.project-detail header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #888}@media (max-width: 768px){.project-detail header{margin-bottom:1.5rem}}.project-detail .project-content{line-height:1.8;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){.project-detail .project-content{line-height:1.7}}.project-detail .project-content h2,.project-detail .project-content h3,.project-detail .project-content h4{margin-top:2rem;margin-bottom:1rem}@media (max-width: 768px){.project-detail .project-content h2,.project-detail .project-content h3,.project-detail .project-content h4{margin-top:1.5rem;margin-bottom:0.75rem}}.project-detail .project-content ul,.project-detail .project-content ol{margin-left:1.5rem;margin-bottom:1rem}@media (max-width: 768px){.project-detail .project-content ul,.project-detail .project-content ol{margin-left:1rem}}.project-detail .project-content ul li,.project-detail .project-content ol li{margin-bottom:0.5rem;word-wrap:break-word}.project-detail .project-content strong{font-family:"Courier New","Courier",monospace;font-weight:700}.project-detail .project-content em{font-style:italic;color:#888}.project-detail .project-content code{background:#f0f0f0;padding:0.2rem 0.4rem;border-radius:2px;font-size:0.85em;word-wrap:break-word;overflow-wrap:break-word}.project-detail .project-content pre{background:#f0f0f0;padding:1rem;overflow-x:auto;margin:1rem 0;border:1px solid #0a0a0a;max-width:100%}@media (max-width: 768px){.project-detail .project-content pre{padding:0.75rem;font-size:0.85rem;margin:0.75rem 0}}.project-detail .project-content pre code{background:none;padding:0;font-size:0.9rem}@media (max-width: 768px){.project-detail .project-content pre code{font-size:0.8rem}}.project-detail .project-content blockquote{border-left:3px solid #0a0a0a;padding-left:1rem;margin:1.5rem 0;font-style:italic;color:#888}@media (max-width: 768px){.project-detail .project-content blockquote{padding-left:0.75rem;margin:1rem 0}}.project-detail .project-content hr{border:none;border-top:1px solid #888;margin:2rem 0}@media (max-width: 768px){.project-detail .project-content hr{margin:1.5rem 0}}
