@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg: #FAFAFA;--surface: #FFFFFF;--border: #E5E5E3;--text-primary: #1A1A1A;--text-secondary: #6B6B6B;--text-tertiary: #999999;--accent: #7C3AED;--accent-light: #F3EEFF;--font-title: "Inter", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--font-mono: "JetBrains Mono", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased}.site-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;max-width:960px;margin:0 auto}.site-nav-logo{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text-primary);text-decoration:none}.site-nav-links{list-style:none;display:flex;gap:24px}.site-nav-links a{font-family:var(--font-title);font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .15s}.site-nav-links a:hover{color:var(--text-primary)}.site-nav-links .active{color:var(--text-primary);font-weight:600}.hero{text-align:center;padding:100px 40px 60px;max-width:700px;margin:0 auto}.hero h1{font-family:var(--font-mono);font-size:42px;font-weight:800;letter-spacing:-.03em;margin-bottom:12px}.hero p{font-size:17px;color:var(--text-secondary);line-height:1.9}.projects{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;max-width:880px;margin:0 auto;padding:0 40px 80px}.play-card{cursor:default}.play-card:hover{transform:none;box-shadow:none;border-color:var(--border)}.game-link{display:block;text-decoration:none;color:var(--text-primary);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:12px;transition:border-color .15s,background .15s}.game-link:hover{border-color:var(--accent);background:var(--accent-light)}.game-name{display:block;font-family:var(--font-title);font-size:15px;font-weight:700;margin-bottom:5px}.game-tag{display:block;font-size:12.5px;color:var(--text-secondary);line-height:1.65}.project-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:28px 24px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000000f;border-color:var(--accent)}.project-card h2{font-family:var(--font-title);font-size:18px;font-weight:700;margin-bottom:8px}.project-card .subtitle{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.04em;margin-bottom:12px}.project-card p{font-size:14px;color:var(--text-secondary);line-height:1.8}.project-card .stats{margin-top:16px;font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.about-container{max-width:720px;margin:0 auto;padding:60px 40px 80px}.about-container h1{font-family:var(--font-title);font-size:32px;font-weight:800;margin-bottom:8px}.about-lead{font-size:17px;color:var(--text-secondary);line-height:2;margin-bottom:48px}.phases{display:flex;flex-direction:column;gap:0;margin-bottom:48px}.phase{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--border)}.phase:last-child{border-bottom:none}.phase-number{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-light);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.phase-content h3{font-family:var(--font-title);font-size:16px;font-weight:700;margin-bottom:6px}.phase-content p{font-size:14px;color:var(--text-secondary);line-height:1.9}.principles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:48px}.principle{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.principle h4{font-family:var(--font-title);font-size:14px;font-weight:700;margin-bottom:6px}.principle p{font-size:13px;color:var(--text-secondary);line-height:1.8}.section-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-top:48px;margin-bottom:20px}.section-label:first-of-type{margin-top:0}.about-note{font-size:15px;color:var(--text-secondary);line-height:1.9;margin-bottom:16px}.about-note strong{color:var(--text-primary);font-weight:600}.about-note code{font-family:var(--font-mono);font-size:12px;background:var(--accent-light);color:var(--accent);padding:2px 6px;border-radius:4px}.footer{padding:32px 40px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);border-top:1px solid var(--border)}.feed{max-width:720px;margin:0 auto;padding:60px 40px 80px}.feed-header{margin-bottom:26px}.feed-header h1{font-family:var(--font-mono);font-size:34px;font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.feed-header p{font-size:15px;color:var(--text-secondary);line-height:1.8}.feed-tag-title{font-size:26px;margin-top:10px}.tag-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:24px;border-bottom:1px solid var(--border)}.tag-bar-current{font-family:var(--font-title);font-size:13px;font-weight:600;color:var(--text-primary);margin-right:4px}.tag-chip{font-family:var(--font-title);font-size:12px;font-weight:600;padding:3px 11px;border-radius:999px;text-decoration:none;background:var(--accent-light);color:var(--accent);white-space:nowrap;line-height:1.6}a.tag-chip{transition:filter .15s}a.tag-chip:hover{filter:brightness(.95)}.tag--announcement{background:#f3eeff;color:#6d28d9}.tag--changelog{background:#e1f5ee;color:#0f6e56}.tag--devlog{background:#faeeda;color:#92590b}.tag--essay{background:#e6f1fb;color:#185fa5}.post-list{display:flex;flex-direction:column}.post-row{display:block;text-decoration:none;color:var(--text-primary);padding:24px 0;border-bottom:1px solid var(--border);transition:opacity .15s}.post-row:hover{opacity:.66}.post-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.post-row-date{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary)}.post-row-tags{display:inline-flex;gap:6px;flex-wrap:wrap}.post-row-title{font-family:var(--font-title);font-size:19px;font-weight:700;line-height:1.45;margin-bottom:6px}.post-row-summary{font-size:14px;color:var(--text-secondary);line-height:1.75}.post-article{max-width:680px;margin:0 auto;padding:44px 40px 80px}.post-back{font-family:var(--font-title);font-size:13px;color:var(--text-secondary);text-decoration:none}.post-back:hover{color:var(--text-primary)}.post-tags{display:flex;gap:8px;margin:20px 0 14px;flex-wrap:wrap}.post-article h1{font-family:var(--font-title);font-size:30px;font-weight:800;line-height:1.35;letter-spacing:-.01em;margin-bottom:10px}.post-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);margin-bottom:34px}.post-body{font-size:16px;line-height:1.85;color:#2a2a2a}.post-body h2{font-family:var(--font-title);font-size:20px;font-weight:700;color:var(--text-primary);margin:36px 0 12px}.post-body p{margin-bottom:18px}.post-body ul{margin:0 0 18px;padding-left:22px}.post-body li{margin-bottom:10px}.post-body a{color:var(--accent);text-decoration:none}.post-body a:hover{text-decoration:underline}.post-body hr{border:none;border-top:1px solid var(--border);margin:32px 0}.post-body strong{font-weight:600;color:var(--text-primary)}.post-body code{font-family:var(--font-mono);font-size:13px;background:var(--accent-light);color:var(--accent);padding:2px 6px;border-radius:4px}.about-note a,.principle a{color:var(--accent);text-decoration:none}.about-note a:hover,.principle a:hover{text-decoration:underline}.principle p a{font-family:var(--font-mono);font-size:12px}.about-note em{color:var(--text-tertiary);font-style:normal}@media(max-width:640px){.site-nav{padding:16px 20px}.hero{padding:60px 20px 40px}.hero h1{font-size:30px}.projects{grid-template-columns:1fr;padding:0 20px 60px}.about-container{padding:40px 20px 60px}.principles{grid-template-columns:1fr}.feed{padding:40px 20px 60px}.feed-header h1{font-size:28px}.post-article{padding:32px 20px 60px}.post-article h1{font-size:25px}}
