:root{--bg:#14111f;--panel:#1f1a30;--text:#e8e4f4;--muted:#a49cc0;--accent:#ffd166;--ink:#14111f;--accent-text:#ffd166;--game-sky:#171f11;--game-ground:#1b3f10;--game-edge:#4fb315;--game-label:#fff;--pixel:"Press Start 2P", monospace;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:17px/1.6 Rubik,system-ui,sans-serif}:root[data-theme=light]{--bg:#dbe8cf;--panel:#f5f9ef;--text:#16240f;--muted:#4a5e3c;--game-sky:#dbe8cf;--game-ground:#4f7a3a;--game-edge:#86bf5c;--game-label:#000;--accent-text:#8a5d00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);margin:0}html:has(.game){overflow:hidden}h1,h2,.btn{font-family:var(--pixel);line-height:1.4}.btn{color:var(--ink);background:var(--accent);cursor:pointer;border:0;padding:.8em 1.1em;font-size:.7rem;text-decoration:none;display:inline-block;box-shadow:0 4px #b88a1c}.btn:active{translate:0 3px;box-shadow:0 1px #b88a1c}.landing{--wx:0px;--gy:85vh;--s:1;--sign-left:70vw;translate:var(--wx) 0;pointer-events:none;position:absolute;inset:0}.hero>*{pointer-events:auto}.hero{width:min(100%, calc(var(--sign-left) - 24px));height:calc(var(--gy) - var(--s) * 56px - 16px);grid-template-columns:auto minmax(0,560px);justify-content:center;align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:3rem 1rem 1rem;display:grid}.photo{height:clamp(140px, calc(var(--gy) - var(--s) * 56px - 7rem), 425px);aspect-ratio:4/5;object-fit:cover;border:6px solid var(--text);width:auto;box-shadow:10px 10px 0 var(--accent);image-rendering:auto}h1{margin:.5rem 0;font-size:clamp(1.4rem,4vw,2.4rem)}.role{color:var(--muted);margin-top:0}.links{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}@media (width<=720px){.hero{grid-template-columns:minmax(0,420px);padding-top:2rem}.photo{justify-self:center;max-width:240px}}.game{position:fixed;inset:0}.game-canvas,.game-canvas canvas{outline:none;width:100%;height:100%;position:absolute;inset:0}.hud-home{position:absolute;top:1rem;left:1rem}.hud-open{width:fit-content;margin-inline:auto;position:absolute;bottom:1.5rem;left:0;right:0}.touch{display:none}@media (pointer:coarse){.hud-open{bottom:6.5rem}.touch{display:block}.touch button{width:64px;height:64px;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffff1f;border:2px solid #ffffff40;border-radius:50%;font-size:1.4rem;position:absolute;bottom:1rem}.touch button:first-child{left:1rem}.touch button:nth-child(2){left:6rem}.touch .touch-jump{right:1rem}}.theme-switch{z-index:5;border:2px solid var(--muted);background:var(--panel);cursor:pointer;border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;top:1rem;right:1rem}.theme-switch span{width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}:root[data-theme=light] .theme-switch .sun,:root[data-theme=dark] .theme-switch .moon{background:var(--accent);color:var(--ink)}.modal{width:min(760px,100% - 2rem);max-height:calc(100% - 2rem);color:var(--text);background:var(--panel);border:6px solid var(--a);box-shadow:10px 10px 0 var(--c);padding:clamp(1rem,4vw,2rem)}.modal::backdrop{background:#000000b3}.modal h2{color:var(--a);margin:0 2.5rem .5rem 0;font-size:clamp(1rem,3vw,1.5rem)}:root[data-theme=light] .modal h2{color:var(--c)}.modal-close{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:1.2rem;position:absolute;top:.75rem;right:.75rem}.tags{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.tags li{border:2px solid var(--a);padding:.15em .6em;font-size:.8rem}.media{aspect-ratio:16/9;background:#000;border:0;width:100%;display:block}.play{font-family:var(--pixel);color:var(--a);background:var(--c);cursor:pointer;font-size:1rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.gallery img,.shot-placeholder{aspect-ratio:16/9;object-fit:cover;width:100%}.shot-placeholder{color:var(--a);background:var(--c);place-items:center;font-size:.8rem;display:grid}
