*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--fg:#e5e5e5;--muted:#888;--accent:#6ee7b7;--card-bg:#151515;--border:#262626;--radius:8px}html{color-scheme:dark}body{background:var(--bg);color:var(--fg);font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;line-height:160%;-webkit-font-smoothing:antialiased}.nav{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0ad9;border-bottom:1px solid var(--border);display:flex;gap:12px;height:62px;justify-content:space-between;left:0;padding:16px 32px;position:fixed;right:0;top:0;view-transition-name:nav;z-index:100}.nav-logo-link{align-self:center;color:inherit;text-decoration:none}.nav-logo-link:hover{opacity:.92}.nav-logo{color:var(--accent);font-size:18px;font-weight:700;letter-spacing:-.02em}.nav-logo-tag{color:var(--muted);font-size:13px;font-weight:400}.nav-burger{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:40px;justify-content:center;margin:0;padding:0;width:40px}.nav-burger:hover{border-color:var(--accent)}.nav-burger-bar{background:var(--fg);border-radius:1px;display:block;height:2px;width:18px}.nav-backdrop{display:none}.nav-links-panel{flex:1;justify-content:flex-end;min-width:0}.nav-links,.nav-links-panel{align-items:center;display:flex}.nav-links{flex-wrap:wrap;gap:24px}.nav-links-tail{align-items:center;display:flex;gap:16px;margin-left:auto}.nav-outline-btn{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);display:inline-flex;font-size:13px;font-weight:500;justify-content:center;padding:6px 14px;text-decoration:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.nav-outline-btn:hover{background:#6ee7b714;border-color:var(--accent);color:var(--fg)}@media(max-width:960px){.nav{flex-wrap:nowrap;overflow:visible}.nav-logo-link{flex-shrink:1;min-width:0}.nav-burger{display:inline-flex}.nav-backdrop{background:#00000073;border:0;cursor:pointer;display:block;left:0;margin:0;padding:0;width:100vw;z-index:98}.nav-backdrop,.nav-links-panel{height:calc(100dvh - 62px);position:fixed;top:62px}.nav-links-panel{background:#0a0a0afa;border-left:1px solid var(--border);flex:none;justify-content:stretch;overflow-y:auto;padding:16px 20px 24px;pointer-events:none;right:0;transform:translate(100%);transition:transform .25s ease;width:min(100%,320px);z-index:99}.nav-links-panel-open{pointer-events:auto;transform:translate(0)}.nav-links{align-items:stretch;flex-direction:column;flex-wrap:nowrap;gap:0;width:100%}.nav-links>a{border-bottom:1px solid var(--border);padding:12px 0}.nav-links-tail{align-items:stretch;border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-left:0;margin-top:8px;padding-top:16px}}.nav-links a{align-items:center;color:var(--muted);display:inline-flex;font-size:14px;gap:6px;text-decoration:none;transition:color .15s}.nav-links a.active,.nav-links a:hover{color:var(--fg)}.nav-badge{background:var(--border);border-radius:4px;color:var(--muted);font-size:10px;padding:2px 6px}.page{background-color:var(--bg);min-height:100dvh;padding-top:62px}.page-content{display:flex;flex-direction:column;gap:48px;margin:0 auto;max-width:720px;padding:64px 32px 96px}.section h1{font-size:32px;font-weight:700;letter-spacing:-.03em;margin-bottom:12px}.section h2{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}.section p{color:var(--muted);font-size:14px}.section code{background:var(--card-bg);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:12px;padding:1px 5px}.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card h3{font-size:14px;font-weight:600;margin-bottom:6px}.card p{color:var(--muted);font-size:12px}.work-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:inherit;cursor:pointer;display:block;padding:24px;text-decoration:none;transition:border-color .2s,background .2s}.work-card:hover{background:#6ee7b70a;border-color:var(--accent)}.work-card h3{color:var(--fg);font-size:16px;font-weight:700;letter-spacing:-.03em;line-height:130%;margin-bottom:.375em}.work-card p{color:var(--muted);font-size:13px;line-height:160%}.work-detail{gap:32px}.work-detail-hero{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:48px 40px;view-transition-name:hero}.work-detail-hero h1{font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:130%;margin-bottom:.375em}.work-detail-intro{color:var(--accent);font-size:16px;line-height:160%}.work-detail-body{color:var(--muted);font-size:15px;line-height:180%}.back-link{color:var(--accent);display:inline-block;font-size:14px;text-decoration:none;transition:opacity .15s}.back-link:hover{opacity:.7}::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-old(main){animation:vt-fade-out .6s cubic-bezier(.4,0,1,1)}::view-transition-new(main){animation:vt-fade-in .6s cubic-bezier(0,0,.2,1)}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}::view-transition-new(hero),::view-transition-old(hero){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(nav),::view-transition-old(nav){animation:none;mix-blend-mode:normal}
