:root{--ink:#050a12;--ink-2:#0a1420;--glass:#101e2a8c;--glass-strong:#0c1620c7;--line:#bee1e11f;--line-strong:#bee1e138;--cream:#f1ece2;--muted:#98a9b2;--teal:#7cc6bf;--teal-deep:#3f958f;--red:#e0473f;--f-display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;--f-body:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--f-kanji:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--radius:18px;--gutter:max(20px, env(safe-area-inset-left,0px));--ease:cubic-bezier(.2, .7, .1, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-anchor:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{min-height:100vh;font:400 16px/1.6 var(--f-body);color:var(--cream);background-color:var(--ink);background-image:radial-gradient(circle at 78% 24%, var(--red) 0 7.6vh, transparent 7.7vh), radial-gradient(60vh 30vh at 78% 28%, #e0473f2e, transparent 70%), linear-gradient(to bottom, #04080f 0%, #0b1a24 26%, #20403f 29.9%, #0a1620 30%, #050a12 100%);background-attachment:fixed;margin:0;overflow-x:clip}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}::selection{background:var(--teal);color:var(--ink)}.scene{opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease);z-index:0;display:block;position:fixed;inset:0}.scene.is-ready{opacity:1}body.over-key{cursor:pointer}.bar{top:max(14px, env(safe-area-inset-top,0px));padding-inline:var(--gutter) max(20px, env(safe-area-inset-right,0px));z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;left:0;right:0}.capsule{pointer-events:auto;background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.3);font:500 13px/1 var(--f-mono);border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex}.capsule a,.capsule button{color:var(--cream);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 12px;text-decoration:none;transition:background .2s}.capsule a:hover,.capsule button:hover{background:#ffffff12}.mark{align-items:center;gap:8px;display:flex}.mark i{background:var(--red);width:9px;height:9px;box-shadow:0 0 10px var(--red);border-radius:50%}.mark.is-back i{width:8px;height:8px;box-shadow:none;border:solid var(--red);background:0 0;border-width:0 0 2px 2px;border-radius:1px;margin:0 1px 0 4px;transform:rotate(45deg)}.sound[aria-pressed=true]{color:var(--teal)}.sound .on{display:none}.sound[aria-pressed=true] .on{display:inline}.sound[aria-pressed=true] .off{display:none}@media (width<=720px){.bar nav{display:none}}main{z-index:1;position:relative}.stop{min-height:100vh;padding-inline:var(--gutter) max(20px, env(safe-area-inset-right,0px));align-items:center;padding-block:110px 80px;display:grid;position:relative}.stop.tall{min-height:100vh}.inner{width:100%;max-width:1240px;margin-inline:auto;display:flex}.inner.right{justify-content:flex-end}.inner.center{justify-content:center}.tagline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.team-tag{font:600 10px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cream);border:1px solid var(--line-strong);white-space:nowrap;border-radius:5px;padding:3px 6px}.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}.hero{align-items:end;padding-block-end:12vh}.hero .inner{flex-direction:column;gap:22px;max-width:1240px}.hero h1{font:800 clamp(64px, 11vw, 168px)/.84 var(--f-display);font-variation-settings:"wdth" 78, "opsz" 96;letter-spacing:-.035em;text-wrap:balance;margin:0}.hero h1 span{display:block}.hero h1 .last{color:#0000;-webkit-text-stroke:1.5px var(--cream)}.hero .lede{max-width:30ch;color:var(--cream);margin:0;font-size:clamp(18px,1.6vw,21px);line-height:1.45}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chips li{font:500 12px/1 var(--f-mono);border:1px solid var(--line-strong);color:var(--muted);background:#050a1266;border-radius:999px;padding:7px 10px}.cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{font:500 14px/1 var(--f-body);border:1px solid var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(12px);transition:border-color .2s, transform .3s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:12px 18px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--teal);transform:translateY(-2px)}.btn.primary{background:var(--cream);color:var(--ink);border-color:var(--cream)}.hint{font:400 13px/1.4 var(--f-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}kbd{font:500 12px/1 var(--f-mono);background:var(--cream);color:var(--teal-deep);border-radius:6px;padding:4px 7px 5px;box-shadow:0 2px #bdb7aa}.scroll-cue{bottom:28px;right:max(20px, env(safe-area-inset-right,0px));font:500 12px/1 var(--f-mono);color:var(--muted);letter-spacing:.1em;writing-mode:vertical-rl;position:absolute}.panel{border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(1.25);gap:16px;width:min(100%,470px);padding:30px;display:grid;position:relative;box-shadow:0 30px 80px #00000059}.panel.wide{width:min(100%,640px)}.panel h2{font:750 clamp(40px, 4.6vw, 60px)/.95 var(--f-display);font-variation-settings:"wdth" 82;letter-spacing:-.02em;margin:0}.panel h3{font:650 19px/1.25 var(--f-display);margin:0}.panel p{color:#c9d3d6;margin:0}.kanji{font:400 15px/1 var(--f-mono);color:var(--muted);align-items:baseline;gap:10px;display:flex}.kanji b{font:700 54px/1 var(--f-kanji);color:var(--red)}.facts{background:var(--line);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:4px 0;display:grid;overflow:hidden}.facts div{background:#081018bf;gap:6px;padding:12px;display:grid}.facts dt{font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts dd{font:600 15px/1.2 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--cream);margin:0}.stack{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stack li{font:500 12px/1 var(--f-mono);color:var(--teal);background:#7cc6bf1a;border-radius:6px;padding:6px 8px}.link{font:500 14px/1 var(--f-mono);color:var(--cream);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.link:hover{color:var(--teal)}.shot{border:1px solid var(--line);border-radius:12px;overflow:hidden}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-top:1px solid var(--line);grid-template-columns:9.5rem 1fr;gap:6px 18px;padding:16px 0;display:grid}.timeline .when{font:500 12px/1.6 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums}.timeline .where{font:500 12px/1 var(--f-mono);color:var(--teal);text-transform:uppercase;letter-spacing:.08em}.timeline h3{margin-top:6px}.timeline p{margin-top:4px;font-size:15px}.skills{gap:6px;margin:0;display:grid}.skills div{grid-template-columns:6rem 1fr;gap:12px;font-size:14px;display:grid}.skills dt{font:500 12px/1.7 var(--f-mono);color:var(--muted)}.skills dd{margin:0}@media (width<=560px){.timeline li{grid-template-columns:1fr}}.block{gap:28px;width:100%;max-width:1240px;margin-inline:auto;display:grid}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.block-head h2{font:750 clamp(40px, 5vw, 72px)/.95 var(--f-display);font-variation-settings:"wdth" 82;letter-spacing:-.02em;margin:0}.block-head .kanji b{font-size:44px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.grid.projects{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.trio{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=860px){.grid.trio{grid-template-columns:1fr}}.grid.projects>:first-child{grid-column:span 2}@media (width<=1100px){.grid.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.grid.projects{grid-template-columns:1fr}.grid.projects>:first-child{grid-column:auto}}.card{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);transition:border-color .25s, transform .35s var(--ease);border-radius:14px;align-content:start;gap:10px;min-width:0;padding:22px;text-decoration:none;display:grid}a.card:hover{border-color:var(--teal);transform:translateY(-3px)}.card h3{font:650 18px/1.25 var(--f-display);margin:0}.card p{color:var(--muted);margin:0;font-size:14px}.card .meta{font:500 12px/1.4 var(--f-mono);color:var(--teal)}.card .result{font:600 12px/1.3 var(--f-mono);color:var(--red);text-transform:uppercase;letter-spacing:.08em}.card .result.teal{color:var(--teal)}.card .play-tag{font:600 11px/1 var(--f-mono);letter-spacing:.06em;color:var(--ink);background:var(--teal);border-radius:999px;align-self:start;padding:5px 9px}.card.playable{border-color:#7cc6bf59}.ranks{margin:0;padding:0;list-style:none;display:grid}.ranks li{border-top:1px solid var(--line);grid-template-columns:9.5rem minmax(0,1fr);gap:18px;padding:18px 0;display:grid}.ranks .rank{align-content:start;gap:6px;display:grid}.ranks .num{font:800 46px/.9 var(--f-display);font-variation-settings:"wdth" 75;letter-spacing:-.02em;color:var(--cream);font-variant-numeric:tabular-nums}.ranks .of{font:500 12px/1.3 var(--f-mono);color:var(--muted)}.ranks .body{gap:6px;min-width:0;display:grid}.ranks .row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ranks .pct{font:600 12px/1 var(--f-mono);color:var(--ink);background:var(--teal);white-space:nowrap;border-radius:6px;padding:5px 7px}.ranks p{font-size:15px}.also{border-top:1px solid var(--line);color:#c9d3d6;gap:8px;margin:0;padding:14px 0 0;font-size:14px;list-style:none;display:grid}.also b{font:600 12px/1 var(--f-mono);color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-right:6px}.also span{color:var(--muted);font:400 12px/1 var(--f-mono);margin-left:6px}@media (width<=560px){.ranks li{grid-template-columns:1fr;gap:10px}}.personal-grid{grid-template-columns:1.59fr 1fr;gap:12px;display:grid}.personal-grid .stacked>.card{height:100%}.personal-grid .card.photo{padding:0;overflow:hidden}.personal-grid .card.photo figcaption{gap:6px;padding:16px 20px 20px;display:grid}.shots{aspect-ratio:16/10;display:grid}.shots img{object-fit:cover;opacity:0;width:100%;height:100%;animation:shot 25s calc(var(--i) * 5s - 26s) infinite;grid-area:1/1}@keyframes shot{0%,20%{opacity:1}24%,96%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.shots img{animation:none}.shots img:first-child{opacity:1}}.personal-grid .stacked{gap:12px;display:grid}@media (width<=860px){.personal-grid{grid-template-columns:1fr}}.contact .inner{text-align:center;flex-direction:column;align-items:center;gap:20px}.contact h2{font:800 clamp(56px, 10vw, 150px)/.88 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.035em;margin:0}.contact .email{font:500 clamp(16px, 2vw, 22px)/1 var(--f-mono);color:var(--teal);border-bottom:1px solid;padding-bottom:4px;text-decoration:none}body>footer{z-index:1;padding:30px var(--gutter) 40px;font:400 12px/1.5 var(--f-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex;position:relative}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}.js .reveal.in{opacity:1;transform:none}@media (width<=899px){.scene{height:100svh;position:absolute}.stop,.stop.tall{min-height:0;padding-block:64px}.hero{min-height:100svh;padding-block-end:4vh}.hero h1{font-size:clamp(56px,17vw,96px)}.inner.right,.inner.center{justify-content:flex-start}.panel{width:100%;padding:22px}.scroll-cue{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.js .reveal{opacity:1;transform:none}}html.neko-open,html.neko-open body{overflow:hidden}html.neko-open main,html.neko-open body>footer,html.neko-open .bar{visibility:hidden}.btn.small{cursor:pointer;padding:9px 14px;font-size:13px}.footlink{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.footlink:hover{color:var(--teal)}a.footlink{text-decoration:none}.capsule a.nav-play{color:var(--teal)}html.focus-mode main,html.focus-mode body>footer{opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}main,body>footer{transition:opacity .5s var(--ease)}.hint-btn{font:500 12px/1 var(--f-mono);color:var(--teal);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;margin-left:4px;padding:6px 10px}.hint-btn:hover{border-color:var(--teal)}.eggs{align-items:baseline;gap:6px;display:inline-flex}.game-hud,.typing{z-index:30;background:var(--glass-strong);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(20px)saturate(1.3);border-radius:16px;position:fixed;left:50%;translate:-50%;box-shadow:0 20px 60px #0006}.game-hud{bottom:max(24px, env(safe-area-inset-bottom,0px));font:500 13px/1 var(--f-mono);color:var(--cream);white-space:nowrap;align-items:center;gap:14px;padding:12px 18px;display:flex}.game-hud b{color:var(--red);letter-spacing:.1em}.game-hud .keys{color:var(--muted)}.typing{bottom:max(28px, env(safe-area-inset-bottom,0px));gap:14px;width:min(860px,100vw - 32px);padding:18px 22px;display:grid}.typing header,.typing footer{font:500 12px/1.4 var(--f-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.typing header b{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.typing .words{font:400 22px/1.7 var(--f-mono);color:#f1ece259;word-spacing:.25em;-webkit-user-select:none;user-select:none}.typing .w span.ok{color:var(--cream)}.typing .w span.bad{color:var(--red);text-decoration:underline}.typing .w span.extra{color:#e0473f99}.typing .caret{box-shadow:-2px 0 0 var(--teal)}.typing .caret.end{vertical-align:-.12em;width:0;height:1em;display:inline-block}.typing .live{font:500 14px/1 var(--f-mono);color:var(--muted)}.typing .live b{font:800 26px/1 var(--f-display);color:var(--cream);margin-right:2px}.typing .result{flex-wrap:wrap;align-items:center;gap:32px;padding:6px 0;display:flex}.typing .result[hidden],.typing .words[hidden]{display:none}.typing .big{font:800 96px/.85 var(--f-display);font-variation-settings:"wdth" 78;color:var(--cream);align-items:baseline;gap:8px;display:flex}.typing .big small{font:500 18px/1 var(--f-mono);color:var(--teal)}.typing .result dl{gap:8px;margin:0;display:grid}.typing .result dl div{align-items:baseline;gap:12px;display:flex}.typing .result dt{font:500 12px/1 var(--f-mono);color:var(--muted);width:6rem}.typing .result dd{font:600 20px/1 var(--f-mono);color:var(--cream);margin:0}.typing .result p{font:400 12px/1 var(--f-mono);color:var(--muted);flex-basis:100%;margin:0}.typing .close{font:inherit;color:var(--cream);border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:6px 10px}.game-hud[hidden]{display:none}.nn-teaser.is-live{gap:8px;display:grid}.nt-row{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:12px;display:grid}.nt-pad{width:148px;position:relative}.nt-draw{border:1px solid var(--line-strong);touch-action:none;cursor:crosshair;width:148px;height:148px;image-rendering:pixelated;border-radius:10px;display:block}.nt-clear{font:500 11px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);cursor:pointer;background:#050a12bf;border-radius:6px;padding:4px 7px;position:absolute;bottom:6px;right:6px}.nt-clear[hidden]{display:none}.nt-graph{width:100%;height:148px;display:block}.nn-teaser .nt-caption{font:400 12px/1.3 var(--f-mono);color:var(--muted);align-items:baseline;gap:8px;min-height:1.6em;margin:0;display:flex}.nn-teaser .nt-caption b{font:800 22px/1 var(--f-display);color:var(--cream)}@media (width<=520px){.nt-row{grid-template-columns:minmax(0,1fr)}.nt-graph{height:150px}}.inner.split{justify-content:space-between;align-items:center;gap:48px}.inner.split:not(.right) .stage-demo{order:2}.stage-demo{flex:1 1 0;gap:14px;min-width:0;max-width:700px;display:grid}.stage-demo .nt-title{font:500 12px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0}.stage-demo .nt-row{grid-template-columns:220px minmax(0,1fr);gap:28px}.stage-demo .nt-pad{width:220px}.stage-demo .nt-draw{background:#05080d;width:220px;height:220px;box-shadow:0 20px 60px #00000073}.stage-demo .nt-graph{height:380px}.stage-demo .nt-caption{font-size:13px}.stage-demo .nt-caption b{font-size:30px}.nt-loading{font:400 12px/1.4 var(--f-mono);color:var(--muted);margin:0}@media (width<=899px){.inner.split{flex-direction:column;align-items:stretch;gap:24px}.inner.split .stage-demo{order:2;max-width:none}.stage-demo .nt-row{grid-template-columns:minmax(0,1fr)}.stage-demo .nt-graph{height:240px}}.ff-stage{aspect-ratio:400/320;border:1px solid var(--line-strong);border-radius:12px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000073}.ff-map,.ff-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.ff-map{image-rendering:pixelated}.ff-overlay{cursor:crosshair;touch-action:none}.ff-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ff-modes{border:1px solid var(--line-strong);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.ff-modes button,.ff-reset{font:500 12px/1 var(--f-mono);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 11px}.ff-modes button[aria-checked=true]{background:var(--cream);color:var(--ink)}.ff-reset{border:1px solid var(--line-strong);color:var(--cream)}.ff-status{font:400 12px/1.4 var(--f-mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 7px;margin:0;display:flex}.ff-status>span:first-child{color:var(--cream);margin-right:8px}.ff-status .ff-num{font:700 15px/1 var(--f-mono);color:var(--cream)}.ff-legend{white-space:nowrap;font:400 11px/1.4 var(--f-mono);color:var(--muted);gap:5px;margin:0;padding:0;list-style:none;display:grid}.ff-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.ff-legend .z{background:#60261e}.ff-legend .b{background:#ffa03c}.ff-legend .a{background:#343436}.ff-legend .p{border-top:2px dashed var(--cream);vertical-align:3px;background:0 0;border-radius:0;height:0}.demo-note{max-width:62ch;font:400 12px/1.55 var(--f-body);color:var(--muted);margin:2px 0 0}.demo-note a{color:var(--cream);-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal);text-underline-offset:3px}.demo-note b{color:var(--cream);font-weight:500}.ff-demo.compact{flex:1 1 0;grid-template-columns:minmax(0,580px);justify-content:center;gap:10px;max-width:none}.ff-demo.compact .ff-stage{color:inherit;text-decoration:none;display:block}.ff-demo.compact .ff-overlay{cursor:pointer}.ff-open{font:500 12px/1 var(--f-mono);color:var(--ink);background:var(--cream);opacity:.85;pointer-events:none;border-radius:999px;padding:6px 11px;transition:opacity .2s,transform .2s;position:absolute;bottom:10px;right:10px}.ff-demo.compact .ff-stage:hover .ff-open,.ff-demo.compact .ff-stage:focus-visible .ff-open{opacity:1;transform:translateY(-2px)}.ff-demo.compact .ff-legend{flex-wrap:wrap;gap:4px 14px;display:flex}.ff-demo.compact .ff-status>span:first-child{margin-right:0}.ff-foot{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px;display:grid}.ff-foot .demo-note{border-left:1px solid var(--line);margin:0;padding-left:20px}@media (width<=560px){.ff-foot{grid-template-columns:1fr;gap:12px}.ff-foot .demo-note{border-left:0;padding-left:0}}.play-body{min-height:100vh}.play-full{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.play-body{padding-top:calc(max(14px, env(safe-area-inset-top,0px)) + 58px)}.play-full{box-sizing:border-box}.capsule .mark-sub{color:var(--teal);padding-left:0}.capsule:not(:has(*)){visibility:hidden}.capsule a.nav-play.active{color:var(--teal);background:#7cc6bf29}.capsule .btn{backdrop-filter:none;font:inherit;background:0 0;border:0;padding:8px 12px}.capsule .sound .on{display:none}.capsule .sound[aria-pressed=true] .on{display:inline}.capsule .sound[aria-pressed=true] .off{display:none}@media (width<=720px){.capsule .mark-sub,.play-body .bar .capsule:last-child>:not(.sound){display:none}.play-body .bar .capsule:last-child:not(:has(.sound)){visibility:hidden;view-transition-name:none}}.play-index,.play-page{width:100%;max-width:1180px;padding:48px max(20px, env(safe-area-inset-left,0px)) 72px;gap:32px;margin:0 auto;display:grid}.play-hero,.play-head{gap:14px;max-width:70ch;display:grid}.play-hero h1,.play-head h1{font:800 clamp(44px, 7vw, 96px)/.9 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;margin:0}.play-hero p,.play-head p{color:#c9d3d6;margin:0;font-size:17px}.play-hero a{color:var(--cream);-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.play-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=760px){.play-grid{grid-template-columns:1fr}}.play-card{gap:12px;padding:26px}.play-card h2{font:750 32px/1 var(--f-display);font-variation-settings:"wdth" 82;margin:0}.play-card p{color:#c9d3d6;font-size:15px}.play-card .link{color:var(--teal);margin-top:4px}.play-card .kanji b{font-size:44px}.play-card .badge{font:600 11px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:var(--teal);border-radius:5px;padding:4px 6px}.play-soon h2{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.play-soon ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.play-soon li{color:var(--muted);align-items:baseline;gap:14px;display:flex}.play-soon li b{font:700 22px/1 var(--f-kanji);color:#e0473f99}.play-soon strong{color:var(--cream);font-weight:500}.play-frame{flex-direction:column;flex:1;min-height:0;display:flex}.play-note a{color:var(--cream);-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.play-note{padding:10px max(20px, env(safe-area-inset-left,0px));font:400 12px/1.5 var(--f-mono);color:var(--muted);border-bottom:1px solid var(--line);margin:0}.play-frame iframe{background:#171a1f;border:0;flex:1;width:100%;display:block}.play-page:has(.play-ff){grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:40px;padding-top:32px}.play-page:has(.play-ff) .play-head h1{font-size:clamp(44px,5vw,72px)}.play-ff{width:100%;max-width:calc(125dvh - 325px)}@media (width<=900px){.play-page:has(.play-ff){grid-template-columns:1fr}.play-ff{max-width:none}}.play-full .scene{z-index:0}.corne-stage{z-index:1;padding:24px max(20px, env(safe-area-inset-left,0px)) max(32px, env(safe-area-inset-bottom,0px));flex:1;place-items:end center;display:grid;position:relative}.corne-ui{text-align:center;justify-items:center;gap:14px;max-width:640px;display:grid}.corne-ui .hint{justify-content:center}.corne-small{font:400 12px/1.4 var(--f-mono);color:var(--muted);margin:0}html.focus-mode .corne-ui{opacity:0;pointer-events:none;transition:opacity .4s}.neko-launch{color:var(--muted);font:400 14px/1.4 var(--f-mono);flex:1;place-items:center;display:grid}.encs{flex:1;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:0;display:grid}.encs-panel{padding:24px max(20px, env(safe-area-inset-left,0px)) 28px;border-right:1px solid var(--line);backdrop-filter:blur(10px);background:#050a128c;align-content:start;gap:18px;display:grid;overflow-y:auto}.encs-panel header{gap:10px;display:grid}.encs-panel h1{font:800 64px/.9 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;margin:0}.encs-panel header p{color:#c9d3d6;margin:0;font-size:14px;line-height:1.55}.encs-field{font:500 12px/1.4 var(--f-mono);color:var(--muted);gap:6px;display:grid}.encs-field>span{color:var(--cream);letter-spacing:.04em;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.encs-field output{color:var(--teal)}.encs-field small{color:var(--muted);font-size:11px}.encs-field input[name=bank]{font:500 13px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);background:#ffffff0a;border-radius:10px;padding:10px 12px}.encs-field input[type=range]{width:100%;accent-color:var(--teal)}.encs-field input[type=range]:disabled{opacity:.35}.encs-check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.encs-check input{accent-color:var(--teal)}.encs-actions{gap:10px;display:grid}.encs-presets{flex-wrap:wrap;gap:6px;display:flex}.encs-presets button{font:500 12px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:7px 10px}.encs-presets button:hover{color:var(--cream);border-color:var(--teal)}.encs-view{background:radial-gradient(at 50% 45%,#0b1622 0%,#050a12 70%);min-height:0;position:relative}.encs-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.encs.is-live .encs-loading{display:none}.encs-loading{place-items:center;margin:0;display:grid;position:absolute;inset:0}.encs-tip[hidden]{display:none}.encs-tip{pointer-events:none;border:1px solid var(--line-strong);max-width:280px;font:400 12px/1.4 var(--f-mono);color:var(--muted);background:#080e16eb;border-radius:10px;gap:3px;padding:10px 12px;display:grid;position:absolute;top:0;left:0}.encs-tip b{font:600 13px/1.3 var(--f-body,inherit);color:var(--cream)}.encs-tip .s1{color:#f0a04b}.encs-tip .s2{color:var(--red)}.encs-tip em{color:var(--teal);font-style:normal}.encs-hud{border:1px solid var(--line);backdrop-filter:blur(10px);background:#080e16b8;border-radius:14px;gap:10px;width:min(340px,100% - 36px);padding:16px;display:grid;position:absolute;top:18px;right:18px}.encs-hud dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.encs-hud dl div{gap:2px;display:grid}.encs-hud dt{font:500 10px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.encs-hud dd{font:700 20px/1.1 var(--f-mono);color:var(--cream);margin:0}.encs-hud .d dd{color:var(--red)}.encs-hud .x dd{color:#f0a04b}.encs-chart svg{width:100%;height:96px;display:block}.encs-chart path{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.encs-chart path.d{stroke:var(--red)}.encs-chart path.x{stroke:#f0a04b}.encs-chart path.p{stroke:var(--teal);stroke-dasharray:4 3}.encs-chart .axis{stroke:var(--line-strong);vector-effect:non-scaling-stroke}.encs-chart ul{font:400 11px/1 var(--f-mono);color:var(--muted);gap:12px;margin:6px 0 0;padding:0;list-style:none;display:flex}.encs-chart li:before{content:"";vertical-align:3px;background:currentColor;width:10px;height:2px;margin-right:5px;display:inline-block}.encs-chart li.d:before{background:var(--red)}.encs-chart li.x:before{background:#f0a04b}.encs-chart li.p:before{background:var(--teal)}.encs-verdict{color:#c9d3d6;margin:0;font-size:13px;line-height:1.5}.encs-verdict:empty{display:none}.encs-cbnote{font:500 12px/1.4 var(--f-mono);color:var(--teal);margin:0}.encs-legend{font:400 11px/1.4 var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:16px;left:18px}.encs-legend i{vertical-align:-1px;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.encs-legend .us{background:#7cc6bf}.encs-legend .eu{background:#e9e2d2}.encs-legend .x{background:#f0a04b}.encs-legend .d{background:var(--red)}@media (width<=860px){.play-full:has(.encs){height:auto;overflow:visible}.encs{grid-template-columns:1fr}.encs-view{order:-1;gap:12px;padding-bottom:12px;display:grid}.encs-canvas{height:56vh;scroll-margin-top:76px;position:relative}.encs-loading{height:56vh;bottom:auto}.encs-panel{border-right:0;overflow:visible}.encs-hud{width:auto;margin:0 16px;position:static}.encs-legend{inset:12px 16px auto}}.herd{flex:1;grid-template-columns:minmax(0,1fr) minmax(320px,400px);min-height:0;display:grid}.herd-view{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;position:relative}.herd-field{width:100%;height:100%;display:block;position:absolute;inset:0}.herd-system{border-top:1px solid var(--line);background:#050a12d9;padding:8px 14px 10px}.herd-system svg{width:100%;height:auto;max-height:200px;display:block}.hs-box rect{fill:#ffffff08;stroke:var(--line-strong)}.hs-node rect:first-child{stroke:#7cc6bf73}.hs-h{font:700 15px var(--f-mono);fill:var(--cream)}.hs-s{font:400 11.5px var(--f-mono);fill:var(--muted)}.hs-t{font:400 11px var(--f-mono);fill:#c9d3d6;white-space:pre}.hs-l{font:500 10.5px var(--f-mono);fill:var(--teal)}.hs-json{font:400 10px var(--f-mono);fill:#9fb3b0}.hs-wire{fill:none;stroke:url(#hs-wire);stroke-width:2px;stroke-dasharray:4 5}.hs-stage rect{fill:#ffffff0a;stroke:var(--line-strong);transition:fill .2s,stroke .2s}.hs-stage text{font:500 9px var(--f-mono);fill:var(--muted);transition:fill .2s}.hs-stage.on rect{fill:#7cc6bf38;stroke:var(--teal)}.hs-stage.on text{fill:var(--cream)}.hs-stage.alert rect{fill:#e0473f4d;stroke:var(--red)}.hs-pkt{fill:#7cc6bf}.hs-alert{fill:#e0473f;filter:drop-shadow(0 0 4px #e0473f)}.hs-sync{fill:#f1ece2;filter:drop-shadow(0 0 4px #f1ece2)}.herd.is-live .herd-loading{display:none}.herd-loading{place-items:center;margin:0;display:grid;position:absolute;inset:0}.herd-top{pointer-events:none;flex-wrap:wrap;align-items:center;gap:14px;display:flex;position:absolute;top:16px;left:18px;right:18px}.herd-clock{font:700 22px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line);background:#080e16b3;border-radius:10px;padding:8px 12px}.herd-states{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.herd-states li{font:500 11px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line);background:#080e16b3;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;display:flex}.herd-states li b{color:var(--cream)}.herd-states i,.herd-vs i{border-radius:50%;width:9px;height:9px;display:inline-block}.herd-pasture{min-height:0;position:relative}.herd-hint{font:400 11px/1.4 var(--f-mono);color:var(--muted);margin:0;position:absolute;bottom:12px;left:18px}.herd-panel{padding:22px max(20px, env(safe-area-inset-right,0px)) 26px 22px;border-left:1px solid var(--line);backdrop-filter:blur(10px);background:#050a1299;align-content:start;gap:16px;display:grid;overflow-y:auto}.herd-panel header{gap:8px;display:grid}.herd-panel h1{font:800 56px/.9 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;margin:0}.herd-panel header p{color:#c9d3d6;margin:0;font-size:13.5px;line-height:1.55}.herd-card{border:1px solid var(--line-strong);background:#ffffff08;border-radius:14px;gap:12px;padding:16px;display:grid}.herd-cow{justify-content:space-between;align-items:center;display:flex}.herd-cow h2{font:700 22px/1 var(--f-mono);margin:0}.herd-pause{font:500 12px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px}.herd-vs{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.herd-vs div{align-content:start;gap:4px;display:grid}.herd-vs dt{font:500 10px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.herd-vs dt small{text-transform:none;letter-spacing:0}.herd-vs dd{color:var(--cream);align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.herd-vs>div>small{font:400 11px/1.3 var(--f-mono);color:var(--muted)}.herd-flags{font:500 11px/1 var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:6px;display:flex}.herd-flags b{border-radius:6px;padding:5px 8px;font-weight:600}.herd-flags .bad{color:#ff8a80;background:#e0473f2e}.herd-flags .warn{color:#f0a04b;background:#f0a04b29}.herd-traces{gap:8px;display:grid}.herd-traces>div>span{font:400 11px/1.4 var(--f-mono);color:var(--muted);justify-content:space-between;display:flex}.herd-traces b{color:var(--cream);font-weight:600}.herd-traces svg{background:#ffffff05;border-radius:6px;width:100%;height:40px;display:block}.herd-do{font:500 12px/1 var(--f-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.herd-do button{font:500 12px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:7px 10px}.herd-do button:hover{border-color:var(--teal)}.herd-do button.on{background:var(--cream);color:var(--ink)}.herd-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;display:grid}.herd-stats dt{font:500 9.5px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.herd-stats dd{font:700 14px/1.2 var(--f-mono);color:var(--cream);margin:3px 0 0}.herd-stats dd.bad{color:var(--red)}.herd-heat{font:500 12px/1 var(--f-mono);color:var(--muted)}.herd-alerts h3{font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.herd-alerts ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.herd-alerts li{color:#c9d3d6;cursor:pointer;background:#e0473f12;border:1px solid #e0473f33;border-radius:10px;grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px 8px;padding:8px 10px;font-size:12.5px;display:grid}.herd-alerts li .t{font:400 11px/1 var(--f-mono);color:var(--muted)}.herd-alerts li b{color:#ff8a80;font-weight:600}.herd-alerts li.empty{border:1px dashed var(--line-strong);color:var(--muted);cursor:default;background:0 0;display:block}@media (width<=900px){.play-full:has(.herd){height:auto;overflow:visible}.herd{grid-template-columns:1fr}.herd-view{grid-template-rows:56vh auto;height:auto}.herd-system{overflow-x:auto}.herd-system svg{min-width:760px}.herd-panel{border-left:0;overflow:visible}.herd-stats{grid-template-columns:repeat(2,1fr)}}.pcb-demo{flex:0 560px}@media (width<=899px){.pcb-demo{flex:none;width:100%}}.pcb-stage{aspect-ratio:4/3;width:100%;position:relative}.pcb-stage canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block;position:absolute;inset:0}.pcb-stage canvas:active{cursor:grabbing}.pcb-labels{pointer-events:none;position:absolute;inset:0}.pcb-label{--c:var(--teal);width:0;height:0;position:relative}.pcb-label>i{background:var(--c);width:8px;height:8px;box-shadow:0 0 0 3px #080e168c, 0 0 10px var(--c);opacity:.7;border-radius:50%;transition:opacity .2s,transform .2s;position:absolute;top:-4px;left:-4px}.pcb-label.show>i{opacity:1;transform:scale(1.25)}.pcb-label>div{border:1px solid var(--line-strong);font:500 10px/1.25 var(--f-mono);color:var(--muted);white-space:nowrap;opacity:0;background:#080e16d9;border-radius:7px;gap:1px;padding:4px 7px;transition:opacity .25s,transform .25s,border-color .2s;display:grid;position:absolute;bottom:12px;left:0;transform:translate(-50%,4px)}.pcb-label.show>div{opacity:1;transform:translate(-50%)}.pcb-label b{color:var(--cream);font-size:10.5px;font-weight:600}.pcb-label.on>div{border-color:var(--c);box-shadow:0 0 12px color-mix(in srgb, var(--c) 40%, transparent)}.pcb-label.on b{color:var(--c)}.pcb-buses{flex-wrap:wrap;gap:6px;display:flex}.pcb-buses button{font:600 12px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);cursor:pointer;background:#080e1699;border-radius:999px;align-items:baseline;gap:6px;padding:7px 11px;display:inline-flex}.pcb-buses button i{background:var(--c);border-radius:50%;align-self:center;width:8px;height:8px}.pcb-buses button span{color:var(--muted);font-size:11px;font-weight:400}.pcb-buses button.on{border-color:var(--c)}.ts{background:#070c14;flex:1;grid-template-columns:minmax(300px,390px) minmax(0,1fr);min-height:0;display:grid}.ts-panel{padding:22px 22px 26px max(20px, env(safe-area-inset-left,0px));border-right:1px solid var(--line);align-content:start;gap:14px;display:grid;overflow-y:auto}.ts-panel header{gap:8px;display:grid}.ts-panel h1{font:800 54px/.9 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;margin:0}.ts-panel header p{color:#c9d3d6;margin:0;font-size:14px;line-height:1.55}.ts-field{font:500 12px/1.3 var(--f-mono);color:var(--cream);gap:6px;display:grid}.ts-field select,.ts-strat-h select{font:500 13px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);background:#ffffff0a;border-radius:10px;padding:9px 10px}.ts-field select option,.ts-strat-h select option{background:#0b121b}.ts-strat{border:1px solid var(--line-strong);background:#ffffff08;border-radius:14px;gap:10px;padding:14px;display:grid}.ts-strat-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.ts-strat-h select{color:var(--muted);padding:6px 8px;font-size:11.5px}.ts-strat h2{font:700 15px/1 var(--f-mono);align-items:center;gap:8px;margin:0;display:flex}.ts-strat h2 i{border-radius:3px;width:10px;height:10px}.ts-strat h2 i.a,.ts-who.a{background:var(--teal)}.ts-strat h2 i.b,.ts-who.b{background:#b48cff}.ts-bar{touch-action:none;-webkit-user-select:none;user-select:none;gap:3px;height:46px;display:flex;position:relative}.ts-stint-seg{cursor:pointer;color:#0a0f16;background:color-mix(in srgb, var(--c) 85%, transparent);min-width:0;font:700 15px/1 var(--f-mono);border:0;border-radius:8px;place-content:center;gap:2px;transition:filter .15s;display:grid}.ts-stint-seg span{font:500 10px/1 var(--f-mono);opacity:.75;white-space:nowrap;overflow:hidden}.ts-stint-seg:hover{filter:brightness(1.12)}.ts-handle{cursor:ew-resize;z-index:1;justify-items:center;width:22px;margin-left:-11px;display:grid;position:absolute;top:-6px;bottom:-6px}.ts-handle:before{content:"";background:var(--cream);border-radius:2px;width:4px;height:100%;box-shadow:0 0 0 2px #070c14}.ts-handle i{font:500 10px/1 var(--f-mono);color:var(--muted);white-space:nowrap;font-style:normal;position:absolute;bottom:-18px}.ts-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px;display:flex}.ts-row button,.ts-seg button,.ts-speed button{font:500 12px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px}.ts-seg button.on,.ts-speed button.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}.ts-rule{font:400 11px/1.3 var(--f-mono);color:#f0a04b}.ts-how{font:400 12px/1.5 var(--f-mono);color:var(--muted);margin:0}.ts-suggest{border:1px dashed #7cc6bf66;border-radius:12px;gap:8px;padding:12px 14px;display:grid}.ts-suggest p{color:#c9d3d6;margin:0;font-size:13.5px}.ts-suggest .btn{justify-self:start}.ts-main{padding:22px max(20px, env(safe-area-inset-right,0px)) 28px 26px;align-content:start;gap:22px;display:grid;overflow-y:auto}.ts-replay{border:1px solid var(--line);background:#ffffff06;border-radius:16px;gap:10px;padding:16px;display:grid}.ts-replay-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ts-lap{font:700 20px/1 var(--f-mono);color:var(--cream)}.ts-gap{font:600 15px/1.2 var(--f-mono);color:var(--cream)}.ts-banner{font:800 13px/1 var(--f-mono);letter-spacing:.12em;color:#0a0f16;background:var(--c);opacity:0;border-radius:6px;padding:6px 10px;transition:opacity .2s}.ts-banner.on{opacity:1;animation:1s steps(2,end) infinite ts-flash}@keyframes ts-flash{50%{filter:brightness(.8)}}.ts-track{width:100%;height:auto;max-height:300px;display:block}.ts-track-bed{fill:none;stroke:#1b2633;stroke-width:14px;stroke-linejoin:round}.ts-track-line{fill:none;stroke:#ffffff1f;stroke-width:1px;stroke-dasharray:6 10}.ts-pit-line{fill:none;stroke:#ffffff2e;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.ts-pit-lab{font:500 10px var(--f-mono);fill:var(--muted)}.ts-finish{stroke:var(--cream);stroke-width:3px;stroke-dasharray:3 3}.ts-car .body{stroke:#070c14;stroke-width:2px}.ts-car.a .body{fill:var(--teal)}.ts-car.b .body{fill:#b48cff}.ts-car .tyre-l{font:800 11px var(--f-mono);fill:#0a0f16}.ts-car .who{font:800 12px var(--f-mono);fill:var(--cream)}.ts-tyres{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ts-tyres>div{color:#c9d3d6;align-items:center;gap:10px;min-height:24px;font-size:13px;display:flex}.ts-tyres i{border:3px solid var(--c);width:20px;height:20px;font:800 10px/1 var(--f-mono);color:var(--cream);vertical-align:middle;border-radius:50%;place-items:center;margin-right:6px;font-style:normal;display:inline-grid}.ts-tyres .life{vertical-align:middle;background:#ffffff1a;border-radius:3px;width:60px;height:6px;margin-left:10px;display:inline-block;overflow:hidden}.ts-tyres .life span{height:100%;display:block}.ts-tyres .pit{color:#f0c94b;letter-spacing:.08em}.ts-who{width:22px;height:22px;font:800 12px/1 var(--f-mono);color:#0a0f16;border-radius:6px;flex:none;place-items:center;display:inline-grid}.ts-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ts-speed{gap:4px;display:inline-flex}.ts-raceno{font:400 11px/1 var(--f-mono);color:var(--muted);margin-left:auto}.ts-results{gap:12px;display:grid}.ts-results h2{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}.ts-headline{color:#c9d3d6;margin:0;font-size:18px;line-height:1.45}.ts-headline b{color:var(--cream)}.ts-headline b.a{color:var(--teal)}.ts-headline b.b{color:#b48cff}.ts-split{height:38px;font:600 13px/38px var(--f-mono);border-radius:10px;display:flex;overflow:hidden}.ts-split div{white-space:nowrap;color:#0a0f16;min-width:0;padding:0 12px;transition:flex .3s;overflow:hidden}.ts-split div:not(:empty){min-width:92px}.ts-split .a{background:var(--teal)}.ts-split .b{text-align:right;background:#b48cff}.ts-histo{gap:6px;margin:0;display:grid}.ts-histo figcaption{font:400 12px/1.4 var(--f-mono);color:var(--muted)}.ts-hist{border-bottom:1px solid var(--line-strong);align-items:flex-end;gap:2px;height:90px;display:flex}.ts-hist i{border-radius:3px 3px 0 0;flex:1;min-height:1px}.ts-hist i.a{background:#7cc6bfbf}.ts-hist i.b{background:#b48cffbf}.ts-hist-axis{font:400 11px/1 var(--f-mono);color:var(--muted);justify-content:space-between;display:flex}.ts-why{color:var(--muted);max-width:70ch;margin:0;font-size:13px;line-height:1.5}.ts-details{border-top:1px solid var(--line);gap:14px;padding-top:12px;display:grid}.ts-details summary{cursor:pointer;font:500 13px/1 var(--f-mono);color:var(--cream)}.ts-details[open]{gap:14px}.ts-details figure{gap:6px;margin:12px 0 0;display:grid}.ts-details figcaption{font:400 12px/1.4 var(--f-mono);color:var(--muted)}.ts-details svg{background:#ffffff06;border-radius:10px;width:100%;height:auto;display:block}.ts-details svg text{font:400 10px var(--f-mono);fill:var(--muted)}.ts-details .zero{stroke:#ffffff4d;stroke-dasharray:3 3}.ts-details .b50{fill:#7cc6bf38}.ts-details .med{fill:none;stroke:var(--teal);stroke-width:2px}.ts-details .curve{fill:none;stroke-width:2.2px}.ts-details>.ts-field,.ts-details>.btn{justify-self:start;margin-top:12px}@media (width<=960px){.play-full:has(.ts){height:auto;overflow:visible}.ts{grid-template-columns:1fr}.ts-panel{border-right:0;overflow:visible}.ts-main{order:-1;padding:18px 16px 28px;overflow:visible}.ts-tyres{grid-template-columns:1fr}}.game-hud .hud-quit{pointer-events:auto;font:500 12px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px}@media (pointer:coarse){.game-hud{white-space:normal;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 24px)}}.nn-phone,.nn-play iframe:not([src]){display:none}@media (width<=760px){.play-full:has(.nn-play:not(.show-full)){height:auto;overflow:visible}.nn-play:not(.show-full) .nn-phone{gap:14px;padding:18px 16px 28px;display:grid}.nn-play:not(.show-full) .play-note{display:none}.nn-phone-note{font:400 12px/1.5 var(--f-mono);color:var(--muted);margin:0}.nn-phone .btn{justify-self:start}}html:not(.has-keys) [data-needs-keys],html.has-keys [data-no-keys]{display:none!important}.phone-note{left:12px;right:12px;top:calc(max(14px, env(safe-area-inset-top,0px)) + 58px);z-index:40;background:var(--glass-strong);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;position:fixed}.phone-note[hidden]{display:none}.phone-note p{color:#c9d3d6;margin:0;font-size:13px;line-height:1.45}.phone-note button{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--cream);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:18px;line-height:1}.nn-rotate{display:none}@media (width<=760px) and (orientation:portrait){.nn-play.show-full:not(.portrait-ok) .nn-rotate{text-align:center;flex:1;align-content:center;place-items:center;gap:16px;padding:24px;display:grid}.nn-play.show-full:not(.portrait-ok) iframe{display:none}.nn-rotate p{color:#c9d3d6;max-width:28ch;margin:0}.nn-phone-icon{border:3px solid var(--cream);border-radius:9px;width:44px;height:74px;animation:2.4s ease-in-out infinite nn-turn}@keyframes nn-turn{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}}@property --more-a{syntax:"<angle>";inherits:false;initial-value:0deg}.more-tile{isolation:isolate;background:radial-gradient(120% 90% at 100% 100%, #e0473f29, transparent 60%), radial-gradient(90% 80% at 0% 0%, #7cc6bf1f, transparent 60%), var(--glass-strong);border-color:#0000;position:relative;overflow:hidden}.more-tile:before{content:"";border-radius:inherit;background:conic-gradient(from var(--more-a), transparent 0 55%, var(--teal) 70%, var(--cream) 75%, var(--red) 82%, transparent 92%);-webkit-mask-composite:xor;z-index:-1;-webkit-mask-composite:xor, source-over;padding:1px;animation:6s linear infinite more-spin;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@keyframes more-spin{to{--more-a:360deg}}.more-tile h3{font:750 clamp(24px, 2.2vw, 30px)/1 var(--f-display);font-variation-settings:"wdth" 82;letter-spacing:-.01em}.more-tile p{color:#c9d3d6;max-width:32ch}.more-kanji{font:700 170px/1 var(--f-kanji);color:#e0473f21;z-index:-1;transition:transform .6s var(--ease), color .4s;pointer-events:none;position:absolute;bottom:-40px;right:-14px}.more-deck{pointer-events:none;width:40px;height:28px;position:absolute;top:16px;right:18px}.more-deck i{border:1px solid var(--line-strong);transition:transform .5s var(--ease);background:#101e2ae6;border-radius:6px;position:absolute;inset:0}.more-deck i:after{content:"";background:var(--teal);opacity:.6;border-radius:2px;height:3px;position:absolute;top:7px;left:7px;right:12px;box-shadow:0 6px 0 -.5px #bee1e140,8px 12px 0 -.5px #bee1e12e}.more-deck i:first-child{transform:rotate(-8deg)translate(-4px,2px)}.more-deck i:nth-child(2){transform:rotate(4deg)translate(2px,1px)}.more-deck i:nth-child(3){transform:none}.more-go{font:600 13px/1 var(--f-mono);color:var(--cream);align-items:center;gap:8px;margin-top:auto;display:inline-flex}.more-go b{color:var(--teal);transition:transform .4s var(--ease)}.more-tile:hover,.more-tile:focus-visible{transform:translateY(-3px)}.more-tile:hover .more-kanji,.more-tile:focus-visible .more-kanji{color:#e0473f38;transform:translate(-10px,-8px)rotate(-4deg)}.more-tile:hover .more-deck i:first-child,.more-tile:focus-visible .more-deck i:first-child{transform:translate(-34px)rotate(-10deg)}.more-tile:hover .more-deck i:nth-child(2),.more-tile:focus-visible .more-deck i:nth-child(2){transform:translate(-17px,-1px)rotate(-4deg)}.more-tile:hover .more-deck i:nth-child(3),.more-tile:focus-visible .more-deck i:nth-child(3){transform:translateY(-2px)rotate(3deg)}.more-tile:hover .more-go b,.more-tile:focus-visible .more-go b{transform:translate(6px)}.grid.projects .more-tile{min-height:230px}.more-veil{z-index:1000;background:var(--ink);border:1px solid var(--teal);transition:left .5s var(--ease), top .5s var(--ease), width .5s var(--ease), height .5s var(--ease), border-radius .5s var(--ease), border-color .5s;border-radius:14px;position:fixed}.more-veil.grow{border-color:#0000;border-radius:0;width:100vw!important;height:100vh!important;top:0!important;left:0!important}.vt-ink{z-index:19;pointer-events:none;background:var(--ink);clip-path:circle(0 at var(--x) var(--y));transition:clip-path .5s cubic-bezier(.55,0,.2,1);position:fixed;inset:0}.vt-ink.grow{clip-path:circle(var(--r) at var(--x) var(--y))}::view-transition-group(more-tile),::view-transition-group(demo){animation-duration:.65s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}::view-transition-old(more-tile),::view-transition-new(more-tile),::view-transition-old(demo),::view-transition-new(demo){object-fit:cover;width:100%;height:100%;overflow:clip}::view-transition-group(demo){border-radius:14px;overflow:clip}.bar>.capsule:first-child{view-transition-name:bar-left}.bar>nav.capsule{view-transition-name:bar-nav}.bar>.capsule:last-child:has(*){view-transition-name:bar-right}html.vt-bar .bar>.capsule{-webkit-backdrop-filter:none;background:0 0;border-color:#0000}::view-transition-group(bar-left),::view-transition-group(bar-nav),::view-transition-group(bar-right){z-index:10;box-sizing:border-box;background:var(--glass-strong);border:1px solid var(--line);backdrop-filter:blur(18px)saturate(1.3);border-radius:999px;animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.7,.1,1);overflow:clip}::view-transition-old(bar-left),::view-transition-new(bar-left),::view-transition-old(bar-nav),::view-transition-new(bar-nav),::view-transition-old(bar-right),::view-transition-new(bar-right){object-fit:none;height:100%}.bar .mark{view-transition-name:mark}::view-transition-group(mark){z-index:11;animation-duration:.45s}html.vt-circle::view-transition-old(root){animation:.7s cubic-bezier(.4,0,.2,1) both vt-sink}html.vt-circle::view-transition-new(root){animation:.75s cubic-bezier(.55,0,.2,1) both vt-circle}@keyframes vt-circle{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,0))}}@keyframes vt-sink{to{opacity:.35;filter:blur(2px);transform:scale(.94)}}html.vt-uncircle::view-transition-old(root){z-index:1;mix-blend-mode:normal;animation:.6s cubic-bezier(.45,0,.2,1) both vt-uncircle}html.vt-uncircle::view-transition-new(root){mix-blend-mode:normal;animation:.65s cubic-bezier(.2,.7,.1,1) both vt-unsink}html.vt-uncircle::view-transition-old(demo),html.vt-uncircle::view-transition-old(more-tile){animation:.6s cubic-bezier(.45,0,.2,1) both vt-uncircle-el}@keyframes vt-uncircle{0%{clip-path:circle(var(--vt-r) at var(--vt-x) var(--vt-y))}to{clip-path:circle(0 at var(--vt-x) var(--vt-y))}}@keyframes vt-uncircle-el{0%{clip-path:circle(var(--vt-r) at var(--vt-ex) var(--vt-ey))}to{clip-path:circle(0 at var(--vt-ex) var(--vt-ey))}}@keyframes vt-unsink{0%{opacity:.35;filter:blur(2px);transform:scale(.94)}}::view-transition-old(root){animation:.35s both vt-fade-out}::view-transition-new(root){animation:.55s cubic-bezier(.2,.7,.1,1) .1s both vt-rise-in}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(24px)}}.proj{width:100%;max-width:1180px;padding:48px max(20px, env(safe-area-inset-left,0px)) 96px;gap:56px;margin:0 auto;display:grid}.proj-hero{gap:22px;display:grid}.proj-hero-card{isolation:isolate;border:1px solid var(--line-strong);background:radial-gradient(120% 90% at 100% 100%, #e0473f29, transparent 60%), radial-gradient(90% 80% at 0% 0%, #7cc6bf1f, transparent 60%), var(--glass-strong);border-radius:18px;gap:14px;padding:clamp(22px,4vw,40px);display:grid;position:relative;overflow:hidden}.proj-hero-card h1{font:800 clamp(44px, 7vw, 96px)/.9 var(--f-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;margin:0}.proj-hero-card p{color:#c9d3d6;max-width:62ch;margin:0;font-size:17px}.proj-hero-card .team-tag{vertical-align:2px}.proj-filter{flex-wrap:wrap;gap:8px;display:flex}.proj-filter button{font:500 12px/1 var(--f-mono);color:var(--cream);background:var(--glass);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:9px 13px;transition:background .2s,border-color .2s,color .2s}.proj-filter button i{color:var(--muted);margin-left:4px;font-style:normal}.proj-filter button:hover{border-color:var(--teal)}.proj-filter button.on{background:var(--teal);border-color:var(--teal);color:var(--ink)}.proj-filter button.on i{color:#050a1299}.proj-cat{gap:18px;scroll-margin-top:90px;display:grid}.proj-cat[hidden]{display:none}.proj-cat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:16px;padding-bottom:12px;display:flex}.proj-cat-head h2{font:700 clamp(26px, 3vw, 36px)/1 var(--f-display);font-variation-settings:"wdth" 85;margin:0}.proj-cat-head .kanji b{font-size:36px}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.proj-card{animation:proj-in .7s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms + .15s)}@keyframes proj-in{0%{opacity:0;transform:translateY(18px)}}.proj-result{font:600 11px/1 var(--f-mono);letter-spacing:.04em;color:var(--cream);background:#e0473f29;border:1px solid #e0473f73;border-radius:999px;justify-self:start;padding:4px 9px}.proj-links{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:2px;display:flex}.proj-links .link{font:600 12px/1 var(--f-mono);color:var(--teal);text-decoration:none}.proj-links .link:hover{text-decoration:underline}.proj-links .play-tag{text-decoration:none}.ranks h3 .team-tag{vertical-align:3px;margin-left:10px}.team-tag.private{color:var(--muted);border-style:dashed}@media (prefers-reduced-motion:reduce){.more-tile:before,.proj-card{animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.now-pills{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.now-pills:not(:has(.now-pill:not([hidden]))){display:none}@media (width>=900px){.now-pills{right:max(64px, calc(env(safe-area-inset-right,0px) + 48px));z-index:2;align-items:flex-end;position:absolute;bottom:12vh}}.now-pill{--tint:#1b2a3a;background:linear-gradient(135deg, color-mix(in srgb, var(--tint) 55%, transparent), color-mix(in srgb, var(--tint) 18%, transparent)), #0a0e1473;backdrop-filter:blur(22px)saturate(1.7);width:max-content;max-width:min(100%,360px);color:var(--cream);border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:12px;padding:7px 18px 7px 7px;text-decoration:none;transition:transform .25s,box-shadow .25s,background .6s;animation:.6s cubic-bezier(.2,.8,.2,1) both now-in;display:inline-flex;box-shadow:inset 0 1px #ffffff24,0 12px 32px #00000061}.now-pill[hidden]{display:none}.now-pill:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff2e,0 16px 40px #00000073}.now-pill .art{object-fit:cover;border-radius:50%;flex:none;width:40px;height:40px;box-shadow:0 2px 8px #0006}.now-pill.game .art{border-radius:999px;width:64px;height:30px}.now-pill.live:not(.game) .art{animation:12s linear infinite now-spin}.now-pill .art[hidden]{display:none}.now-pill .txt{gap:3px;min-width:0;display:grid}.now-pill .txt b,.now-pill .txt span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.now-pill .txt b{font:600 13px/1.15 var(--f-body,inherit);letter-spacing:.01em}.now-pill .txt span{font:500 11px/1.15 var(--f-mono);color:#efe6d2a6}.now-pill .eq{flex:none;align-items:flex-end;gap:2px;height:14px;margin-left:2px;display:none}.now-pill.live .eq{display:inline-flex}.now-pill .eq i{background:color-mix(in srgb, var(--tint) 35%, white);transform-origin:bottom;border-radius:2px;width:3px;height:100%;animation:.9s ease-in-out infinite alternate now-eq}.now-pill .eq i:nth-child(2){animation-duration:.7s;animation-delay:-.2s}.now-pill .eq i:nth-child(3){animation-duration:1.1s;animation-delay:-.5s}.now-pill .eq i:nth-child(4){animation-duration:.8s;animation-delay:-.35s}@keyframes now-eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@keyframes now-spin{to{transform:rotate(1turn)}}@keyframes now-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}@media (prefers-reduced-motion:reduce){.now-pill,.now-pill .art,.now-pill .eq i{animation:none!important}.now-pill .eq i{transform:scaleY(.6)}}.card.edu{margin-top:16px}.edu ol{gap:14px;margin:0;padding:0;list-style:none;display:grid}.edu li{border-top:1px solid var(--line);grid-template-columns:120px 1fr;align-items:baseline;gap:16px;padding-top:14px;display:grid}.edu li:first-child{border-top:0;padding-top:0}.edu .when{font:500 12px/1.4 var(--f-mono);color:var(--muted)}.edu h3+p{margin-top:4px}@media (width<=560px){.edu li{grid-template-columns:1fr;gap:4px}}.cert-drawer{position:relative}.cert-drawer:hover{border-color:var(--teal)}.cert-drawer h3{padding-right:52px}.cert-toggle{font:500 12px/1 var(--f-mono);color:var(--teal);margin-top:4px}.cert-stack{width:34px;height:42px;position:absolute;top:18px;right:20px}.cert-stack i{background:linear-gradient(var(--cream), #d9cfb9);transition:transform .35s var(--ease);border-radius:3px;position:absolute;inset:0;box-shadow:0 2px 6px #00000059}.cert-stack i:before{content:"";height:2px;box-shadow:0 6px 0 #0000001f, 0 12px 0 #0000001f, 0 22px 0 -.5px var(--red);background:#0000002e;position:absolute;inset:9px 7px auto}.cert-stack i:first-child{opacity:.7;transform:rotate(-9deg)}.cert-stack i:nth-child(2){opacity:.85;transform:rotate(5deg)}.cert-drawer:hover .cert-stack i:first-child{transform:rotate(-20deg)translate(-8px,2px)}.cert-drawer:hover .cert-stack i:nth-child(2){transform:rotate(14deg)translate(7px,1px)}.cert-drawer:hover .cert-stack i:nth-child(3),.cert-drawer:focus-visible .cert-stack i:nth-child(3){transform:translateY(-11px)rotate(-4deg)}.cert-drawer:focus-visible .cert-stack i:first-child{transform:rotate(-20deg)translate(-8px,2px)}.cert-drawer:focus-visible .cert-stack i:nth-child(2){transform:rotate(14deg)translate(7px,1px)}.cert-stack i:nth-child(3):after{content:"1st";width:19px;height:19px;font:800 6.5px/1 var(--f-mono);color:#4a3208;letter-spacing:-.02em;background:radial-gradient(circle at 35% 30%,#fff1b8,#f0c45a 45%,#b9842a);border-radius:50%;place-items:center;transition:transform .4s cubic-bezier(.3,1.6,.5,1) 80ms;display:grid;position:absolute;bottom:-6px;right:-7px;transform:scale(0)rotate(-30deg);box-shadow:0 0 0 1.5px #f6dc8f,0 2px 6px #00000073}.cert-drawer:hover .cert-stack i:nth-child(3):after,.cert-drawer:focus-visible .cert-stack i:nth-child(3):after{transform:scale(1)rotate(-12deg)}@media (prefers-reduced-motion:reduce){.cert-stack i,.cert-stack i:after{transition:none}}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;display:grid}.cert-card{text-align:left;font:inherit;color:inherit;cursor:zoom-in;animation:proj-in .6s var(--ease) both;animation-delay:calc(var(--i) * 60ms);gap:6px;padding:12px 12px 18px}.cert-card:hover,.cert-card:focus-visible{border-color:var(--teal);transform:translateY(-3px)}.cert-card:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.cert-thumb{aspect-ratio:1.414;background:#fff1;border-radius:9px;margin-bottom:8px;display:block;position:relative;overflow:hidden}.cert-thumb img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.cert-card:hover .cert-thumb img{transform:scale(1.04)}.cert-result{font:600 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#1a1206;background:linear-gradient(135deg,#f3d27a,#d8a73e);border-radius:999px;padding:6px 9px;position:absolute;top:10px;left:10px;box-shadow:0 4px 12px #00000059}.cert-card b,.cert-view b{font:650 17px/1.25 var(--f-display);color:var(--cream);padding-inline:6px}.cert-meta{font:500 11px/1.4 var(--f-mono);color:var(--teal);letter-spacing:.06em;text-transform:uppercase;padding-inline:6px}.cert-issuer{color:var(--muted);padding-inline:6px;font-size:13.5px;line-height:1.45}.cert-view{width:min(1200px,100vw);max-width:100vw;max-height:100dvh;color:var(--cream);background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:auto;padding:0;display:none;overflow:visible}.cert-view[open]{animation:cv-in .35s var(--ease);display:grid}.cert-view::backdrop{backdrop-filter:blur(10px);background:#03070cd1}.cert-view figure{justify-items:center;gap:12px;min-width:0;margin:0;display:grid}.cert-view img{opacity:0;max-width:100%;max-height:calc(100dvh - 170px);transition:opacity .3s, transform .4s var(--ease);border-radius:8px;transform:scale(.985);box-shadow:0 30px 80px #0009}.cert-view img.in{opacity:1;transform:none}.cert-view figcaption{text-align:center;justify-items:center;gap:4px;display:grid}.cert-view .link{margin-top:4px}.cv-nav,.cv-close{font:500 18px/1 var(--f-mono);color:var(--cream);border:1px solid var(--line-strong);cursor:pointer;background:#080e16b3;border-radius:999px;width:48px;height:48px;transition:border-color .2s}.cv-nav:hover,.cv-close:hover,.cv-nav:focus-visible,.cv-close:focus-visible{border-color:var(--teal);outline:none}.cv-close{z-index:1;position:fixed;top:16px;right:16px}@keyframes cv-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@media (width<=700px){.cert-view{grid-template-columns:1fr 1fr;padding:16px}.cert-view figure{grid-area:1/1/auto/-1}.cv-nav.prev{justify-self:end}.cv-nav.next{justify-self:start}.cert-view img{max-height:calc(100dvh - 240px)}}@media (prefers-reduced-motion:reduce){.cert-card,.cert-view[open],.cert-view img{transition:none;animation:none}}.cert-view [hidden]{display:none!important}
