:root{--paper:#eef1f5;--sheet:#f8fafc;--ink:#14213a;--muted:#566278;--line:#cdd5e1;--accent:#2747d8;--accent-soft:#dce3fb;--ok:#1f7a55;--warn:#9a5b00;--ease-out:cubic-bezier(.16,1,.3,1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0d1422;--sheet:#121b2c;--ink:#e4e9f2;--muted:#93a0b6;--line:#24324a;--accent:#7d95ff;--accent-soft:#1c2850;--ok:#5bc79a;--warn:#e3a84a;color-scheme:dark}}:root[data-theme=dark]{--paper:#0d1422;--sheet:#121b2c;--ink:#e4e9f2;--muted:#93a0b6;--line:#24324a;--accent:#7d95ff;--accent-soft:#1c2850;--ok:#5bc79a;--warn:#e3a84a;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--f-body);--grid:color-mix(in srgb,var(--line) 14%,var(--paper));background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;margin:0}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:1080px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto;padding-block:24px 64px;position:relative}.mono{font-family:var(--f-mono)}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{z-index:20;background:var(--ink);color:var(--sheet);font:500 13px var(--f-mono);padding:8px 12px;text-decoration:none;position:absolute;top:-48px;left:16px}.skip:focus{top:8px}.spec{font:500 12px/1.4 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-bottom:12px;display:flex}.spec a{color:inherit;text-decoration:none}.spec .status{color:var(--ok)}.spec .status:before{content:"";background:var(--ok);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.topnav{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-block:10px;display:flex;position:sticky;top:0}.topnav ul{font:500 13px var(--f-mono);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.topnav ul a{color:var(--ink);background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1.5px no-repeat;transition:background-size .3s var(--ease-out);padding:4px 0;text-decoration:none}.topnav ul a:hover,.topnav ul a[aria-current=page]{background-size:100% 1.5px}.tools{align-items:center;gap:8px;display:flex}.tool{font:500 12px var(--f-mono);border:1.5px solid var(--line);background:var(--sheet);color:var(--ink);cursor:pointer;padding:6px 10px;line-height:1.2;text-decoration:none}.tool:hover{border-color:var(--ink)}.theme-icon{vertical-align:-1px;width:12px;height:12px;transition:transform .5s var(--ease-out);background:linear-gradient(90deg,currentColor 50%,#0000 50%);border:1.5px solid;border-radius:50%;margin-right:6px;display:inline-block}:root[data-theme=dark] .theme-icon{transform:rotate(180deg)}.progress{background:var(--accent);transform-origin:0;z-index:30;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.hero{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:28px;padding-block:48px 40px;display:grid}.hero h1{letter-spacing:-.03em;font-size:clamp(44px,8vw,92px);font-weight:800}.hero h1 .line{display:block}.hero h1 span.accent{color:var(--accent)}.hero p{max-width:34em;color:var(--muted);margin:18px 0 0;font-size:19px}.hero p strong{color:var(--ink);font-weight:600}.cta{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.btn{border:1.5px solid var(--ink);color:var(--ink);font:500 14px var(--f-mono);background:var(--sheet);cursor:pointer;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out);align-items:center;gap:8px;padding:10px 16px;text-decoration:none;display:inline-flex}.btn.primary{background:var(--ink);color:var(--sheet)}.btn:hover{box-shadow:3px 3px 0 var(--accent);transform:translate(-2px,-2px)}.btn:active{box-shadow:0 0 0 var(--accent);transform:translate(0)}.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.facts{border:1.5px solid var(--ink);background:var(--sheet);font:13px/1.5 var(--f-mono);margin:0}.facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 14px;display:flex}.facts div:last-child{border-bottom:0}.facts dt{color:var(--muted)}.facts dd{text-align:right;overflow-wrap:anywhere;margin:0}section{border-top:1px solid var(--line);padding-block:44px}.sec-head{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.sec-head .idx{font:500 13px var(--f-mono);color:var(--accent)}.sec-head h2,.sec-head h1{letter-spacing:-.02em;font-size:clamp(28px,4vw,40px);font-weight:700}.sec-head p{color:var(--muted);flex-basis:100%;margin:4px 0 0;padding-right:max(0px,100% - 62ch)}.sec-head .more{font:500 13px var(--f-mono);margin-left:auto}.skills{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.skill{background:var(--sheet);padding:18px}.skill h3{margin-bottom:10px;font-size:17px;font-weight:700}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{font:12px/1 var(--f-mono);border:1px solid var(--line);color:var(--ink);background:var(--paper);padding:6px 8px;transition:border-color .2s,color .2s}.skill:hover .tags li{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.prod{background:var(--sheet);border:1.5px solid var(--ink);min-width:0;transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out);flex-direction:column;gap:12px;padding:22px;display:flex}.prod:hover{box-shadow:5px 5px 0 var(--accent-soft);transform:translate(-2px,-2px)}.prod.lead{box-shadow:6px 6px 0 var(--accent-soft);border-width:2px;grid-column:1/-1}.prod.lead:hover{box-shadow:10px 10px 0 var(--accent-soft)}.prod-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.prod h3{font-size:24px;font-weight:700}.prod.lead h3{font-size:34px}.pill{font:500 11px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid;padding:6px 8px}.pill.live{color:var(--ok)}.pill.proto{color:var(--accent)}.pill.wip{color:var(--muted)}.pill.draft{color:var(--warn)}.prod p{color:var(--muted);margin:0}.prod ul.points{color:var(--ink);margin:0;padding-left:18px}.prod ul.points li{margin-bottom:4px}.metric{border-top:1px dashed var(--line);flex-wrap:wrap;gap:28px;padding-top:12px;display:flex}.metric b{font:700 26px var(--f-display);font-variant-numeric:tabular-nums;display:block}.metric span{font:12px var(--f-mono);color:var(--muted)}.links{font:13px var(--f-mono);flex-wrap:wrap;gap:16px;margin-top:auto;display:flex}.placeholder{color:var(--warn);border-bottom:1px dashed}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{font:500 13px var(--f-mono);border:1.5px solid var(--line);background:var(--sheet);color:var(--ink);cursor:pointer;padding:8px 12px;transition:background-color .2s,color .2s,border-color .2s}.chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--sheet)}.sets{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.set{background:var(--sheet);border:1px solid var(--line);flex-direction:column;min-width:0;transition:border-color .25s;display:flex}.set:hover{border-color:var(--ink)}.set-bar{border-bottom:1px solid var(--line);font:12px var(--f-mono);color:var(--muted);justify-content:space-between;gap:8px;padding:10px 14px;display:flex}.kind{color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.set-body{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex}.set h3{font:500 15px/1.3 var(--f-mono);word-break:break-word}.set h3 a{color:var(--ink);text-decoration:none}.set h3 a:hover{color:var(--accent)}.set p{color:var(--muted);margin:0;font-size:14px}pre.snip{background:var(--paper);border-left:2px solid var(--accent);font:12px/1.5 var(--f-mono);white-space:pre-wrap;color:var(--ink);margin:0;padding:10px 12px;overflow-x:auto}.set-foot{border-top:1px solid var(--line);font:13px var(--f-mono);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.set-foot .l{gap:12px;display:flex}.copy{font:12px var(--f-mono);border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:5px 9px}.copy:hover{border-color:var(--ink)}.note,.empty{font:13px var(--f-mono);color:var(--muted);margin-top:14px}.empty{border:1px dashed var(--line);text-align:center;background:var(--sheet);margin:0;padding:22px}.market{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.item{background:var(--sheet);border:1.5px solid var(--ink);min-width:0;transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out);flex-direction:column;display:flex;position:relative}.item:hover{box-shadow:5px 5px 0 var(--accent);transform:translate(-2px,-2px)}.item .set-bar{border-bottom-color:var(--ink)}.item-title{font-size:21px;font-weight:700}.item-title a{color:var(--ink);text-decoration:none}.item-title a:after{content:"";position:absolute;inset:0}.item .set-foot{border-top-color:var(--ink)}.price{font:700 20px var(--f-display);font-variant-numeric:tabular-nums}.market-detail{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.buybox{background:var(--sheet);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--accent-soft);flex-direction:column;gap:14px;padding:20px;display:flex;position:sticky;top:76px}.buybox .price{font-size:34px}.buybox p{color:var(--muted);margin:0;font-size:14px}.buybox .legal{font:12px/1.6 var(--f-mono);flex-direction:column;gap:2px;display:flex}.list-check{gap:6px;margin:0;padding:0;list-style:none;display:grid}.list-check li{padding-left:22px;position:relative}.list-check li:before{content:"→";color:var(--accent);font-family:var(--f-mono);position:absolute;left:0}.video{aspect-ratio:16/9;background:var(--ink);border:1.5px solid var(--ink);color:var(--sheet);text-decoration:none;display:block;position:relative;overflow:hidden}.video img,.video iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.video img{opacity:.85;transition:opacity .3s,transform .6s var(--ease-out)}.video:hover img{opacity:1;transform:scale(1.02)}.video .play{background:var(--accent);width:68px;height:48px;font:700 20px var(--f-mono);color:#fff;place-items:center;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.video .cap{font:12px var(--f-mono);color:#fff;background:#0009;padding:8px 12px;position:absolute;bottom:0;left:0;right:0}.tl{gap:0;margin:0;padding:0;list-style:none;display:grid}.tl li{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:20px;padding-block:16px;display:grid;position:relative}.tl time{font:13px var(--f-mono);color:var(--accent);padding-top:3px}.tl h3{font-size:19px;font-weight:700}.tl p{color:var(--muted);max-width:65ch;margin:4px 0 0}.contact{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.contact h2{letter-spacing:-.02em;font-size:clamp(32px,5vw,52px);font-weight:800}.contact .lead{color:var(--muted);max-width:44ch}.contact .facts a{color:var(--accent)}.reveal-mail{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}footer{border-top:1px solid var(--ink);font:12px var(--f-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:16px;display:flex}footer nav{flex-wrap:wrap;gap:12px;display:flex}footer a{color:var(--muted)}.page-head{flex-direction:column;gap:12px;padding-block:40px 24px;display:flex}.page-head h1{letter-spacing:-.03em;font-size:clamp(34px,6vw,64px);font-weight:800}.page-head .meta{font:13px var(--f-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.page-head .lead{color:var(--muted);max-width:44em;margin:0;font-size:19px}.back{font:500 13px var(--f-mono);text-decoration:none}.prose{max-width:72ch;font-size:17px}.prose h2{margin:1.6em 0 .5em;font-size:28px}.prose h3{margin:1.4em 0 .4em;font-size:21px}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose code{font:.88em var(--f-mono);background:var(--sheet);border:1px solid var(--line);padding:1px 5px}.prose pre{background:var(--sheet);border:1px solid var(--line);border-left:2px solid var(--accent);font:13px/1.6 var(--f-mono);margin:0 0 1.2em;padding:14px 16px;overflow-x:auto}.prose pre code{font:inherit;background:0 0;border:0;padding:0}.prose blockquote{border-left:3px solid var(--warn);background:var(--sheet);color:var(--muted);margin:0 0 1em;padding:8px 16px}.prose img{max-width:100%;height:auto}.prose a{overflow-wrap:anywhere}.posts{margin:0;padding:0;list-style:none}.posts li{border-bottom:1px solid var(--line)}.posts a{color:var(--ink);grid-template-columns:140px minmax(0,1fr);gap:20px;padding-block:18px;text-decoration:none;display:grid}.posts a:hover h2{color:var(--accent)}.posts h2{font-size:22px;font-weight:700;transition:color .2s}.posts p{color:var(--muted);margin:4px 0 0}.posts time{font:13px var(--f-mono);color:var(--accent);padding-top:4px}.prompt-full{position:relative}.prompt-full .copy{background:var(--sheet);position:absolute;top:8px;right:8px}.draft-banner{font:500 12px var(--f-mono);color:var(--warn);border:1px dashed;padding:6px 10px;display:inline-block}.token.comment,.token.prolog{color:var(--muted);font-style:italic}.token.keyword,.token.boolean,.token.important{color:var(--accent)}.token.string,.token.attr-value{color:var(--ok)}.token.number,.token.constant{color:var(--warn)}.token.function,.token.class-name{color:var(--ink);font-weight:600}.token.punctuation,.token.operator{color:var(--muted)}@media (prefers-reduced-motion:no-preference){.hero h1 .line{animation:rise .9s var(--ease-out) both}.hero h1 .line:nth-child(2){animation-delay:80ms}.hero p,.hero .cta{animation:rise .9s var(--ease-out) .16s both}.hero .facts div{animation:slide .7s var(--ease-out) both}.hero .facts div:first-child{animation-delay:.2s}.hero .facts div:nth-child(2){animation-delay:.26s}.hero .facts div:nth-child(3){animation-delay:.32s}.hero .facts div:nth-child(4){animation-delay:.38s}.hero .facts div:nth-child(5){animation-delay:.44s}.spec .status:before{animation:2.4s ease-in-out infinite pulse}.reveal-pending{opacity:0;transform:translateY(28px)}@supports (animation-timeline:scroll()){.progress{animation:linear both grow scroll(root)}}@view-transition{navigation:auto}::view-transition-old(root){animation:.18s ease-in both fade-out}::view-transition-new(root){animation:.32s var(--ease-out) both rise-sm}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes rise-sm{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-out{to{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes grow{to{transform:scaleX(1)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent)}50%{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.prod:hover,.item:hover{transform:none}}@media (width<=860px){.hero,.contact,.market-detail{grid-template-columns:1fr}.skills,.sets,.market{grid-template-columns:repeat(2,minmax(0,1fr))}.buybox{position:static}}@media (width<=560px){.skills,.products,.sets,.market{grid-template-columns:1fr}.tl li,.posts a{grid-template-columns:1fr;gap:4px}.prod.lead h3{font-size:28px}}@media print{.topnav,.progress,.cta,.toolbar,.copy{display:none}body{background:#fff}}.small{font-size:13px}
