:root{--bg: #f0f5fa;--bg2: #e4edf6;--fg: #18222e;--fg2: #48596e;--fg3: #8fa5bb;--accent: #5b9bd5;--line: rgba(91, 155, 213, .35);--snow: rgba(180, 210, 240, .7);--nav-h: 58px}[data-theme=dark]{--bg: #0b0f14;--bg2: #111820;--fg: #eaf2f9;--fg2: #b0c8de;--fg3: #5c7a96;--accent: #7ab8e8;--line: rgba(122, 184, 232, .25);--snow: rgba(200, 225, 245, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.content-layer{position:relative;z-index:10}html,body{width:100%;min-height:100%;overflow-x:hidden}body{font-family:Hiragino Maru Gothic ProN,Hiragino Maru Gothic Pro,sans-serif;background:var(--bg);color:var(--fg);transition:background .45s,color .45s}canvas#snow{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .6s}[data-theme=dark] canvas#snow{opacity:1}.bg-wash{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(160deg,#deeaf7,#f0f5fa 55%,#e8f0f8);opacity:1;transition:opacity .45s}[data-theme=dark] .bg-wash{opacity:0}nav{position:fixed;top:0;left:0;right:0;z-index:400;display:flex;align-items:center;justify-content:space-between;padding:1.15rem 3rem}.nav-logo{font-family:"DM Serif Display",serif;font-style:italic;font-size:1rem;color:var(--accent);letter-spacing:.03em;text-decoration:none}.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}.nav-links li{display:flex;align-items:center}.nav-links a{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.18em;color:var(--fg3);text-decoration:none;transition:color .2s;text-transform:capitalize}.nav-links a:hover{color:var(--accent)}.nav-links a.active{color:var(--fg2)}.theme-btn{background:transparent;border:none;cursor:pointer;color:var(--fg3);padding:0;display:flex;align-items:center;transition:color .2s}.theme-btn:hover{color:var(--accent)}.theme-btn svg{display:block}.theme-btn .icon-sun{display:block}.theme-btn .icon-moon,[data-theme=dark] .theme-btn .icon-sun{display:none}[data-theme=dark] .theme-btn .icon-moon{display:block}.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;position:fixed;top:1rem;right:1.4rem;z-index:600}.burger span{display:block;width:20px;height:1px;background:var(--fg2);transition:transform .3s,opacity .3s;transform-origin:center}.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.drawer{position:fixed;top:0;right:0;width:min(280px,80vw);height:100dvh;z-index:500;background:var(--bg);border-left:.5px solid var(--line);display:flex;flex-direction:column;padding:calc(var(--nav-h, 58px) + 1.5rem) 2rem 2.5rem;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.drawer.open{transform:translate(0)}.drawer-links{list-style:none;display:flex;flex-direction:column;gap:.2rem;flex:1}.drawer-links a{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.2em;color:var(--fg3);text-decoration:none;display:block;padding:.9rem 0;border-bottom:.5px solid var(--line);transition:color .2s;text-transform:capitalize}.drawer-links a:hover{color:var(--accent)}.drawer-links a.active{color:var(--fg2)}.drawer-footer{padding-top:1.5rem}.theme-btn-drawer{display:flex;align-items:center;gap:.8rem;background:transparent;border:none;cursor:pointer;padding:0;color:var(--fg3);transition:color .2s}.theme-btn-drawer:hover{color:var(--accent)}.tbd-label{font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.18em;color:inherit}.theme-btn-drawer .icon-sun{display:block}.theme-btn-drawer .icon-moon,[data-theme=dark] .theme-btn-drawer .icon-sun{display:none}[data-theme=dark] .theme-btn-drawer .icon-moon{display:block}.drawer-backdrop{display:none;position:fixed;inset:0;z-index:450;background:#00000040;opacity:0;transition:opacity .35s}.drawer-backdrop.open{display:block;opacity:1}.transition-out .content-layer{opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.transition-in .content-layer{opacity:0;transform:translateY(-6px)}.transition-in.transition-animate .content-layer{opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}@media(max-width:720px){nav{padding:1rem 1.4rem}.nav-links,.theme-btn{display:none}.burger{display:flex}}
