@import"https://fonts.googleapis.com/css2?family=Anton&family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Instrument+Serif:ital@0;1&family=Hanken+Grotesk:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--accent: #aa33ff;--accent-soft: rgba(170, 51, 255, .16);--sans: "Hanken Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--maxw: 920px;--ease: cubic-bezier(.22, 1, .36, 1);--flip: .6s ease}html[data-theme=dark]{--bg: #000;--fg: #f3f0ea;--muted: #948d81;--line: rgba(243, 240, 234, .14);--raise: rgba(243, 240, 234, .04);--term-bg: #181818;--term-fg: #cccccc;--term-muted: #9d9d9d;--term-line: #2b2b2b;--accent: #aa33ff;--accent-soft: rgba(170, 51, 255, .16);--term-accent: #c27dff;--scan: rgba(255, 255, 255, .022)}html[data-theme=hacker]{--bg: #2424ff;--fg: #f6f6ff;--muted: #c3c5ff;--line: rgba(246, 246, 255, .24);--raise: rgba(246, 246, 255, .08);--term-bg: #0b0b14;--term-fg: #f3f3ff;--term-muted: #8f91c4;--term-line: rgba(243, 243, 255, .14);--accent: #d6ff3b;--accent-soft: rgba(214, 255, 59, .18);--term-accent: #d6ff3b;--scan: rgba(0, 0, 40, .075)}html[data-theme=hacker] ::selection{color:#0b0b14}html[data-theme=xp]{--bg: #5a9be6;--fg: #ffffff;--muted: #eef4ff;--line: rgba(255, 255, 255, .35);--raise: rgba(255, 255, 255, .12);--accent: #ffd94a;--accent-soft: rgba(255, 217, 74, .2);--term-bg: #ece9d8;--term-fg: #000;--term-muted: #555;--term-line: #aca899;--term-accent: #0a246a;--scan: transparent;--sans: Tahoma, "Segoe UI", Verdana, sans-serif;--mono: Tahoma, "Segoe UI", Verdana, sans-serif}html[data-theme=xp] ::selection{background:#316ac5;color:#fff}html[data-theme=seattle]{--bg: #0a0e15;--fg: #d9dee7;--muted: #8b94a5;--line: #1f2632;--raise: rgba(255, 255, 255, .03);--term-bg: #10141c;--term-fg: #d9dee7;--term-muted: #8b94a5;--term-line: #1f2632;--accent: #4c8dff;--accent-soft: rgba(76, 141, 255, .16);--term-accent: #4c8dff;--scan: transparent;--sans: "Space Mono", ui-monospace, monospace;--mono: "Space Mono", ui-monospace, monospace;--panel: #11151d;--panel-2: #151a23}html[data-theme=seattle] ::selection{background:#4c8dff;color:#fff}html[data-theme=xbox]{--bg: #141614;--fg: #f1f2f0;--muted: #a3a8a1;--line: rgba(241, 242, 240, .14);--raise: rgba(255, 255, 255, .05);--term-bg: #1c1e1b;--term-fg: #f2f4f0;--term-muted: #9aa097;--term-line: rgba(242, 244, 240, .14);--accent: #7cd03b;--accent-soft: rgba(124, 208, 59, .18);--term-accent: #7cd03b;--scan: transparent;--dash: "Segoe UI", "Helvetica Neue", Arial, sans-serif}html[data-theme=xbox] ::selection{background:#7cd03b;color:#10200a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--flip),color var(--flip);overflow-x:hidden}::selection{background:var(--accent);color:#fff}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:repeating-linear-gradient(0deg,var(--scan) 0 1px,transparent 1px 3px)}a{color:inherit;text-decoration:none}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.topbar{position:sticky;top:0;z-index:50;background-color:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color var(--flip)}.topbar-inner{max-width:1600px;margin:0 auto;padding:10px clamp(16px,3vw,56px) 18px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.nav-side{display:flex;align-items:center;justify-content:space-between}.nav-side-l:after,.nav-side-r:before{content:""}.nav-brand{justify-self:start}.nav-doing{margin-right:1.1em}.nav-contact{justify-self:end;margin-right:1.1em}.nav a,.nav .nav-drop-btn{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:3px calc(5px - .16em) 3px 5px;position:relative;transition:color .25s}.nav a:hover,.nav .nav-drop-btn:hover,.nav-drop.open .nav-drop-btn{color:var(--fg)}.nav a:after,.nav .nav-drop-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;mix-blend-mode:difference;pointer-events:none;transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.nav a:hover:after,.nav a:focus-visible:after,.nav .nav-drop-btn:hover:after,.nav .nav-drop-btn:focus-visible:after{transform:scaleX(1);transition:transform .9s cubic-bezier(.19,1,.22,1)}.nav a:focus-visible,.nav .nav-drop-btn:focus-visible{outline:none}.nav a.brand{color:var(--fg);font-weight:700}.nav a.brand span{color:var(--muted)}.nav-drop{position:relative}.nav .nav-drop-btn{background:none;border:0;cursor:pointer}.nav .nav-drop-btn:before{content:"▾";position:absolute;right:-1.1em;top:50%;transform:translateY(-50%);font-size:.85em;letter-spacing:0;opacity:.6;transition:transform .3s var(--ease)}.nav-drop.open .nav-drop-btn:before{transform:translateY(-50%) rotate(180deg)}.nav-drop-menu{position:absolute;top:100%;left:50%;padding:12px 0 0;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s linear .25s}.nav-drop.open .nav-drop-menu{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s}.nav-contact .nav-drop-menu{left:auto;right:0;transform:translateY(-6px)}.nav-contact.open .nav-drop-menu{transform:translate(0)}.nav-drop-menu:before{content:"";position:absolute;top:4px;right:-14px;bottom:-10px;left:-14px;z-index:-1;border-radius:8px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}section[id]{scroll-margin-top:84px}main.page{padding-top:48px}.matrix-toggle{width:76px;height:46px;padding:0;border:0;border-radius:10px;background:#000;overflow:hidden;cursor:pointer;transition:transform .35s var(--ease);-webkit-tap-highlight-color:transparent}.matrix-toggle.xp-toggle{display:grid;place-items:center;background:none;overflow:visible}.xp-toggle-face{position:relative;display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden;background:#3f82e0 url(/xp/bliss.webp) center 40% / cover no-repeat}.xp-toggle-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff40;pointer-events:none}.xp-toggle-label{display:none}html[data-theme=xp] .xp-toggle-face{box-shadow:0 0 14px #ffffff73}html[data-theme=xp] .xp-toggle-face:after{box-shadow:inset 0 0 0 1px #ffffffb3}.matrix-toggle canvas{display:block;width:100%;height:100%}.matrix-toggle:hover{transform:scale(1.06)}.matrix-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width: 1080px){.nav a,.nav .nav-drop-btn{font-size:12px;letter-spacing:.1em;padding:3px calc(5px - .1em) 3px 5px}}@media (max-width: 720px){.topbar-inner{padding:8px 12px 10px;grid-template-columns:repeat(12,1fr);justify-items:center;row-gap:8px}.nav-side{display:contents}.nav-side:before,.nav-side:after{display:none}.nav-brand{grid-area:1 / 1 / 2 / 5;justify-self:start}.matrix-toggle{grid-area:1 / 5 / 2 / 9}.nav-contact{grid-area:1 / 9 / 2 / 13}.nav-about{grid-area:2 / 1 / 3 / 5}.nav-doing{grid-area:2 / 5 / 3 / 9}.nav-noting{grid-area:2 / 9 / 3 / 13}.nav a,.nav .nav-drop-btn{font-size:10.5px;letter-spacing:.06em;padding:2px calc(3px - .06em) 2px 3px}.matrix-toggle{width:54px;height:34px;border-radius:8px}section[id]{scroll-margin-top:104px}}.hero{position:relative;min-height:calc(100vh - var(--nav-h, 74px));min-height:calc(100svh - var(--nav-h, 74px));display:flex;flex-direction:column}.hero-stage{position:relative;flex:1 1 auto;min-height:420px;overflow:hidden}#warp{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}html.glitching .topbar-inner,html.glitching main,html.glitching .footer{animation:textglitch .7s steps(1,end) both}.glitch-burst{animation:burstglitch .45s steps(1,end) both}.bio .line.glitch-burst{animation:rise .7s var(--ease) forwards,burstglitch .45s steps(1,end) both}@keyframes burstglitch{0%{transform:translate(-2px) skew(-5deg);text-shadow:3px 0 #ff2bd6,-3px 0 #00f0ff}25%{transform:translate(3px,1px);text-shadow:-3px 0 #d6ff3b,2px 0 #ff2bd6}50%{transform:translate(-1px,-1px) skew(3deg);text-shadow:2px 0 #00f0ff,-2px 0 #ff2bd6}75%{transform:translate(1px);text-shadow:-1px 0 #ff2bd6,1px 0 #d6ff3b}to{transform:none;text-shadow:none}}@keyframes textglitch{0%{transform:translate(0);text-shadow:3px 0 #ff2bd6,-3px 0 #00f0ff}12%{transform:translate(-4px,1px) skew(-6deg);text-shadow:-4px 0 #ff2bd6,4px 0 #d6ff3b}24%{transform:translate(5px,-2px);text-shadow:5px 1px #00f0ff,-2px 0 #ff2bd6}36%{transform:translate(-2px) skew(4deg);text-shadow:-3px 0 #d6ff3b,3px 0 #ff2bd6}50%{transform:translate(3px,2px);text-shadow:2px 0 #ff2bd6,-2px 0 #00f0ff}64%{transform:translate(-3px,-1px);text-shadow:-2px 0 #00f0ff,2px 0 #d6ff3b}78%{transform:translate(1px) skew(-2deg);text-shadow:1px 0 #ff2bd6,-1px 0 #00f0ff}to{transform:none;text-shadow:none}}.hero-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.hero-title h1{margin:0;font:inherit}.intro{padding:70px 0 20px}.intro .kicker{margin-bottom:24px}.bio{margin:54px 0 8px;display:grid;gap:2px;max-width:680px}.bio .line{font-size:clamp(20px,2.6vw,27px);line-height:1.34;letter-spacing:-.018em;font-weight:500;padding:7px 0 7px 26px;position:relative;color:var(--fg);opacity:0;transform:translateY(10px);animation:rise .7s var(--ease) forwards}.bio .line:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line);transform:scaleY(0);transform-origin:top;transition:background-color .3s,transform .45s var(--ease)}.bio .line:hover:before{background:var(--accent);transform:scaleY(1)}.bio .line:hover{color:var(--fg)}.bio .line .lead{color:var(--accent);font-family:var(--mono);font-size:.62em;vertical-align:1.5px;margin-right:4px}@keyframes rise{to{opacity:1;transform:translateY(0)}}html.home-nav .topbar{position:fixed;top:0;left:0;right:0}html.home-nav .hero{min-height:100vh;min-height:100svh}.bio .line.quirk{color:var(--muted);font-style:italic;font-weight:400}.bio .line.quirk:hover{color:var(--accent)}.section{padding-top:64px;padding-bottom:64px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:38px}.section-head h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.025em;font-weight:700;margin:0}.section-head .meta{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em}.terminal{background-color:var(--term-bg);color:var(--term-fg);border-top:1px solid var(--term-line);border-bottom:1px solid var(--term-line);font-family:var(--mono);font-size:13.5px;line-height:1.75;overflow:hidden;transition:background-color var(--flip),color var(--flip),box-shadow var(--flip);position:relative}.term-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:35px;padding:0 10px 0 20px;font-family:-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--term-muted);cursor:default;-webkit-user-select:none;user-select:none}.vsc-tabs{display:flex;gap:22px;white-space:nowrap;overflow:hidden}.vsc-tabs span{position:relative;font-size:11px;line-height:35px;letter-spacing:.04em;text-transform:uppercase}.vsc-tabs .on{color:var(--term-fg)}.vsc-tabs .on:after{content:"";position:absolute;left:-2px;right:-2px;bottom:6px;height:1px;background:#0078d4}html[data-theme=hacker] .vsc-tabs .on:after{background:var(--term-accent)}.vsc-tools{display:flex;align-items:center;gap:12px;color:var(--term-fg)}.vsc-tools span{display:inline-flex;align-items:center;gap:2px}.vsc-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.vsc-tools circle{fill:currentColor;stroke:none}.vsc-shell{gap:6px!important;font-size:13px}.vsc-sep{display:inline-block;width:1px;height:16px;background:var(--term-line)}@media (max-width: 640px){.vsc-tabs span:not(.on),.vsc-more{display:none!important}}.term-body{padding:10px 20px 20px;height:460px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--term-line) transparent;container-type:inline-size}.term-line{white-space:pre-wrap;word-break:break-word}.term-line .pr{color:var(--term-accent)}.term-line .cmd{color:var(--term-fg)}.term-line .key{color:var(--term-accent)}.term-line .str{color:var(--term-fg);opacity:.92}.term-line .dim{color:var(--term-muted)}.term-out{color:var(--term-fg)}.term-json{color:var(--term-muted)}.term-json .key{color:var(--term-accent)}.term-json .str{color:var(--term-fg)}.cursor{display:inline-block;width:8px;height:1.05em;background:var(--term-accent);vertical-align:-2px;margin-left:2px;animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.term-host{color:var(--term-fg)}.term-path{color:var(--term-muted)}.term-ghost{color:var(--term-muted);opacity:.6}.term-spin{color:var(--term-accent)}.term-prompt{position:relative}.term-prompt .pr{color:var(--term-fg)}.term-prompt .cursor{margin-left:0}html[data-theme=dark] .term-prompt .cursor{background:var(--term-fg)}.terminal:not(.focused) .term-prompt .cursor{background:transparent;box-shadow:inset 0 0 0 1px var(--term-accent);animation:none}html[data-theme=dark] .terminal:not(.focused) .term-prompt .cursor{background:transparent;box-shadow:inset 0 0 0 1px var(--term-fg)}.term-banner{white-space:pre;word-break:normal;font-size:min(13.5px,3.7cqw);line-height:1.12;color:var(--term-accent)}.term-line:not(.term-banner)+.term-banner{margin-top:8px}.term-banner .sh{opacity:.5}.terminal{cursor:text}.term-capture{position:absolute;left:0;bottom:0;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;font:inherit;font-size:16px;pointer-events:none}.duo.wrap{max-width:none;padding-left:0;padding-right:0}.about-grid{display:grid;grid-template-columns:minmax(0,1fr)}@media (max-width: 979px){.term-body{height:400px}}@media (max-width: 520px){.term-body{padding-left:14px;padding-right:14px}}.sidecard{display:grid;gap:14px;align-content:start}.stat{border:1px solid var(--line);border-radius:12px;padding:16px 18px;transition:border-color .3s,transform .3s var(--ease),background-color var(--flip)}.stat:hover{border-color:var(--accent);transform:translateY(-2px)}.stat .label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stat .val{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:4px}.stat .val .accent{color:var(--accent)}.section-head h2.serif-head{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,40px);letter-spacing:-.01em;color:var(--muted)}.jobs{display:grid}.job+.job{border-top:1px solid var(--line)}.job summary{display:grid;grid-template-columns:46px minmax(0,1fr) auto 14px;grid-template-areas:"logo main when chev";align-items:center;gap:4px 18px;padding:16px 4px;cursor:pointer;list-style:none}.job summary::-webkit-details-marker{display:none}.job summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.job-logo{grid-area:logo;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--raise);font:600 13px var(--sans);letter-spacing:.02em;color:var(--fg)}.job-main{grid-area:main;min-width:0}.job-co{display:block;font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--fg);transition:color .2s}.job-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent);color:#fff;font:600 11px var(--mono);letter-spacing:.04em;vertical-align:2px}.job-role{display:block;font-size:15px;color:var(--muted)}.job-when{grid-area:when;font-size:15px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.job-chev{grid-area:chev;width:8px;height:8px;margin-top:-4px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .25s var(--ease)}.job[open] .job-chev{transform:rotate(225deg);margin-top:4px}.job summary:hover .job-co{color:var(--accent)}.job-body{padding:0 4px 20px 68px}.job-body p{margin:0;max-width:64ch;font-size:15.5px;line-height:1.55;color:var(--muted)}@media (max-width: 560px){.job summary{grid-template-columns:40px minmax(0,1fr) 14px;grid-template-areas:"logo main chev" "logo when chev";gap:2px 14px}.job-logo{width:40px;height:40px;font-size:12px}.job-co{font-size:16.5px}.job-role,.job-when{font-size:14px}.job-body{padding-left:58px}}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}@media (max-width: 760px){.work-grid{grid-template-columns:minmax(0,1fr)}}.work-shot{position:relative;display:grid;place-items:center;aspect-ratio:16 / 10;overflow:hidden;border-radius:14px;border:1px solid var(--line);background-color:var(--raise);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:14px 14px}.work-shot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.work-shot.has-shot img{opacity:1}.work-shot.has-shot .work-shot-name{visibility:hidden}.work-shot-name{font:400 clamp(30px,4vw,44px) "Instrument Serif",Georgia,serif;color:var(--muted)}.work-card:hover .work-shot{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.work-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px}.work-title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.015em}.work-when{font-size:15px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.work-status{margin:4px 0 0;font-size:15px;color:var(--muted)}.work-status:before{content:"";display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:50%;vertical-align:1px;background:#8b8b8b}.work-status.live:before{background:#34c46a;box-shadow:0 0 8px #34c46a99}.work-desc{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}.exp-skills{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;max-width:70ch}.exp-skills li{padding:3px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);transition:color .2s,border-color .2s}.job:hover .exp-skills li,.work-card:hover .exp-skills li{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--fg)}.journal{display:grid;gap:0}.entry{display:grid;grid-template-columns:132px 1fr;gap:22px;padding:22px 0;align-items:start}.entry .date{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.02em;padding-top:4px;white-space:nowrap;transition:color .25s}.entry .body{position:relative}.entry .body .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:6px;opacity:0;transform:translateY(3px);transition:opacity .3s,transform .3s var(--ease)}.entry .body p{margin:0;font-size:clamp(17px,2.2vw,21px);line-height:1.45;letter-spacing:-.012em;font-weight:500}.entry:hover .date{color:var(--accent)}.entry:hover .tag{opacity:1;transform:translateY(0)}@media (max-width: 560px){.entry{grid-template-columns:1fr;gap:6px}.entry .date{padding-top:0}}.photo{position:relative;width:100%;overflow:hidden;border-radius:3px;background-color:var(--raise);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:12px 12px}.photo.filled{background:none}.photo img{display:block;width:100%;height:100%;object-fit:cover}.about-intro p{margin:0 0 1.1em;max-width:62ch;font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:var(--fg)}.about-intro p:last-child{color:var(--muted);margin-bottom:0}.memory{margin:18px 0 4px;width:min(320px,100%)}.memory figure{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px 10px 0;box-shadow:0 18px 40px -26px #00000080;transform:rotate(-1.4deg);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color var(--flip),background-color var(--flip)}.memory.r figure{transform:rotate(1.5deg)}.entry:hover .memory figure{transform:rotate(0) translateY(-4px);box-shadow:0 26px 50px -24px #0000008c}.memory .photo{height:240px}.memory figcaption{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.02em;padding:10px 4px 12px;display:flex;justify-content:space-between;gap:10px}.memory figcaption .n{color:var(--accent)}.book.wrap{max-width:1240px;padding-left:clamp(16px,3vw,56px);padding-right:clamp(16px,3vw,56px)}.book-lede{margin:-14px 0 24px;max-width:60ch;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--muted)}.book-frame{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.book-frame iframe{display:block;width:100%;height:900px}@media (max-width: 900px){.book-frame iframe{height:760px}}.book-alt{margin:18px 0 0;font-size:15px;color:var(--muted)}.book-alt a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}.book-alt a:hover{color:var(--accent)}.footer{padding:70px 0 56px;margin-top:36px}.footer .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}.footer .links{display:flex;flex-wrap:wrap;gap:8px}.footer a.btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--fg);display:inline-flex;align-items:center;gap:8px;transition:border-color .25s,color .25s,background-color .25s,transform .25s var(--ease)}.footer a.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.footer a.btn .ar{opacity:.5;transition:transform .25s var(--ease)}.footer a.btn:hover .ar{transform:translate(2px,-2px);opacity:1}.footer .sig{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.03em}.gallery-intro{padding:80px 0 20px}.gallery-intro h1{font-size:clamp(34px,5.5vw,62px);letter-spacing:-.035em;font-weight:700;margin:22px 0 0}.gallery-intro p{color:var(--muted);max-width:520px;margin:16px 0 0;font-size:18px}.collage{padding:40px 0 30px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px 18px}.polaroid{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px 10px 0;box-shadow:0 18px 40px -24px #00000080;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color var(--flip),background-color var(--flip);will-change:transform}.polaroid:hover{transform:rotate(0) translateY(-6px) scale(1.015)!important;box-shadow:0 30px 55px -22px #0000008c;z-index:5}.polaroid .cap{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.02em;padding:11px 4px 13px;display:flex;justify-content:space-between;gap:10px}.polaroid .cap .n{color:var(--accent)}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}@media (max-width: 720px){.collage{gap:14px}.c4,.c5,.c6,.c7,.c8{grid-column:span 6}.polaroid{transform:none!important}}@media (max-width: 440px){.c4,.c5,.c6,.c7,.c8{grid-column:span 12}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.flip-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--accent);opacity:0;z-index:999;mix-blend-mode:overlay}.flip-flash.go{animation:flash var(--flip)}@keyframes flash{0%{opacity:0}22%{opacity:.16}to{opacity:0}}.about-split{max-width:1320px;margin:0 auto;padding:24px clamp(20px,4vw,64px) 72px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:start}.pile-col{padding-top:10px}.pile-win.minimizing{opacity:0;transform:translateY(40%) scale(.4);transition:opacity .22s ease,transform .22s ease}.xp-taskbar{display:flex;align-items:center;gap:6px;position:relative;height:34px;margin-top:18px;padding-right:0;border-radius:0 0 6px 6px;font-family:Tahoma,Segoe UI,Verdana,sans-serif;font-size:11px;color:#fff;background:linear-gradient(180deg,#1f2f86 0,#3165c4,#3682e5 6%,#4490e6 10%,#3883e5 12%,#2b71e0,#2663da 18%,#235bd6 20%,#2258d5 23%,#2157d6 38%,#245ddb 54%,#2562df 86%,#245fdc,#2158d4,#1d4ec0,#1941a5 98%);box-shadow:0 20px 40px -20px #000c}.xp-taskbar button{font:inherit;color:inherit;cursor:pointer}.xp-start{flex:none;display:flex;align-items:center;gap:5px;height:100%;padding:0 20px 0 9px;border:0;border-radius:0 13px 13px 0;background:radial-gradient(ellipse at 30% 0%,#79c76f 0%,transparent 60%),linear-gradient(180deg,#3c8f3c,#48a648 12%,#3c973c,#2f7f2f 88%,#286c28);box-shadow:inset -2px 0 3px #00000059,2px 0 4px #00000059}.xp-start span{font-family:Franklin Gothic Medium,Trebuchet MS,Tahoma,sans-serif;font-size:17px;font-weight:700;font-style:italic;letter-spacing:.3px;text-shadow:1px 1px 2px rgba(0,0,0,.55)}.xp-start:hover{filter:brightness(1.1)}.xp-start:active{filter:brightness(.9)}.xp-flag{width:20px;height:18px;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.35))}.xp-quick{flex:none;display:flex;gap:2px;padding:0 8px 0 6px;border-right:1px solid rgba(0,0,0,.35);box-shadow:1px 0 #ffffff2e}.xp-ql{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:3px;background:none}.xp-ql svg{width:19px;height:19px;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.3))}.xp-ql:hover{border-color:#ffffff73;background:#ffffff1f}.xp-ql[aria-pressed=true]{border-color:#00000073;background:#00002859;box-shadow:inset 1px 1px 2px #00000080}.xp-tasks{flex:1;min-width:0;display:flex;gap:3px;overflow:hidden}.xp-task{flex:0 1 150px;min-width:34px;display:flex;align-items:center;gap:5px;height:25px;padding:0 8px;border:1px solid #1b4fbb;border-radius:3px;background:linear-gradient(180deg,#5b9bf7,#3c81f3 10%,#3278ee 60%,#2b6be0);box-shadow:inset 1px 1px #ffffff59;text-align:left}.xp-task:hover{filter:brightness(1.12)}.xp-task .xp-icon{width:14px;height:12px}.xp-task-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.xp-tray{flex:none;display:flex;align-items:center;gap:8px;height:100%;padding:0 12px 0 10px;border-left:1px solid #092e8c;background:linear-gradient(180deg,#0c59b9 1%,#139ee9 6%,#18b5f2,#139beb 14%,#1290e8 19%,#0d8dea 63%,#0d9ff1 81%,#0f9eed 88%,#119be9,#1392e2,#137ed7 97%,#095bc9);box-shadow:inset 1px 0 #ffffff40}.xp-reopen{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:3px;background:none}.xp-reopen[hidden]{display:none}.xp-reopen:hover{background:#fff3}.xp-reopen svg{width:15px;height:15px}.xp-clock{white-space:nowrap;text-shadow:0 0 1px rgba(0,0,0,.3)}.xp-taskbar button:focus-visible{outline:1px dotted #fff;outline-offset:-3px}@media (max-width: 480px){.xp-start{padding-right:12px}.xp-start span{font-size:15px}.xp-clock{display:none}}.pile{position:relative;aspect-ratio:1 / .95}.pile-win{position:absolute;width:74%;box-shadow:inset -1px -1px #00138c,inset 1px 1px #0831d9,inset -2px -2px #001ea0,inset 2px 2px #166aee,inset -3px -3px #003bda,inset 3px 3px #0855dd,0 26px 50px -18px #000000d9}.pile-win:not(:last-child) .xp-titlebar{background:linear-gradient(180deg,#7a96df,#6c88d8 10%,#7491e0 45%,#7a96df 90%,#6b86d1)}.pile-win:not(:last-child) .xp-title{color:#d8e4f8}@media (max-width: 900px){.about-split{grid-template-columns:1fr}}.g-card{margin:0}.g-card .photo{aspect-ratio:4 / 3}.xp{padding:0 0 3px;background:#ece9d8;border-radius:8px 8px 0 0;font-family:Tahoma,Segoe UI,Verdana,sans-serif;box-shadow:inset -1px -1px #00138c,inset 1px 1px #0831d9,inset -2px -2px #001ea0,inset 2px 2px #166aee,inset -3px -3px #003bda,inset 3px 3px #0855dd,0 22px 40px -22px #000000b3}.xp-titlebar{display:flex;align-items:center;gap:5px;height:30px;padding:0 5px 0 7px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#0997ff,#0053ee 8%,#0050ee 40%,#06f 88%,#06f 93%,#005bff 95%,#003dd7 96%,#003dd7);color:#fff}.xp-icon{flex:none;width:16px;height:14px;border:1px solid #fff;border-radius:2px;background:linear-gradient(180deg,#8fd0ff 0,#8fd0ff 55%,#4fa83a 55%,#4fa83a);box-shadow:0 0 0 1px #00147880}.g-title.xp-title{flex:1;min-width:0;margin:0;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Trebuchet MS,Tahoma,sans-serif;font-weight:700;font-size:13px;line-height:1;letter-spacing:.2px;color:#fff;text-shadow:1px 1px #0f1089}.xp-controls{display:flex;gap:2px;flex:none}.xp-controls button,.xp-controls>span{position:relative;display:block;width:21px;height:21px;padding:0;border:1px solid #fff;border-radius:3px;background:linear-gradient(180deg,#6e9cf6,#3c74e8 40%,#225bd9 60%,#3f7cf0);box-shadow:inset 0 -1px 2px #00002859;cursor:pointer}.xp-controls button:hover{filter:brightness(1.15)}.xp-controls button:active{filter:brightness(.85);box-shadow:inset 0 1px 2px #00002880}.xp-controls button:focus-visible{outline:1px dotted #fff;outline-offset:1px}.xp-controls .xp-close{background:linear-gradient(180deg,#f0957a,#e0603d 40%,#cc4421 60%,#e06a43)}.xp-min:before{content:"";position:absolute;left:5px;bottom:5px;width:7px;height:3px;background:#fff}.xp-max:before{content:"";position:absolute;left:4px;top:4px;width:11px;height:11px;box-sizing:border-box;border:1px solid #fff;border-top-width:3px}.xp-close:before,.xp-close:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}.xp-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.xp-max.is-restore:before{left:7px;top:3px;width:9px;height:9px;border-top-width:2px}.xp-max.is-restore:after{content:"";position:absolute;left:3px;top:7px;width:9px;height:9px;box-sizing:border-box;border:1px solid #fff;border-top-width:2px;background:#2a62de}.xp.minimized .xp-body,.xp.minimized .xp-status{display:none}.xp.minimized{padding-bottom:3px}.g-card.closing{opacity:0;transform:scale(.85) translateY(10px);transition:opacity .25s ease,transform .25s ease}html.xp-modal-open{overflow:hidden}.xp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:#000000b8;opacity:0;transition:opacity .2s ease}.xp-modal.in{opacity:1}.xp-maxwin{width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;transform:scale(.94);transition:transform .25s var(--ease)}.xp-modal.in .xp-maxwin{transform:none}.xp-maxwin .xp-title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px Trebuchet MS,Tahoma,sans-serif;color:#fff;text-shadow:1px 1px #0f1089}.xp-maxwin .xp-body{flex:1;min-height:0;display:flex}.xp-maxwin .xp-body .photo,.xp-maxwin .xp-body .photo.filled{flex:1;height:min(78vh,900px);aspect-ratio:auto;background:#000}.xp-maxwin .photo img{object-fit:contain}@media (prefers-reduced-motion: reduce){.xp-modal,.xp-maxwin,.g-card.closing{transition:none}}.xp-body{padding:8px 9px 6px}.xp-body .photo{border:1px solid;border-color:#7f9db9;border-radius:0;background-color:#fff;background-image:radial-gradient(#cfcab8 1px,transparent 1px);background-size:12px 12px}.xp-body .photo.filled{background:#fff}.xp-status{display:flex;gap:3px;margin:0 9px 4px;font-size:11px;color:#000}.xp-status>span{margin:0;padding:3px 6px;min-height:1.6em;border:1px solid;border-color:#aca899 #fff #fff #aca899;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-status .g-cat{flex:none;font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:capitalize;color:inherit}.xp-status .xp-file{flex:1;min-width:0}.np-chrome{display:none}html[data-theme=xp] body{background:#3f82e0 url(/xp/bliss.webp) center / cover no-repeat fixed;padding-bottom:34px}html[data-theme=xp] .topbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:1px 1px 2px rgba(0,0,0,.6),0 0 6px rgba(0,0,0,.25)}html[data-theme=xp] .nav a,html[data-theme=xp] .nav .nav-drop-btn{color:#fff;letter-spacing:.08em}html[data-theme=xp] .nav a.brand span{color:#dbe8ff}html[data-theme=xp] .about-intro{padding:0 0 4px;background:#ece9d8;border-radius:8px 8px 0 0;box-shadow:inset -1px -1px #00138c,inset 1px 1px #0831d9,inset -2px -2px #001ea0,inset 2px 2px #166aee,inset -3px -3px #003bda,inset 3px 3px #0855dd,0 26px 50px -18px #0009}html[data-theme=xp] .np-chrome{display:block}html[data-theme=xp] .np-chrome .xp-titlebar{cursor:default}html[data-theme=xp] .np-chrome .xp-title{flex:1;font:700 13px Trebuchet MS,Tahoma,sans-serif;color:#fff;text-shadow:1px 1px #0f1089}.np-icon{flex:none;width:14px;height:16px;border:1px solid #5d6b7f;background:repeating-linear-gradient(180deg,#fff 0,#fff 3px,#9db3d6 3px,#9db3d6 4px)}html[data-theme=xp] .np-menu{display:flex;gap:2px;padding:2px 6px 3px;font:12px Tahoma,Segoe UI,sans-serif;color:#000}.np-menu span{padding:1px 6px}.np-menu span:hover{background:#316ac5;color:#fff}html[data-theme=xp] .about-intro .section-head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html[data-theme=xp] .np-text{margin:0 6px;padding:14px 16px 16px;background:#fff;border:1px solid #7f9db9}html[data-theme=xp] .about-intro p{margin:0 0 1em;max-width:none;color:#000;font:15px/1.6 Lucida Console,Courier New,monospace}html[data-theme=xp] .about-intro p:last-child{margin-bottom:0;color:#444}html[data-theme=xp] .np-text{scrollbar-color:#b9cdf5 #f4f3ee}html[data-theme=xp] .np-text::-webkit-scrollbar{width:17px}html[data-theme=xp] .np-text::-webkit-scrollbar-track{background:#f4f3ee;border-left:1px solid #e3e1d6}html[data-theme=xp] .np-text::-webkit-scrollbar-thumb{border:1px solid #fff;border-radius:3px;background:linear-gradient(90deg,#cad8fb,#b9cdf5,#a9c1f2);box-shadow:inset 0 0 0 1px #9db5e8}html[data-theme=xp] .footer{display:none}html[data-theme=xp] .xp-taskbar{position:fixed;left:0;right:0;bottom:0;z-index:70;margin:0;border-radius:0;box-shadow:0 -1px #0c2e8a}html[data-theme=xp] .footer{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.4)}html[data-theme=xp] .footer .btn{background:#ffffff2e;border-color:#ffffff8c;color:#fff}html[data-theme=xp],html[data-theme=xp] *{cursor:url(/xp/cursor-arrow.png) 0 0,default;cursor:image-set(url(/xp/cursor-arrow.png) 1x,url(/xp/cursor-arrow@2x.png) 2x) 0 0,default}html[data-theme=xp] a,html[data-theme=xp] button,html[data-theme=xp] [role=menuitem],html[data-theme=xp] .np-menu span,html[data-theme=xp] a *,html[data-theme=xp] button *{cursor:url(/xp/cursor-hand.png) 5 0,pointer;cursor:image-set(url(/xp/cursor-hand.png) 1x,url(/xp/cursor-hand@2x.png) 2x) 5 0,pointer}html[data-theme=xp] .about-intro p{cursor:text}html.xp-dragging,html.xp-dragging *{cursor:url(/xp/cursor-move.png) 9 9,move!important;cursor:image-set(url(/xp/cursor-move.png) 1x,url(/xp/cursor-move@2x.png) 2x) 9 9,move!important}html[data-theme=xp] .about-intro,html[data-theme=xp] .pile{position:relative;z-index:2}html[data-theme=xp] .pile-win .xp-titlebar,html[data-theme=xp] .np-chrome .xp-titlebar{touch-action:none;user-select:none;-webkit-user-select:none}html.xp-dragging{user-select:none;-webkit-user-select:none}.xp-start.pressed{filter:brightness(.85);box-shadow:inset 2px 2px 4px #00000080}.xp-startmenu{position:absolute;left:0;bottom:100%;z-index:80;width:min(380px,calc(100vw - 16px));margin-bottom:2px;font:11px Tahoma,Segoe UI,sans-serif;color:#000;border-radius:7px 7px 0 0;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #1c50c4,3px 3px 10px #00000073;text-shadow:none}.xp-startmenu[hidden]{display:none}.sm-head{display:flex;align-items:center;gap:10px;padding:7px 10px;background:linear-gradient(180deg,#1868ce,#0e60cb 12%,#0e60cb 20%,#1164cf 32%,#1667cf 33%,#1b6cd3 47%,#1e70d9 54%,#2476dc 60%,#297ae0 65%,#3482e3 77%,#3786e5 79%,#428ee9 90%,#4791eb);box-shadow:inset 0 -2px #e8883d}.sm-avatar{width:44px;height:44px;border:2px solid #d8e4f8;border-radius:4px;background:#3f82e0 url(/xp/bliss.webp) center / cover;box-shadow:1px 1px 3px #00000073}.sm-user{font:700 14px Trebuchet MS,Tahoma,sans-serif;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.6)}.sm-cols{display:grid;grid-template-columns:1fr 1fr}.sm-left{padding:6px 4px;background:#fff}.sm-right{padding:6px 4px;background:#d3e5fa;border-left:1px solid #95bdee}.xp-startmenu a,.xp-startmenu button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border:0;background:none;font:inherit;color:inherit;text-align:left;text-decoration:none}.sm-left a,.sm-left button{padding:6px}.sm-left b{display:block;font-weight:700}.sm-left small{display:block;color:#555;font-size:10px}.sm-right a span{font-weight:700;color:#0a246a}.xp-startmenu a:hover,.xp-startmenu button:hover,.xp-startmenu a:focus-visible,.xp-startmenu button:focus-visible{outline:none;background:#316ac5;color:#fff}.xp-startmenu a:hover small,.xp-startmenu a:focus-visible small,.xp-startmenu a:hover span,.xp-startmenu a:focus-visible span{color:#fff}.sm-sep{height:1px;margin:4px 6px;background:linear-gradient(90deg,transparent,#c5c2b2 20%,#c5c2b2 80%,transparent)}.sm-right .sm-sep{background:linear-gradient(90deg,transparent,#95bdee 20%,#95bdee 80%,transparent)}.sm-label{margin:2px 6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5a7bb5}.sm-foot{display:flex;justify-content:flex-end;gap:4px;padding:5px 6px;background:linear-gradient(180deg,#4282d6,#3b85e0 8%,#418ae3 40%,#418ae3 88%,#3a7fd8)}.sm-foot a,.sm-foot button{width:auto;color:#fff}.sm-foot a span,.sm-foot button span{color:#fff;font-weight:400}.sm-foot a:hover,.sm-foot button:hover{background:#ffffff2e}.sm-ico{flex:none;position:relative;width:24px;height:24px;border-radius:3px}.sm-right .sm-ico,.sm-foot .sm-ico{width:20px;height:20px}.ico-in{background:#0a66c2}.ico-in:before{content:"in";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font:700 11px Arial,sans-serif}.ico-code{background:#24292f}.ico-code:before{content:"</>";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font:700 8px monospace}.ico-cal{background:#fff;border:1px solid #7f8fa9;overflow:hidden}.ico-cal:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#d9412b}.ico-cal:after{content:"9";position:absolute;top:5px;right:0;bottom:0;left:0;display:grid;place-items:center;color:#1f2b46;font:700 9px Tahoma,Arial,sans-serif}.ico-logoff{background:linear-gradient(180deg,#f7c84f,#e6a11e);border:1px solid #b07610}.ico-logoff:before{content:"";position:absolute;left:4px;top:6px;width:7px;height:7px;border:2px solid #fff;border-radius:50%}.ico-logoff:after{content:"";position:absolute;left:11px;top:9px;width:6px;height:2px;background:#fff}.nav-xp-ico{display:none}html[data-theme=xp] .nav-xp-ico{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.35))}html[data-theme=xp] .xp-power-ico{display:none}img.sm-ico{object-fit:contain;border-radius:0}html[data-theme=xp] .nav-side>a,html[data-theme=xp] .nav .nav-drop-btn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:3px 4px;font:11px Tahoma,Segoe UI,Verdana,sans-serif;letter-spacing:0;text-transform:none;color:#fff}html[data-theme=xp] .nav .nl>.ch:first-child,html[data-theme=xp] .nav-drop-menu a>.ch:first-child{text-transform:uppercase}html[data-theme=xp] .nav-side>a:after,html[data-theme=xp] .nav .nav-drop-btn:after,html[data-theme=xp] .nav .nav-drop-btn:before{display:none}html[data-theme=xp] .nav-doing,html[data-theme=xp] .nav-contact{margin-right:0}html[data-theme=xp] .nav .nl{padding:1px 4px;text-shadow:1px 1px 1px #000,0 0 3px rgba(0,0,0,.7)}html[data-theme=xp] .nav a.brand .nl span{color:#fff}html[data-theme=xp] .nav-side>a:hover .nl,html[data-theme=xp] .nav-side>a:focus-visible .nl,html[data-theme=xp] .nav .nav-drop-btn:hover .nl,html[data-theme=xp] .nav-drop.open .nav-drop-btn .nl{background:#316ac5;text-shadow:none;outline:1px dotted #fff}html[data-theme=xp] .nav-side>a:hover .nav-xp-ico,html[data-theme=xp] .nav-side>a:focus-visible .nav-xp-ico,html[data-theme=xp] .nav .nav-drop-btn:hover .nav-xp-ico,html[data-theme=xp] .nav-drop.open .nav-xp-ico{filter:drop-shadow(1px 2px 2px rgba(0,0,0,.45)) brightness(.75) sepia(1) hue-rotate(185deg) saturate(4)}html[data-theme=xp] .nav-drop-menu{gap:0;padding-top:8px;align-items:stretch}html[data-theme=xp] .nav-drop-menu:before{top:6px;right:-2px;bottom:-2px;left:-2px;border-radius:0;background:#fff;border:1px solid #aca899;box-shadow:2px 2px 4px #0006;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=xp] .nav-drop-menu a{display:block;min-width:120px;padding:4px 18px;font:11px Tahoma,Segoe UI,sans-serif;letter-spacing:0;text-transform:none;color:#000;text-shadow:none}html[data-theme=xp] .nav-drop-menu a:after{display:none}html[data-theme=xp] .nav-drop-menu a:hover,html[data-theme=xp] .nav-drop-menu a:focus-visible{background:#316ac5;color:#fff}@media (max-width: 720px){html[data-theme=xp] .nav-xp-ico{width:30px;height:30px}}html[data-theme=xp] .nav .nl{max-width:86px;text-align:center;line-height:1.25}@media (min-width: 901px){html[data-theme=xp],html[data-theme=xp] body{height:100%;overflow:hidden}html[data-theme=xp] main.page{padding-top:0}html[data-theme=xp] .about-split{height:calc(100vh - 34px);padding-top:24px;padding-bottom:24px;padding-left:max(clamp(20px,4vw,64px),116px);grid-template-rows:minmax(0,1fr)}html[data-theme=xp] .about-intro{display:flex;flex-direction:column;max-height:100%;align-self:center}html[data-theme=xp] .np-text{flex:1;min-height:0;overflow-y:auto}html[data-theme=xp] .pile{aspect-ratio:auto;height:calc(100vh - 92px)}html[data-theme=xp] .pile-win{width:min(74%,calc((.74 * (100vh - 92px) - 80px) / .75))}html[data-theme=xp] .topbar{position:fixed;top:0;left:0;bottom:34px;width:104px}html[data-theme=xp] .topbar-inner{max-width:none;height:100%;margin:0;display:grid;padding:12px 6px;grid-template-columns:92px;grid-template-rows:repeat(6,minmax(68px,86px));grid-auto-flow:column;justify-content:start;align-content:start;justify-items:center;align-items:start;gap:0 4px}html[data-theme=xp] .nav-side{display:contents}html[data-theme=xp] .nav-side:before,html[data-theme=xp] .nav-side:after{display:none}html[data-theme=xp] .nav-brand,html[data-theme=xp] .nav-contact{justify-self:center}html[data-theme=xp] .nav-drop .nav-drop-menu{top:6px;left:calc(100% - 6px);right:auto;padding-top:0;transform:translate(0)}html[data-theme=xp] .nav-drop.open .nav-drop-menu{transform:translate(0)}html[data-theme=xp] .nav-drop .nav-drop-menu:before{top:-2px;right:-2px;bottom:-2px;left:-2px}html[data-theme=xp] .matrix-toggle.xp-toggle{order:10;width:92px;height:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:3px 4px;border-radius:0}html[data-theme=xp] .xp-toggle-face{display:none}html[data-theme=xp] .xp-toggle .xp-power-ico{display:block}html[data-theme=xp] .xp-toggle-label{display:block;padding:1px 4px;font:11px Tahoma,Segoe UI,sans-serif;color:#fff;text-shadow:1px 1px 1px #000,0 0 3px rgba(0,0,0,.7)}html[data-theme=xp] .xp-toggle:hover .xp-power-ico,html[data-theme=xp] .xp-toggle:focus-visible .xp-power-ico{filter:drop-shadow(1px 2px 2px rgba(0,0,0,.35)) brightness(.75) sepia(1) hue-rotate(185deg) saturate(4)}html[data-theme=xp] .xp-toggle:hover .xp-toggle-label,html[data-theme=xp] .xp-toggle:focus-visible .xp-toggle-label{background:#316ac5;text-shadow:none;outline:1px dotted #fff}html[data-theme=xp] .matrix-toggle.xp-toggle:hover{transform:none}}.xp-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(40px,9vh,90px);background:#000;cursor:none;opacity:0;transition:opacity .25s ease}.xp-boot *{cursor:none!important}.xp-boot.in{opacity:1}.xp-boot.out{opacity:0;transition:opacity .4s ease}.xp-boot-logo{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:min(440px,86vw);padding-top:calc(min(440px,86vw)*.33);font-family:Franklin Gothic Medium,Franklin Gothic,Trebuchet MS,Arial,sans-serif;color:#fff;line-height:1}.xp-boot-flag{position:absolute;top:0;right:6%;width:46%;height:auto}.xb-name{position:relative;font-size:calc(min(440px,86vw)*.052);letter-spacing:.01em}.xb-main{position:relative;margin-top:.06em;font-size:calc(min(440px,86vw)*.165);font-weight:700;letter-spacing:-.035em}.xb-main sup{margin-left:.04em;font-size:.5em;font-weight:400;letter-spacing:0;color:#f2742b;vertical-align:.8em}.xp-boot-bar{position:relative;width:172px;height:18px;overflow:hidden;border:2px solid #b5b5b5;border-radius:5px;background:#000}.xp-boot-bar span{position:absolute;top:2px;left:0;width:9px;height:10px;border-radius:1px;background:linear-gradient(180deg,#a9b8f8,#3c56e0 40%,#2337c4 60%,#5d73ec);animation:xpboot 1.3s linear infinite}.xp-boot-bar span:nth-child(2){margin-left:11px}.xp-boot-bar span:nth-child(3){margin-left:22px}@keyframes xpboot{0%{transform:translate(-36px)}to{transform:translate(176px)}}.boot-hint-on,html[data-theme=xp] .boot-hint-off{display:none}html[data-theme=xp] .boot-hint-on{display:inline}.sea-side,.sea-wbar,.sea-rain,.sea-wet,.sea-city{display:none}html[data-theme=seattle] .sea-city,html[data-theme=seattle] .sea-rain,html[data-theme=seattle] .sea-wet{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges}html[data-theme=seattle] .sea-city,html[data-theme=seattle] .sea-rain{z-index:0}html[data-theme=seattle] .sea-wet{z-index:3}html[data-theme=seattle] main,html[data-theme=seattle] .footer{position:relative;z-index:1}html[data-theme=seattle] main.page{padding:40px clamp(0px,3vw,48px) 0}html[data-theme=seattle] .sea-side{display:block;position:relative;z-index:4;background:#10141c;border-bottom:1px solid var(--line);padding-bottom:16px;font-family:var(--mono)}.sea-me{display:flex;align-items:center;gap:12px;padding:20px 22px 12px}.sea-pic{display:grid;place-items:center;flex:none;width:40px;height:40px;background:linear-gradient(145deg,#1d3f7a,#4c8dff);color:#fff;font-weight:700;font-size:14px}.sea-me b{display:block;font-size:16px;color:#fff}.sea-me small{display:block;font-size:12.5px;color:var(--muted)}.sea-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:0 22px 14px;border-bottom:1px solid var(--line);font-size:12.5px}.sea-links a{color:#c3c9d4}.sea-links a:hover{color:#fff}.sea-leave{padding:3px 8px;border:1px solid var(--line);background:none;color:var(--muted);font:12px var(--mono);cursor:pointer}.sea-leave:hover{border-color:#4c8dff;color:#fff}.sea-sec{padding:12px 12px 0}.sea-sec h4{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:11.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.sea-sec h4:before,.sea-sec h4:after{content:"";flex:1;height:1px;background:var(--line)}.sea-toc a{display:flex;gap:12px;padding:4px 12px;font-size:12.5px;line-height:1.5;color:#c3c9d4;transition:background-color .15s,color .15s}.sea-toc a span{color:var(--muted)}.sea-toc a:hover,.sea-pages a:hover{background:#4c8dff14;color:#fff}.sea-toc a.on{background:#1a2d52;color:#6aa2ff}.sea-toc a.on span{color:#6aa2ff}.sea-group{display:block;padding:6px 12px 2px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#5f687a}.sea-pages{display:flex;gap:4px;padding:0 2px}.sea-pages a{padding:3px 10px;font-size:12.5px;color:#c3c9d4}.sea-row{display:flex;justify-content:space-between;gap:12px;padding:2px 12px;font-size:12.5px;color:var(--fg)}.sea-row span:first-child{color:var(--muted)}.sea-dot{display:inline-block;width:8px;height:8px;margin-right:8px;background:#4c8dff;box-shadow:0 0 8px #4c8dff;vertical-align:0}.sea-ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 12px;font-size:11.5px;letter-spacing:.1em;color:var(--muted)}.sea-ctl b{color:var(--fg);font-weight:400;margin-left:8px}.sea-slide span{flex:none;width:118px;display:flex;justify-content:space-between}.sea-slide input{flex:1;min-width:0;accent-color:#4c8dff}.sea-switch{position:relative;width:40px;height:18px;padding:0;border:0;background:#2a313d;cursor:pointer}.sea-switch i{position:absolute;top:3px;left:4px;width:12px;height:12px;background:#e6e9ef;transition:left .2s}.sea-switch[aria-checked=true]{background:#4c8dff}.sea-switch[aria-checked=true] i{left:24px}@media (max-width: 999px){html[data-theme=seattle] .sea-side{display:none}}@media (min-width: 1000px){html[data-theme=seattle] .topbar{display:none}html[data-theme=seattle] body{padding-left:300px}html[data-theme=seattle] .sea-side{position:fixed;top:0;left:0;bottom:0;width:300px;overflow-y:auto;border-bottom:0;border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line) transparent}}html[data-theme=seattle] #working,html[data-theme=seattle] #building{width:auto;max-width:980px;margin:0 auto;padding-top:24px;padding-bottom:48px}html[data-theme=seattle] .section-head{margin-bottom:26px}html[data-theme=seattle] .section-head h2,html[data-theme=seattle] .section-head h2.serif-head{font:400 clamp(26px,3.4vw,36px) var(--mono);letter-spacing:.02em;color:#f2f4f8}html[data-theme=seattle] .alt-why{max-width:980px;margin:0 auto;font-size:12.5px;color:var(--muted)}html[data-theme=seattle] .alt-why b{color:var(--accent)}html[data-theme=seattle] .job,html[data-theme=seattle] .work-card{position:relative;padding:0 24px 22px;background:#0f131bcc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid #262e3b;box-shadow:6px 6px #2b62c480;scroll-margin-top:28px}html[data-theme=seattle] .jobs{gap:34px}html[data-theme=seattle] .job+.job{border-top:1px solid #262e3b}html[data-theme=seattle] .sea-wbar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;margin:0 -24px 16px;padding:0 8px 0 14px;background:#151a23;border-bottom:1px solid #262e3b;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}html[data-theme=seattle] .sea-wbar>span:first-child{overflow:hidden;text-overflow:ellipsis}.sea-btns{display:flex;gap:5px;flex:none}.sea-btns button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;background:#2a313d;color:#e6e9ef;font:13px var(--mono);cursor:pointer}.sea-btns button:hover{background:#4c8dff;color:#fff}html[data-theme=seattle] .job.sea-folded,html[data-theme=seattle] .work-card.sea-folded{padding-bottom:0}html[data-theme=seattle] .sea-folded>:not(.sea-wbar):not(summary),html[data-theme=seattle] .sea-folded>summary>:not(.sea-wbar){display:none}html[data-theme=seattle] .sea-folded .sea-wbar,html[data-theme=seattle] .work-card.sea-folded .sea-wbar{margin-bottom:0;border-bottom:0}html[data-theme=seattle] .job summary{display:block;padding:0;cursor:default}html[data-theme=seattle] .job-logo,html[data-theme=seattle] .job-chev{display:none}html[data-theme=seattle] .job-co{font-size:17px;font-weight:700;color:#f2f4f8}html[data-theme=seattle] .job summary:hover .job-co{color:#f2f4f8}html[data-theme=seattle] .job-badge{border-radius:0}html[data-theme=seattle] .job-role,html[data-theme=seattle] .job-when{display:inline;font-size:14px;color:var(--muted)}html[data-theme=seattle] .job-when:before{content:" · "}html[data-theme=seattle] .job-body{padding:14px 0 0}html[data-theme=seattle] .job-body p{position:relative;padding-left:30px;max-width:none;font-size:15px;line-height:1.75;color:var(--fg)}html[data-theme=seattle] .job-body p:before{content:"→";position:absolute;left:0;color:var(--accent)}html[data-theme=seattle] .job-body .exp-skills{margin-left:30px}html[data-theme=seattle] .exp-skills li{border-radius:0;background:transparent;font-size:11.5px}html[data-theme=seattle] .job:hover .exp-skills li,html[data-theme=seattle] .work-card:hover .exp-skills li{border-color:#4c8dff8c;color:var(--fg)}html[data-theme=seattle] .work-grid{gap:34px 28px}html[data-theme=seattle] .work-card{padding-left:14px;padding-right:14px}html[data-theme=seattle] .work-card .sea-wbar{margin-left:-14px;margin-right:-14px;margin-bottom:14px}html[data-theme=seattle] .work-shot{border-radius:0;background-color:#0d1119;background-image:linear-gradient(rgba(76,141,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(76,141,255,.08) 1px,transparent 1px);background-size:22px 22px}html[data-theme=seattle] .work-shot-name{font:400 clamp(20px,2.4vw,26px) var(--mono);color:var(--accent)}html[data-theme=seattle] .work-title{font-size:18px;font-weight:700;color:#f2f4f8}html[data-theme=seattle] .work-status:before{border-radius:0}html[data-theme=seattle] .work-status.live:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}html[data-theme=seattle] .work-desc{font-size:14.5px}@media (max-width: 640px){html[data-theme=seattle] main.page{padding-left:12px;padding-right:12px}html[data-theme=seattle] .job{padding:0 16px 18px;box-shadow:4px 4px #2b62c480}html[data-theme=seattle] .job .sea-wbar{margin-left:-16px;margin-right:-16px}html[data-theme=seattle] .work-card{box-shadow:4px 4px #2b62c480}html[data-theme=seattle] .job-when{display:block}html[data-theme=seattle] .job-when:before{content:none}html[data-theme=seattle] .job-body p{padding-left:22px}html[data-theme=seattle] .job-body .exp-skills{margin-left:22px}html[data-theme=seattle] .job,html[data-theme=seattle] .work-card{scroll-margin-top:120px}}html[data-theme=dark] .wins .jobs{gap:28px}html[data-theme=dark] .wins .job+.job{border-top:1px solid rgba(255,255,255,.85)}html[data-theme=dark] .wins .work-grid{gap:32px 28px}html[data-theme=dark] .wins .job,html[data-theme=dark] .wins .work-card{position:relative;padding:0 24px 22px;background:#000;border:1px solid rgba(255,255,255,.85);box-shadow:6px 6px #ffffff24;scroll-margin-top:96px}html[data-theme=dark] .wins .sea-wbar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;margin:0 -24px 16px;padding:0 8px 0 14px;background:#111;border-bottom:1px solid rgba(255,255,255,.85);font:11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#bdbdbd;white-space:nowrap;overflow:hidden}html[data-theme=dark] .wins .sea-wbar>span:first-child{overflow:hidden;text-overflow:ellipsis}html[data-theme=dark] .wins .sea-btns button{background:#262626;color:#fff}html[data-theme=dark] .wins .sea-btns button:hover{background:#fff;color:#000}html[data-theme=dark] .wins .job.sea-folded,html[data-theme=dark] .wins .work-card.sea-folded{padding-bottom:0}html[data-theme=dark] .wins .sea-folded>:not(.sea-wbar):not(summary),html[data-theme=dark] .wins .sea-folded>summary>:not(.sea-wbar){display:none}html[data-theme=dark] .wins .sea-folded .sea-wbar,html[data-theme=dark] .wins .work-card.sea-folded .sea-wbar{margin-bottom:0;border-bottom:0}html[data-theme=dark] .wins .job summary{display:block;padding:0;cursor:default}html[data-theme=dark] .wins .job-logo,html[data-theme=dark] .wins .job-chev{display:none}html[data-theme=dark] .wins .job-co,html[data-theme=dark] .wins .job summary:hover .job-co{font-size:18px;font-weight:700;color:#fff}html[data-theme=dark] .wins .job-badge{border-radius:0;background:#fff;color:#000}html[data-theme=dark] .wins .job-role,html[data-theme=dark] .wins .job-when{display:inline;font-size:15px;color:#a8a8a8}html[data-theme=dark] .wins .job-when:before{content:" · "}html[data-theme=dark] .wins .job-body{padding:14px 0 0}html[data-theme=dark] .wins .job-body p{position:relative;padding-left:30px;max-width:none;font-size:16px;line-height:1.7;color:#f2f2f2}html[data-theme=dark] .wins .job-body p:before{content:"→";position:absolute;left:0;color:#fff}html[data-theme=dark] .wins .job-body .exp-skills{margin-left:30px}html[data-theme=dark] .wins .exp-skills li{border-radius:0;border-color:#ffffff4d;color:#cfcfcf}html[data-theme=dark] .wins .job:hover .exp-skills li,html[data-theme=dark] .wins .work-card:hover .exp-skills li{border-color:#fff;color:#fff}html[data-theme=dark] .wins .work-card{padding-left:14px;padding-right:14px}html[data-theme=dark] .wins .work-card .sea-wbar{margin-left:-14px;margin-right:-14px;margin-bottom:14px}html[data-theme=dark] .wins .work-shot{border-radius:0;border-color:#ffffff4d;background-color:#0a0a0a;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px)}html[data-theme=dark] .wins .work-card:hover .work-shot{border-color:#fff}html[data-theme=dark] .wins .work-shot-name{color:#8a8a8a}html[data-theme=dark] .wins .work-title{color:#fff}html[data-theme=dark] .wins .work-status:before{border-radius:0;background:#6b6b6b;box-shadow:none}html[data-theme=dark] .wins .work-status.live:before{background:#fff}html[data-theme=dark] .wins .work-desc{color:#a8a8a8}@media (max-width: 640px){html[data-theme=dark] .wins .job{padding:0 16px 18px;box-shadow:4px 4px #ffffff24}html[data-theme=dark] .wins .job .sea-wbar{margin-left:-16px;margin-right:-16px}html[data-theme=dark] .wins .work-card{box-shadow:4px 4px #ffffff24}html[data-theme=dark] .wins .job-when{display:block}html[data-theme=dark] .wins .job-when:before{content:none}html[data-theme=dark] .wins .job-body p{padding-left:22px}html[data-theme=dark] .wins .job-body .exp-skills{margin-left:22px}}html[data-theme=xbox] body{background-image:radial-gradient(50% 40% at 18% 12%,rgba(150,160,150,.28),transparent 70%),radial-gradient(40% 30% at 72% 8%,rgba(255,255,255,.07),transparent 70%),radial-gradient(45% 40% at 86% 82%,rgba(124,208,59,.14),transparent 70%),linear-gradient(#242724,#0d0e0d);background-attachment:fixed}html[data-theme=xbox] body:before{content:"";position:fixed;left:-20vmax;top:50vh;width:70vmax;height:38vmax;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,rgba(124,208,59,.12),transparent);filter:blur(24px);animation:xb-drift 24s ease-in-out infinite alternate}@keyframes xb-drift{to{transform:translate(70vw,-40vh) scale(1.25)}}html[data-theme=xbox] main,html[data-theme=xbox] .footer{position:relative;z-index:1}.xb-pic,.xb-clock,.xb-game,.xb-foot,.xb-hints,.ach-icon,.ach-name,.ach-g{display:none}html[data-theme=xbox] .section-head{align-items:center;margin-bottom:14px}html[data-theme=xbox] .section-head h2{font:600 clamp(20px,2.4vw,24px) var(--dash);letter-spacing:0;color:#fff}html[data-theme=xbox] .xb-clock{display:block;font:400 clamp(16px,2vw,20px) var(--dash);color:#fff}html[data-theme=xbox] .xb-pic,html[data-theme=xbox] .xb-game-pic{display:grid;place-items:center;border-radius:2px;background:linear-gradient(145deg,#ffe45c,#e0b400);color:#3a2f00;font:700 15px var(--dash);letter-spacing:-.02em;box-shadow:inset 0 1px #fff9,0 0 0 2px #ffffffd9}html[data-theme=xbox] .xb-pic{width:36px;height:36px}html[data-theme=xbox] .journal{grid-template-columns:minmax(0,1fr);gap:0;border-radius:4px;overflow:hidden;background:#dcdcdc;box-shadow:0 0 0 1px #fff9,0 24px 60px -24px #000000d9}html[data-theme=xbox] .xb-game{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 18px 8px 8px;background:linear-gradient(#f7f7f7,#e3e3e3);border-bottom:1px solid #c2c2c2;font-family:var(--dash);color:#333}html[data-theme=xbox] .xb-game-pic{width:48px;height:48px;font-size:18px;box-shadow:inset 0 1px #fff9}.xb-game-text b{display:block;font-size:17px;font-weight:600}.xb-game-text small{display:block;font-size:14px;color:#555}.xb-score,.ach-g{align-items:center;gap:6px;font:17px var(--dash);color:#333;white-space:nowrap;font-variant-numeric:tabular-nums}.xb-score{display:flex}.g-coin{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1.6px solid currentColor;font:700 9px/1 var(--dash)}html[data-theme=xbox] .entry{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"icon body score" "icon date score";gap:2px 14px;padding:8px 18px 10px 8px;align-items:start;background:linear-gradient(#f4f4f4,#e0e0e0);border-bottom:1px solid #c2c2c2;color:#333;outline:none;transition:background .15s}html[data-theme=xbox] .entry.sel{background:linear-gradient(#8ae040,#4ea514);color:#fff}html[data-theme=xbox] .ach-icon{grid-area:icon;position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:2px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#95e04f,#3f8f10);box-shadow:inset 0 1px #ffffff80}html[data-theme=xbox] .ach-icon:after{content:"";position:absolute;top:0;right:0;bottom:50%;left:0;background:linear-gradient(#ffffff59,#ffffff0d)}html[data-theme=xbox] .entry.sel .ach-icon{box-shadow:0 0 0 2px #ffffffd9}.ach-icon svg{width:28px;height:28px;display:block}.ach-lock{display:none}html[data-theme=xbox] .entry.locked .ach-icon{background:linear-gradient(145deg,#c9cdc7,#8f958d)}html[data-theme=xbox] .entry.locked .ach-trophy{display:none}html[data-theme=xbox] .entry.locked .ach-lock{display:block}html[data-theme=xbox] .entry.unlocked .ach-icon{animation:ach-unlock .7s var(--ease)}@keyframes ach-unlock{0%{transform:scale(.7);box-shadow:0 0 #7cd03be6}55%{transform:scale(1.12);box-shadow:0 0 0 10px #7cd03b00}to{transform:scale(1)}}html[data-theme=xbox] .entry .body{grid-area:body}html[data-theme=xbox] .ach-name{display:block;font:600 17px var(--dash);color:inherit}html[data-theme=xbox] .entry .body .tag{display:none}html[data-theme=xbox] .entry .body p{margin-top:2px;font:400 14.5px/1.45 var(--dash);letter-spacing:0;color:#444}html[data-theme=xbox] .entry .date{grid-area:date;padding-top:4px;font:13px var(--dash);letter-spacing:0;color:#5a5a5a}html[data-theme=xbox] .ach-g{display:flex;grid-area:score;align-self:center}html[data-theme=xbox] .entry.sel .body p,html[data-theme=xbox] .entry.sel .date,html[data-theme=xbox] .entry.sel .ach-g{color:#fff}html[data-theme=xbox] .entry.locked:not(.sel) .ach-name,html[data-theme=xbox] .entry.locked:not(.sel) .ach-g{color:#7a7a7a}html[data-theme=xbox] .entry.locked .date{font-size:0}html[data-theme=xbox] .entry.locked .date:before{content:"Locked";font-size:13px}html[data-theme=xbox] .memory{margin-top:12px}html[data-theme=xbox] .memory figure{background:#fff;border-color:#0000001f}html[data-theme=xbox] .memory figcaption{color:#555}html[data-theme=xbox] .xb-foot{display:block;padding:3px 16px 5px;text-align:right;background:linear-gradient(#ececec,#d8d8d8);color:#6a6a6a;font:14px var(--dash);letter-spacing:.3em}html[data-theme=xbox] .xb-hints{display:flex;flex-wrap:wrap;gap:8px 22px;padding:14px 4px 0;font:15px var(--dash);color:#eee}.xb-hints span,.xb-hints a,.xb-hints button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.xb-hints span{cursor:default}.xb-hints a:hover,.xb-hints button:hover{text-decoration:underline;text-underline-offset:3px}.xb-hints i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font:normal 700 11px/1 var(--dash);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:inset 0 1px #ffffff80}.xb-hints .b-a{background:radial-gradient(circle at 35% 30%,#a8ec6c,#4ea514 60%)}.xb-hints .b-b{background:radial-gradient(circle at 35% 30%,#ff8a7a,#c8261a 60%)}.xb-hints .b-y{background:radial-gradient(circle at 35% 30%,#ffe48a,#d9a300 60%)}@media (max-width: 560px){html[data-theme=xbox] .entry{grid-template-columns:40px minmax(0,1fr) auto;gap:2px 10px;padding:8px 12px 10px 8px}html[data-theme=xbox] .xb-game{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:8px 12px 8px 8px}html[data-theme=xbox] .ach-icon,html[data-theme=xbox] .xb-game-pic{width:40px;height:40px}.ach-icon svg{width:24px;height:24px}html[data-theme=xbox] .ach-name,.xb-game-text b{font-size:15.5px}html[data-theme=xbox] .entry .body p{font-size:14px}.xb-score,.ach-g{font-size:15px}html[data-theme=xbox] .xb-hints{font-size:13.5px;gap:8px 16px}}html[data-theme=xbox] .xbox-toggle{box-shadow:0 0 0 1.5px #7cd03b,0 0 14px #7cd03b8c}.xbox-toast{position:fixed;left:50%;bottom:28px;z-index:250;display:flex;align-items:center;padding:6px;max-width:calc(100vw - 32px);border-radius:999px;background:linear-gradient(#3b3e3a,#1b1d1a);box-shadow:0 16px 34px -12px #0009,inset 0 1px #ffffff2e;color:#fff;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;opacity:0;transform:translate(-50%) scale(.3);transition:transform .3s cubic-bezier(.3,1.4,.5,1),opacity .2s}.xbox-toast.pop{opacity:1;transform:translate(-50%) scale(1)}.xbox-toast.gone{opacity:0;transform:translate(-50%) scale(.6)}.xt-orb{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c2f58c,#5bb21b 55%,#2d6608);box-shadow:0 0 14px #7cd03bb3,inset 0 1px #fff9}.xt-orb svg{width:24px;height:24px}.xt-text{display:flex;flex-direction:column;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .45s var(--ease),padding .45s var(--ease)}.xbox-toast.open .xt-text{max-width:min(340px,calc(100vw - 110px));padding:0 22px 0 14px}.xt-text small{font-size:11px;opacity:.75}.xt-text b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.xbox-boot,.xbox-off{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;overflow:hidden;opacity:0;transition:opacity .3s ease}.xbox-boot{background:radial-gradient(circle at 50% 45%,#fff,#e6e9e3 70%)}.xbox-boot.in,.xbox-off.in{opacity:1}.xbox-boot.out{opacity:0;transition-duration:.5s}.xbox-boot .rb{position:absolute;left:50%;top:50%;border-radius:50%;border:16px solid transparent;border-top-color:#7cd03b99;border-left-color:#7cd03b40;filter:blur(5px);opacity:0;animation:xb-swirl 1.9s cubic-bezier(.2,.7,.2,1) forwards}.xbox-boot .rb1{width:50vmin;height:50vmin}.xbox-boot .rb2{width:80vmin;height:80vmin;animation-delay:.12s;animation-direction:reverse}.xbox-boot .rb3{width:115vmin;height:115vmin;animation-delay:.24s}@keyframes xb-swirl{0%{transform:translate(-50%,-50%) rotate(-220deg) scale(.6);opacity:0}40%{opacity:1}to{transform:translate(-50%,-50%) rotate(150deg) scale(1.05);opacity:0}}.xb-ring{position:relative;width:120px;height:120px;grid-area:1 / 1}.xb-ring .q{fill:none;stroke:#c9cec6;stroke-width:7;stroke-linecap:round;transition:stroke .25s,filter .25s}.xb-ring .pw{fill:none;stroke:#8a9087;stroke-width:5;stroke-linecap:round}.xbox-boot.lit .q{stroke:#7cd03b;filter:drop-shadow(0 0 6px #7cd03b)}.xbox-boot.lit .q1{transition-delay:.15s}.xbox-boot.lit .q2{transition-delay:.3s}.xbox-boot.lit .q3{transition-delay:.45s}.xb-mark{grid-area:1 / 1;transform:translateY(104px);opacity:0;font:300 34px Segoe UI,Helvetica Neue,Arial,sans-serif;color:#5f675d;transition:opacity .5s ease,transform .5s var(--ease)}.xb-mark b{margin-left:6px;font-weight:600;color:#4f9a14}.xbox-boot.mark .xb-mark{opacity:1;transform:translateY(92px)}.xbox-off{background:#000000e0}.xbox-off.out{opacity:0;transition-duration:.4s}.xbox-off .q{stroke:#7cd03b;filter:drop-shadow(0 0 6px #7cd03b)}.xbox-off.down .q{stroke:#2a2e29;filter:none}.xbox-off.down .q2{transition-delay:.12s}.xbox-off.down .q1{transition-delay:.24s}.xbox-off.down .q0{transition-delay:.36s}.xbox-off .pw{stroke:#4a4f48}@media (prefers-reduced-motion: reduce){html[data-theme=xbox] body:before{animation:none}html[data-theme=xbox] .entry.unlocked .ach-icon{animation:none}}.alt-why,.alt-why-x{display:none}html:not([data-theme=dark]) .alt-why{display:block}html .alt-why.dismissed{display:none}.alt-why{margin:0 auto;font-size:13px;line-height:1.5}html[data-theme=hacker] .hero .alt-why{position:absolute;top:108px;right:clamp(16px,3vw,56px);z-index:3;width:min(300px,calc(100% - 32px));text-align:right;font-family:var(--mono);font-size:12.5px;line-height:1.6;letter-spacing:.04em;color:var(--fg)}html[data-theme=hacker] .alt-why b{display:block;color:var(--accent);font-weight:700}@media (max-width: 720px){html[data-theme=hacker] .hero .alt-why{top:124px}}.era-note{display:none}html[data-theme=dark] .hero .era-note{display:block;position:absolute;top:108px;right:clamp(16px,3vw,56px);z-index:3;width:min(300px,calc(100% - 32px));margin:0;text-align:right;font-family:var(--mono);font-size:12.5px;line-height:1.6;letter-spacing:.04em;color:var(--muted)}.era-note b{display:block;margin-bottom:4px;color:var(--fg);font-weight:700}.era-note kbd{display:inline-block;min-width:1.6em;padding:0 .35em;border:1px solid var(--accent);border-radius:4px;color:var(--accent);font:inherit;font-weight:700;text-align:center;box-shadow:0 2px 0 var(--accent-soft)}.era-note .hint-touch{display:none}@media (hover: none){.era-note .hint-key{display:none}.era-note .hint-touch{display:inline}}html[data-theme=dark] .hero .era-note{text-shadow:0 0 6px #000,0 0 2px #000,0 0 12px #000}@media (max-width: 720px){html[data-theme=dark] .hero .era-note{top:124px}}.era-go{margin:22px 0 0;padding:0 16px;font-family:var(--mono);font-size:clamp(10px,3.2vw,13px);font-weight:700;line-height:1.6;letter-spacing:.06em;text-align:center;white-space:nowrap;color:var(--accent)}.era-go s{opacity:.55}.era-go a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.era-go a:hover{color:var(--accent)}.knot-note{display:none}html[data-theme=dark] .hero .knot-note,html[data-theme=hacker] .hero .knot-note{display:block;position:absolute;bottom:32px;left:clamp(16px,3vw,56px);z-index:3;width:min(300px,calc(100% - 32px));margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.6;letter-spacing:.04em;color:var(--muted)}.knot-note b{display:block;margin-bottom:4px;color:var(--accent);font-weight:700}html[data-theme=hacker] .hero .knot-note{color:var(--fg)}html[data-theme=xp] .alt-why{position:relative;z-index:40;width:calc(100% - 32px);max-width:440px;margin:12px auto 0;padding:8px 30px 9px 34px;background:#ffffe1;color:#000;border:1px solid #000;border-radius:7px;box-shadow:2px 3px 6px #00000059;font:11px/1.45 Tahoma,Segoe UI,sans-serif}html[data-theme=xp] .alt-why:before{content:"i";position:absolute;left:9px;top:9px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8bbcff,#1f5fd6);color:#fff;font:700 italic 11px/16px Georgia,serif;text-align:center}html[data-theme=xp] .alt-why b{display:block;margin-bottom:1px;font-weight:700}html[data-theme=xp] .alt-why-x{position:absolute;top:5px;right:6px;display:grid;place-items:center;width:16px;height:16px;padding:0;border:1px solid transparent;border-radius:3px;background:none;color:#000;font:13px/1 Tahoma,sans-serif;cursor:pointer}html[data-theme=xp] .alt-why-x:hover{border-color:#8a8a7a;background:#f4f4cf}@media (min-width: 901px){html[data-theme=xp] .alt-why{position:fixed;top:14px;left:calc(50% + 52px);width:min(440px,calc(100vw - 260px));margin:0;transform:translate(-50%)}}html[data-theme=xbox] .alt-why{font:14px var(--dash);color:#d4d8d1}html[data-theme=xbox] .alt-why:before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border:2px solid #7cd03b;border-radius:50%;vertical-align:0;box-shadow:0 0 6px #7cd03bcc}html[data-theme=xbox] .alt-why b{color:#fff;font-weight:600}
