:root{--void: #08090a;--panel: #0e1012;--panel-raised: #141719;--line: #2a2e31;--line-strong: #4a5054;--text: #d8dbd6;--text-dim: #8a8f8a;--text-faint: #5a5f5a;--alert: #c8102e;--hazard: #e8b10a;--safe: #2e7d5b;--neon-cyan: #00e5ff;--neon-magenta: #ff2e63;--accent: #e8b10a;--font-sans: "IBM Plex Sans", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--t-micro: 80ms;--t-fast: .14s;--t-base: .22s;--t-slow: .32s;--ease-out: cubic-bezier(.16, 1, .3, 1);--chamfer-sm: 4px;--chamfer-md: 8px;--chamfer-lg: 12px;--topbar-h: 32px;--player-h: 92px;--gutter: 24px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--void);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:var(--hazard);color:var(--void)}:focus-visible{outline:1px solid var(--neon-cyan);outline-offset:2px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 4px);opacity:.5;mix-blend-mode:screen}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 30%,transparent 40%,rgba(0,0,0,.55) 100%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(max-width:640px){body:before{display:none}}.app{position:relative;z-index:2;display:grid;grid-template-rows:48px 1fr 76px;height:100dvh}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--panel);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.brand{display:flex;align-items:baseline;gap:8px;color:var(--text);text-decoration:none;white-space:nowrap}.brand__mark{width:8px;height:8px;background:var(--hazard);align-self:center;flex:none}.brand__name{letter-spacing:.14em}.brand__sub{color:var(--text-faint);font-size:10px}.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}.nav::-webkit-scrollbar{display:none}.navlink{color:var(--text-dim);text-decoration:none;padding:5px 10px;border-bottom:1px solid transparent;white-space:nowrap;transition:color var(--t-micro) linear,border-color var(--t-micro) linear}.navlink:hover{color:var(--text)}.navlink[aria-current=page]{color:var(--text);border-bottom-color:var(--hazard)}.navlink--music{display:inline-flex;align-items:center;gap:6px}.navlink__dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.topbar__meta{display:flex;align-items:center;gap:12px;white-space:nowrap}.topbar__clock{font-variant-numeric:tabular-nums;color:var(--text-faint)}.main{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.page{min-height:100%;padding:40px 24px 56px}.page--flush{padding:0;height:100%;min-height:0}.container{max-width:1040px;margin:0 auto}.hero{padding-bottom:28px;border-bottom:1px solid var(--line)}.hero__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.hero__name{margin:10px 0 6px;font-size:46px;line-height:1.05;letter-spacing:-.02em;font-weight:800}.hero__slogan{margin:0 0 14px;font-size:18px;color:var(--hazard)}.hero__intro{margin:0 0 18px;max-width:62ch;color:var(--text-dim)}.link-row{display:flex;flex-wrap:wrap;gap:8px}.section{margin-top:40px}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}.section__head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.section__more{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-faint);text-decoration:none}.section__more:hover{color:var(--hazard)}.entries{display:flex;flex-direction:column}.entry{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background var(--t-micro) linear,padding-left var(--t-micro) linear}.entry:hover{background:var(--panel);padding-left:10px}.entry__date{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.entry__main{min-width:0;display:flex;flex-direction:column;gap:2px}.entry__title{font-size:17px;color:var(--text)}.entry__summary{font-size:13px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry__tags{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-faint);white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:inherit;transition:border-color var(--t-fast) linear,background var(--t-fast) linear}.card:hover{border-color:var(--line-strong);background:var(--panel-raised)}.card__no,.card__meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.card__title{font-size:16px;color:var(--text)}.card__summary{font-size:13px;line-height:1.6;color:var(--text-dim)}.music-cta{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:16px;padding:22px 20px;border:1px solid var(--line-strong);background:var(--panel);text-decoration:none;color:inherit;transition:border-color var(--t-fast) linear}.music-cta:hover{border-color:var(--hazard)}.music-cta__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--hazard)}.music-cta__text{color:var(--text-dim);font-size:14px}.music-cta__arrow{font-family:var(--font-mono);color:var(--text-dim)}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:22px}.page-head h1{margin:0;font-size:26px;letter-spacing:.02em}.page-head__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint)}.post{max-width:720px}.back{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint);text-decoration:none}.back:hover{color:var(--hazard)}.post__title{margin:14px 0 8px;font-size:32px;line-height:1.2;letter-spacing:-.01em}.post__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-faint);padding-bottom:18px;border-bottom:1px solid var(--line)}.prose{font-size:15px;line-height:1.85;color:var(--text-dim)}.prose h2{margin:32px 0 10px;font-size:19px;color:var(--text);letter-spacing:.01em}.prose h3{margin:24px 0 8px;font-size:16px;color:var(--text)}.prose p{margin:0 0 14px}.prose ul{margin:0 0 16px;padding-left:20px}.prose li{margin:4px 0}.prose blockquote{margin:18px 0;padding:10px 16px;border-left:2px solid var(--hazard);background:var(--panel);color:var(--text)}.prose code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;background:var(--panel-raised);color:var(--hazard)}.prose a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.work{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:inherit}.work:hover{border-color:var(--line-strong)}.work__top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.work__title{margin:4px 0 0;font-size:19px;color:var(--text)}.work__summary{margin:0;font-size:13px;line-height:1.6;color:var(--text-dim)}.work__stack{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--text-faint)}.kv{display:grid;grid-template-columns:92px 1fr;gap:6px 16px;margin:28px 0 0;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.kv dt{color:var(--text-faint);letter-spacing:.08em}.kv dd{margin:0;color:var(--text)}.about-links{margin-top:8px}.music{display:flex;flex-direction:column;height:100%;min-height:0}.tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--panel)}.tab{appearance:none;background:transparent;border:0;border-bottom:1px solid transparent;color:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;padding:10px 14px;cursor:pointer}.tab:hover{color:var(--text)}.tab[aria-current=page]{color:var(--text);border-bottom-color:var(--hazard)}.music__body{position:relative;flex:1;min-height:0}.wall{position:absolute;inset:0;overflow:hidden}.wall__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}.wall__canvas:active{cursor:grabbing}.wall__fallback{position:absolute;inset:0;display:grid;place-content:center;gap:10px;text-align:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--text-faint)}.hud{position:absolute;inset:0;pointer-events:none;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.hud__row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.hud__index{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-faint)}.hud__title{margin:4px 0 0;font-size:30px;line-height:1.1;letter-spacing:-.01em;max-width:60vw}.hud__artist{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase}.view{position:absolute;inset:0;overflow:auto;padding:20px}.view-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.view-head h1{margin:0;font-size:18px;letter-spacing:.04em}.view-head__count{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint)}.search{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:7px 10px;border:1px solid var(--line);background:var(--panel);font-family:var(--font-mono);font-size:12px}.search input{flex:1;min-width:0;background:transparent;border:0;color:var(--text);font:inherit;outline:none}.list{list-style:none;margin:0;padding:0}.row{display:grid;grid-template-columns:40px 44px 1fr auto auto;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;transition:background var(--t-micro) linear}.row:hover{background:var(--panel)}.row[aria-current=true]{background:var(--panel-raised);box-shadow:inset 2px 0 0 var(--accent)}.row__no{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);text-align:right}.row__cover{width:44px;height:44px;border:1px solid var(--line);object-fit:cover;background:var(--panel)}.row__main{min-width:0}.row__title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__sub{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__dur{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.row__accent{width:6px;height:6px;justify-self:end}.track{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:28px;align-items:start}.track__cover{width:100%;aspect-ratio:1;border:1px solid var(--line-strong);background:var(--panel);display:block}.track__meta h1{margin:0 0 6px;font-size:26px;line-height:1.15}.track__artist{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.track__kv{display:grid;grid-template-columns:92px 1fr;gap:4px 12px;margin:16px 0;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.track__kv dt{color:var(--text-faint);letter-spacing:.08em}.track__kv dd{margin:0;color:var(--text)}.lyrics{max-height:40vh;overflow:auto;border-top:1px solid var(--line);padding-top:12px;scrollbar-width:thin}.lyrics__line{padding:4px 0;color:var(--text-faint);transition:color var(--t-fast) linear;font-size:14px}.lyrics__line[data-active=true]{color:var(--accent)}.lyrics__empty{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint)}.player{display:grid;grid-template-columns:minmax(160px,260px) 1fr minmax(140px,220px);align-items:center;gap:18px;padding:0 16px;border-top:1px solid var(--line-strong);background:var(--panel)}.player__now{display:flex;align-items:center;gap:10px;min-width:0}.player__cover{width:44px;height:44px;border:1px solid var(--line);background:var(--panel-raised);flex:none}.player__meta{min-width:0}.player__title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__artist{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__center{display:flex;flex-direction:column;gap:4px;min-width:0}.transport{display:flex;align-items:center;justify-content:center;gap:4px}.btn{appearance:none;background:transparent;border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:6px 10px;cursor:pointer;text-decoration:none;transition:color var(--t-micro) linear,border-color var(--t-micro) linear,background var(--t-micro) linear}.btn:hover{color:var(--text);border-color:var(--line-strong);background:var(--panel-raised)}.btn:disabled{color:var(--text-faint);cursor:not-allowed}.btn--play{width:34px;height:34px;padding:0;color:var(--void);background:var(--hazard);border-color:var(--hazard);font-size:14px;line-height:1}.btn--play[data-state=playing]{background:var(--accent);border-color:var(--accent)}.progress{display:flex;align-items:center;gap:8px}.progress__time{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.progress__track{position:relative;flex:1;height:10px;cursor:pointer}.progress__track:before{content:"";position:absolute;inset:4px 0;background:var(--line)}.progress__fill{position:absolute;inset:4px auto 4px 0;background:var(--accent);width:0}.player__right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.volume{width:80px;height:10px;position:relative;cursor:pointer}.volume:before{content:"";position:absolute;inset:4px 0;background:var(--line)}.volume__fill{position:absolute;inset:4px auto 4px 0;background:var(--line-strong);width:80%}.badge{display:inline-flex;align-items:center;border:1px solid var(--line-strong);padding:1px 6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-dim)}.badge--demo{border-color:var(--hazard);color:var(--hazard)}.empty{padding:48px 0;text-align:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase}.noscript{padding:24px;font-family:var(--font-mono)}@media(max-width:1024px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.app{grid-template-rows:44px 1fr 64px}.topbar{gap:12px;padding:0 12px}.brand__sub,.topbar__clock{display:none}.nav{gap:0}.navlink{padding:5px 8px;font-size:10px}.page{padding:24px 14px 40px}.hero__name{font-size:32px}.hero__slogan{font-size:15px}.entry{grid-template-columns:64px 1fr;gap:10px}.entry__tags{display:none}.card-grid,.work-grid{grid-template-columns:1fr}.music-cta{grid-template-columns:1fr auto}.music-cta__label{grid-column:1 / -1}.post__title{font-size:24px}.track{grid-template-columns:1fr;gap:18px}.track__cover{max-width:200px}.hud__title{font-size:20px;max-width:84vw}.player{grid-template-columns:1fr;gap:2px;padding:6px 12px}.player__right{display:none}.row{grid-template-columns:30px 40px 1fr auto;gap:8px}.row__accent{display:none}.row__cover{width:40px;height:40px}}@media(max-width:520px){.entry__date{font-size:10px}.navlink--music .navlink__dot{display:none}}:root{--void: #0b0b0d;--panel: #121214;--panel-raised: #1a1a1c;--line: #2f2f2a;--line-strong: #4a4a40;--text: #e8e4cf;--text-dim: #a8a598;--text-faint: #6e6c62;--paper: #f0e9a8;--mint: #4ee0b4;--deep-teal: #2c6d63;--hazard: #f0e9a8;--alert: #c21f31;--orange: #e07a1f;--accent: #4ee0b4;--font-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Noto Sans SC", sans-serif;--font-sans: "Noto Sans SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "Cascadia Code", Consolas, monospace}body{background:var(--void);color:var(--text)}body:before{opacity:.18}body:after{background:radial-gradient(ellipse at 50% 20%,rgba(240,233,168,.04),transparent 60%)}.topbar{background:var(--void);border-bottom:1px solid var(--line)}.brand__mark{background:var(--alert)}.brand__name{font-family:var(--font-display);font-size:15px;letter-spacing:.08em;color:var(--paper)}.brand__sub{color:var(--deep-teal)}.navlink{color:var(--text-dim);letter-spacing:.14em}.navlink:hover{color:var(--paper)}.navlink[aria-current=page]{color:var(--paper);border-bottom-color:var(--mint)}.navlink__dot{background:var(--mint)}.hero{background:var(--paper);color:#0b0b0d;clip-path:polygon(0 0,100% 0,100% calc(100% - 72px),0 100%);padding:44px 40px 96px;margin-bottom:12px;border-bottom:0}.hero__meta{color:#6b6446}.hero__name{font-family:var(--font-display);font-size:clamp(52px,9vw,104px);line-height:.94;letter-spacing:.01em;text-transform:uppercase;color:#0b0b0d;margin:8px 0 2px}.hero__slogan{font-family:var(--font-display);font-size:clamp(18px,2.4vw,28px);letter-spacing:.06em;color:var(--alert);text-transform:uppercase}.hero__intro{color:#2e2c22;max-width:56ch}.hero .btn{border-color:#0b0b0d;color:#0b0b0d}.hero .btn:hover{background:#0b0b0d;color:var(--paper);border-color:#0b0b0d}.section__head h2:before{content:"// ";color:var(--mint)}.section__head{border-bottom-color:var(--line)}.section__more:hover{color:var(--paper)}.entry:hover{background:#131316;box-shadow:inset 2px 0 0 var(--mint)}.entry__title{color:var(--paper)}.card{border-color:var(--line);background:var(--panel)}.card:hover{border-color:var(--paper);background:var(--panel-raised)}.card__title{color:var(--paper)}.music-cta{border-color:var(--mint);background:#0d1a17}.music-cta:hover{border-color:var(--paper)}.music-cta__label{color:var(--mint)}.page-head h1,.post__title,.track__meta h1{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--paper)}.prose{color:#c9c6b6}.prose h2,.prose h3{color:var(--paper)}.prose blockquote{border-left-color:var(--mint)}.prose code{color:var(--mint)}.work{border-color:var(--line)}.work:hover{border-color:var(--mint)}.work__title{color:var(--paper)}.tabs{background:var(--void)}.tab[aria-current=page]{color:var(--paper);border-bottom-color:var(--mint)}.hud__index{color:var(--mint)}.hud__title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--paper)}.hud__artist{color:var(--text-dim)}.row[aria-current=true]{box-shadow:inset 2px 0 0 var(--mint)}.lyrics__line[data-active=true]{color:var(--mint)}.player{border-top:1px solid var(--paper);background:var(--void)}.btn--play{background:var(--mint);border-color:var(--mint);color:#0b0b0d}.btn--play:hover,.btn--play[data-state=playing]{background:var(--paper);border-color:var(--paper);color:#0b0b0d}.progress__fill{background:var(--mint)}.badge--demo{border-color:var(--orange);color:var(--orange)}@media(max-width:860px){.hero{padding:28px 20px 72px;clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%)}}
