:root{--ink-primary:#111;--ink-secondary:#555;--ink-tertiary:#999;--bg-page:#f9f9f7;--bg-surface:#fff;--accent:#f40;--font-mono:"Space Mono",monospace;--font-sans:"Inter",sans-serif;--font-serif:"Crimson Pro",serif;--margin-page:max(24px,15vw);--gap-list:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--ink-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}body:before{content:"";opacity:.6;pointer-events:none;z-index:-1;background-image:radial-gradient(#e5e5e5 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}::selection{background-color:#ff440026}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-container{max-width:800px;margin:0 auto;padding:120px 24px}.hero{margin-bottom:80px;position:relative}.hero:before{content:"+";font-family:var(--font-mono);color:var(--ink-tertiary);font-size:14px;position:absolute;top:-40px;left:-8px}.hero__name{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--ink-primary);margin-bottom:24px;font-size:clamp(2.5rem,5vw,4rem);font-weight:600}.hero__copy{margin-bottom:40px}.hero__subline{font-family:var(--font-sans);color:var(--ink-secondary);margin-bottom:8px;font-size:18px;font-weight:400;line-height:1.4}.hero__role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-primary);font-size:13px;font-weight:500}.hero__detail{font-family:var(--font-sans);color:var(--ink-secondary);font-size:16px;font-weight:400;line-height:1.5}.hero__status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-tertiary);border-top:1px solid #00000014;align-items:center;gap:12px;width:100%;padding-top:32px;font-size:11px;display:inline-flex}.status-dot{background:#0d5;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #0d5}.section-group{margin-bottom:80px}.section-label{font-family:var(--font-mono);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:32px;font-size:11px;display:block}.project-list{flex-direction:column;gap:0;display:flex}.project-row{color:inherit;border-bottom:1px dashed #0000001a;padding:24px 0;text-decoration:none;transition:all .2s;display:block;position:relative}.project-row:hover{border-bottom-color:var(--ink-primary);padding-left:8px}.project-row:hover:before{content:"→";font-family:var(--font-mono);color:var(--accent);font-size:14px;position:absolute;top:24px;left:-16px}.project-row__main{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-title{color:var(--ink-primary);align-items:center;gap:10px;font-size:16px;font-weight:500;display:flex}.project-icon{object-fit:cover;border-radius:6px;flex-shrink:0;width:24px;height:24px}.project-year{font-family:var(--font-mono);color:var(--ink-tertiary);font-size:11px}.project-desc{color:var(--ink-secondary);max-width:600px;font-size:14px;line-height:1.5}.archive-list{font-family:var(--font-mono);border-top:1px solid #0000000d;gap:24px;margin-top:64px;padding-top:32px;font-size:12px;display:flex}.archive-link{color:var(--ink-secondary);text-decoration:none;transition:color .2s}.archive-link:hover{color:var(--ink-primary);text-decoration:underline}.writing-container{max-width:680px;margin:0 auto;padding:120px 24px}.writing-back{font-family:var(--font-mono);color:var(--ink-secondary);margin-bottom:60px;font-size:12px;text-decoration:none;transition:color .2s;display:inline-block}.writing-back:hover{color:var(--accent)}.writing-header{border-bottom:1px solid #0000000f;margin-bottom:60px;padding-bottom:40px}.writing-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink-primary);margin-bottom:24px;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1}.writing-meta{font-family:var(--font-mono);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;gap:12px;font-size:12px;display:flex}.writing-content{font-family:var(--font-sans);color:var(--ink-primary);font-size:16px;line-height:1.7}.writing-content p{margin-bottom:24px}.writing-content h2{font-family:var(--font-sans);letter-spacing:-.02em;margin-top:48px;margin-bottom:24px;font-size:24px;font-weight:500}.music-player{background:var(--bg-surface);z-index:100;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000001a;border-radius:2px;align-items:center;gap:20px;max-width:300px;padding:8px 12px;font-size:11px;display:flex;position:fixed;top:80px;right:24px;box-shadow:0 1px 3px #0000000f}.music-player__visualizer{align-items:flex-end;gap:3px;height:20px;padding-bottom:2px;display:flex}.bar-group{align-items:flex-end;gap:3px;height:100%;display:flex}.bar{background:repeating-linear-gradient(to top,var(--accent)0px,var(--accent)2px,transparent 2px,transparent 3px);opacity:.9;width:5px;animation:.8s ease-in-out infinite alternate visualize}.bar-1{height:14px;animation-delay:.1s}.bar-2{height:18px;animation-delay:.35s}.bar-3{height:10px;animation-delay:50ms}.bar-4{height:16px;animation-delay:.6s}@keyframes visualize{0%{opacity:.5;height:6px}50%{opacity:1;height:14px}to{opacity:1;height:20px}}.music-player__info{border-left:1px solid #0000001a;flex-direction:column;justify-content:center;height:28px;padding-left:14px;display:flex}.music-player__label{color:var(--ink-tertiary);margin-bottom:5px;font-size:9px;line-height:1}.music-player__track-container{white-space:nowrap;max-width:180px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.music-player__track{color:var(--ink-primary);padding-left:100%;font-weight:500;line-height:1;animation:12s linear infinite marquee;display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.mode-toggle{cursor:pointer;z-index:1000;font-family:var(--font-mono);background:var(--bg-surface);-webkit-user-select:none;user-select:none;border:1px solid #0000001a;border-radius:4px;align-items:center;gap:12px;padding:8px 12px;font-size:11px;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 1px 3px #0000000f}.mode-toggle__switch{background:#e5e5e5;border-radius:10px;width:32px;height:16px;transition:background .3s;position:relative}.mode-toggle__switch.active{background:var(--accent)}.mode-toggle__thumb{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.mode-toggle__switch.active .mode-toggle__thumb{transform:translate(16px)}.mode-toggle__label{color:var(--ink-secondary);letter-spacing:.05em;text-align:right;min-width:90px;font-weight:500}.resume-container{max-width:800px;font-family:var(--font-sans);color:var(--ink-primary);margin:0 auto;animation:.5s fadeIn}.resume-header{border-bottom:2px solid var(--ink-primary);margin-bottom:48px;padding-bottom:24px}.resume-name{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:12px;font-size:32px;font-weight:700}.resume-meta{font-family:var(--font-mono);color:var(--ink-secondary);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.resume-meta a{color:inherit;border-bottom:1px dotted var(--ink-tertiary);text-decoration:none}.resume-section{margin-bottom:48px}.resume-section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-tertiary);border-bottom:1px dashed #0000001a;margin-bottom:24px;padding-bottom:8px;font-size:11px}.resume-text{max-width:600px;color:var(--ink-secondary);font-size:15px;line-height:1.6}.resume-item{margin-bottom:32px}.resume-item-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.resume-role{color:var(--ink-primary);font-size:16px;font-weight:600}.resume-company{font-family:var(--font-mono);color:var(--accent);font-size:13px}.resume-date{font-family:var(--font-mono);color:var(--ink-tertiary);margin-left:auto;font-size:12px}.resume-description{color:var(--ink-secondary);max-width:650px;font-size:14px;line-height:1.5}.resume-team{font-family:var(--font-mono);color:var(--ink-tertiary);margin-top:2px;font-size:12px;display:block}.resume-highlights{max-width:650px;margin-top:8px;padding-left:18px;list-style:none}.resume-highlights li{color:var(--ink-secondary);margin-bottom:4px;padding-left:0;font-size:14px;line-height:1.5;position:relative}.resume-highlights li:before{content:"–";color:var(--ink-tertiary);position:absolute;left:-18px}.resume-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;display:grid}.resume-project{background:#ffffff80;border:1px solid #0000000d;border-radius:4px;padding:16px}.resume-project-header{justify-content:space-between;margin-bottom:8px;display:flex}.resume-project-title{font-size:14px;font-weight:600}.resume-link{color:var(--accent);text-decoration:none}.resume-project-desc{color:var(--ink-secondary);font-size:12px;line-height:1.4}.resume-skills{flex-wrap:wrap;gap:12px;display:flex}.skill-tag{font-family:var(--font-mono);color:var(--ink-secondary);background:#00000008;border-radius:2px;padding:6px 10px;font-size:12px}.separator{color:var(--ink-tertiary);opacity:.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.main-container{padding:60px 20px}.project-row:hover:before{display:none}.project-row:hover{padding-left:0}.music-player{justify-content:center;width:auto;max-width:none;inset:auto 20px 20px;box-shadow:0 -2px 10px #0000000d}.mode-toggle{top:auto;bottom:80px;right:20px}}
