.password-input{position:relative;display:block;inline-size:100%;min-inline-size:0}.password-input.password-input>input{inline-size:100%;padding-inline-end:3.25rem}.password-input>button.password-input__toggle{position:absolute;inset-block-start:50%;inset-inline-end:.32rem;z-index:1;display:grid;inline-size:2.5rem;block-size:2.5rem;margin:0;padding:0;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:6px;background:transparent;box-shadow:none;color:var(--ink-mute, currentColor);line-height:1;touch-action:manipulation;cursor:pointer;opacity:.72;transform:translateY(-50%);transition:background-color .16s ease,color .16s ease,opacity .16s ease}.password-input>button.password-input__toggle:hover:not(:disabled),.password-input>button.password-input__toggle:active:not(:disabled){background:color-mix(in srgb,currentColor 10%,transparent);color:var(--ink, currentColor);opacity:1;transform:translateY(-50%)}.password-input>button.password-input__toggle:focus-visible{outline:2px solid var(--accent, var(--ink, currentColor));outline-offset:1px;opacity:1}.password-input__toggle svg{pointer-events:none}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark Dimmed
  Description: Dark dimmed theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Colors taken from GitHub's CSS
*/.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#6cb6ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-comment,.hljs-code,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}@font-face{font-family:Smiley Sans;src:url(/fonts/SmileySans-Oblique.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root,[data-theme=dark]{--bg: #0a0a0a;--bg-elev: #111111;--bg-soft: #161616;--ink: #f8f8ea;--ink-mute: #b0b0b0;--ink-dim: #8a8a8a;--line: rgba(248, 248, 234, .12);--line-strong: rgba(248, 248, 234, .22);--accent: #f8f8ea;--ok: #86efac;--danger: #fca5a5;--warning: #fbbf24;--field-bg: #0c0c0c;--code-bg: #050505;--code-ink: #adbac7;--btn-solid-bg: #f8f8ea;--btn-solid-ink: #0a0a0a;--topbar-bg: rgba(10, 10, 10, .82);--admin-surface: rgba(17, 17, 17, .92);--admin-surface-solid: #111111;--admin-surface-soft: #191919;--admin-input: #0d0d0d;--admin-hover: rgba(248, 248, 234, .045);--admin-backdrop: rgba(0, 0, 0, .72);--admin-shadow: 0 16px 42px rgba(0, 0, 0, .32);--radius: 14px;--radius-sm: 10px;--font-display: "Syne", "Manrope", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display-art: "Smiley Sans", "Syne", "PingFang SC", "Microsoft YaHei", sans-serif;--font-xingkai: "STXingkai", "华文行楷", "Xingkai SC", "LXGW WenKai Lite", "LXGW WenKai", "KaiTi", "STKaiti", serif;--font-body: "Ubuntu Mono", "Manrope", "PingFang SC", "Microsoft YaHei", ui-monospace, monospace;--font-mono: "Ubuntu Mono", ui-monospace, "Cascadia Mono", "SF Mono", Menlo, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--ease-standard: cubic-bezier(.25, .46, .45, .94);--ease-emphasis: cubic-bezier(.16, 1, .3, 1);--motion-base: .3s;--nav-mute: #8a8a8a;color-scheme:dark}[data-theme=light]{--bg: #f8f8ea;--bg-elev: #fdfdf6;--bg-soft: #f0f0e2;--ink: #080809;--ink-mute: #555555;--ink-dim: #6b6b6b;--line: rgba(8, 8, 9, .12);--line-strong: rgba(8, 8, 9, .22);--accent: #080809;--ok: #15803d;--danger: #b91c1c;--warning: #a16207;--field-bg: #ffffff;--code-bg: #f0f0e2;--code-ink: #24292e;--btn-solid-bg: #080809;--btn-solid-ink: #f8f8ea;--topbar-bg: rgba(248, 248, 234, .86);--nav-mute: #555555;--admin-surface: rgba(253, 253, 246, .94);--admin-surface-solid: #fdfdf6;--admin-surface-soft: #f0f0e2;--admin-input: #ffffff;--admin-hover: rgba(8, 8, 9, .04);--admin-backdrop: rgba(8, 8, 9, .36);--admin-shadow: 0 14px 36px rgba(8, 8, 9, .1);color-scheme:light}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}.shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.scroll-line-shell{z-index:40;pointer-events:none;align-items:center;display:none;position:fixed;top:0;bottom:0;left:1.5rem}.scroll-line-track{position:relative;width:1px;height:60vh;background:var(--line)}.scroll-line-thumb{position:absolute;top:0;left:50%;width:2px;height:100%;background:var(--ink);transform:translate(-50%) scaleY(.03);transform-origin:top center;will-change:transform}@media(min-width:1024px){.scroll-line-shell{display:flex}}.floating-header{position:fixed;top:0;inset-inline:0;z-index:50;pointer-events:none}.floating-header__inner{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;width:min(1120px,100%);margin:0 auto;padding:1rem clamp(1.1rem,4vw,3rem) .5rem;pointer-events:none}.floating-logo,.nav-capsule,.theme-circle,.header-cta,.header-hamburger{pointer-events:auto;position:relative;overflow:clip;background:var(--bg);box-shadow:0 4px 12px #0000000d,0 12px 30px #00000014}.floating-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:9999px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-emphasis),box-shadow var(--motion-base) var(--ease-standard)}.floating-logo:hover{border-color:var(--line-strong);transform:scale(.92);box-shadow:inset 0 .5px #ffffff38,inset 0 1px #ffffff1a,0 6px 16px #0000000f,0 14px 32px #0000001a}.floating-logo:active{transform:scale(.88)}.floating-logo__mark{width:10px;height:10px;border-radius:50%;background:var(--ink);transition:transform var(--motion-base) var(--ease-emphasis)}.floating-logo:hover .floating-logo__mark{transform:scale(.9)}.nav-capsule{display:none;position:relative;align-items:center;gap:.125rem;height:40px;margin-left:auto;padding:0 .375rem;border:1px solid var(--line);border-radius:9999px;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.nav-capsule:hover{border-color:var(--line-strong);box-shadow:0 6px 16px #0000000f,0 14px 32px #0000001a}.nav-capsule__item{position:relative;z-index:1;display:flex;align-items:center;padding:.375rem .875rem;border:0;border-radius:9999px;background:transparent;color:var(--nav-mute);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-decoration:none;cursor:pointer;transition:color var(--motion-base) var(--ease-standard)}.nav-capsule__item:hover,.nav-capsule__item[data-active=true]{color:var(--ink)}.nav-capsule__indicator{position:absolute;bottom:5px;height:2px;border-radius:9999px;background:var(--ink);pointer-events:none;will-change:left,width,opacity}.header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;pointer-events:auto}.header-who{display:none;color:var(--nav-mute);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-who--link{text-decoration:none;transition:color .2s var(--ease-standard)}.header-who--link:hover{color:var(--ink)}.header-cta{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;height:40px;padding:0 1rem;border:1px solid var(--ink);border-radius:9999px;background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-emphasis)}.header-cta:hover{box-shadow:0 6px 16px #0000001a,0 14px 32px #00000024;transform:translateY(-1px)}.header-cta:active{transform:translateY(0) scale(.97)}.header-cta>svg{display:none;flex-shrink:0;transition:transform var(--motion-base) var(--ease-emphasis)}.header-cta:hover>svg{transform:translate(3px)}.header-cta__label{font-size:inherit;font-weight:inherit}.header-cta--ghost{background:var(--bg);color:var(--ink);border-color:var(--line)}.header-cta--ghost:hover{border-color:var(--line-strong)}.header-hamburger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:9999px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.header-hamburger:hover{border-color:var(--line-strong)}.header-hamburger:active{transform:scale(.94)}.header-hamburger__bar{display:block;width:16px;height:2px;border-radius:9999px;background:currentColor;transform-origin:50%;transition:transform .4s var(--ease-emphasis),opacity .4s var(--ease-emphasis)}.header-hamburger__bar[data-open=true]:first-child{transform:translateY(3.5px) rotate(45deg)}.header-hamburger__bar[data-open=true]:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hover-label{display:inline-flex;align-items:center}.hover-label__vis{display:inline-block;min-width:100%;font-variant-ligatures:none}.hover-label__vis[data-scrambling=true]{color:inherit;opacity:.85}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;border:0;padding:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.mobile-nav-backdrop[data-open=true]{opacity:1;pointer-events:auto}.mobile-nav-dropdown{position:absolute;top:calc(100% - .15rem);right:clamp(1.1rem,4vw,3rem);z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;pointer-events:none}.mobile-nav-dropdown[data-open=true]{pointer-events:auto}.mobile-nav-pill{display:inline-flex;align-items:center;justify-content:center;min-width:7.5rem;height:40px;padding:0 1.1rem;border:1px solid var(--line);border-radius:9999px;background:var(--bg);box-shadow:0 4px 12px #0000000d,0 12px 30px #00000014;color:var(--nav-mute);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(-12px) scale(.9);transition:opacity var(--motion-base) var(--ease-emphasis),transform var(--motion-base) var(--ease-emphasis),color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.mobile-nav-dropdown[data-open=true] .mobile-nav-pill{opacity:1;transform:translateY(0) scale(1)}.mobile-nav-pill[data-active=true],.mobile-nav-pill:hover{color:var(--ink);border-color:var(--line-strong)}.mobile-nav-pill--btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;color:inherit;cursor:pointer}.main{flex:1;width:min(1120px,100%);margin:0 auto;padding:5.5rem clamp(1.1rem,4vw,3rem) 4rem}.main--home{width:100%;max-width:none;margin:0;padding:0}.main--home .home-rest{--home-rail: min(1320px, 100%);--home-rail-pad: clamp(1.1rem, 4vw, 3rem);width:var(--home-rail);margin-inline:auto;padding-inline:var(--home-rail-pad);padding-bottom:4rem}.home .home-rest{--home-rail: min(1320px, 100%);--home-rail-pad: clamp(1.1rem, 4vw, 3rem);width:var(--home-rail);margin-inline:auto;padding-inline:var(--home-rail-pad);padding-bottom:4rem;box-sizing:border-box}.main--home .hero-foreground{width:min(1120px,100%);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,3rem);box-sizing:border-box}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.6rem 1.2rem;cursor:pointer;transition:transform .15s var(--ease),background .2s,border-color .2s,color .2s;background:transparent;font-weight:600}.btn.lg{padding:.9rem 1.5rem;font-size:1rem}.btn.solid{background:var(--btn-solid-bg);color:var(--btn-solid-ink)}.btn.solid:hover{transform:translateY(-1px);filter:brightness(1.05)}.theme-circle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:9999px;background:var(--bg);box-shadow:0 4px 12px #0000000d,0 12px 30px #00000014;cursor:pointer;overflow:clip;transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.theme-circle:hover{border-color:var(--line-strong)}.theme-circle:active{transform:scale(.92)}.theme-circle__icon{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity .35s var(--ease-emphasis),transform .35s var(--ease-emphasis),filter .25s var(--ease-standard)}.theme-circle__icon--active{opacity:1;transform:rotate(0) scale(1)}.theme-circle__icon--sun{color:#eab308;filter:drop-shadow(0 0 3px rgba(234,179,8,.6))}.theme-circle:hover .theme-circle__icon--sun{filter:drop-shadow(0 0 4px rgba(234,179,8,.75))}.theme-circle__icon--moon{color:var(--ink);filter:drop-shadow(0 0 3px rgba(127,127,127,.35))}.theme-circle:hover .theme-circle__icon--moon{filter:drop-shadow(0 0 4px rgba(200,200,200,.55))}.btn.ghost{border-color:var(--line-strong);color:var(--ink);background:color-mix(in srgb,var(--ink) 3%,transparent)}.btn.ghost:hover{border-color:color-mix(in srgb,var(--ink) 35%,transparent);background:color-mix(in srgb,var(--ink) 6%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.home{padding-top:.5rem}.home--sticky-hero{padding-top:0}.hero-sticky-wrapper{position:sticky;top:0;z-index:0;height:100svh;overflow:hidden}.home-rest{position:relative;z-index:1;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -32px 64px #0000000f}.home--sticky-hero .hero{position:relative;min-height:100svh;height:100%;box-sizing:border-box;transform-origin:center center;justify-content:center;padding:clamp(5.75rem,11vh,7.5rem) 0 clamp(3.5rem,9vh,5.5rem);gap:0}.home--sticky-hero .hero.is-scrubbing{will-change:transform,opacity,filter}.hero{position:relative;min-height:calc(100vh - 5.5rem);display:flex;flex-direction:column;justify-content:center;padding:clamp(5rem,10vh,7rem) 0 clamp(3rem,8vh,5rem);gap:0;isolation:isolate}.hero-gallery-backdrop{--home-rail: min(1480px, 100%);--home-rail-pad: clamp(.85rem, 3vw, 2.25rem);position:absolute;top:0;bottom:0;left:50%;z-index:0;display:flex;align-items:center;justify-content:center;width:var(--home-rail);padding-inline:var(--home-rail-pad);box-sizing:border-box;transform:translate(-50%);overflow:hidden;pointer-events:none;contain:paint}.hero-gallery{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;overflow:hidden;opacity:.2;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%),linear-gradient(#0000 0%,#000 5% 80%,#0000 100%);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000),linear-gradient(#0000,#000 5%,#000 80%,#0000);-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;-webkit-mask-position:center,center;mask-position:center,center;-webkit-mask-composite:source-in;mask-composite:intersect}@media(min-width:768px){.hero-gallery{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%),linear-gradient(#0000 0%,#000 15% 70%,#0000 100%);mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000),linear-gradient(#0000,#000 15%,#000 70%,#0000)}}[data-theme=dark] .hero-gallery{opacity:.2}.hero-gallery__track-wrapper{contain:content;width:100%;overflow:hidden}.hero-gallery__track-wrapper--soft{opacity:.1;transform:scale(.96) translateZ(0)}.hero-gallery__track-wrapper--mid{opacity:.2;transform:scale(1) translateZ(0)}.hero-gallery__track{display:flex;gap:.75rem;width:max-content;will-change:transform;backface-visibility:hidden;animation:hero-gallery-marquee 52s linear infinite}.hero-gallery__track--reverse{animation-name:hero-gallery-marquee-reverse;animation-duration:60s}.hero-gallery__item{flex:none;width:clamp(220px,28vw,380px);aspect-ratio:16 / 10;overflow:hidden;border-radius:40px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:var(--bg-elev)}.hero-gallery__img{display:block;width:100%;height:100%;object-fit:cover}@keyframes hero-gallery-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes hero-gallery-marquee-reverse{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}.hero-foreground{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:.95rem;width:min(920px,100%);margin-inline:auto;padding-inline:clamp(.25rem,2vw,.5rem)}.hero-foreground .hero-brand,.hero-foreground .hero-lead-block,.hero-foreground .hero-cta,.hero-foreground .hero-kicker{text-shadow:0 1px 0 color-mix(in srgb,var(--bg) 55%,transparent),0 10px 28px color-mix(in srgb,var(--bg) 45%,transparent)}.hero-kicker{margin:0;color:var(--ink-mute);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.hero-brand{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(3.8rem,14vw,8.5rem);line-height:.86;letter-spacing:-.06em}.hero-brand--live{position:relative;width:fit-content;max-width:100%;display:grid;isolation:isolate;cursor:pointer;-webkit-user-select:none;user-select:none}.hero-brand--live:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.hero-brand-ghost,.hero-brand-decrypted,.hero-brand--live .decrypted-text{grid-area:1 / 1}.hero-brand-ghost{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 28%,transparent);transform:translate(.06em,.05em);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:0}.hero-brand-decrypted,.hero-brand--live .decrypted-text{position:relative;z-index:1;color:var(--ink)}.hero-brand--live .decrypted-text__ch.is-encrypted{opacity:.55;color:var(--ink-mute)}@keyframes hero-brand-settle{0%{letter-spacing:.02em;opacity:.92}to{letter-spacing:-.06em;opacity:1}}.hero-brand--live{animation:hero-brand-settle .9s var(--ease-emphasis) both}@keyframes hero-brand-lightning{0%{filter:brightness(1) contrast(1);text-shadow:none;transform:none}6%{filter:brightness(3.2) contrast(1.35);text-shadow:0 0 8px #fff,0 0 24px #e8f4ff,0 0 48px #9ad0ff,3px 0 #fff,-2px 0 #7eb6ff;transform:translate(3px) skew(-2deg)}10%{filter:brightness(.55);text-shadow:none;transform:translate(-4px)}16%{filter:brightness(2.8) contrast(1.4);text-shadow:0 0 12px #fff,0 0 36px #cfe8ff,0 0 72px #8ec8ff,-3px 0 #fff,2px 0 #a8d4ff;transform:translate(-2px) skew(1.5deg)}22%{filter:brightness(1.15);text-shadow:0 0 10px color-mix(in srgb,var(--ink) 35%,transparent);transform:translate(1px)}38%{filter:brightness(2.1);text-shadow:0 0 16px #fff,0 0 28px #d6ebff;transform:none}55%{filter:brightness(1.25);text-shadow:0 0 8px color-mix(in srgb,var(--ink) 20%,transparent)}to{filter:brightness(1) contrast(1);text-shadow:none;transform:none}}.hero-brand--live.is-lightning,.hero-brand--live.is-lightning .hero-brand-decrypted,.hero-brand--live.is-lightning .decrypted-text,.text-lightning.is-lightning{animation:hero-brand-lightning .52s steps(2,jump-none)}.nav-capsule__item.text-lightning.is-lightning,.btn.text-lightning.is-lightning,.project-card__title.text-lightning.is-lightning{display:inline-block}@keyframes nav-pill-lightning{0%{filter:brightness(1) contrast(1);text-shadow:none}6%{filter:brightness(3.2) contrast(1.35);text-shadow:0 0 8px #fff,0 0 24px #e8f4ff,0 0 48px #9ad0ff}10%{filter:brightness(.55);text-shadow:none}16%{filter:brightness(2.8) contrast(1.4);text-shadow:0 0 12px #fff,0 0 36px #cfe8ff,0 0 72px #8ec8ff}22%{filter:brightness(1.15);text-shadow:0 0 10px color-mix(in srgb,var(--ink) 35%,transparent)}38%{filter:brightness(2.1);text-shadow:0 0 16px #fff,0 0 28px #d6ebff}55%{filter:brightness(1.25);text-shadow:0 0 8px color-mix(in srgb,var(--ink) 20%,transparent)}to{filter:brightness(1) contrast(1);text-shadow:none}}.mobile-nav-pill.text-lightning.is-lightning{display:inline-flex;animation:nav-pill-lightning .52s steps(2,jump-none)}.mobile-nav-pill .hover-label,.mobile-nav-pill .hover-label__vis{min-width:2.2em;text-align:center;justify-content:center}.hero-brand--live.is-lightning .hero-brand-ghost{-webkit-text-stroke-color:color-mix(in srgb,#9ad0ff 70%,var(--ink));opacity:.9}.hero-lead-block{max-width:34rem;display:grid;gap:.55rem;margin-top:-.15rem}.hero-lead{margin:0;font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.4;color:var(--ink-mute);font-weight:500}.hero-lead--typewriter{min-height:1.4em;font-family:var(--font-mono);font-weight:400;letter-spacing:.01em}.entries-body--typewriter{min-height:1.75em}.hero-rotate{margin:0;min-height:1.25em;font-family:var(--font-display);font-size:clamp(1.45rem,3.2vw,2.15rem);font-weight:700;letter-spacing:-.03em}.hero-phrase-container{width:fit-content;max-width:100%;min-height:1.2em;display:inline-grid;position:relative}.hero-phrase-reserve,.hero-phrase-live{grid-area:1 / 1;max-width:100%}.hero-phrase-reserve{visibility:hidden;white-space:pre-wrap}.hero-phrase-live{position:relative}.hero-phrase-decrypted,.decrypted-text{display:inline-block;max-width:100%}.decrypted-text__vis{white-space:pre-wrap}.decrypted-text__ch{display:inline}.decrypted-text__ch.is-encrypted{opacity:.72}.hero-rotate span{display:inline-block}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.home .hero-cta .btn,.games-page .hero-cta .btn{position:relative;overflow:hidden;isolation:isolate;z-index:0}.home .hero-cta .btn>*,.games-page .hero-cta .btn>*{position:relative;z-index:2}.home .hero-cta .btn:before,.home .hero-cta .btn:after,.games-page .hero-cta .btn:before,.games-page .hero-cta .btn:after{content:"";position:absolute;top:-50%;right:-80%;bottom:-50%;left:-80%;pointer-events:none;z-index:1;opacity:0;transition:opacity .25s var(--ease-standard)}.home .hero-cta .btn:before,.games-page .hero-cta .btn:before{background:linear-gradient(108deg,transparent 32%,color-mix(in srgb,#9fd4ff 55%,transparent) 42%,color-mix(in srgb,#ffffff 70%,transparent) 48%,color-mix(in srgb,#7eb8e8 50%,transparent) 54%,transparent 64%);transform:translate(-55%) skew(-12deg)}.home .hero-cta .btn:after,.games-page .hero-cta .btn:after{background:linear-gradient(118deg,transparent 38%,color-mix(in srgb,#c8e8ff 40%,transparent) 46%,color-mix(in srgb,#ffffff 55%,transparent) 50%,color-mix(in srgb,#a8d4f0 35%,transparent) 54%,transparent 62%);transform:translate(-60%) skew(-8deg)}.home .hero-cta .btn:hover:before,.home .hero-cta .btn:focus-visible:before,.home .hero-cta .btn:active:before,.games-page .hero-cta .btn:hover:before,.games-page .hero-cta .btn:focus-visible:before,.games-page .hero-cta .btn:active:before{opacity:1;animation:hero-btn-water-flow 1.15s var(--ease-emphasis) both}.home .hero-cta .btn:hover:after,.home .hero-cta .btn:focus-visible:after,.home .hero-cta .btn:active:after,.games-page .hero-cta .btn:hover:after,.games-page .hero-cta .btn:focus-visible:after,.games-page .hero-cta .btn:active:after{opacity:1;animation:hero-btn-water-flow-soft 1.45s var(--ease-emphasis) .08s both}.home .hero-cta .btn.solid:hover:before,.home .hero-cta .btn.solid:focus-visible:before,.home .hero-cta .btn.solid:active:before,.games-page .hero-cta .btn.solid:hover:before,.games-page .hero-cta .btn.solid:focus-visible:before,.games-page .hero-cta .btn.solid:active:before{background:linear-gradient(108deg,transparent 32%,rgba(160,210,255,.35) 42%,rgba(255,255,255,.45) 48%,rgba(140,190,230,.3) 54%,transparent 64%)}.home .hero-cta .btn.ghost:hover:before,.home .hero-cta .btn.ghost:focus-visible:before,.home .hero-cta .btn.ghost:active:before,.games-page .hero-cta .btn.ghost:hover:before,.games-page .hero-cta .btn.ghost:focus-visible:before,.games-page .hero-cta .btn.ghost:active:before{background:linear-gradient(108deg,transparent 32%,color-mix(in srgb,var(--ink) 12%,transparent) 42%,color-mix(in srgb,#7eb8e8 28%,transparent) 48%,color-mix(in srgb,var(--ink) 10%,transparent) 54%,transparent 64%)}@keyframes hero-btn-water-flow{0%{transform:translate(-55%) skew(-12deg)}to{transform:translate(55%) skew(-12deg)}}@keyframes hero-btn-water-flow-soft{0%{transform:translate(-60%) skew(-8deg)}to{transform:translate(50%) skew(-8deg)}}@media(prefers-reduced-motion:reduce){.home--sticky-hero .hero{will-change:auto}.hero-brand--live{animation:none;cursor:default}.hero-brand--live.is-lightning,.hero-brand--live.is-lightning .hero-brand-decrypted,.hero-brand--live.is-lightning .decrypted-text,.mobile-nav-pill.text-lightning.is-lightning,.text-lightning.is-lightning{animation:none}.hero-gallery__track,.hero-gallery__track--reverse{animation:none!important}.decrypted-text__ch.is-encrypted{opacity:1}.home .hero-cta .btn:before,.home .hero-cta .btn:after,.games-page .hero-cta .btn:before,.games-page .hero-cta .btn:after{display:none}}.section{padding:clamp(3.5rem,8vh,6rem) 0;border-top:1px solid var(--line)}.home #entries.section{border-top:none;padding-top:clamp(2rem,4vh,3.25rem)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.03em}.home .section-title{position:relative;font-family:var(--font-display-art);font-size:clamp(2.55rem,7.2vw,4.2rem);font-weight:400;letter-spacing:.06em;line-height:1.12;color:var(--ink)}.home .section-title-main{display:inline-block;font:inherit;letter-spacing:inherit;background:linear-gradient(118deg,var(--ink) 0%,var(--ink) 38%,color-mix(in srgb,var(--ink) 72%,#5a8fb0) 52%,var(--ink) 68%,var(--ink) 100%);background-size:160% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--ink) 12%,transparent));animation:home-title-art-sheen 8s ease-in-out infinite}.home .section-title-main::selection{color:var(--bg);-webkit-text-fill-color:var(--bg);background:var(--ink)}.home .section-head{align-items:flex-end;margin-bottom:2.35rem}.home .section-num{font-size:.78rem;letter-spacing:.22em;opacity:.72;transform:translateY(-.35rem)}[data-theme=light] .home .section-num{opacity:1}@keyframes home-title-art-sheen{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.home .section-title-main{animation:none;background-position:0% 50%}}.section-num{color:var(--ink-mute);font-family:var(--font-mono);font-weight:700;font-size:.9rem;letter-spacing:.12em}.about-body{margin:0;max-width:48rem;color:var(--ink-mute);font-size:1.08rem;white-space:pre-wrap}.about-body--typewriter{min-height:3.2em;font-family:var(--font-mono);font-size:clamp(.98rem,1.6vw,1.12rem);line-height:1.75;letter-spacing:.01em;color:var(--ink-mute)}.typewriter{margin:0}.typewriter__text{white-space:pre-wrap}.typewriter__caret{display:inline-block;width:.55ch;height:1.05em;margin-left:.12em;vertical-align:-.12em;background:var(--ink)}.typewriter__caret.is-solid{opacity:1}.typewriter__caret.is-blink{animation:typewriter-caret-blink 1.05s steps(1,end) infinite}@keyframes typewriter-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.typewriter__caret.is-blink{animation:none;opacity:1}}.entries-intro{margin:-.35rem 0 2.25rem;max-width:34rem}.entries-body{margin:0;color:var(--ink-mute);font-family:var(--font-mono);font-size:clamp(.92rem,1.4vw,1.02rem);font-weight:400;line-height:1.75;letter-spacing:.01em;white-space:pre-wrap}.about-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;margin-top:2.75rem;border-top:1px solid var(--line)}.feature-cell{position:relative;display:flex;flex-direction:column;padding:2.5rem clamp(1.5rem,2.5vw,2.5rem);border-bottom:1px solid var(--line);overflow:hidden;min-height:13.5rem;opacity:.55;transform:translateY(1.35rem);transition:opacity .55s var(--ease-emphasis),transform .55s var(--ease-emphasis),background-color .25s var(--ease-standard)}.about-feature-grid.is-revealed .feature-cell{opacity:.72;transform:none}[data-theme=light] .about-feature-grid .feature-cell,.about-feature-grid.is-revealed .feature-cell.is-active,.feature-cell:hover{opacity:1}.home[data-editable=true] .feature-cell{opacity:1;transform:none;min-height:14rem}.feature-cell__media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.feature-cell__bg{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform .7s var(--ease-emphasis),filter .45s var(--ease-standard),opacity .35s var(--ease-standard);opacity:.38;filter:saturate(.85) brightness(.92)}.feature-cell.has-image:hover .feature-cell__bg,.feature-cell.has-image.is-active .feature-cell__bg{transform:scale(1.12);opacity:.55;filter:saturate(1.05) brightness(1.02)}.feature-cell__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(165deg,color-mix(in srgb,var(--bg) 88%,transparent),color-mix(in srgb,var(--bg) 55%,transparent) 55%,color-mix(in srgb,var(--bg) 78%,transparent));opacity:0;transition:opacity .35s var(--ease-standard)}.feature-cell.has-image .feature-cell__veil{opacity:1}.feature-cell__media-edit{position:absolute;inset:auto .75rem .75rem auto;z-index:4;width:min(9.5rem,42%);pointer-events:auto}.feature-cell__upload.media-slot,.feature-cell__upload.media-slot--editable{min-height:4.5rem;aspect-ratio:16 / 10;border-radius:8px;border:1px dashed var(--line-strong);background:color-mix(in srgb,var(--bg) 75%,transparent)}.feature-cell__glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;pointer-events:none;transition:opacity .2s;background:linear-gradient(to top,color-mix(in srgb,var(--ink) 7%,transparent),transparent)}.feature-cell:hover .feature-cell__glow{opacity:1}@media(prefers-reduced-motion:reduce){.feature-cell{opacity:1;transform:none;transition:none}.feature-cell__bg{transition:none}}.feature-cell__icon{position:relative;z-index:1;display:flex;margin-bottom:1rem;color:var(--ink-dim)}.feature-cell__icon svg{width:1.35rem;height:1.35rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.feature-cell__title{position:relative;z-index:1;display:flex;align-items:center;margin:0 0 .5rem;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.01em}.feature-cell__bar{position:absolute;top:50%;left:calc(-1*clamp(1.5rem,2.5vw,2.5rem));width:3px;height:1.25rem;border-radius:0 9999px 9999px 0;background:var(--line-strong);transform:translateY(-50%);transition:height .2s,background-color .2s}.feature-cell:hover .feature-cell__bar{height:1.75rem;background:var(--ink)}.feature-cell__title-text{display:inline-block;color:var(--ink);transition:transform .2s}.feature-cell:hover .feature-cell__title-text{transform:translate(.5rem)}.feature-cell__text{position:relative;z-index:1;margin:0;max-width:20rem;color:var(--ink-mute);font-family:var(--font-mono);font-size:.875rem;line-height:1.65}@media(min-width:640px){.about-feature-grid.feature-grid--cols-3{grid-template-columns:repeat(2,1fr)}.feature-cell{border-right:1px solid var(--line)}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-child(2n){border-right:none}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-last-child(-n+2){border-bottom:none}}@media(min-width:1024px){.about-feature-grid.feature-grid--cols-3{grid-template-columns:repeat(3,1fr)}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-child(2n){border-right:1px solid var(--line)}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-child(3n){border-right:none}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.about-feature-grid.feature-grid--cols-3 .feature-cell:nth-last-child(-n+3){border-bottom:none}}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:2.5rem}.feature{position:relative;padding:1.45rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);min-height:150px;transition:border-color .2s,transform .2s var(--ease)}.feature:hover{border-color:var(--line-strong);transform:translateY(-2px)}.feature-idx{display:block;margin-bottom:.65rem;color:var(--ink-dim);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.08em}.feature h3{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.15rem;letter-spacing:-.02em}.feature p{margin:0;color:var(--ink-mute);font-size:.95rem}.media-slot{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-soft)}.media-slot img{display:block;width:100%;height:100%;object-fit:cover}.media-slot--editable{border:1px dashed var(--line-strong);display:block;min-height:0}.media-slot--editable img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.media-slot-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.media-slot-actions{position:absolute;right:.5rem;bottom:.5rem;display:flex;gap:.35rem;z-index:2}.media-slot-actions .btn{padding:.3rem .65rem;font-size:.78rem;background:var(--bg)}.media-slot-err{position:absolute;left:.5rem;bottom:.5rem;margin:0;font-size:.75rem}.hero-media{width:min(720px,100%);margin:.35rem 0 .15rem;aspect-ratio:16 / 7}.feature-media{width:100%;aspect-ratio:16 / 10;margin-bottom:.35rem}.project-card-media{width:calc(100% + 2.8rem);margin:-1.4rem -1.4rem .15rem;aspect-ratio:16 / 9;border-radius:calc(var(--radius) + 4px) calc(var(--radius) + 4px) 0 0}.project-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.75rem,4vw,2.75rem);flex:1;min-width:0}.entries-layout{display:flex;flex-direction:column;gap:clamp(2.75rem,7vw,4.75rem);min-width:0}.entries-row{display:grid;grid-template-columns:1fr;gap:clamp(.75rem,2vw,1.25rem);align-items:start}.entries-rail__item{display:none}@media(min-width:1024px){.home:not([data-editable=true]) .entries-row{grid-template-columns:7rem minmax(0,1fr);gap:clamp(1rem,2.5vw,1.75rem)}.home:not([data-editable=true]) .entries-rail__item{display:grid;gap:.35rem;padding-top:.45rem;align-self:start}.dev-home-canvas .entries-row{grid-template-columns:1fr}}.entries-rail__num{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1;color:var(--ink)}.entries-rail__kind{color:var(--ink-mute);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;line-height:1.3;white-space:nowrap}.project-card{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;min-height:clamp(260px,36vw,380px);border:1px solid var(--line);border-radius:28px;background:var(--ink);color:var(--bg);overflow:hidden;text-decoration:none;opacity:0;transform:translateY(1.75rem) scale(.985);transition:opacity .65s var(--ease-emphasis),transform .35s var(--ease-emphasis),box-shadow .35s var(--ease-standard),border-color .25s var(--ease-standard),filter .25s var(--ease-standard)}.entries-layout.is-revealed .project-card.is-inview,.project-grid.is-revealed .project-card.is-inview{opacity:1;transform:none}.entries-layout.is-revealed .project-card.is-inview:hover,.project-grid.is-revealed .project-card.is-inview:hover{border-color:color-mix(in srgb,var(--bg) 28%,transparent);box-shadow:0 18px 48px #00000038;transform:translateY(-3px)}.entries-layout.is-revealed .project-card.is-inview.is-flash,.project-grid.is-revealed .project-card.is-inview.is-flash,.project-card.is-flash{transform:scale(.975);filter:brightness(1.12) saturate(1.08);box-shadow:0 10px 36px #00000059;border-color:#f8f8ea73}.project-card:active:not(.is-flash){transform:scale(.985)}.home[data-editable=true] .project-card{opacity:1;transform:none}.project-card__bg{position:absolute;top:0;right:0;bottom:0;left:auto;z-index:0;width:66.666%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transform-origin:center right;transition:transform .75s var(--ease-emphasis),filter .45s var(--ease-standard);pointer-events:none}.project-card.has-bg:hover .project-card__bg,.project-card.has-bg.is-flash .project-card__bg{transform:scale(1.06);filter:brightness(1.06) saturate(1.05)}.project-card__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080809 0%,#080809 28%,rgba(8,8,9,.72) 38%,rgba(8,8,9,.28) 55%,rgba(8,8,9,.08) 72%,transparent 100%);opacity:0;transition:opacity .35s var(--ease-standard)}.project-card.has-bg .project-card__veil{opacity:1}.project-card__bg-edit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:flex-start;justify-content:flex-end;padding:.75rem;pointer-events:none}.project-card__bg-edit .project-card__bg-upload,.project-card__bg-edit .media-slot,.project-card__bg-edit .media-slot--editable{pointer-events:auto;width:min(42%,220px);height:min(48%,160px);margin:0;border-radius:14px;overflow:hidden;aspect-ratio:auto}.home[data-editable=true] .project-card__bg-edit{background:linear-gradient(200deg,rgba(8,8,9,.35) 0%,transparent 45%)}[data-theme=light] .project-card{background:#080809;color:#f8f8ea;opacity:1;transform:none}[data-theme=dark] .project-card{background:#111;color:#f8f8ea;border-color:#f8f8ea1f}.project-card__info{position:relative;z-index:2;display:flex;flex-direction:column;gap:.75rem;padding:clamp(1.35rem,3vw,2rem);min-width:0;background:linear-gradient(90deg,#080809 0%,#080809 62%,rgba(8,8,9,.55) 82%,transparent 100%)}.project-card.has-bg .project-card__info,.project-card.has-bg[data-theme] .project-card__info,[data-theme=dark] .project-card.has-bg .project-card__info{background:transparent}[data-theme=dark] .project-card__info{background:linear-gradient(90deg,#111 0%,#111 62%,rgba(17,17,17,.55) 82%,transparent 100%)}.project-card__kicker{color:#f8f8ea8c;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;font-family:var(--font-mono)}.project-card__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-card__title{margin:0;font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#f8f8ea}.project-card__arrow{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid rgba(248,248,234,.35);border-radius:9999px;color:#f8f8ea;flex-shrink:0;transition:background .25s var(--ease-standard),transform .25s var(--ease-emphasis)}.project-card:hover .project-card__arrow{background:#f8f8ea;color:#080809;transform:rotate(12deg)}.project-card__desc{margin:0;max-width:28ch;color:#f8f8eac7;font-size:.95rem;line-height:1.55}.project-card__tags{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.25rem}.project-card__tag{display:inline-flex;align-items:center;gap:.2rem;padding:.28rem .55rem;border:1px solid rgba(248,248,234,.28);border-radius:6px;font-size:.72rem;letter-spacing:.02em;color:#f8f8eae0;background:#00000040;white-space:nowrap}.project-card__tag.is-edit{padding:.15rem .3rem .15rem .45rem}.project-card__tag.is-edit input{width:5.5rem;max-width:9rem;border:0;outline:none;background:transparent;color:inherit;font:inherit;padding:.12rem 0}.project-card__tag-remove{border:0;background:transparent;color:#f8f8ea8c;cursor:pointer;font-size:.95rem;line-height:1;padding:0 .15rem}.project-card__tag-remove:hover{color:#f8f8ea}.project-card__tag-add{border:1px dashed rgba(248,248,234,.35);border-radius:6px;background:transparent;color:#f8f8eabf;font-size:.72rem;padding:.28rem .55rem;cursor:pointer}.project-card__tag-add:hover:not(:disabled){border-color:#f8f8ea99;color:#f8f8ea}.project-card__tag-add:disabled{opacity:.4;cursor:not-allowed}.project-card__go{margin-top:auto;padding-top:.5rem;font-weight:600;font-size:.9rem;color:#f8f8ea;opacity:.9}.project-card__preview{position:relative;z-index:2;min-height:100%;background:linear-gradient(105deg,#080809 0%,transparent 28%),linear-gradient(160deg,#ecece4,#d8d8d0 55%,#cfcfc6);pointer-events:none}.project-card.has-bg .project-card__preview{background:transparent}[data-theme=dark] .project-card__preview{background:linear-gradient(105deg,#111 0%,transparent 28%),linear-gradient(160deg,#2a2a2a,#1c1c1c)}.project-card__watermark{position:absolute;top:.85rem;right:1.1rem;z-index:1;font-family:var(--font-display);font-size:clamp(3.5rem,8vw,5.5rem);font-weight:800;line-height:1;letter-spacing:-.06em;color:#0808091f;pointer-events:none;-webkit-user-select:none;user-select:none}[data-theme=dark] .project-card__watermark{color:#f8f8ea14}.project-card.has-bg .project-card__watermark{color:#f8f8ea29;text-shadow:0 2px 18px rgba(0,0,0,.35)}.project-card__media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border-radius:0;aspect-ratio:auto;object-fit:cover;opacity:.92}.project-card__media.media-slot,.project-card__media.media-slot--editable{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;aspect-ratio:auto;border-radius:0}.project-card__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .75s var(--ease-emphasis),filter .45s var(--ease-standard)}.project-card.is-active .project-card__media img,.project-card:hover .project-card__media img{transform:scale(1.1);filter:brightness(1.06) saturate(1.05)}.project-card__media:not([src]),.project-card__media[src=""]{opacity:0}@media(prefers-reduced-motion:reduce){.project-card{opacity:1;transform:none;transition:none}.project-card__media img{transition:none}}.marquee{margin-top:4.25rem;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:max-content;gap:1.75rem;padding:.85rem 0;animation:marquee 28s linear infinite}.marquee-track span{color:var(--ink-dim);font-weight:600;font-size:.95rem;letter-spacing:.04em;white-space:nowrap}.marquee-track span.is-cursive{font-family:var(--font-xingkai);font-weight:200;font-size:clamp(.95rem,1.5vw,1.15rem);letter-spacing:.1em;color:var(--ink-mute);line-height:1.35;-webkit-text-stroke:.35px color-mix(in srgb,var(--bg) 70%,transparent);paint-order:stroke fill}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.site-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.1rem,4vw,3rem) 2rem;border-top:1px solid var(--line);color:var(--ink-dim);font-size:.88rem}.site-foot-left{display:flex;align-items:center;gap:.75rem}.site-foot-icp{color:inherit;text-decoration:none;transition:color .16s ease}.site-foot-icp:hover{color:var(--ink)}.site-foot-icp:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.avail-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}.page-head{padding:2.5rem 0 1.5rem;max-width:720px}.page-head h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.2rem);letter-spacing:-.04em;font-weight:800}.page-lead{margin:0;color:var(--ink-mute);font-size:1.05rem}.page-kicker{margin:0 0 .4rem;color:var(--ink-mute);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.muted{color:var(--ink-mute)}.form-error{color:var(--danger);margin:.5rem 0}.forum-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.cat-row{display:flex;flex-wrap:wrap;gap:.4rem}.cat-chip{border:1px solid var(--line);background:transparent;color:var(--ink-mute);border-radius:999px;padding:.35rem .85rem;cursor:pointer}.cat-chip[data-active=true]{color:var(--btn-solid-ink);background:var(--btn-solid-bg);border-color:transparent;font-weight:600}.compose{display:grid;gap:.9rem;margin-bottom:2rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.compose.compact{margin-top:1.25rem}.compose label{display:grid;gap:.4rem;color:var(--ink-mute);font-size:.92rem}.compose input,.compose textarea,.compose select,.modal-panel input,.dev-login input,.dev-home-form input,.dev-home-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .85rem;background:var(--field-bg);color:var(--ink);caret-color:var(--ink);color-scheme:inherit;outline:none}.compose input::placeholder,.compose textarea::placeholder,.modal-panel input::placeholder,.dev-login input::placeholder,.dev-home-form input::placeholder,.dev-home-form textarea::placeholder{color:var(--ink-dim);opacity:1}.compose input:focus,.compose textarea:focus,.compose select:focus,.modal-panel input:focus,.dev-login input:focus,.dev-home-form input:focus,.dev-home-form textarea:focus{border-color:color-mix(in srgb,var(--ink) 42%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 9%,transparent)}.compose-tools{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.file-btn{cursor:pointer}.compose-preview{border-top:1px solid var(--line);padding-top:1rem}.preview-label{margin:0 0 .5rem;color:var(--ink-dim);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.post-list{list-style:none;margin:0;padding:0}.post-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"cat title" "cat meta";gap:.15rem 1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);transition:transform .15s}.post-row:hover{transform:translate(4px)}.post-cat{grid-area:cat;align-self:start;margin-top:.2rem;font-size:.72rem;letter-spacing:.08em;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem}.post-title{grid-area:title;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}.post-meta{grid-area:meta;color:var(--ink-dim);font-size:.88rem}.post-detail{max-width:820px;padding-bottom:3rem}.back-link{display:inline-block;margin-top:1.5rem;color:var(--ink-mute)}.back-link:hover{color:var(--ink)}.post-body{padding:.5rem 0 2rem;border-bottom:1px solid var(--line)}.comments h2{margin:1.75rem 0 1rem;font-family:var(--font-display);font-size:1.5rem}.comment-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.comment-list li{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev)}.comment-meta{margin-bottom:.5rem;color:var(--ink-dim);font-size:.88rem}.md{line-height:1.7;overflow-wrap:anywhere}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.md a{text-decoration:underline;text-underline-offset:3px}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);border:1px solid var(--line);border-radius:.35rem;padding:.1em .35em}.md pre{overflow:auto;padding:1rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--code-bg)!important;color:var(--code-ink)}.md pre code{background:none;border:none;color:var(--code-ink);padding:0}[data-theme=light] .md .hljs{color:#24292e}[data-theme=light] .md .hljs-doctag,[data-theme=light] .md .hljs-keyword,[data-theme=light] .md .hljs-meta .hljs-keyword,[data-theme=light] .md .hljs-template-tag,[data-theme=light] .md .hljs-template-variable,[data-theme=light] .md .hljs-type,[data-theme=light] .md .hljs-variable.language_{color:#b31d28}[data-theme=light] .md .hljs-title,[data-theme=light] .md .hljs-title.class_,[data-theme=light] .md .hljs-title.class_.inherited__,[data-theme=light] .md .hljs-title.function_{color:#6f42c1}[data-theme=light] .md .hljs-attr,[data-theme=light] .md .hljs-attribute,[data-theme=light] .md .hljs-literal,[data-theme=light] .md .hljs-meta,[data-theme=light] .md .hljs-number,[data-theme=light] .md .hljs-operator,[data-theme=light] .md .hljs-variable,[data-theme=light] .md .hljs-selector-attr,[data-theme=light] .md .hljs-selector-class,[data-theme=light] .md .hljs-selector-id,[data-theme=light] .md .hljs-section{color:#005cc5}[data-theme=light] .md .hljs-regexp,[data-theme=light] .md .hljs-string,[data-theme=light] .md .hljs-meta .hljs-string{color:#032f62}[data-theme=light] .md .hljs-built_in,[data-theme=light] .md .hljs-symbol{color:#b44b00}[data-theme=light] .md .hljs-comment,[data-theme=light] .md .hljs-code,[data-theme=light] .md .hljs-formula{color:#59636e}[data-theme=light] .md .hljs-name,[data-theme=light] .md .hljs-quote,[data-theme=light] .md .hljs-selector-tag,[data-theme=light] .md .hljs-selector-pseudo{color:#1a7f37}[data-theme=light] .md .hljs-subst,[data-theme=light] .md .hljs-emphasis,[data-theme=light] .md .hljs-strong{color:#24292e}[data-theme=light] .md .hljs-bullet{color:#735c0f}[data-theme=light] .md .hljs-addition{color:#1a7f37;background-color:#dafbe1}[data-theme=light] .md .hljs-deletion{color:#cf222e;background-color:#ffebe9}.md img,.md video{max-width:100%;border-radius:var(--radius-sm);display:block;margin:1rem 0}.md blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-left:3px solid var(--line-strong);color:var(--ink-mute)}.main--games{width:min(1480px,100%);padding-inline:clamp(.85rem,3vw,2.25rem)}.games-page{padding-bottom:1rem;overflow-x:clip}.games-hero{min-height:calc(100vh - 6.5rem);position:relative;isolation:isolate}.games-page .hero-gallery-backdrop{--home-rail: 100%;--home-rail-pad: 0;width:100%;max-width:none;left:0;right:0;transform:none;padding-inline:0}.games-page .hero-gallery{opacity:.28}.games-page .hero-gallery__item{width:clamp(260px,22vw,440px)}[data-theme=dark] .games-page .hero-gallery{opacity:.26}.games-page .hero-foreground .ed-work-headline,.games-page .hero-foreground .ed-work-headline-swap,.games-page .hero-foreground .ed-work-greeting,.games-page .hero-foreground .ed-work-lead{text-shadow:0 1px 0 color-mix(in srgb,var(--bg) 55%,transparent),0 10px 28px color-mix(in srgb,var(--bg) 45%,transparent)}.ed-work-hero{display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding-bottom:clamp(3rem,8vh,5rem)}.ed-work-headline-wrap{display:grid;gap:.55rem;margin:.4rem 0 .6rem}.ed-work-headline{margin:0;max-width:14ch;line-height:.95;letter-spacing:-.04em}.games-page .ed-work-headline.hero-brand--live{max-width:none}.ed-work-greeting{margin:.15rem 0 0;max-width:28ch;font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,3vw,1.75rem);letter-spacing:-.02em;line-height:1.25;color:var(--ink-mute)}.ed-work-greeting--typewriter{min-height:1.35em}.ed-work-headline-swap{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.55rem,4vw,2.45rem);letter-spacing:-.03em;line-height:1.1;color:var(--ink-mute)}.ed-work-headline-swap.hero-phrase-container{width:fit-content;max-width:100%;min-height:1.2em;display:inline-grid;position:relative;animation:none}@keyframes ed-work-swap{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}.ed-work-lead{max-width:36rem}.ed-work-section{padding-top:clamp(3rem,8vh,5rem)}.ed-work-intro{max-width:40rem;margin-bottom:2rem}.ed-work-layout{display:grid;grid-template-columns:7rem 1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}.games-page .ed-work-layout{grid-template-columns:8rem 1fr;gap:clamp(1.5rem,3.5vw,3rem)}.games-page .ed-work-layout--grid{grid-template-columns:1fr;gap:clamp(1.25rem,3vw,2rem)}.games-page[data-editable=true] .ed-work-layout,.dev-home-canvas .ed-work-layout{grid-template-columns:1fr}.dev-home-canvas .games-hero{min-height:auto}.dev-home-canvas .ed-work-card{opacity:1}.ed-work-rail{position:sticky;top:6.5rem;padding-top:.5rem}.ed-work-rail-num{font-family:var(--font-display);font-weight:800;font-size:clamp(2.8rem,5vw,4rem);letter-spacing:-.05em;line-height:1}.ed-work-rail-kind{margin-top:.65rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}.ed-work-list{display:grid;gap:clamp(1.75rem,4vw,2.75rem)}.ed-work-list--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.ed-work-list--grid.is-dense{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1080px){.ed-work-list--grid.is-dense{grid-template-columns:repeat(3,minmax(0,1fr))}}.games-page .ed-work-list--grid,.games-page .ed-work-list--grid.is-dense{grid-template-columns:repeat(auto-fill,minmax(11.25rem,1fr));gap:clamp(.85rem,2vw,1.35rem);align-items:stretch}.games-page .ed-work-list--rail{display:flex;flex-wrap:nowrap;align-items:stretch;gap:clamp(.85rem,2vw,1.35rem);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:.15rem .1rem .55rem}.games-page .ed-work-list--rail>.ed-work-card{flex:0 0 min(12.75rem,68vw);width:min(12.75rem,68vw);scroll-snap-align:start}@media(min-width:720px){.games-page .ed-work-list--grid,.games-page .ed-work-list--grid.is-dense{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}.games-page .ed-work-list--rail>.ed-work-card{flex-basis:12.75rem;width:12.75rem}}@media(min-width:1100px){.games-page .ed-work-list--grid,.games-page .ed-work-list--grid.is-dense{grid-template-columns:repeat(auto-fill,minmax(13.25rem,1fr))}.games-page .ed-work-list--rail>.ed-work-card{flex-basis:13.25rem;width:13.25rem}}.ed-work-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:0;overflow:hidden;background:color-mix(in srgb,var(--bg-soft) 88%,transparent);transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.ed-work-card:hover{border-color:color-mix(in srgb,var(--ink) 28%,var(--line));transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,#000 18%,transparent)}.ed-work-card:not(.is-active){opacity:1}.ed-work-card.is-active,.ed-work-card:hover{opacity:1}.ed-work-card-link,.games-page[data-editable=true] .ed-work-card{display:grid;grid-template-columns:minmax(220px,46%) 1fr;gap:clamp(1.1rem,3vw,2rem);align-items:stretch;min-height:min(52vh,420px)}.games-page .ed-work-card-link,.games-page[data-editable=true] .ed-work-card{grid-template-columns:1fr;gap:0;min-height:0;height:100%}.games-page .ed-work-card-media,.games-page .ed-work-card-media-slot{position:relative;min-height:9.5rem;aspect-ratio:3 / 4;border-radius:0;border:0;border-bottom:1px solid var(--line);background-color:#1a1410;background-size:cover;background-repeat:no-repeat;background-position:center;overflow:hidden}.games-page .ed-work-card-media img,.games-page .ed-work-card-media-slot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block;background:transparent}.games-page .ed-work-card--more{border-style:dashed;background:color-mix(in srgb,var(--bg-soft) 70%,transparent)}.games-page .ed-work-more-link{height:100%}.games-page .ed-work-more-art{position:relative;display:grid;place-items:center;aspect-ratio:3 / 4;min-height:9.5rem;overflow:hidden;border-bottom:1px dashed var(--line);background:#1a1410}.games-page .ed-work-more-mosaic{position:absolute;top:12%;right:14%;bottom:18%;left:14%}.games-page .ed-work-more-mosaic img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid rgba(255,236,190,.28);box-shadow:0 8px 18px #0006;transform-origin:50% 90%;animation:edWorkMoreFan 3s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .12s)}.games-page .ed-work-more-mosaic img:nth-child(1){--fan: -16deg;--shift: -.55rem}.games-page .ed-work-more-mosaic img:nth-child(2){--fan: -5deg;--shift: -.15rem}.games-page .ed-work-more-mosaic img:nth-child(3){--fan: 6deg;--shift: .2rem}.games-page .ed-work-more-mosaic img:nth-child(4){--fan: 16deg;--shift: .55rem}@keyframes edWorkMoreFan{0%,to{transform:translate(var(--shift, 0)) rotate(calc(var(--fan, 0deg) * .4)) translateY(3px)}45%{transform:translate(var(--shift, 0)) rotate(var(--fan, 0deg)) translateY(-6px)}}.games-page .ed-work-more-sheen{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:2;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,#ffe8b8 24%,transparent) 48%,transparent 62%);animation:edWorkMoreSheen 3s ease-in-out infinite;pointer-events:none}@keyframes edWorkMoreSheen{0%,35%{transform:translate(-60%) rotate(8deg);opacity:0}50%{opacity:1}70%,to{transform:translate(60%) rotate(8deg);opacity:0}}.games-page .ed-work-more-chip{position:absolute;z-index:3;bottom:.65rem;left:50%;transform:translate(-50%);padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#1a1408;background:#e2b75f;box-shadow:0 4px 12px #00000047}@media(prefers-reduced-motion:reduce){.games-page .ed-work-more-mosaic img,.games-page .ed-work-more-sheen{animation:none!important}.games-page .ed-work-more-mosaic img:nth-child(1){transform:translate(-.45rem) rotate(-12deg)}.games-page .ed-work-more-mosaic img:nth-child(4){transform:translate(.45rem) rotate(12deg)}}.games-page .ed-work-card[data-cover=square] .ed-work-card-media,.games-page .ed-work-card[data-cover=square] .ed-work-card-media-slot,.games-page .ed-work-card[data-cover=wide] .ed-work-card-media,.games-page .ed-work-card[data-cover=wide] .ed-work-card-media-slot,.games-page .ed-work-card[data-cover=portrait] .ed-work-card-media,.games-page .ed-work-card[data-cover=portrait] .ed-work-card-media-slot{aspect-ratio:3 / 4}.games-page .ed-work-card-body{gap:.45rem;padding:.85rem .9rem 1rem}.games-page .ed-work-card-title{font-size:clamp(1.05rem,1.7vw,1.28rem);letter-spacing:-.03em}.games-page .ed-work-card-desc{max-width:none;font-size:.84rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.games-page .ed-work-card-go{padding-top:.4rem;font-size:.88rem}.ed-work-card-link{color:inherit;text-decoration:none;border:0;padding:0;margin:0;background:transparent;font:inherit;text-align:inherit;cursor:pointer;width:100%}.ed-work-card-media,.ed-work-card-media-slot{position:relative;min-height:240px;aspect-ratio:16 / 9;border-radius:calc(var(--radius) + 2px);background:var(--bg-soft) center / cover no-repeat;border:1px solid var(--line);overflow:hidden}.ed-work-card-media-slot.media-slot--editable{min-height:240px}.ed-work-card-media-slot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.ed-work-card-body{display:flex;flex-direction:column;gap:.75rem;padding:.35rem 0 .5rem}.ed-work-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.ed-work-card-num{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--ink-dim)}.ed-work-card-kind{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}.ed-work-card-title{margin:0;font-family:var(--font-display);font-size:clamp(1.85rem,3.6vw,2.75rem);letter-spacing:-.035em;line-height:1.05}.ed-work-card-desc{margin:0;max-width:36rem;color:var(--ink-mute);line-height:1.55}.ed-work-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.ed-work-card-tags span{border:1px solid var(--line);border-radius:999px;padding:.22rem .65rem;font-size:.78rem;color:var(--ink-mute);font-weight:600}.ed-work-card-go{margin-top:auto;padding-top:.85rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.02em}.ed-work-card-link:hover .ed-work-card-go{text-decoration:underline;text-underline-offset:.2em}.ed-work-features{margin-top:1.5rem}.games-cta-band{padding-bottom:clamp(4rem,10vh,6rem)}.shell--play,.shell--play .main--play{min-height:100vh;padding:0;max-width:none;width:100%;margin:0}.shell--play .main--play{display:flex;flex-direction:column}.game-play-shell{flex:1;display:flex;flex-direction:column;min-height:100dvh;height:100dvh;max-height:100dvh;background:var(--bg);overflow:hidden}.game-play-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:none;padding:.65rem clamp(.85rem,2vw,1.4rem);border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2}.game-play-brand{display:inline-flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;min-width:0}.game-play-brand-copy{display:grid;gap:.1rem;min-width:0}.game-play-brand-kicker{font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);line-height:1.2}.game-play-brand-title{font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-play-brand-welcome{font-family:var(--font-body);font-size:.78rem;font-weight:500;color:var(--ink-mute);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,22rem)}@media(max-width:720px){.game-play-brand-welcome{display:none}.game-play-brand-title{font-size:.95rem}}.game-play-brand-mark{width:.7rem;height:.7rem;border-radius:999px;background:var(--ink);flex:0 0 auto}.game-play-bar-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.game-play-frame{flex:1 1 auto;width:100%;min-height:0;border:0;background:#120e0c}.game-play-gate{min-height:100dvh;display:grid;align-content:center;gap:.75rem;padding:clamp(1.5rem,4vw,3rem);max-width:40rem;box-sizing:border-box}.game-play-gate-title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em}@media(max-width:720px){.game-play-bar{padding:.45rem .7rem;gap:.55rem}.game-play-bar-actions{gap:.3rem}.game-play-bar-actions .btn{padding:.35rem .55rem;font-size:.78rem;min-height:2rem}.game-play-gate{min-height:100dvh;align-content:start;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1.25rem,env(safe-area-inset-bottom,0px))}.game-play-gate-title{font-size:clamp(1.55rem,7vw,2.1rem)}}@media(max-width:860px){.ed-work-layout{grid-template-columns:1fr}.ed-work-rail{position:static;display:flex;align-items:baseline;gap:.85rem}.ed-work-rail-num{font-size:2rem}.ed-work-card-link{grid-template-columns:1fr;min-height:0}.ed-work-card-media,.ed-work-card-media-slot{aspect-ratio:16 / 10;min-height:0}.main--games{width:100%;padding-inline:clamp(.85rem,4vw,1.25rem);padding-top:5rem}.games-page .ed-work-layout{grid-template-columns:1fr;gap:1rem}.ed-work-list--grid,.ed-work-list--grid.is-dense{grid-template-columns:1fr;gap:.9rem}.games-page .ed-work-list--grid,.games-page .ed-work-list--grid.is-dense{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.games-page .ed-work-list--rail>.ed-work-card{flex-basis:min(11.5rem,62vw);width:min(11.5rem,62vw)}.games-page .ed-work-card-link,.games-page[data-editable=true] .ed-work-card{grid-template-columns:1fr;gap:0;min-height:0}.games-hero{min-height:auto;padding-top:clamp(1.25rem,6vw,2rem);padding-bottom:clamp(2rem,7vw,3rem)}.games-page .hero-foreground{width:100%;gap:.75rem;padding-inline:0}.games-page .hero-brand,.games-page .ed-work-headline{font-size:clamp(2.75rem,16vw,4.25rem);line-height:.92;max-width:100%}.games-page .ed-work-headline-wrap{gap:.4rem;margin:.2rem 0 .35rem}.games-page .ed-work-headline-swap{font-size:clamp(1.15rem,5.2vw,1.55rem);max-width:100%}.games-page .ed-work-greeting{max-width:100%;font-size:clamp(1rem,4.4vw,1.35rem)}.games-page .hero-gallery{opacity:.18}.games-page .hero-gallery__item{width:clamp(132px,40vw,200px);border-radius:22px}.games-page .hero-cta{flex-direction:column;align-items:stretch;gap:.65rem;width:100%}.games-page .hero-cta .btn{width:100%;justify-content:center;text-align:center}.games-page .ed-work-intro{max-width:100%}.games-page .ed-work-card-media,.games-page .ed-work-card-media-slot{position:relative;min-height:8.5rem;aspect-ratio:3 / 4;background-color:#1a1410;background-size:cover;background-repeat:no-repeat;background-position:center}.games-page .ed-work-card-media img,.games-page .ed-work-card-media-slot img{max-width:none;object-fit:cover}.games-page .ed-work-card-title{font-size:clamp(1rem,4.2vw,1.2rem)}.games-page .ed-work-card-desc{max-width:100%;-webkit-line-clamp:2;font-size:.8rem}.games-page .ed-work-features{grid-template-columns:1fr}}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal-root.site-auth-root{z-index:200;grid-template-columns:minmax(0,1fr);overflow:hidden}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:var(--admin-backdrop);cursor:pointer}.modal-panel{position:relative;width:min(420px,100%);display:grid;gap:.85rem;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev);box-shadow:0 24px 48px #00000029}.modal-panel h2{margin:0;font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.03em}.modal-hint{margin:0;color:var(--ink-mute);font-size:.9rem}.modal-panel label{display:grid;gap:.35rem;color:var(--ink-mute);font-size:.9rem}.modal-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:.25rem}.site-auth-backdrop{background:var(--admin-backdrop);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.site-auth-panel{position:relative;z-index:1;min-width:0;width:min(860px,calc(100vw - 2rem));max-height:min(720px,calc(100dvh - 2rem));display:grid;grid-template-columns:minmax(0,.92fr) minmax(23rem,1fr);gap:0;padding:0;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);background:var(--bg-elev);color:var(--ink);color-scheme:inherit;box-shadow:0 1px color-mix(in srgb,var(--ink) 6%,transparent),0 28px 64px #0000007a;animation:site-auth-in .28s var(--ease-emphasis) both;overflow:hidden;justify-self:center}.site-auth-scene{position:relative;min-height:34rem;overflow:hidden;background:linear-gradient(180deg,#08080914 12%,#0808093d 54%,#080809eb),url(/hero-gallery/tech-04.jpg?v=20260726) center 48% / cover no-repeat}.site-auth-scene.is-game-context{background-image:linear-gradient(180deg,transparent 18%,rgba(8,8,9,.28) 56%,rgba(8,8,9,.9) 100%),url(/game-hero.png?v=20260726)}.site-auth-scene-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(8,8,9,.1),transparent 50%),radial-gradient(circle at 72% 24%,rgba(248,248,234,.12),transparent 28%)}.site-auth-scene-copy{position:absolute;inset:auto 0 0;display:grid;gap:.35rem;padding:2rem;color:#f8f8ea;text-shadow:0 2px 18px rgba(0,0,0,.6)}.site-auth-scene-copy span,.site-auth-kicker{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.16em}.site-auth-scene-copy span{color:#f8f8eaad}.site-auth-scene-copy strong{font-family:var(--font-display-art);font-size:clamp(2rem,4vw,3.15rem);font-weight:400;line-height:1.04}.site-auth-scene-copy small{color:#f8f8eac2;font-size:.82rem}.site-auth-form-pane{min-width:0;display:grid;align-content:center;gap:1.25rem;padding:clamp(2rem,4vw,3rem);overflow-y:auto}@keyframes site-auth-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.site-auth-close{position:absolute;top:.85rem;right:.85rem;width:2rem;height:2rem;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--ink-mute);font-size:1.35rem;line-height:1;cursor:pointer;transition:color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.site-auth-close:hover{color:var(--ink);background:var(--bg-soft)}.site-auth-hero{display:grid;gap:.8rem;padding-right:1.25rem}.site-auth-kicker{color:var(--ink-dim)}.site-auth-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5.5vw,2.55rem);line-height:.95;letter-spacing:-.05em;color:var(--ink)}.site-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft)}.site-auth-tabs button{border:0;border-radius:999px;padding:.55rem .75rem;background:transparent;color:var(--ink-mute);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.site-auth-tabs button.is-active{background:var(--btn-solid-bg);color:var(--btn-solid-ink);box-shadow:0 6px 16px color-mix(in srgb,var(--ink) 18%,transparent)}.site-auth-options{display:grid;gap:.85rem}.site-auth-field{display:grid;gap:.45rem;cursor:text}.site-auth-field-title{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.site-auth-field-title em{font-style:normal;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--ink-dim)}.site-auth-field input{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);caret-color:var(--ink);font-size:1rem;outline:none;color-scheme:inherit;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.site-auth-field input::placeholder{color:var(--ink-dim)}.site-auth-field input:hover{border-color:var(--line-strong)}.site-auth-field input:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 12%,transparent)}.site-auth-field input:-webkit-autofill,.site-auth-field input:-webkit-autofill:hover,.site-auth-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 99999s ease-out 0s}.site-auth-error{margin:0}.site-auth-actions{display:grid}.site-auth-submit{width:100%;justify-content:center;background:var(--btn-solid-bg);color:var(--btn-solid-ink);border-color:var(--btn-solid-bg)}[data-theme=light] .site-auth-panel{background:var(--bg);box-shadow:0 1px color-mix(in srgb,var(--ink) 5%,transparent),0 28px 64px #0808091f}[data-theme=light] .site-auth-tabs{background:var(--bg-soft)}[data-theme=light] .site-auth-field input,[data-theme=dark] .site-auth-panel{background:var(--bg-elev)}[data-theme=dark] .site-auth-field input{background:var(--bg)}@media(max-width:680px){.modal-root.site-auth-root{align-items:end;padding:0}.site-auth-panel{width:100%;max-width:100%;max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)));grid-template-columns:minmax(0,1fr);border-width:1px 0 0;border-radius:18px 18px 0 0;justify-self:stretch}.site-auth-scene{min-height:8.75rem;background-position:center,center 48%}.site-auth-scene-copy{gap:.15rem;padding:1rem 1.15rem}.site-auth-scene-copy strong{font-size:1.85rem}.site-auth-scene-copy small{display:none}.site-auth-form-pane{width:100%;max-width:100%;gap:1rem;padding:1.25rem 1.15rem max(1.15rem,env(safe-area-inset-bottom));overflow-x:hidden}.site-auth-close{top:.7rem;right:.7rem;z-index:3;width:3rem;height:3rem;background:#08080994;color:#f8f8ea;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-auth-hero{gap:.65rem;padding-right:0}.site-auth-title{font-size:2rem}.site-auth-options{gap:.7rem}.site-auth-field input{max-width:100%;min-height:3.2rem}.site-auth-tabs,.site-auth-submit{width:100%;max-width:100%}.site-auth-tabs button{min-height:3rem}}@media(prefers-reduced-motion:reduce){.site-auth-panel{animation:none}}.dev-shell{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);background-color:var(--bg);isolation:isolate}.dev-shell:before{content:"";position:fixed;top:-48px;right:-48px;bottom:-48px;left:-48px;z-index:-2;background:url(/hogwarts-map.jpg) center top / cover no-repeat;filter:blur(14px) saturate(.78) brightness(1.04);transform:scale(1.06);opacity:.42;pointer-events:none}.dev-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 72% 62% at 50% 42%,transparent 0%,color-mix(in srgb,var(--bg) 35%,transparent) 52%,color-mix(in srgb,var(--bg) 78%,transparent) 78%,var(--bg) 100%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent) 0%,transparent 28%,transparent 62%,color-mix(in srgb,var(--bg) 70%,transparent) 100%)}.dev-shell-login:before{filter:blur(22px) saturate(.72) brightness(1.06);transform:scale(1.1);opacity:.38;-webkit-mask-image:radial-gradient(ellipse 68% 58% at 50% 45%,#000 18%,transparent 78%),linear-gradient(#000 0%,#000 100%);mask-image:radial-gradient(ellipse 68% 58% at 50% 45%,#000 18%,transparent 78%),linear-gradient(#000,#000);-webkit-mask-composite:source-in;mask-composite:intersect}.dev-shell-login:after{background:radial-gradient(ellipse 58% 48% at 50% 46%,transparent 0%,color-mix(in srgb,var(--bg) 28%,transparent) 42%,color-mix(in srgb,var(--bg) 72%,transparent) 72%,var(--bg) 100%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 62%,transparent) 0%,transparent 30%,transparent 55%,color-mix(in srgb,var(--bg) 78%,transparent) 100%)}.dev-shell-login{align-items:center;justify-content:center;padding:5.25rem 1rem 2rem}.dev-login-panel{position:relative;z-index:1;width:min(400px,calc(100% - 2rem));display:grid;gap:1.5rem;padding:clamp(1.75rem,4vw,2.25rem);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:calc(var(--radius) + 8px);background:var(--admin-surface);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 1px color-mix(in srgb,var(--ink) 5%,transparent),0 24px 56px #0000001f;font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif;animation:site-auth-in .28s var(--ease-emphasis) both}.dev-login-hero{display:grid;gap:.45rem}.dev-login-kicker{margin:0;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.dev-login-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.85rem,5vw,2.35rem);line-height:1;letter-spacing:-.045em;color:var(--ink)}.dev-login-fields{display:grid;gap:1rem}.dev-login-field{display:grid;gap:.4rem;cursor:text}.dev-login-label{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--ink-mute)}.dev-login-field input{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg-elev) 88%,transparent);color:var(--ink);font-family:inherit;font-size:1rem;font-weight:500;outline:none;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.dev-login-field input::placeholder{color:var(--ink-dim);font-weight:400}.dev-login-field input:hover{border-color:var(--line-strong)}.dev-login-field input:focus{border-color:var(--ink);background:var(--bg-elev);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.dev-login-submit{width:100%;justify-content:center;border-radius:12px;font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;letter-spacing:.02em}.dev-shell:not(.dev-shell-login){padding-top:5.25rem}.ed-inquiry{min-height:100vh;background-color:transparent;color:var(--ink)}.ed-inquiry__main{width:min(720px,calc(100% - 2rem));margin:0 auto;padding:clamp(6.5rem,14vh,8.5rem) 0 clamp(4rem,10vh,6rem);display:grid;gap:clamp(1.75rem,4vh,2.75rem)}.dev-shell.ed-inquiry .ed-inquiry__main{width:min(440px,calc(100% - 2rem));padding:clamp(1.5rem,4vw,2rem);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 28px 64px #00000024}.ed-inquiry__hero{display:grid;gap:.75rem}.ed-inquiry__title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,8vw,4.5rem);line-height:.95;letter-spacing:-.05em}.ed-inquiry__lead{margin:0;max-width:28rem;color:var(--ink-mute);font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.45}.ed-inquiry__steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:.95rem}.ed-inquiry__step{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-dim);font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.04em}.ed-inquiry__step[data-active=true]{color:var(--ink)}.ed-inquiry__step-num{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border:1px solid currentColor;border-radius:999px;font-size:.7rem}.ed-inquiry__step[data-active=true] .ed-inquiry__step-num{background:var(--ink);border-color:var(--ink);color:var(--bg)}.ed-inquiry__step-label{text-transform:uppercase}.ed-inquiry__form{display:grid;gap:1.75rem}.ed-inquiry__fieldset{margin:0;padding:0;border:0;min-width:0}.ed-inquiry__legend{margin:0 0 1rem;padding:0;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.ed-inquiry__options{display:grid;gap:.75rem}.ed-inquiry__field{display:grid;grid-template-columns:1fr;gap:.35rem 1rem;padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);cursor:text;transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-emphasis)}.ed-inquiry__field:hover,.ed-inquiry__field:focus-within{border-color:var(--line-strong)}.ed-inquiry__field:focus-within{transform:translateY(-1px)}.ed-inquiry__field-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.ed-inquiry__field-hint{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-mute)}.ed-inquiry__field input{grid-column:1 / -1;width:100%;margin-top:.35rem;padding:.7rem 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-size:1rem;outline:none}.ed-inquiry__error{margin:0}.ed-inquiry__actions{display:flex;justify-content:flex-start}.ed-inquiry__submit{min-width:10rem}@media(min-width:640px){.ed-inquiry__field{grid-template-columns:1fr auto;align-items:baseline}.ed-inquiry__field-hint{justify-self:end;text-align:right}.ed-inquiry__field input{grid-column:1 / -1}}.dev-login{width:min(400px,100%);display:grid;gap:.9rem;padding:1.75rem 1.5rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev)}.dev-login h1{margin:0;font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.03em}.dev-login-note{margin:0;color:var(--ink-mute);font-size:.92rem}.dev-login label{display:grid;gap:.35rem;color:var(--ink-mute);font-size:.9rem}.dev-back{text-align:center;color:var(--ink-mute);font-size:.9rem}.preview-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.preview-modal-panel{position:relative;z-index:1;width:min(1040px,100%);max-height:min(90vh,920px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--bg);box-shadow:0 30px 80px #00000073;overflow:hidden}.preview-modal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:var(--topbar-bg)}.preview-modal-bar strong{font-family:var(--font-display);letter-spacing:-.02em}.preview-modal-bar .btn{margin-left:auto}.preview-modal-body{overflow:auto;padding:0 clamp(1rem,3vw,2rem) 2rem}.home-preview .hero{min-height:clamp(26rem,52vh,38rem);padding:clamp(3.5rem,7vh,5.5rem) 0 clamp(2rem,5vh,3.5rem)}.home[data-editable=true] .about-feature-grid .feature-cell{min-height:14rem}.home[data-editable=true] .project-card__media.media-slot--editable{align-self:stretch;min-height:200px}.dev-toast-rail{width:min(1120px,100%);margin:0 auto;padding:0 clamp(1.1rem,4vw,3rem);display:grid;gap:.5rem}.dev-toast{margin:0;padding:.7rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--admin-surface-solid);box-shadow:var(--admin-shadow);font-size:.9rem}.dev-toast--err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.dev-toast--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.dev-main{width:min(1120px,100%);margin:0 auto;padding:1.25rem clamp(1.1rem,4vw,3rem) 3rem}.dev-panel{display:grid;gap:1.25rem;padding:1.25rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--admin-surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--admin-shadow)}.dev-kicker{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nav-mute)}.dev-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem 1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.dev-page-head h2{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.03em;line-height:1.15}.dev-page-head--compact{width:min(1120px,100%);margin:0 auto;padding:.85rem clamp(1.1rem,4vw,3rem) .85rem;border-bottom:1px solid var(--line)}.dev-page-desc{margin:0;color:var(--ink-mute);font-size:.92rem;max-width:28rem}.dev-empty{margin:0;padding:2.5rem 1rem;text-align:center;color:var(--ink-mute);border:1px dashed var(--line);border-radius:var(--radius);background:#7f7f7f08}.dev-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.dev-stats li{display:grid;gap:.45rem;align-content:start;padding:1.15rem 1.2rem;border-radius:calc(var(--radius) + 2px);border:1px solid var(--line);background:var(--admin-surface-solid);box-shadow:var(--admin-shadow);transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-emphasis)}.dev-stats li:hover{border-color:var(--line-strong);transform:translateY(-2px)}.dev-stats-label{color:var(--nav-mute);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dev-stats strong{font-size:clamp(1.8rem,3vw,2.35rem);font-family:var(--font-display);letter-spacing:-.03em;line-height:1}.dev-stats-go{justify-self:start;margin-top:.25rem;padding:0;border:0;background:none;color:var(--ink-mute);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s}.dev-stats-go:hover{color:var(--ink)}.dev-stats-meta{margin-top:.25rem;color:var(--ink-dim);font-size:.82rem}.dev-jump-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.dev-jump{display:grid;gap:.35rem;align-content:start;text-align:left;padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--admin-surface-solid);box-shadow:var(--admin-shadow);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-emphasis)}.dev-jump:hover{border-color:var(--line-strong);transform:translateY(-2px)}.dev-jump-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.dev-jump-desc{color:var(--ink-mute);font-size:.85rem}.dev-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.dev-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1rem;padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--admin-surface-solid);box-shadow:var(--admin-shadow);transition:border-color .2s}.dev-list li:hover{border-color:var(--line-strong)}.dev-list-main{display:grid;gap:.3rem;min-width:0;flex:1}.dev-list-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.dev-list-title-row strong{font-size:1.02rem;letter-spacing:-.01em}.dev-id{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--ink-dim)}.dev-chip{display:inline-flex;align-items:center;padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-mute);font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dev-list-meta{color:var(--ink-mute);font-size:.86rem}.dev-list-actions{display:flex;flex-shrink:0;gap:.4rem}.dev-list-actions .btn{padding:.45rem .85rem;font-size:.85rem}.dev-games{display:flex;flex-direction:column;flex:1;min-height:0}.dev-frame-shell{flex:1;margin:.85rem clamp(1.1rem,4vw,3rem) 1.25rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);overflow:hidden;background:var(--admin-surface);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--admin-shadow);min-height:calc(100vh - 10.5rem)}.dev-frame{display:block;width:100%;height:100%;min-height:calc(100vh - 10.5rem);border:0;background:var(--bg)}.game-admin{width:min(1120px,100%);margin:0 auto;padding:1rem clamp(1.1rem,4vw,3rem) 3rem;display:grid;gap:1rem}.game-admin.game-admin--wide{width:min(1760px,calc(100% - .75rem));max-width:100%;padding-left:clamp(.45rem,1.2vw,1.1rem);padding-right:clamp(.45rem,1.2vw,1.1rem)}.game-admin.game-admin--wide .game-admin-library{width:100%;min-height:calc(100vh - 12.5rem);min-height:calc(100dvh - 12.5rem);border-radius:calc(var(--radius) + 2px)}.game-admin.game-admin--wide .game-admin-library .dev-frame{min-height:calc(100vh - 12.5rem);min-height:calc(100dvh - 12.5rem)}@media(max-width:720px){.game-admin,.game-admin.game-admin--wide{width:100%;margin:0;padding:.65rem .45rem 1.5rem;gap:.75rem}.game-admin.game-admin--wide .game-admin-library{min-height:calc(100vh - 11rem);min-height:calc(100dvh - 11rem);border-radius:12px}.game-admin.game-admin--wide .game-admin-library .dev-frame{min-height:calc(100vh - 11rem);min-height:calc(100dvh - 11rem)}.game-admin-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}}.game-admin>.dev-panel,.game-admin-section,.game-admin .admin-block{background:var(--admin-surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.game-admin-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.game-admin-tabs{width:100%;margin:0}.game-admin-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.game-admin-section-head h3,.game-admin .dev-panel h3{margin:0;font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.03em}.game-admin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.game-admin-field{display:grid;gap:.35rem;margin-bottom:.85rem;font-size:.85rem;color:var(--ink-mute);font-family:var(--font-mono)}.game-admin-field input,.game-admin-field textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--admin-input);color:var(--ink);outline:none;color-scheme:inherit;transition:border-color .2s,box-shadow .2s,background .2s}.game-admin-field input:focus,.game-admin-field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.game-admin-invite-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:end;margin-bottom:1.25rem}.admin-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--admin-surface-solid)}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.75rem .85rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);background:var(--admin-surface-soft)}.admin-table tbody tr{transition:background .18s var(--ease-standard)}.admin-table tbody tr:hover{background:var(--admin-hover)}.admin-table code{color:var(--ink)}.admin-table tr:last-child td{border-bottom:0}.game-admin-copy-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}.game-admin-copy-fields h4{margin:1rem 0 .5rem;font-family:var(--font-display)}.game-admin-copy-previews{display:grid;gap:.85rem;align-content:start}.game-admin-preview{padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--admin-surface-solid)}.game-admin-preview-kicker{margin:.35rem 0 0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.game-admin-preview h4{margin:.35rem 0;font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.03em}.game-admin-preview p{margin:.25rem 0 0;color:var(--ink-mute)}.game-admin-library{margin:0;min-height:calc(100vh - 14rem);background:color-mix(in srgb,var(--bg) 82%,transparent)}.game-admin-library .dev-frame{background:transparent;min-height:calc(100vh - 14rem)}.game-users-admin{display:grid;gap:1rem}.game-users-admin .dev-page-head{margin-bottom:0}.dev-users{display:grid;gap:1rem}.game-admin-modal-root,.game-admin .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:var(--admin-backdrop);cursor:pointer}.game-admin-modal{width:min(440px,100%);padding:1.35rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--admin-surface-solid);cursor:default;box-shadow:var(--admin-shadow)}.game-admin-modal h3{margin:0 0 .75rem;font-family:var(--font-display)}@media(max-width:860px){.game-admin-invite-form,.game-admin-copy-grid{grid-template-columns:1fr}}@media(max-width:720px){.admin-table-scroll{overscroll-behavior-inline:contain}.admin-table{width:max-content;min-width:100%}.admin-table th,.admin-table td{white-space:nowrap}}.dev-home-editor{display:flex;flex-direction:column;flex:1;min-height:0}.dev-home-toolbar{position:sticky;top:5.25rem;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;width:min(1120px,calc(100% - 2rem));margin:.35rem auto 0;padding:.85rem 1.15rem;border:1px solid var(--line);border-radius:9999px;background:var(--admin-surface-solid);box-shadow:var(--admin-shadow)}.dev-home-toolbar-copy{display:grid;gap:.15rem;min-width:0}.dev-home-toolbar-copy .dev-kicker{margin:0}.dev-home-hint{margin:0;color:var(--ink-mute);font-size:.85rem}.dev-home-actions{display:flex;gap:.5rem}.dev-design-surfaces{display:flex;flex-wrap:wrap;gap:.35rem;width:min(1120px,calc(100% - 2rem));margin:.75rem auto 0;padding:.25rem;border:1px solid var(--line);border-radius:9999px;background:color-mix(in srgb,var(--admin-surface-soft) 82%,transparent)}.dev-design-surface{flex:1;min-width:4.5rem;padding:.55rem 1rem;border:0;border-radius:9999px;background:transparent;color:var(--ink-mute);font:inherit;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s}.dev-design-surface:hover{color:var(--ink)}.dev-design-surface[data-active=true]{background:var(--ink);color:var(--bg)}.dev-home-canvas{width:100%;margin:0;padding:1rem 0 3rem;box-sizing:border-box}.dev-home-canvas .home-preview .hero{min-height:clamp(28rem,58vh,40rem);padding:clamp(4.5rem,8vh,6rem) 0 clamp(2.5rem,6vh,4rem)}.dev-home-canvas .home-preview .hero-gallery-backdrop{opacity:1}.dev-home-canvas .home-preview .hero-brand{font-size:clamp(2.8rem,9vw,6.5rem)}.dev-home-canvas .project-card__media,.dev-home-canvas .hero-media,.dev-home-canvas .feature-media,.dev-home-canvas .game-project-art-slot{max-width:100%}.dev-home-canvas .project-card{overflow:hidden}.dev-home-canvas .feature-cell__title-text.is-editable,.dev-home-canvas .feature-cell__text.is-editable{display:inline-block;width:100%;max-width:20rem}.dev-home-canvas a{pointer-events:none;cursor:text}.dev-home-canvas [data-editable=true] a.btn,.dev-home-canvas [data-editable=true] a.game-project{pointer-events:none}.dev-home-canvas .is-editable,.dev-home-canvas .btn.is-editable,.dev-home-canvas .media-slot--editable,.dev-home-canvas .media-slot-actions,.dev-home-canvas .media-slot-actions .btn,.dev-home-canvas .rotate-editor,.dev-home-canvas .rotate-editor .btn,.dev-home-canvas .rotate-editor input,.dev-home-canvas .game-tags-input{pointer-events:auto;cursor:text}.dev-home-canvas .media-slot-actions .btn,.dev-home-canvas .rotate-editor .btn{cursor:pointer}.game-project-art-slot{min-height:220px;border-radius:0}.game-project-art-slot img{width:100%;height:100%;min-height:220px;object-fit:cover}.home[data-editable=true] .is-editable,.forum-page[data-editable=true] .is-editable,.games-page[data-editable=true] .is-editable{outline:1px dashed transparent;outline-offset:4px;border-radius:4px;cursor:text;transition:outline-color .2s,background .2s;min-width:1.5ch}.home[data-editable=true] .is-editable:hover,.forum-page[data-editable=true] .is-editable:hover,.games-page[data-editable=true] .is-editable:hover{outline-color:var(--line-strong);background:#7f7f7f0f}.home[data-editable=true] .is-editable:focus,.forum-page[data-editable=true] .is-editable:focus,.games-page[data-editable=true] .is-editable:focus{outline:1.5px solid var(--ink);outline-offset:4px;background:#7f7f7f14}.home[data-editable=true] .btn.is-editable,.games-page[data-editable=true] .btn.is-editable{outline-offset:2px}.home[data-editable=true] .is-editable:empty:before,.forum-page[data-editable=true] .is-editable:empty:before,.games-page[data-editable=true] .is-editable:empty:before{content:attr(data-placeholder);color:var(--ink-dim)}.forum-compose-labels{display:inline-flex;align-items:center;gap:.2rem}.game-tags-input{width:100%;padding:.35rem .5rem;border:1px dashed var(--line-strong);border-radius:6px;background:#7f7f7f0d;color:inherit;font:inherit;font-size:.85rem}.rotate-editor{margin-top:1rem;width:min(520px,100%);padding:.85rem 1rem;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#7f7f7f0d;text-align:left}.rotate-editor-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;color:var(--ink-mute);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rotate-editor-head .btn{padding:.35rem .75rem;font-size:.8rem}.rotate-editor-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.rotate-editor-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem}.rotate-editor-idx{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-dim)}.rotate-editor-list input{width:100%;border:1px solid var(--line);border-radius:999px;background:var(--admin-input);padding:.45rem .85rem;color:var(--ink)}.rotate-editor-list input:focus{outline:none;border-color:var(--line-strong)}.rotate-editor-list .btn{padding:.35rem .65rem;font-size:.8rem}@media(max-width:900px){.dev-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-stats{grid-template-columns:1fr}}@media(min-width:768px){.nav-capsule--desktop{display:flex}.header-actions{margin-left:0}.header-who{display:inline}.header-cta>svg{display:inline}.header-hamburger,.mobile-nav-backdrop,.mobile-nav-dropdown{display:none}}@media(max-width:767px){.floating-header__inner{gap:.5rem;padding-top:.75rem}.floating-logo{width:38px;height:38px}.header-cta{height:38px;font-size:.6875rem}.header-hamburger{width:38px;height:38px}}@media(max-width:820px){.feature-grid:not(.about-feature-grid),.project-grid,.dev-stats,.dev-jump-grid{grid-template-columns:1fr}.project-card{grid-template-columns:1fr;min-height:0}.project-card__preview{min-height:200px;order:-1}.project-card__info{background:#080809}[data-theme=dark] .project-card__info{background:#111}.project-card__watermark{color:#f8f8ea24}.dev-home-toolbar{border-radius:var(--radius);align-items:stretch}.dev-home-actions{width:100%;justify-content:flex-end}.game-project{grid-template-columns:1fr}.game-project-art{min-height:180px;border-right:0;border-bottom:1px solid var(--line)}.post-row{grid-template-columns:1fr;grid-template-areas:"cat" "title" "meta"}}.form-ok{color:var(--ok);font-size:.875rem;margin:.5rem 0}.profile-page{max-width:min(720px,100%);margin:0 auto;padding:2rem 1.25rem 4rem}.profile-back{display:inline-flex;align-items:center;margin-bottom:.75rem;color:var(--ink-mute);font-size:.875rem;text-decoration:none}.profile-back:hover{color:var(--ink)}.profile-nav{display:grid;gap:.85rem;margin-top:1.75rem}.profile-nav__card{display:grid;gap:.35rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb,var(--bg-elev) 88%,transparent);color:inherit;text-decoration:none;transition:border-color .2s var(--ease-standard),transform .2s var(--ease-standard),background .2s var(--ease-standard)}.profile-nav__card:hover{border-color:color-mix(in srgb,var(--ink) 28%,transparent);transform:translateY(-2px);background:var(--bg-elev)}.profile-nav__card:active{transform:scale(.99)}.profile-nav__title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.profile-nav__desc{color:var(--ink-mute);font-size:.875rem;line-height:1.45}.profile-nav__go{margin-top:.35rem;font-size:.85rem;font-weight:600;color:var(--ink)}@media(max-width:720px){.profile-page{padding:1.25rem 1rem 3rem}.profile-nav__card{padding:1rem 1.05rem}}.profile-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.profile-section h2{margin:0 0 .35rem;font-size:1.25rem}.profile-section__hint{margin:0 0 1rem;color:var(--ink-mute);font-size:.875rem}.profile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.profile-list li{padding:.85rem 0;border-bottom:1px solid var(--line)}.profile-list__main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.profile-list__main a{color:inherit;text-decoration:none}.profile-list__main a:hover strong{text-decoration:underline}.profile-list__meta{display:block;margin-top:.35rem;color:var(--ink-mute);font-size:.8125rem}.profile-list__actions{display:flex;gap:.5rem;margin-top:.65rem}.profile-status[data-status=pending]{color:var(--warning);font-size:.75rem}.profile-status[data-status=approved]{color:var(--ok);font-size:.75rem}.profile-status[data-status=rejected]{color:var(--danger);font-size:.75rem}.profile-result[data-result=win]{color:var(--ok);font-weight:600}.profile-result[data-result=loss]{color:var(--danger);font-weight:600}.profile-result[data-result=draw]{color:var(--ink-mute);font-weight:600}.profile-edit{display:flex;flex-direction:column;gap:.65rem}.profile-edit input,.profile-edit textarea,.profile-password input{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0}.profile-edit__actions{display:flex;gap:.5rem}.profile-password{display:flex;flex-direction:column;gap:.85rem;max-width:22rem}.profile-password label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;color:var(--ink-mute)}
