:root{--paper: #fdf9f6;--paper-2: #f6edf2;--ink: #2e2a45;--ink-soft: #625d7e;--pink: #f7b6d2;--blue: #a9d4f2;--yellow: #fdeca0;--mint: #bfe8d6;--lilac: #d9ccf5;--pink-ink: #c23d82;--blue-ink: #2a6fa8;--card-mix: 100%;--line: color-mix(in srgb, var(--ink) 18%, transparent);--blend: multiply;--display: "Bricolage Grotesque", "Arial Narrow", sans-serif;--body: "Instrument Sans", system-ui, sans-serif;--gutter: clamp(16px, 4vw, 48px);--measure: 68ch;color-scheme:only light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #1d1b2e;--paper-2: #28253d;--ink: #f1eef8;--ink-soft: #b7b1cc;--pink: #9c5a80;--blue: #4f7ea3;--mint: #3f7a66;--lilac: #6a5a9c;--pink-ink: #f7b6d2;--blue-ink: #a9d4f2;--card-mix: 60%;--blend: screen;color-scheme:dark}}:root[data-theme=dark]{--paper: #1d1b2e;--paper-2: #28253d;--ink: #f1eef8;--ink-soft: #b7b1cc;--pink: #9c5a80;--blue: #4f7ea3;--mint: #3f7a66;--lilac: #6a5a9c;--pink-ink: #f7b6d2;--blue-ink: #a9d4f2;--card-mix: 60%;--blend: screen;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);overflow-x:hidden}main{overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-color:var(--pink-ink);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{color:var(--blue-ink)}:focus-visible{outline:3px solid var(--blue-ink);outline-offset:3px;border-radius:4px}h1,h2,h3{font-family:var(--display);font-variation-settings:"wdth" 80;line-height:1.05;margin:0 0 .5em;text-wrap:balance}p{margin:0 0 1em}.muted{color:var(--ink-soft)}.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:10}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px var(--gutter);border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:.3em;margin-right:auto;font:800 clamp(1.8rem,1.2rem + 1.6vw,2.6rem) / 1 var(--display);font-variation-settings:"wdth" 75;text-decoration:none}.wordmark span:last-child{color:var(--pink-ink)}.site-header ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}.site-header nav a{text-decoration:none;font-weight:500;padding:4px 0;border-bottom:2px solid transparent}.site-header nav a.active{border-bottom-color:var(--pink-ink)}.site-header nav{order:1}.header-tools{order:2;display:flex;align-items:center;gap:8px}.theme-toggle,.menu-button{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;font:600 .95rem/1 var(--body);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer}.theme-toggle{padding:0}.theme-toggle:hover,.menu-button:hover{background:var(--paper-2)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .sun{display:inline}:root[data-theme=dark] .theme-toggle .moon{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .sun{display:inline}:root:not([data-theme=light]) .theme-toggle .moon{display:none}}.menu-button{display:none}@media(max-width:720px){.menu-button{display:inline-grid}.site-header nav{display:none;flex-basis:100%}.site-header nav.open{display:block}.site-header nav ul{flex-direction:column;gap:0}.site-header nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:1.15rem}.site-header nav a.active{color:var(--pink-ink);border-bottom-color:var(--line)}}.site-footer{margin-top:96px;padding:28px var(--gutter);border-top:1px solid var(--line);font-size:.9rem}.site-footer p{margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0 0 16px;padding:0;font-weight:600;font-size:1rem;overflow-wrap:anywhere}.site-header{view-transition-name:site-header}.player{view-transition-name:player}::view-transition-old(root){animation:page-out .18s ease-in both}::view-transition-new(root){animation:page-in .34s cubic-bezier(.2,.7,.2,1) .06s both}@keyframes page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes page-in{0%{opacity:0;transform:translateY(16px)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.hero{padding:clamp(32px,7vw,88px) var(--gutter) clamp(24px,5vw,56px)}.hero-hi{font:600 clamp(1.1rem,2.4vw,1.6rem) / 1 var(--display);margin-bottom:.4em}.hero-name{font-size:clamp(4.5rem,24vw,21rem);font-weight:800;font-variation-settings:"wdth" 75,"opsz" 96;line-height:.8;letter-spacing:-.01em;text-transform:uppercase;margin:0}.overprint{display:grid;width:max-content}.ink{grid-area:1 / 1;mix-blend-mode:var(--blend)}.ink-blue{color:var(--blue);transform:translate(.035em,.025em)}.ink-pink{color:var(--pink-ink)}@media(prefers-reduced-motion:no-preference){.ink-blue{animation:register 1.4s cubic-bezier(.2,.7,.2,1) both}.overprint-delay .ink-blue{animation-delay:.15s}}@keyframes register{0%{transform:translate(.16em,-.06em)}}.hero-intro{font-size:clamp(1.2rem,2.4vw,1.6rem);max-width:40ch;margin:clamp(20px,3vw,36px) 0 24px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.section,.page{padding:0 var(--gutter);margin-top:clamp(56px,9vw,112px)}.page{margin-top:clamp(40px,6vw,72px);max-width:1200px}.section-title{font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:700}.page-title{font-size:clamp(2.6rem,8vw,5.5rem);font-weight:800;font-variation-settings:"wdth" 75;max-width:16ch}.lede{font-size:clamp(1.15rem,2vw,1.35rem);max-width:48ch}.prose{max-width:var(--measure)}.page section{margin-top:64px}#things{scroll-margin-top:24px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}.cards li:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:1024px){.cards{grid-template-columns:repeat(3,1fr)}.cards li:last-child:nth-child(odd){grid-column:auto}.cards li:last-child:nth-child(3n+1){grid-column:1 / -1}.cards li:last-child:nth-child(3n+2){grid-column:span 2}}.cards li{--card: var(--pink)}.cards li:nth-child(4n+2){--card: var(--blue)}.cards li:nth-child(4n+3){--card: var(--mint)}.cards li:nth-child(4n+4){--card: var(--lilac)}.card{display:grid;grid-template-rows:auto 1fr auto;gap:8px;height:100%;min-height:200px;padding:24px;border-radius:14px;background:color-mix(in srgb,var(--card) var(--card-mix),var(--paper));color:var(--ink);text-decoration:none}.card:hover{color:var(--ink);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--ink) 45%,transparent)}.card-label{font:700 clamp(1.6rem,3.4vw,2.2rem) / 1.05 var(--display);font-variation-settings:"wdth" 80}.card-arrow{font:700 1.6rem/1 var(--display);justify-self:end}@media(max-width:640px){.card{min-height:150px}}@media(prefers-reduced-motion:no-preference){.card,.card-arrow{transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px)}.card:hover .card-arrow{transform:translate(4px)}}.alchemy{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 48px;align-items:center}.alchemy img{border-radius:6px;width:100%}@media(max-width:800px){.alchemy{grid-template-columns:1fr}}.button{display:inline-block;background:var(--ink);color:var(--paper);font:600 1rem/1 var(--body);padding:14px 20px;border:0;border-radius:999px;text-decoration:none;cursor:pointer}.button:hover{background:var(--pink);color:var(--ink)}.button-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.button-ghost:hover{box-shadow:inset 0 0 0 2px var(--pink)}.button:disabled{opacity:.6;cursor:progress}.quote{margin:0;max-width:30ch}.quote blockquote{margin:0 0 16px;font:700 clamp(1.6rem,4.2vw,3rem) / 1.12 var(--display);font-variation-settings:"wdth" 85;text-wrap:pretty}.quote figcaption{color:var(--ink-soft)}@media(min-width:900px){.quote{max-width:920px}}.page-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,340px);gap:32px 56px;align-items:start}.portrait{width:100%;border-radius:6px}.portrait.round{border-radius:50%;max-width:280px}@media(max-width:800px){.page-split{grid-template-columns:1fr}.portrait{max-width:320px}}.two-things{padding-left:1.4em}.two-things li{margin-bottom:1em}.two-things li::marker{font:800 1.2em var(--display);color:var(--pink-ink)}.selected{display:inline-block;background:var(--yellow);color:#2e2a45;padding:4px 10px;border-radius:4px;font-weight:600}.tracker-status{display:flex;align-items:center;gap:10px;font-weight:600}.live-dot{width:12px;height:12px;border-radius:50%;background:var(--pink-ink)}@media(prefers-reduced-motion:no-preference){.live-dot{animation:pulse 1.6s ease-out infinite}}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--pink-ink) 60%,transparent)}to{box-shadow:0 0 0 14px transparent}}.coords{display:flex;flex-wrap:wrap;gap:24px 64px;margin:40px 0 24px}.coords dt{color:var(--ink-soft)}.coords dd{margin:0;font:800 clamp(2.4rem,9vw,6rem) / 1 var(--display);font-variation-settings:"wdth" 75;font-variant-numeric:tabular-nums;color:var(--blue-ink)}.map{aspect-ratio:16 / 10;max-width:900px;margin:0 0 16px;border:2px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--paper-2)}.map iframe{display:block;width:100%;height:100%;border:0}@media(max-width:640px){.map{aspect-ratio:4 / 5}}html.no-scroll{overflow:hidden}.hack{--hack-bg: #0d0c16;--hack-text: #bfe8d6;--hack-pink: #f7b6d2;--hack-blue: #a9d4f2;position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:max(24px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:var(--hack-bg);color:var(--hack-text);font:500 clamp(.95rem,3.8vw,1.15rem) / 1.5 ui-monospace,"SF Mono",Menlo,Consolas,monospace;overflow:hidden}.hack.leaving{animation:hack-out .45s ease-in forwards}.hack:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgb(0 0 0 / .25) 2px 4px)}.hack-screen{max-width:34rem;animation:shake .5s 4.3s both}.hack-alert{color:var(--hack-pink);font-weight:700;letter-spacing:.08em;text-transform:uppercase;animation:blink 1s steps(1) infinite}.hack-log{list-style:none;margin:0 0 20px;padding:0}.hack-log li{clip-path:inset(0 100% 0 0);animation:type .35s steps(22) forwards}.hack-log li:nth-child(1){animation-delay:.25s}.hack-log li:nth-child(2){animation-delay:.7s}.hack-log li:nth-child(3){animation-delay:1.15s}.hack-log li:nth-child(4){animation-delay:1.6s}.hack-log li:nth-child(5){animation-delay:2.05s}.hack-log li:nth-child(6){animation-delay:2.5s}.hack-progress{display:grid;gap:8px;opacity:0;counter-reset:pct var(--pct);animation:appear .01s 2.9s forwards,count 1.3s 2.9s cubic-bezier(.6,0,.3,1) forwards}.hack-progress>span:first-child:after{content:" " counter(pct) "%";color:var(--hack-pink)}.hack-bar{height:14px;border:1px solid var(--hack-text);padding:2px}.hack-bar span{display:block;height:100%;background:var(--hack-text);transform-origin:left;transform:scaleX(0);animation:fill 1.3s 2.9s cubic-bezier(.6,0,.3,1) forwards}.hack-granted{position:relative;margin:28px 0 0;font:800 clamp(2.6rem,13vw,5rem) / .95 var(--display);font-variation-settings:"wdth" 75;color:#fff;opacity:0;animation:appear .01s 4.3s forwards}.hack-granted:before,.hack-granted:after{content:attr(data-text);content:attr(data-text) / "";position:absolute;inset:0;mix-blend-mode:screen}.hack-granted:before{color:var(--hack-pink);animation:slice .6s 4.3s steps(6) both}.hack-granted:after{color:var(--hack-blue);animation:slice .6s 4.3s steps(6) reverse both}.hack-skip{align-self:center;min-height:48px;padding:0 24px;font:inherit;color:var(--hack-text);background:transparent;border:1px solid currentColor;border-radius:999px;cursor:pointer;position:relative;z-index:1}.hack-continue{align-self:center;min-height:52px;padding:0 32px;font:700 1.05rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--hack-bg);background:var(--hack-text);border:0;border-radius:999px;cursor:pointer;position:relative;z-index:1;animation:rise .3s ease-out both}.hack-continue:hover,.hack-continue:focus-visible{background:var(--hack-pink)}.hack-continue:focus-visible{outline:3px solid var(--hack-blue);outline-offset:3px}@media(prefers-reduced-motion:reduce){.hack *,.hack *:before,.hack *:after{animation:none!important}.hack-log li{clip-path:none}.hack-progress,.hack-granted,.hack-victim{opacity:1}.hack-progress{--pct: 100}.hack-bar span{transform:none}.hack-granted:before,.hack-granted:after{display:none}}@property --pct{syntax: "<integer>"; inherits: false; initial-value: 0;}@keyframes type{to{clip-path:inset(0 0 0 0)}}@keyframes appear{to{opacity:1}}@keyframes count{to{--pct: 100}}@keyframes fill{to{transform:scaleX(1)}}@keyframes blink{50%{opacity:.35}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-8px,3px) rotate(-1deg)}30%{transform:translate(7px,-4px) rotate(1deg)}45%{transform:translate(-6px,-2px)}60%{transform:translate(5px,4px) rotate(.5deg)}75%{transform:translate(-3px,1px)}90%{transform:translate(2px,-1px)}}@keyframes slice{0%{clip-path:inset(0 0 70% 0);transform:translate(-6px)}20%{clip-path:inset(40% 0 30% 0);transform:translate(6px)}40%{clip-path:inset(75% 0 5% 0);transform:translate(-4px)}60%{clip-path:inset(10% 0 60% 0);transform:translate(5px)}80%{clip-path:inset(55% 0 20% 0);transform:translate(-3px)}to{clip-path:inset(0 0 100% 0);transform:translate(0)}}@keyframes hack-out{0%{opacity:1;transform:none}40%{opacity:1;transform:scaleY(.04) scaleX(1.1)}to{opacity:0;transform:scaleY(0) scaleX(0);visibility:hidden}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);content:attr(data-text) / "";position:absolute;inset:0;pointer-events:none;opacity:0}.glitch:before{color:var(--pink-ink)}.glitch:after{color:var(--blue-ink)}.tattoo-face{width:min(260px,64vw);margin:0 0 24px}.holo{--holo: #1f9fd0;--holo-glow: rgb(31 159 208 / .55);--disc-height: 22px;--disc-bottom: 4px;position:relative;padding-bottom:34px}:root[data-theme=dark] .holo{--holo: #7fe7ff;--holo-glow: rgb(127 231 255 / .6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .holo{--holo: #7fe7ff;--holo-glow: rgb(127 231 255 / .6)}}.holo-stack{position:relative;filter:drop-shadow(0 0 10px var(--holo-glow))}@property --fringe-pink{syntax: "<length>"; inherits: false; initial-value: -3px;}@property --fringe-blue{syntax: "<length>"; inherits: false; initial-value: 3px;}.holo-img{display:block;width:100%;filter:grayscale(1) sepia(1) saturate(3.5) hue-rotate(168deg) brightness(1.3) contrast(.95) drop-shadow(var(--fringe-pink) 0 0 rgb(240 110 190 / .5)) drop-shadow(var(--fringe-blue) 0 0 rgb(80 200 255 / .5));opacity:.88;-webkit-mask-image:linear-gradient(to bottom,transparent 0 40%,#000 50%,transparent 60% 100%),repeating-linear-gradient(to bottom,#000 0 2px,rgb(0 0 0 / .55) 2px 3px);mask-image:linear-gradient(to bottom,transparent 0 40%,#000 50%,transparent 60% 100%),repeating-linear-gradient(to bottom,#000 0 2px,#0000008c 2px 3px);-webkit-mask-size:100% 300%,auto;mask-size:100% 300%,auto;-webkit-mask-repeat:no-repeat,repeat;mask-repeat:no-repeat,repeat;-webkit-mask-position:0 100%,0 0;mask-position:0 100%,0 0;-webkit-mask-composite:source-over;mask-composite:add}.holo:before{content:"";position:absolute;left:8%;right:8%;bottom:calc(var(--disc-bottom) + var(--disc-height) / 2);height:70%;background:linear-gradient(to top,color-mix(in srgb,var(--holo) 28%,transparent),transparent);clip-path:polygon(30% 100%,70% 100%,100% 0,0 0);pointer-events:none}.holo:after{content:"";position:absolute;left:22%;right:22%;bottom:var(--disc-bottom);height:var(--disc-height);border-radius:50%;background:radial-gradient(closest-side,var(--holo),color-mix(in srgb,var(--holo) 35%,transparent) 60%,transparent);box-shadow:0 0 24px var(--holo-glow)}@media(prefers-reduced-motion:no-preference){.holo-stack{animation:holo-float 4s ease-in-out infinite,holo-flicker 5s steps(1) infinite}.holo-img{animation:holo-sweep 3.2s linear infinite,holo-jitter 3.7s steps(1) infinite}}@keyframes holo-float{50%{transform:translateY(-8px)}}@keyframes holo-flicker{0%,to{opacity:1}41%{opacity:.75}43%{opacity:1}87%{opacity:.8}88%{opacity:1}}@keyframes holo-sweep{0%{-webkit-mask-position:0 100%,0 0;mask-position:0 100%,0 0}to{-webkit-mask-position:0 -50%,0 0;mask-position:0 -50%,0 0}}@keyframes holo-jitter{0%,to{--fringe-pink: -3px;--fringe-blue: 3px}62%{--fringe-pink: -9px;--fringe-blue: 8px}65%{--fringe-pink: -3px;--fringe-blue: 3px}}.friend-gif{width:min(280px,70vw);margin:4px 0 24px;border-radius:14px}.choice-prompt{font-size:1.3rem;margin-top:40px}.prompt-caret{color:var(--pink-ink)}.choices{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.choice{display:flex;align-items:baseline;gap:.5em;font:700 clamp(1.3rem,3vw,1.8rem) / 1 var(--display);font-variation-settings:"wdth" 80;text-decoration:none;padding:18px 26px;border:2px solid var(--ink);border-radius:999px}.choice-n{font:600 .75em ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--pink-ink)}.choice:hover,.choice:active{background:var(--pink);border-color:var(--pink);color:var(--ink)}.choice:hover .choice-n,.choice:active .choice-n{color:var(--ink)}@media(max-width:640px){.choices{flex-direction:column}.choice{padding:18px 22px;border-radius:14px}}@media(prefers-reduced-motion:no-preference){.tattoo-in{animation:shake .45s both}.tattoo-in .glitch:before{animation:glitch-burst .7s steps(5) both,glitch-idle 4s 1.5s steps(4) infinite}.tattoo-in .glitch:after{animation:glitch-burst .7s steps(5) reverse both,glitch-idle 4s 1.6s steps(4) infinite}.tattoo-in .tattoo-face,.tattoo-in .lede,.tattoo-in .choice-prompt,.tattoo-in .choices li{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}.tattoo-in .tattoo-face{animation-delay:.15s}.tattoo-in .lede{animation-delay:.3s}.tattoo-in .choice-prompt{animation-delay:.45s}.tattoo-in .choices li{animation-delay:calc(.6s + var(--i) * .12s)}.tattoo-in .prompt-caret{animation:blink 1s steps(1) infinite}.choice:active{transform:scale(.98)}}@keyframes glitch-burst{0%{opacity:1;clip-path:inset(0 0 65% 0);transform:translate(-5px)}25%{clip-path:inset(45% 0 25% 0);transform:translate(5px)}50%{clip-path:inset(80% 0 0 0);transform:translate(-3px)}75%{clip-path:inset(20% 0 55% 0);transform:translate(4px)}to{opacity:0;clip-path:inset(0 0 100% 0);transform:none}}@keyframes glitch-idle{0%,90%,to{opacity:0;transform:none}92%{opacity:1;clip-path:inset(30% 0 45% 0);transform:translate(-4px)}95%{opacity:1;clip-path:inset(65% 0 10% 0);transform:translate(4px)}98%{opacity:1;clip-path:inset(5% 0 80% 0);transform:translate(-2px)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.contact-card ul,.socials{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 32px;font:700 clamp(1.2rem,2.6vw,1.6rem) / 1.2 var(--display);overflow-wrap:anywhere}.socials{margin-top:24px}.perk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px;align-items:center}.perk-flip>img{order:2}.perk img{border-radius:6px;width:100%}.perk h3{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;color:var(--pink-ink)}.perk-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.perk{grid-template-columns:1fr}.perk-flip>img{order:0}}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 20px;max-width:720px}.form label,.filters label{display:grid;gap:6px;font-weight:600;font-size:.95rem}input,select{font:inherit;font-weight:400;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-width:0}.form .button{justify-self:start;align-self:end}.notice{background:var(--paper-2);border-left:4px solid var(--blue);padding:14px 16px;max-width:60ch}.tally ol{list-style:none;padding:0;margin:0;display:grid;gap:4px;max-width:720px}.tally button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:7.5rem minmax(0,1fr) 2rem;align-items:center;gap:12px;padding:6px 8px;border-radius:6px;cursor:pointer}.tally button:hover,.tally button.active{background:var(--paper-2)}.tally button:focus-visible{outline:3px solid var(--blue-ink)}.tally-name{font-weight:600}.tally-bar{height:14px;width:var(--w);min-width:6px;background:var(--blue);border-radius:0 3px 3px 0}.tally button.active .tally-bar{background:var(--pink)}.tally-n{font-variant-numeric:tabular-nums;text-align:right}.filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.interviews{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}.interviews li{display:grid;grid-template-columns:auto minmax(0,1fr) 4rem;align-items:center;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--line)}.interviews li.current .interview-guest{color:var(--pink-ink)}.interview-play{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--ink);background:color-mix(in srgb,var(--pink) var(--card-mix),var(--paper));border:0;border-radius:50%;cursor:pointer}.interview-play:hover{background:color-mix(in srgb,var(--blue) var(--card-mix),var(--paper))}.interviews li.current .interview-play{background:var(--ink);color:var(--paper)}span.interview-play{background:var(--paper-2);cursor:default}.interview-who{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.interview-guest{font:700 1.5rem/1.1 var(--display);font-variation-settings:"wdth" 80}.interview-accuses strong{color:var(--pink-ink)}.interview-length{font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-soft)}.interviews.no-audio li{grid-template-columns:minmax(0,1fr) 4rem}.aliens .notice{margin-bottom:20px}.identifiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:28px 40px;margin-top:32px}.identifiers dt{font:700 1.3rem/1.15 var(--display);font-variation-settings:"wdth" 85;margin-bottom:6px}.identifiers dt:before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.4em;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--ink)}.identifiers dd{margin:0;color:var(--ink-soft)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.tags li{padding:4px 10px;font-size:.85rem;font-weight:600;border-radius:999px;background:var(--paper-2)}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;list-style:none;margin:0;padding:0}.project{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.project>img{width:100%;aspect-ratio:16 / 8;object-fit:cover}.project-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:22px}.project-body>*{margin:0}.project h3{font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800}.project-context{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--pink-ink)}.project-points{padding-left:1.2em;color:var(--ink-soft)}.project-points li+li{margin-top:4px}.project .tags{margin-top:auto;padding-top:6px}.project-link{font-weight:700}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px 40px}.skills h3{font-size:1.15rem;margin-bottom:10px}.skills .tags li{font-size:.95rem;padding:6px 12px}.skills>div:nth-child(1) .tags li{background:color-mix(in srgb,var(--blue) var(--card-mix),var(--paper))}.skills>div:nth-child(2) .tags li{background:color-mix(in srgb,var(--mint) var(--card-mix),var(--paper))}.skills>div:nth-child(3) .tags li{background:color-mix(in srgb,var(--lilac) var(--card-mix),var(--paper))}.player{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:50;transform:translate(-50%);width:min(720px,calc(100% - 24px));display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;color:var(--paper);background:var(--ink);border-radius:18px;box-shadow:0 12px 32px -12px #00000080}.player .muted{color:color-mix(in srgb,var(--paper) 70%,transparent)}.player button{display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;font:700 .9rem/1 var(--body);color:inherit;background:transparent;border:0;border-radius:999px;cursor:pointer}.player .player-toggle{color:var(--ink);background:var(--pink)}.player button:hover{background:color-mix(in srgb,var(--paper) 15%,transparent)}.player .player-toggle:hover{background:var(--blue)}.player-close{font-size:1.5rem!important}.player-title{margin:0 0 2px;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-scrub{display:flex;align-items:center;gap:8px}.player-scrub input{flex:1;min-width:0;padding:0;height:24px;background:transparent;border:0;accent-color:var(--pink)}.player-time{font-size:.75rem;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--paper) 70%,transparent)}main:has(~.player)~.site-footer{padding-bottom:110px}@media(max-width:480px){.player-skip{display:none!important}.player{grid-template-columns:auto minmax(0,1fr) auto}}.hack-victim{margin:12px 0 0;color:var(--hack-pink);font-weight:700;opacity:0;animation:appear .01s 4.6s forwards}.scan-count{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--paper-2);font-size:.95rem}.scan-count strong{color:var(--pink-ink);font-variant-numeric:tabular-nums}.reviews{max-width:720px}.reviews-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:1.1rem}.stars{color:#e9a800;letter-spacing:.08em}.stars-empty{color:var(--line)}.review-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px 20px;margin:20px 0 8px}.review-form>label{display:grid;gap:6px;font-weight:600;font-size:.95rem}.review-comment,.review-form .star-input,.review-form .notice{grid-column:1 / -1}.review-form .button{justify-self:start}.review-form .button:disabled{opacity:.6}textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:10px 12px;resize:vertical}.star-input{display:flex;gap:2px;margin:0;padding:0;border:0}.star-input legend{margin-bottom:6px;font-weight:600;font-size:.95rem}.star-input label{display:grid;place-items:center;width:48px;height:48px;font-size:2.2rem;line-height:1;color:var(--line);cursor:pointer}.star-input label.on{color:#e9a800}.star-input label:has(:focus-visible){outline:3px solid var(--blue-ink);border-radius:8px}@media(prefers-reduced-motion:no-preference){.star-input label{transition:transform .12s ease}.star-input label:active{transform:scale(1.2)}}.review-list{list-style:none;margin:28px 0 0;padding:0;border-top:2px solid var(--ink)}.review-list li{padding:14px 0;border-bottom:1px solid var(--line)}.review-list p{margin:0 0 4px;overflow-wrap:anywhere}.review-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.review-date{font-size:.85rem;color:var(--ink-soft)}.more-work{margin-top:20px;font-weight:700}a{transition:color .15s ease,text-decoration-color .15s ease,text-underline-offset .15s ease,text-decoration-thickness .15s ease}@media(hover:hover){a:hover{text-decoration-thickness:3px;text-underline-offset:5px}}.button{position:relative;overflow:hidden;isolation:isolate;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.button:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgb(255 255 255 / .45) 50%,transparent 70%);transform:translate(-110%);pointer-events:none}@media(min-width:721px){.site-header nav a{position:relative;border-bottom:0}.site-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--pink-ink);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.site-header nav a.active:after{transform:scaleX(1)}}.card,.project{position:relative}.card>*,.project>*{position:relative}.card:before,.project:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgb(255 255 255 / .35),transparent 70%);opacity:0;transition:opacity .2s ease;pointer-events:none}.project{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.project:before{background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--pink) 45%,transparent),transparent 70%)}.project>img{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.interviews li{transition:background-color .15s ease}.interview-play,.theme-toggle svg{transition:transform .18s ease,background-color .15s ease}@media(hover:hover){.card:hover:before,.project:hover:before{opacity:1}.project:hover{border-color:var(--pink-ink);box-shadow:0 14px 30px -18px color-mix(in srgb,var(--ink) 55%,transparent)}.interviews li:hover{background:color-mix(in srgb,var(--paper-2) 70%,transparent)}.wordmark span{transition:text-shadow .2s ease}.wordmark:hover span{text-shadow:2px 1px 0 color-mix(in srgb,var(--blue) 90%,transparent)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px color-mix(in srgb,var(--ink) 50%,transparent)}.button-ghost:hover{box-shadow:inset 0 0 0 2px var(--pink),0 8px 18px -8px color-mix(in srgb,var(--ink) 40%,transparent)}.button:hover:after{transform:translate(110%);transition:transform .6s ease}.site-header nav a:hover:after{transform:scaleX(1)}.project:hover{transform:translateY(-3px)}.project:hover>img{transform:scale(1.04)}.interview-play:hover{transform:scale(1.08)}.theme-toggle:hover svg{transform:rotate(-20deg)}.choice:hover{animation:choice-glitch .35s steps(2) 1}}@keyframes choice-glitch{0%{text-shadow:-2px 0 var(--pink-ink),2px 0 var(--blue-ink);transform:translate(-1px)}50%{text-shadow:2px 0 var(--pink-ink),-2px 0 var(--blue-ink);transform:translate(1px)}to{text-shadow:none;transform:none}}@media(prefers-reduced-motion:no-preference){.button:active,.card:active,.project-link:active,.interview-play:active,.theme-toggle:active,.menu-button:active{transform:scale(.97);transition-duration:.06s}}.bounce-head{--px: 2px;position:fixed;top:0;left:0;z-index:40;width:calc(var(--w) * var(--px));height:calc(var(--h) * var(--px));background:var(--sheet) 0 0 / calc(var(--w) * var(--cols) * var(--px)) calc(var(--h) * var(--rows) * var(--px)) no-repeat;image-rendering:pixelated;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform;filter:drop-shadow(var(--px) 0 0 #000) drop-shadow(calc(-1 * var(--px)) 0 0 #000) drop-shadow(0 var(--px) 0 #000) drop-shadow(0 calc(-1 * var(--px)) 0 #000) drop-shadow(calc(2 * var(--px)) calc(2 * var(--px)) 0 rgb(0 0 0 / .35))}.cheat-list{display:grid;gap:14px;max-width:720px;margin:32px 0 28px;padding:0;list-style:none}.cheat-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;color:#e8f6ff;background:#14121f;border:2px solid #2c2942;border-radius:14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;transition:border-color .2s ease,box-shadow .2s ease}.cheat-list li.on{border-color:#7fe7ff;box-shadow:0 0 0 1px #7fe7ff,0 0 22px -6px #7fe7ff}.cheat-text h2{margin:0 0 6px;font:800 1.3rem/1.1 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.02em;text-transform:uppercase}.cheat-text p{margin:0;font-size:.95rem;color:#b9c3d6}.cheat-code{margin-top:8px!important}.cheat-code kbd{padding:2px 7px;font:inherit;font-weight:700;color:#14121f;background:#f7b6d2;border-radius:4px;letter-spacing:.15em}.cheat-switch{flex:none;position:relative;width:84px;height:40px;padding:0;font:800 .85rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#6c6888;background:#2c2942;border:0;border-radius:999px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.cheat-switch:before{content:"";position:absolute;top:4px;left:4px;width:32px;height:32px;border-radius:50%;background:#6c6888;transition:transform .22s cubic-bezier(.3,1.4,.5,1),background-color .2s ease}.cheat-switch-label{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.cheat-switch[aria-checked=true]{color:#14121f;background:#7fe7ff}.cheat-switch[aria-checked=true]:before{transform:translate(44px);background:#14121f}.cheat-switch[aria-checked=true] .cheat-switch-label{right:auto;left:16px}.cheat-switch:focus-visible{outline:3px solid #f7b6d2;outline-offset:3px}.cheats .button:disabled{opacity:.45;cursor:default}@media(max-width:480px){.cheat-list li{padding:16px}}.cheat-toast{position:fixed;left:50%;top:max(16px,env(safe-area-inset-top));z-index:120;margin:0;transform:translate(-50%);pointer-events:none}.cheat-toast span{display:block;padding:10px 18px;color:#14121f;background:#7fe7ff;border-radius:999px;font:800 .95rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 24px -8px #00000080;animation:toast 2.5s ease both}@keyframes toast{0%{opacity:0;transform:translateY(-12px) scale(.9)}10%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}@property --disco{syntax: "<number>"; inherits: true; initial-value: 0;}:root[data-cheat-dance]{--fill-l: .86;--ink-l: .52;--pink: oklch(var(--fill-l) .11 var(--disco));--blue: oklch(var(--fill-l) .11 calc(var(--disco) + 72));--mint: oklch(var(--fill-l) .11 calc(var(--disco) + 144));--lilac: oklch(var(--fill-l) .11 calc(var(--disco) + 216));--yellow: oklch(var(--fill-l) .11 calc(var(--disco) + 288));--pink-ink: oklch(var(--ink-l) .19 var(--disco));--blue-ink: oklch(var(--ink-l) .17 calc(var(--disco) + 180));animation:disco 6s steps(120) infinite}:root[data-cheat-dance][data-theme=dark]{--fill-l: .5;--ink-l: .84}@media(prefers-color-scheme:dark){:root[data-cheat-dance]:not([data-theme=light]){--fill-l: .5;--ink-l: .84}}@keyframes disco{to{--disco: 360}}:root[data-cheat-dance] .bounce-head{filter:sepia(1) saturate(3) hue-rotate(calc((var(--disco) - 40) * 1deg)) drop-shadow(var(--px) 0 0 var(--pink-ink)) drop-shadow(calc(-1 * var(--px)) 0 0 var(--pink-ink)) drop-shadow(0 var(--px) 0 var(--pink-ink)) drop-shadow(0 calc(-1 * var(--px)) 0 var(--pink-ink)) drop-shadow(calc(2 * var(--px)) calc(2 * var(--px)) 0 rgb(0 0 0 / .35))}:root[data-cheat-dance] .head-trail{filter:sepia(1) saturate(3) hue-rotate(calc((var(--disco) - 40) * 1deg))}:root[data-cheat-dance]{--disco-glow: oklch(.86 .14 calc(var(--disco) + 180));--disco-key: oklch(.82 .12 var(--disco));--disco-gold: oklch(.78 .16 calc(var(--disco) + 90));--wheel-0: oklch(.86 .11 var(--disco));--wheel-1: oklch(.86 .11 calc(var(--disco) + 45));--wheel-2: oklch(.86 .11 calc(var(--disco) + 90));--wheel-3: oklch(.86 .11 calc(var(--disco) + 135));--wheel-4: oklch(.86 .11 calc(var(--disco) + 180));--wheel-5: oklch(.86 .11 calc(var(--disco) + 225));--wheel-6: oklch(.86 .11 calc(var(--disco) + 270));--wheel-7: oklch(.86 .11 calc(var(--disco) + 315))}:root[data-cheat-dance] .cheat-list li.on{border-color:var(--disco-glow);box-shadow:0 0 0 1px var(--disco-glow),0 0 22px -6px var(--disco-glow)}:root[data-cheat-dance] :is(.cheat-switch[aria-checked=true],.cheat-toast span,.cheat-run:hover){background:var(--disco-glow)}:root[data-cheat-dance] :is(.cheat-code kbd,.cheat-run){background:var(--disco-key)}:root[data-cheat-dance] .cheat-switch:focus-visible{outline-color:var(--disco-key)}:root[data-cheat-dance] :is(.stars,.star-input label.on,.bonk-stars){color:var(--disco-gold)}:root[data-cheat-dance] .hack{--hack-text: oklch(.9 .08 calc(var(--disco) + 144));--hack-pink: oklch(.82 .12 var(--disco));--hack-blue: oklch(.85 .1 calc(var(--disco) + 72))}:root[data-cheat-dance] .holo{--holo: oklch(.65 .15 var(--disco));--holo-glow: oklch(.65 .15 var(--disco) / .55)}:root[data-cheat-dance] .holo-stack{filter:hue-rotate(calc((var(--disco) - 200) * 1deg))}:root[data-cheat-dance] .bonk{background:oklch(.88 .08 calc(var(--disco) + 144))}:root[data-cheat-dance] .bonk-hole{background:radial-gradient(ellipse 70% 30% at 50% 82%,#2e2a45 0 60%,transparent 62%),oklch(.83 .09 calc(var(--disco) + 144))}:root[data-cheat-dance] .game-canvas{filter:hue-rotate(calc(var(--disco) * 1deg))}:root[data-cheat-australia],:root[data-cheat-australia] body{height:100%;overflow:hidden}:root[data-cheat-australia] #root{position:fixed;inset:0;overflow-y:auto;transform:rotate(180deg);animation:down-under .9s cubic-bezier(.5,0,.2,1.2)}@keyframes down-under{0%{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){:root[data-cheat-australia] #root{animation:none}}.cheat-run{flex:none;min-width:84px;height:40px;padding:0 18px;font:800 .9rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#14121f;background:#f7b6d2;border:0;border-radius:999px;cursor:pointer}.cheat-run:hover{background:#7fe7ff}.cheat-secret{border-style:dashed!important}:root[data-cheat-bighead] :is(.portrait,.friend-gif,.tattoo-face,.perk img,.tattoo-gif){position:relative;z-index:2;scale:1.45;transform-origin:50% 90%;animation:bobble 1.3s ease-in-out infinite}@keyframes bobble{0%,to{rotate:-7deg}50%{rotate:7deg}}:root[data-cheat-8bit]{--display: "Press Start 2P", ui-monospace, monospace;--body: "Press Start 2P", ui-monospace, monospace;font-size:75%}:root[data-cheat-8bit] body{line-height:1.9}:root[data-cheat-8bit] *{border-radius:0!important}:root[data-cheat-8bit] :is(h1,h2,h3){overflow-wrap:anywhere}:root[data-cheat-8bit] .hero-name{font-size:clamp(2.2rem,13vw,10rem)}:root[data-cheat-8bit] .page-title{font-size:clamp(1.6rem,6vw,3.5rem)}:root[data-cheat-8bit] img{filter:url(#cheat-pixelate);image-rendering:pixelated}:root[data-cheat-8bit] :is(.button,.card,.project,.choice,.interview-play,.cheat-list li,.player){box-shadow:4px 4px 0 var(--ink)!important}.pixel-filter{position:absolute;width:0;height:0}:root[data-cheat-matrix]{--paper: #000;--paper-2: #03140a;--ink: #4dff88;--ink-soft: #2fbf64;--pink: #0b3d1d;--blue: #0f5229;--mint: #0b3d1d;--lilac: #0f5229;--yellow: #14662f;--pink-ink: #9dffb9;--blue-ink: #4dff88;--line: rgb(77 255 136 / .25);--card-mix: 100%;--blend: screen;--body: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--display: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}.matrix-rain{position:fixed;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;opacity:.5}:root[data-cheat-comic]{--display: "Comic Sans MS", "Comic Neue", "Chalkboard SE", cursive;--body: "Comic Sans MS", "Comic Neue", "Chalkboard SE", cursive}.head-trail{position:fixed;top:0;left:0;z-index:45;width:48px;height:56px;background:url(/images/bounce-sprites.png) no-repeat;image-rendering:pixelated;pointer-events:none}:root[data-cheat-night]{filter:grayscale(1) sepia(1) hue-rotate(60deg) saturate(2.6) brightness(.95) contrast(1.15)}:root[data-cheat-night] body:after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgb(0 0 0 / .18) 2px 3px),radial-gradient(ellipse at center,transparent 55%,rgb(0 0 0 / .75) 100%)}:root{--content: 1200px}.section,.page,.hero{box-sizing:border-box;width:100%;max-width:calc(var(--content) + 2 * var(--gutter));margin-inline:auto}.site-header,.site-footer{padding-inline:max(var(--gutter),calc((100% - var(--content)) / 2))}@media(min-width:900px){.hero-intro{margin-left:auto;text-align:right}.hero-actions{justify-content:flex-end}#things .section-title{text-align:center}.alchemy{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.alchemy>img{order:-1}}.quote{position:relative;max-width:920px;margin-inline:auto;text-align:center}.quote:before{content:"“";display:block;height:.55em;font:800 clamp(6rem,14vw,10rem) / 1 var(--display);color:var(--pink)}.quote figcaption:before{content:"— "}.tattoo,.page:has(>.friend-gif),.tracker,.cheats,.page:has(>.page-title+.lede+.button){text-align:center}:is(.tattoo,.page:has(>.friend-gif),.tracker,.cheats,.page:has(>.page-title+.lede+.button)) :is(.page-title,.lede){margin-inline:auto}.tattoo .tattoo-face,.friend-gif,.tracker .map{margin-inline:auto}.tattoo .choices,.tattoo .choice{justify-content:center}.page:has(>.friend-gif) .socials,.tracker .coords{justify-content:center}.tracker .tracker-status{justify-content:center}.tattoo .reviews,.cheats .cheat-list{margin-inline:auto;text-align:left}.tattoo .reviews-summary{justify-content:flex-start}@media(min-width:1100px){.aliens{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px}.aliens>*{grid-column:1 / -1}.aliens>.tally{grid-column:1;align-self:start;position:sticky;top:24px}.aliens>.interviews-section{grid-column:2}}.quiz{max-width:560px;margin:40px auto;padding:clamp(20px,5vw,32px);text-align:center;background:var(--paper-2);border:1px solid var(--line);border-radius:18px}.page section.quiz{margin-top:40px}.quiz-progress{height:8px;margin-bottom:14px;overflow:hidden;background:var(--line);border-radius:999px}.quiz-progress span{display:block;height:100%;background:var(--pink-ink);border-radius:inherit;transition:width .4s cubic-bezier(.2,.7,.2,1)}.quiz-count{margin:0 0 6px;font-size:.9rem;color:var(--ink-soft)}.quiz-question{margin:0 0 20px;font-size:clamp(1.5rem,4.5vw,2rem);font-weight:800}.quiz-options{display:grid;gap:10px;margin:0;padding:0;list-style:none}.quiz-options button{width:100%;min-height:52px;padding:12px 18px;font:600 1.05rem/1.3 var(--body);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}.quiz-options button:hover:not(:disabled){border-color:var(--pink-ink)}.quiz-options button:disabled{cursor:default;opacity:.55}.quiz-options button.right{opacity:1;background:color-mix(in srgb,var(--mint) var(--card-mix),var(--paper));border-color:color-mix(in srgb,var(--mint) 60%,var(--ink))}.quiz-options button.wrong{opacity:1;background:color-mix(in srgb,var(--pink) var(--card-mix),var(--paper));border-color:var(--pink-ink)}.quiz-result{margin-top:20px;padding:16px;border-radius:14px;background:var(--paper);animation:rise .25s ease-out both}.quiz-result p{margin:0 0 14px}.quiz-result.right strong{color:color-mix(in srgb,var(--mint) 35%,var(--ink))}.quiz-result.wrong strong{color:var(--pink-ink)}.quiz-loading{color:var(--ink-soft)}.quiz-score{margin:0;font:800 clamp(3rem,12vw,5rem) / 1 var(--display);color:var(--pink-ink)}.quiz-done .section-title{margin-top:8px}@media(prefers-reduced-motion:no-preference){.quiz-options button:active:not(:disabled){transform:scale(.98)}}.ttt{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(300px,100%);margin:0 auto}.ttt-cell{aspect-ratio:1;font:800 clamp(2rem,9vw,2.8rem) / 1 var(--display);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:12px;cursor:pointer}.ttt-cell:disabled{cursor:default}.ttt-cell:hover:not(:disabled){border-color:var(--pink-ink)}.ttt-line{background:color-mix(in srgb,var(--yellow) 70%,var(--paper))}.quiz-map-box{height:clamp(280px,60vw,380px);margin-bottom:14px;border-radius:12px;overflow:hidden;border:2px solid var(--line)}.quiz-pin-wrap{background:none;border:0}.quiz-pin{display:block;width:28px;height:28px;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 8px #0006}.quiz-pin.guess{background:#c23d82;cursor:grab}.quiz-pin.answer{background:#2a8a5f}.draw{display:grid;gap:12px;justify-items:center}.draw-canvas{width:min(360px,100%);aspect-ratio:1;background:#fff;border:2px solid var(--line);border-radius:12px;cursor:crosshair;touch-action:none}.draw-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px}.draw-inks,.draw-brushes,.draw-actions{display:flex;gap:6px}.draw-ink{width:34px;height:34px;padding:0;background:var(--ink-colour);border:3px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer}.draw-ink[aria-checked=true]{box-shadow:0 0 0 3px var(--pink-ink)}.draw-brushes button,.draw-actions button{min-height:34px;padding:0 12px;font:600 .85rem/1 var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;cursor:pointer}.draw-brushes button[aria-checked=true]{color:var(--paper);background:var(--ink)}.draw-actions button:disabled{opacity:.45;cursor:default}.draw-reveal{display:grid;grid-template-columns:1fr 1fr;gap:12px}.draw-reveal figure{margin:0}.draw-reveal img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 20%;background:#fff;border-radius:12px}.draw-reveal figcaption{margin-top:6px;font-weight:700}.taken{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ink) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:appear .25s ease-out both}.taken-card{position:relative;width:min(480px,100%);max-height:100%;overflow-y:auto;padding:36px 28px 28px;text-align:center;color:var(--ink);background:var(--paper);border-radius:22px;box-shadow:0 24px 60px -20px #00000080;animation:rise .35s cubic-bezier(.2,.7,.2,1) both}.taken-card h2{margin:0 0 12px;font-size:clamp(1.6rem,6vw,2.1rem);font-weight:800;color:var(--pink-ink)}.taken-card p{margin:0 0 14px}.taken-heart{margin:0 0 6px!important;font-size:3.2rem;line-height:1}.taken-close{position:absolute;top:10px;right:10px;width:44px;height:44px;font:400 1.9rem/1 var(--body);color:var(--ink-soft);background:transparent;border:0;border-radius:50%;cursor:pointer}.taken-close:hover{color:var(--ink);background:var(--paper-2)}.taken-photos{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 16px;margin:26px 0 22px;padding:0;list-style:none}.taken-photos li{--tape: rgb(244 228 172 / .78);position:relative;padding:5px;background:#fff;box-shadow:0 1px 2px #0000002e,0 10px 16px -10px #00000073;rotate:var(--tilt)}.taken-photos img{display:block;height:clamp(96px,28vw,130px);width:auto}.taken-photos li:before,.taken-photos li:after{content:"";position:absolute;z-index:1;height:20px;background:linear-gradient(to bottom,rgb(255 255 255 / .35),transparent 40%,rgb(0 0 0 / .04)),var(--tape);filter:drop-shadow(0 0 .5px rgb(120 100 50 / .5)) drop-shadow(0 1px 1px rgb(0 0 0 / .12));clip-path:polygon(0 8%,4% 0,96% 0,100% 10%,97% 30%,100% 52%,96% 74%,100% 92%,95% 100%,4% 100%,0 90%,3% 70%,0 48%,4% 28%)}.taken-photos li:nth-child(odd):before{top:-11px;left:50%;width:62px;translate:-50% 0;rotate:-3deg}.taken-photos li:nth-child(odd):after{display:none}.taken-photos li:nth-child(2n):before,.taken-photos li:nth-child(2n):after{top:-4px;width:46px}.taken-photos li:nth-child(2n):before{left:-14px;rotate:-40deg}.taken-photos li:nth-child(2n):after{right:-14px;rotate:38deg}@media(prefers-reduced-motion:no-preference){.taken-heart{animation:heartbreak 1.6s ease-in-out .3s both}}@keyframes heartbreak{0%,to{transform:none}15%{transform:scale(1.25)}30%{transform:scale(1) rotate(-8deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}.bounce-head.held{cursor:grabbing}.bump-heart{position:fixed;z-index:41;width:calc(18 * var(--px));height:calc(16 * var(--px));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 8' shape-rendering='crispEdges'%3E%3Cpath fill='%23ff3d7f' d='M1 0h2v1H1zM6 0h2v1H6zM0 1h4v1H0zM5 1h4v1H5zM0 2h9v2H0zM1 4h7v1H1zM2 5h5v1H2zM3 6h3v1H3zM4 7h1v1H4z'/%3E%3Cpath fill='%23ffd2e1' d='M1 1h1v2H1z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;image-rendering:pixelated;pointer-events:none;transform:translate(-50%,-100%);filter:drop-shadow(var(--px) 0 0 #000) drop-shadow(calc(-1 * var(--px)) 0 0 #000) drop-shadow(0 var(--px) 0 #000) drop-shadow(0 calc(-1 * var(--px)) 0 #000) drop-shadow(calc(2 * var(--px)) calc(2 * var(--px)) 0 rgb(0 0 0 / .35));animation:bump-heart 1.4s ease-out forwards}@keyframes bump-heart{0%{transform:translate(-50%,-100%) scale(0)}15%{transform:translate(-50%,-100%) scale(1.3)}25%{transform:translate(-50%,-100%) scale(1);opacity:1}60%{opacity:1}to{transform:translate(-50%,calc(-100% - 20 * var(--px))) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.bump-heart{animation-name:bump-heart-fade}}@keyframes bump-heart-fade{60%{opacity:1}to{opacity:0}}:root[data-cheat-dance] .bump-heart{filter:hue-rotate(calc((var(--disco) - 40) * 1deg)) drop-shadow(var(--px) 0 0 var(--pink-ink)) drop-shadow(calc(-1 * var(--px)) 0 0 var(--pink-ink)) drop-shadow(0 var(--px) 0 var(--pink-ink)) drop-shadow(0 calc(-1 * var(--px)) 0 var(--pink-ink))}:root{--wheel-0: #f7b6d2;--wheel-1: #a9d4f2;--wheel-2: #bfe8d6;--wheel-3: #d9ccf5;--wheel-4: #fdeca0;--wheel-5: #ffc9a8;--wheel-6: #a8e6e1;--wheel-7: #f5a3b5}.wheel-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:32px 48px;align-items:start;margin-top:32px}@media(max-width:860px){.wheel-builder{grid-template-columns:1fr}.wheel-preview{order:-1}}.wheel-question{display:grid;gap:6px;margin-bottom:18px;font-weight:700}.wheel-question input{font-size:1.15rem}.wheel-options{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none}.wheel-options li{display:grid;grid-template-columns:14px minmax(0,1fr) auto 3rem 36px;align-items:center;gap:10px}.wheel-swatch{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}.wheel-options input{width:100%}.wheel-weight{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.wheel-weight button{width:34px;height:38px;font:700 1.1rem/1 var(--body);color:var(--ink);background:var(--paper);border:0;cursor:pointer}.wheel-weight button:disabled{opacity:.35;cursor:default}.wheel-weight output{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.wheel-chance{font-size:.9rem;color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums}.wheel-remove{width:36px;height:36px;font-size:1.4rem;color:var(--ink-soft);background:transparent;border:0;border-radius:50%;cursor:pointer}.wheel-remove:hover{color:var(--pink-ink);background:var(--paper-2)}.wheel-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.wheel-reset{font:inherit;font-weight:600;color:var(--ink-soft);background:none;border:0;text-decoration:underline;cursor:pointer}.wheel-preview{display:grid;justify-items:center;gap:18px}.wheel-preview .wheel{width:min(380px,100%)}.wheel{display:block;overflow:visible}.wheel text{fill:#2e2a45;font-family:var(--display);font-weight:800;pointer-events:none}.wheel-turn{transition-property:transform;transition-timing-function:cubic-bezier(.12,.6,.08,1)}.wheel path,.wheel circle:not(.wheel-rim):not(.wheel-hub){stroke:#fff;stroke-width:1.2}.wheel-rim{fill:none;stroke:var(--ink);stroke-width:3}.wheel-hub{fill:var(--ink);stroke:var(--paper);stroke-width:3}.wheel-spin{min-width:220px;padding:20px 40px;font:800 clamp(1.6rem,6vw,2.2rem) / 1 var(--display);letter-spacing:.08em;color:var(--paper);background:var(--pink-ink);border:0;border-radius:999px;box-shadow:0 6px color-mix(in srgb,var(--pink-ink) 60%,#000),0 14px 30px -12px var(--pink-ink);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.wheel-spin:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px color-mix(in srgb,var(--pink-ink) 60%,#000),0 8px 20px -12px var(--pink-ink)}.wheel-spin:disabled{opacity:.45;cursor:default}.wheel-hint{margin:0;color:var(--ink-soft)}.wheel-stage{position:fixed;inset:0;z-index:115;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:12px;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--pink) 45%,transparent),transparent 60%),var(--paper);animation:appear .25s ease-out both}.wheel-stage-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;z-index:2;display:flex;justify-content:space-between;pointer-events:none}.wheel-stage-top button{pointer-events:auto}.wheel-mute,.wheel-close{width:48px;height:48px;font-size:1.6rem;color:var(--ink);background:var(--paper-2);border:0;border-radius:50%;cursor:pointer}.wheel-stage-question{margin:0;padding:4px 56px 0;font-size:clamp(1.6rem,4.5vw,2.6rem);font-weight:800;line-height:1.1;text-align:center}.wheel-stage-question{grid-row:1}.wheel-stage-cell{grid-row:2;justify-self:stretch;min-height:0;display:grid;place-items:center;container-type:size}.wheel-result{grid-row:3}.wheel-stage-wheel{position:relative;box-sizing:border-box;width:min(100cqw,100cqh);height:min(100cqw,100cqh);padding-top:26px}.wheel-stage-wheel .wheel{width:100%;height:100%;filter:drop-shadow(0 18px 30px rgb(0 0 0 / .25))}.wheel-pointer{position:absolute;top:calc(26px + (100% - 26px) * 10 / 220 - 28px);left:50%;z-index:1;width:30px;height:40px;margin-left:-15px;background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;filter:drop-shadow(0 3px 3px rgb(0 0 0 / .3))}.wheel-result{display:grid;justify-items:center;gap:12px;min-height:120px;text-align:center}.wheel-spinning{margin:0;color:var(--ink-soft);font-weight:600}.wheel-winner{margin:0;font:800 clamp(2.2rem,9vw,4rem) / 1 var(--display);color:var(--pink-ink);animation:winner .6s cubic-bezier(.3,1.6,.5,1) both}@keyframes winner{0%{opacity:0;transform:scale(.4)}}.wheel-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}@media(max-width:480px){.wheel-options li{grid-template-columns:12px minmax(0,1fr) auto 32px}.wheel-chance{display:none}}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti span{position:absolute;top:-20px;border-radius:2px;animation:confetti 2.4s cubic-bezier(.25,.6,.4,1) forwards}@keyframes confetti{to{transform:translate(var(--drift),105dvh) rotate(var(--spin));opacity:.9}}.wheel-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.wheel-presets span{font-weight:700;font-size:.95rem}.wheel-presets button{min-height:38px;padding:0 16px;font:600 .95rem/1 var(--body);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:999px;cursor:pointer}.wheel-presets button:hover{border-color:var(--pink-ink)}.site-header{position:relative;z-index:30}.nav-group>button{display:inline-flex;align-items:center;gap:7px;padding:0;font:inherit;font-weight:500;color:inherit;background:none;border:0;cursor:pointer}.nav-group>button.active{box-shadow:0 2px var(--pink-ink)}.nav-caret{width:.38em;height:.38em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;translate:0 -.15em;transition:rotate .2s ease,translate .2s ease}.nav-group>button[aria-expanded=true] .nav-caret{rotate:225deg;translate:0 .1em}.site-header .nav-group>ul[hidden]{display:none}@media(min-width:721px){.nav-group{position:relative}.site-header .nav-group>ul{position:absolute;top:calc(100% + 12px);right:0;flex-direction:column;gap:2px;min-width:190px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -18px color-mix(in srgb,var(--ink) 45%,transparent);animation:nav-drop .18s cubic-bezier(.2,.7,.2,1)}.site-header .nav-group ul a{display:block;padding:9px 12px;border-radius:9px}.site-header .nav-group ul a:after{display:none}.site-header .nav-group ul a:hover{background:var(--paper-2)}.site-header .nav-group ul a.active{color:var(--pink-ink);background:var(--paper-2)}}@keyframes nav-drop{0%{opacity:0;transform:translateY(-6px)}}@media(max-width:720px){.nav-group>button{display:flex;justify-content:space-between;width:100%;padding:12px 0;font-size:1.15rem;border-bottom:1px solid var(--line)}.nav-group>button.active{color:var(--pink-ink);box-shadow:none}.site-header .nav-group>ul{padding-left:18px}.site-header .nav-group ul a{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){.site-header .nav-group>ul{animation:none}}.reviews-kicker{margin:0 0 6px;font:600 .85rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--pink-ink)}.reviews-lede{margin-bottom:12px;color:var(--ink-soft)}.review-doodle{grid-column:1 / -1;display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}.review-doodle legend{margin-bottom:6px;font-weight:600;font-size:.95rem}.doodle-pad,.doodle{--paper-sheet: #fbf7ec;--paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .26 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.doodle-pad{display:grid;gap:14px;width:min(340px,100%);color-scheme:only light;user-select:none;-webkit-user-select:none}.doodle-paper{position:relative;margin-top:10px;rotate:-.6deg;box-shadow:0 1px 2px #00000026,0 12px 20px -12px #0006}.doodle-paper:before{content:"";position:absolute;top:-11px;left:50%;width:92px;height:22px;translate:-50% 0;rotate:2deg;background:#f4e4acc7;box-shadow:0 1px 2px #0000001a;pointer-events:none}.doodle-canvas,.doodle{display:block;width:100%;aspect-ratio:1;background:var(--paper-grain),var(--paper-sheet);color-scheme:only light}.doodle-canvas{cursor:crosshair;touch-action:none}.doodle-canvas[data-tool=fill]{cursor:cell}.doodle-tools,.doodle-actions{display:flex;flex-wrap:wrap;gap:8px}.doodle-tool,.doodle-actions>button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;font:600 .85rem/1 var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;cursor:pointer}.doodle-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.doodle-tool[aria-checked=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.doodle-actions>button:disabled{opacity:.45;cursor:default}.doodle-actions{justify-content:flex-end}.doodle-pencils{position:relative;display:flex;justify-content:center;gap:6px;height:58px;padding:0 14px;overflow:hidden}.doodle-pencils:after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:linear-gradient(to bottom,#b9bcc4,#8d919b);border-radius:6px 6px 0 0;box-shadow:inset 0 2px #ffffff73;pointer-events:none}.doodle-pencil{flex:none;width:22px;height:70px;padding:0;margin-top:16px;background:none;border:0;cursor:pointer;transition:translate .15s ease-out}.doodle-pencil svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .25))}.doodle-pencil:hover{translate:0 -4px}.doodle-pencil[aria-checked=true]{translate:0 -14px}.doodle-pencil:focus-visible{outline:3px solid var(--blue-ink);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.doodle-pencil{transition:none}}.review-list .doodle{width:min(160px,50%);margin:8px 0;box-shadow:0 1px 3px #0003}.admin-list{display:grid;gap:16px;max-width:560px;margin:24px auto 0;padding:0;list-style:none;text-align:left}.admin-entry{display:grid;gap:10px;padding:18px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px}.admin-entry p{margin:0}.admin-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.admin-date{margin-left:auto;font-size:.85rem;color:var(--ink-soft)}.admin-entry .doodle{width:min(240px,100%)}.admin-comment{font-size:1.1rem;overflow-wrap:anywhere}.admin-actions{display:flex;gap:10px}.admin-actions .button{flex:1;text-align:center}.admin-delete{min-height:48px;padding:0 20px;font:600 1rem/1 var(--body);color:#b3261e;background:transparent;border:1.5px solid currentColor;border-radius:999px;cursor:pointer}.admin-delete:disabled,.admin-actions .button:disabled{opacity:.5}.admin-state{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.admin-published .admin-state{color:#2a8a5f}.admin-deleted{opacity:.6}.game-card-icon{font-size:2rem;line-height:1}.game-back{margin:0 0 8px}.game-back a{font-weight:600;text-decoration:none}.game-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;margin-bottom:8px}.game-bar-info{display:flex;align-items:center;gap:8px;min-width:0}.game-tools{display:flex;align-items:center;gap:6px}.easy-badge{padding:6px 10px;font:700 .75rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--ink);background:var(--mint);border-radius:999px}.game-tool{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;font-size:1rem;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:50%;cursor:pointer}.game-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.game-tool:focus-visible{outline:3px solid var(--blue-ink);outline-offset:2px}.game-tool[aria-pressed=false]:not(.fullscreen-toggle){color:var(--ink-soft);border-style:dashed}.fullscreen-toggle{display:none}@media(pointer:coarse){.fullscreen-toggle{display:grid}}:root[data-game-fullscreen] .fullscreen-toggle{display:grid}:root[data-game-fullscreen],:root[data-game-fullscreen] body{overflow:hidden}:root[data-game-fullscreen] .game-page{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;max-width:none;margin:0;padding:calc(6px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));background:var(--paper)}:root[data-game-fullscreen] .game-page>:not(.game-layout),:root[data-game-fullscreen] .game-layout>:not(:first-child){display:none}:root[data-game-fullscreen] .game-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;margin:0;container-type:size}:root[data-game-fullscreen] .game-screen{width:min(100cqw,(100cqh - 44px) * 9 / 16)}:root[data-game-fullscreen] .game-screen:has(.wide){width:min(100cqw,(100cqh - 44px) * 21 / 16)}:root[data-game-fullscreen] .game-screen:has(.bonk){width:min(100cqw,100cqh - 100px)}.game-layout{display:grid;grid-template-columns:minmax(0,auto) minmax(200px,260px);justify-content:center;align-items:start;gap:24px 40px;margin-top:24px}@media(max-width:720px){.game-layout{grid-template-columns:minmax(0,1fr)}}.game-screen{justify-self:center;width:min(100%,calc((100dvh - 154px)*.5625),420px)}.game-stage{position:relative;width:100%;aspect-ratio:9 / 16;border:3px solid var(--ink);border-radius:18px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.game-screen:has(.bonk){width:min(440px,calc(100dvh - 134px));max-width:100%}.game-screen:has(.game-stage.wide){width:min(100%,calc((100dvh - 154px)*1.3125))}.game-stage.wide{aspect-ratio:21 / 16}.game-layout:has(.game-stage.wide){grid-template-columns:minmax(0,1fr)}.swipe-stage{touch-action:none}.game-canvas{display:block;width:100%;height:100%}.game-overlay{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:20px;text-align:center;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default}.game-overlay h2{margin:0;font-size:clamp(2rem,8vw,2.8rem)}.game-overlay p{margin:0}.game-overlay-hint{place-content:end center;padding-bottom:28%;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.game-overlay-hint p{padding:10px 18px;font-weight:700;color:var(--paper);background:var(--ink);border-radius:999px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.06)}}.game-final{font-size:1.15rem}.score-entry{display:flex;flex-wrap:wrap;justify-content:center;align-items:end;gap:10px}.score-entry label{display:grid;gap:4px;font-size:.85rem;font-weight:600;text-align:left}.score-entry input{width:5.2ch;padding:8px 10px;font:800 1.5rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.2em;text-transform:uppercase;text-align:center}.score-entry .button:disabled{opacity:.5}.score-entry .notice{flex-basis:100%}.score-saved{font-weight:700;color:var(--pink-ink)}.scoreboard{padding:18px 20px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;text-align:left}.scoreboard h2{margin:0 0 10px;font-size:1.3rem}.scoreboard ol{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.scoreboard li{display:grid;grid-template-columns:2ch 1fr auto;gap:12px;font-size:1.05rem}.scoreboard li:first-child{color:var(--pink-ink);font-weight:800}.scoreboard-rank{color:var(--ink-soft);text-align:right}.scoreboard-score{font-variant-numeric:tabular-nums;font-weight:700}.scoreboard p{margin:0;color:var(--ink-soft)}.bonk{position:relative;justify-self:center;width:100%;padding:16px;background:var(--bonk-board, #bfe8d6);transition:background-color .3s linear;border:3px solid var(--ink);border-radius:20px}.bonk-bar{display:flex;justify-content:space-between;margin-bottom:12px;font-size:1.15rem;color:#2e2a45}.bonk-bar p{margin:0}.bonk-bar strong{font-variant-numeric:tabular-nums}.bonk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bonk-hole{position:relative;aspect-ratio:1;padding:0;overflow:hidden;background:radial-gradient(ellipse 70% 30% at 50% 82%,#2e2a45 0 60%,transparent 62%),var(--bonk-turf, #a3dcc3);border:0;border-radius:16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:scale .08s ease-out}.bonk-hole:active:not(:disabled){scale:.96}.bonk-hole:disabled{cursor:default}.bonk-hole:focus-visible{outline:3px solid var(--blue-ink);outline-offset:2px}.bonk-head{position:absolute;left:14%;width:72%;bottom:8%;aspect-ratio:48 / 56;background:url(/images/bounce-sprites.png) 0 0 / 500% 500% no-repeat;image-rendering:pixelated;translate:0 110%;transition:translate .12s ease-out;pointer-events:none}:root[data-cheat-dance] .bonk-head{filter:sepia(1) saturate(3) hue-rotate(calc((var(--disco) - 40) * 1deg))}:root[data-cheat-matrix] .bonk-head{filter:grayscale(1) sepia(1) hue-rotate(80deg) saturate(5)}:root[data-cheat-bighead] .bonk-head{scale:1.25;transform-origin:50% 90%;animation:bobble 1.3s ease-in-out infinite}.bonk-hole.up .bonk-head{translate:0 0}.bonk-hole.bonked .bonk-head{translate:0 20%;scale:1.15 .7;transition:translate .25s ease-in,scale .08s ease-out}.bonk-stars{position:absolute;top:12%;left:0;right:0;font-size:1.2rem;color:#e9a800;opacity:0;pointer-events:none}.bonk-hole.bonked .bonk-stars{animation:bonk-stars .3s ease-out}@keyframes bonk-stars{0%{opacity:1;transform:translateY(6px) scale(.6)}to{opacity:0;transform:translateY(-10px) scale(1.2)}}.bonk-dust{position:absolute;left:30%;right:30%;bottom:14%;height:22%;background:radial-gradient(circle at 20% 70%,#e8f6ee 0 18%,transparent 20%),radial-gradient(circle at 50% 45%,#e8f6ee 0 24%,transparent 26%),radial-gradient(circle at 80% 70%,#e8f6ee 0 18%,transparent 20%);opacity:0;pointer-events:none}.bonk-hole.missed .bonk-dust{animation:bonk-dust .3s ease-out}.bonk-hole.oops{box-shadow:inset 0 0 0 4px #e8423f;background-color:#f6c6c3}@keyframes bonk-dust{0%{opacity:.9;transform:translateY(4px) scale(.6)}to{opacity:0;transform:translateY(-8px) scale(1.4)}}@keyframes bonk-dust-fade{0%{opacity:.9}to{opacity:0}}.bonk .game-overlay{border-radius:17px}.game-cog svg{width:22px;height:22px;stroke-width:1.8}@media(prefers-reduced-motion:no-preference){.game-cog:hover svg{rotate:45deg;transition:rotate .3s ease-out}}.game-cog-count{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:18px;height:18px;font:700 .7rem/1 var(--body);color:#2e2a45;background:#fdeca0;border-radius:999px}.game-settings-panel{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:12px;padding:22px 18px;overflow:auto;text-align:left;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default}.game-settings-panel h2{margin:0;font:800 1.6rem/1 var(--display)}.game-settings-panel ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.game-settings-panel>.button{align-self:center;margin-top:auto}.game-settings-boards{margin:0;font-size:.85rem;color:var(--ink-soft)}.game-setting{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;width:100%;padding:10px 14px;text-align:left;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:14px;cursor:pointer}.game-setting:before{content:"";grid-row:span 2;display:grid;place-items:center;width:20px;height:20px;font-size:.8rem;border:2px solid var(--ink-soft);border-radius:6px}.game-setting[aria-checked=true]{border-color:var(--ink)}.game-setting[aria-checked=true]:before{content:"✓";color:var(--paper);background:var(--ink);border-color:var(--ink)}.game-setting-name{font:700 .95rem/1.2 var(--body)}.game-setting-note{font-size:.82rem;line-height:1.3;color:var(--ink-soft)}.game-pause svg{fill:currentColor;stroke:none}.game-paused-hint{margin:0;font-size:.85rem;color:var(--ink-soft)}.pinball-tables{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pinball-tables button{min-height:40px;padding:0 16px;font:600 .95rem/1 var(--body);color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:999px;cursor:pointer}.pinball-tables button[aria-checked=true]{color:#fff;border-color:transparent}.pinball-tables .pinball-table-classic[aria-checked=true]{background:#c2407e}.pinball-tables .pinball-table-mainframe[aria-checked=true]{color:#7dffb2;background:#0d0c16}.pinball-tables .pinball-table-space[aria-checked=true]{background:linear-gradient(135deg,#0b1030,#4a2f80)}.pinball-tables .pinball-table-disco[aria-checked=true]{background:linear-gradient(90deg,#e0559a,#f2a541,#3a8fd0,#8a5cd6)}.pinball-stage{touch-action:none}.pinball-hud{display:flex;flex-wrap:wrap;gap:0 12px;margin:0;font-size:1rem}.pinball-hud strong{font-variant-numeric:tabular-nums}.pinball-multiplier{font-weight:800;color:var(--pink-ink)}@media(prefers-reduced-motion:reduce){.game-overlay-hint p,.bonk-hole.bonked .bonk-stars{animation:none}.bonk-hole.missed .bonk-dust{animation-name:bonk-dust-fade}.bonk-head{transition:none}}
