@font-face{font-family:pixelify sans;src:url(/fonts/pixelify-sans-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:lora;src:url(/fonts/lora-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--room-accent:#2f5b77;color-scheme:dark;--bg:rgb(17,17,16);--panel:#172a40;--text-color:#e7edf4;--muted:#b2b8bf;--edge:#15191e;--line:#4a5056;--grass:#76a8cc;--gold:#f4d45e;--blue:#77b8df;--orange:#f28b4c;--cursor-tint:rgba(94, 151, 189, .11);--cursor-dot:rgba(183, 216, 235, .55);--font-pixel:"Pixelify Sans", monospace;--font-serif:"Lora", "Noto Serif SC", Georgia, serif;--body-font:var(--font-serif);--pixel-font:var(--font-pixel);--body-ink:#d9d6cf;--radius:0;--radius-chip:2px;--border:2px solid;--shadow-hard:3px 3px 0 var(--edge);font-synthesis:none}.interactive-window[data-window-theme=profile]{--room-accent:#a68bd6}.interactive-window[data-window-theme=writing]{--room-accent:#6db3e5}.interactive-window[data-window-theme=moods]{--room-accent:#ef9568}.interactive-window[data-window-theme=music]{--room-accent:#df81aa}.interactive-window[data-window-theme=github]{--room-accent:#70bf87}:root[data-color-mode=light]{color-scheme:light;--bg:#e6eef3;--panel:#f5f7f6;--text-color:#25394b;--muted:#5a7185;--edge:#293d50;--line:#8eabba;--grass:#367ca6;--gold:#c18418;--blue:#236f98;--orange:#b8582a;--cursor-tint:rgba(53, 112, 151, .09);--cursor-dot:rgba(52, 102, 137, .42);--body-ink:#384452}*{box-sizing:border-box}html{min-width:320px;background-color:#171716;background-image:none;scroll-behavior:smooth;transition:none}body{margin:0;color:var(--body-ink);background-color:#171716;background-image:none;font:18px/1.75 var(--font-serif);font-kerning:normal;text-rendering:optimizeLegibility;transition:color .42s ease}body::before{display:none}a{color:inherit}a{transition:color .18s ease}a:hover{color:var(--gold)}button,input{color:inherit;font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}::selection{color:#102016;background:var(--gold)}.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}.skip-link{position:absolute;z-index:20;top:-5rem;left:1rem;padding:.5rem .8rem;border:3px solid var(--edge);background:var(--gold);color:#152319;font:700 .8rem var(--pixel-font)}.skip-link:focus{top:1rem}.home-shell{width:min(calc(100% - 4rem),1460px);min-height:100svh;margin:0 auto;display:grid;grid-template-columns:minmax(0,.88fr)minmax(0,1.12fr);grid-template-rows:auto 1fr auto;column-gap:clamp(2.5rem,5vw,6rem)}.home-tools{grid-column:1;grid-row:1;display:flex;align-items:center;gap:.8rem;padding-top:1.5rem}.tool-button{display:inline-flex;align-items:center;gap:.38rem;min-height:34px;padding:.18rem .42rem;border:1px solid transparent;border-radius:5px;background:0 0;color:var(--muted);cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.tool-button:hover,.tool-button:focus-visible{border-color:#425364;background:#111923;color:var(--text-color);box-shadow:0 0 0 3px rgb(105 184 223/12%)}.tool-button:active{transform:scale(.97)}.tool-button:hover kbd,.tool-button:focus-visible kbd{border-color:#465666;background:#253443;color:#e7edf4}.tool-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}kbd{padding:.12rem .35rem;border:2px solid var(--line);background:var(--panel);color:var(--muted);font:10px var(--pixel-font);box-shadow:2px 2px 0 var(--edge)}.home-copy{grid-column:1;grid-row:2;align-self:center;padding:2rem 0}.eyebrow,.room-kicker{margin:0 0 1rem;color:var(--grass);font:700 .7rem/1.5 var(--pixel-font);letter-spacing:.08em;text-transform:uppercase}.intro-copy{max-width:600px;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.65}.intro-copy p{margin:0 0 1.4rem}.intro-copy strong{color:var(--text-color)}.copy-muted{color:var(--muted)}.inline-switch{text-decoration:none;display:inline-block;appearance:none;padding:.04em .16em;margin-inline:.035em;border:2px solid var(--edge);color:#122016;font:inherit;font-size:.96em;font-weight:800;line-height:1.18;letter-spacing:-.015em;vertical-align:-.06em;-webkit-text-stroke:.2px currentColor;cursor:pointer;box-shadow:3px 3px 0 var(--edge);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease}.inline-switch:hover,.inline-switch[aria-pressed=true]{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--edge)}.highlight-purple{background:#a68bd6}.highlight-blue{background:#6db3e5}.highlight-orange{background:#ef9568}.highlight-pink{background:#df81aa}.highlight-green{background:#70bf87}.home-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}.home-links a,.text-link,.room-action{display:inline-block;padding:.45rem .65rem;border:2px solid var(--edge);background:var(--panel);color:var(--text-color);font:700 .7rem var(--pixel-font);text-decoration:none;box-shadow:3px 3px 0 var(--edge);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,color .2s ease,background-color .42s ease,border-color .42s ease}.home-links a:hover,.text-link:hover,.room-action:hover{transform:translate(-2px,-2px);color:var(--text-color);box-shadow:5px 5px 0 var(--edge)}.home-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 20px;border-width:3px;font:700 15px/1.3 var(--pixel-font);box-shadow:4px 4px 0 var(--edge)}.home-links a:hover{box-shadow:6px 6px 0 var(--edge)}.map-back{margin-bottom:1.2rem}.home-location{display:flex;align-items:center;gap:.55rem;margin:1.5rem 0 0;color:var(--muted);font:.7rem var(--pixel-font)}.location-dot{width:8px;height:8px;background:var(--grass);box-shadow:0 0 0 3px #65bd5333}.search-dialog{position:fixed;inset:50% auto auto 50%;display:none;flex-direction:column;width:min(570px,calc(100vw - 2rem));max-height:min(690px,calc(100dvh - 2rem));margin:0;padding:0;overflow:hidden;transform:translate(-50%,-50%);border:4px solid #101820;background:var(--panel);color:var(--text-color);box-shadow:7px 7px #080d13,0 24px 70px #0009}.search-dialog[open]{display:flex;animation:search-arrive .18s cubic-bezier(.2,.8,.2,1)both}.search-dialog::backdrop{background:rgb(5 10 16/.72);backdrop-filter:blur(4px)}@keyframes search-arrive{from{opacity:0;transform:translate(-50%,-48%)scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.search-head{display:flex;align-items:center;gap:.7rem;min-height:56px;padding:.45rem .7rem;border-bottom:3px solid #111923;background:color-mix(in srgb,var(--panel) 88%,#09131e)}.search-head>svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:square}.search-head input{flex:1;min-width:0;padding:.45rem 0;border:0;outline:0;background:0 0;color:var(--text-color);font:500 .92rem var(--body-font)}.search-head input::placeholder{color:#8d9aa6;opacity:1}.search-close{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;padding:0;border:2px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;font:1.3rem/1 var(--body-font)}.search-close:hover{border-color:var(--blue);color:var(--text-color)}.search-scroll{overflow:auto;padding:.25rem .45rem .65rem;scrollbar-color:var(--line)transparent;scrollbar-width:thin;overscroll-behavior:contain}.search-group{padding-top:.55rem}.search-group[hidden]{display:none}.search-group h3{margin:0;padding:.3rem .4rem .35rem;color:var(--grass);font:700 .59rem var(--pixel-font);letter-spacing:.07em;text-transform:uppercase}.search-options{display:grid;gap:2px;padding:0;margin:0;list-style:none}.search-option{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.35rem .5rem;border:2px solid transparent;color:var(--text-color);text-decoration:none;transition:background-color .14s ease,border-color .14s ease}.search-option[hidden]{display:none}.search-option:hover,.search-option:focus-visible{border-color:color-mix(in srgb,var(--blue) 48%,var(--line));outline:0;background:#293d50;color:var(--text-color)}.search-glyph{display:grid;flex:0 0 25px;width:25px;height:25px;place-items:center;border:2px solid #101820;background:#334a5f;color:#e7edf4;font:700 .72rem var(--pixel-font)}.glyph-profile{background:#a68bd6;color:#201832}.glyph-writing{background:#6db3e5;color:#142432}.glyph-moods{background:#ef9568;color:#301c14}.glyph-music{background:#df81aa;color:#2c1722}.glyph-github{background:#70bf87;color:#14251a}.search-option-copy{display:grid;flex:1;min-width:0;gap:.12rem;line-height:1.25}.search-option-copy strong{overflow:hidden;font-size:.78rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.search-option-copy small{overflow:hidden;color:#b2bdc7;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.search-option kbd,.search-footer kbd{padding:.12rem .3rem;border:1px solid #485460;border-radius:2px;background:#202a33;color:#c0c7ce;font:.55rem var(--pixel-font);box-shadow:none}.search-option time{color:#b2bdc7;font:.55rem var(--pixel-font);white-space:nowrap}.search-external{color:var(--muted);font:.85rem var(--pixel-font)}.search-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem;padding:.55rem .75rem;border-top:2px solid #111923;background:#121e2a;color:#aeb8c2;font:.55rem var(--pixel-font)}.search-footer span{display:flex;align-items:center;gap:.28rem}.search-empty{padding:.7rem .5rem;margin:0;color:var(--muted);font-size:.76rem}.interactive-stage{grid-column:2;grid-row:1/4;align-self:center;display:flex;justify-content:center;width:100%;padding:1rem 0 1.6rem}.interactive-window{position:relative;width:min(100%,656px);aspect-ratio:4/5;overflow:hidden;border:7px solid color-mix(in srgb,var(--edge) 78%,var(--room-accent));background:var(--room-accent);box-shadow:0 9px 22px rgb(8 14 22/24%);image-rendering:pixelated;transition:background-color .34s ease,border-color .34s ease,box-shadow .34s ease}.window-tabs{position:absolute;z-index:12;top:0;right:0;left:0;display:flex;align-items:center;gap:.3rem;height:3.25rem;overflow-x:auto;padding:.25rem .45rem;border-bottom:3px solid color-mix(in srgb,var(--edge) 60%,var(--room-accent));background:color-mix(in srgb,var(--room-accent) 16%,#111923);transition:background-color .48s ease,border-color .48s ease;scrollbar-width:thin}.window-tab{text-decoration:none;flex:none;min-height:40px;padding:.35rem .65rem;border:2px solid transparent;background:0 0;color:var(--tab-ink,var(--muted));cursor:pointer;font:700 14px/1 var(--pixel-font);text-decoration:none;transition:background-color .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}.window-tab:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--room-accent) 18%,#253443);color:var(--text-color)}.tab-map{--tab-ink:#91bdd8}.tab-profile{--tab-ink:#c3a9eb}.tab-writing{--tab-ink:#8cccf2}.tab-moods{--tab-ink:#f3a27b}.tab-music{--tab-ink:#e99abc}.tab-github{--tab-ink:#8ecb9b}.map-view{position:absolute;inset:3.25rem 0 0;display:flex;flex-direction:column;overflow:hidden}.map-view[hidden],.room-panel[hidden]{display:none}.pixel-room{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;background:#2f5b77;image-rendering:pixelated;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}.pixel-room:focus-visible{outline:3px solid #e6edf2;outline-offset:-5px}.map-caption{flex:none;min-height:0;padding:.7rem 1.2rem .85rem;color:var(--text-color);background:color-mix(in srgb,var(--room-accent) 78%,var(--panel));transition:background-color .48s ease}.map-caption .room-kicker{margin-bottom:.25rem}.map-caption h2{margin:0 0 .25rem;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.3}.map-caption p:last-child{margin:0;color:var(--muted);font-size:.8rem}.map-world{position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);aspect-ratio:4/5}.room-art{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated;shape-rendering:crispEdges}.lamp-rays{animation:lantern-breathe 3.8s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes lantern-breathe{from{opacity:.18;transform:scale(.97)}to{opacity:.4;transform:scale(1.035)}}:root[data-color-mode=light] .lamp-rays{opacity:.025;animation:none}.room-stars rect:nth-child(2n){animation:star-blink 1.8s steps(2,end)infinite alternate}@keyframes star-blink{to{opacity:.2}}#pixel-player{filter:drop-shadow(3px 3px 0 #1118);transition:filter .28s ease}#pixel-player.walking{filter:drop-shadow(3px 4px 0 #1116)}#pixel-player:not(.walking):not(.pointer-paused){animation:player-idle 2.4s steps(2,end)infinite}#pixel-player.walking .player-leg-a{animation:pixel-step .24s steps(2,end)infinite alternate}#pixel-player.walking .player-leg-b{animation:pixel-step .24s steps(2,end)infinite alternate-reverse}#pixel-player.jumping{animation:player-hop .34s steps(4,end)}@keyframes player-idle{0%,80%,100%{translate:0 0}90%{translate:0 -2px}}@keyframes pixel-step{to{transform:translateY(-6px)}}@keyframes player-hop{50%{translate:0 -34px}}.water-glints{animation:water-drift 8s ease-in-out infinite alternate}@keyframes water-drift{to{transform:translateX(9px);opacity:.45}}.map-trees{transform-box:fill-box;transform-origin:center bottom;animation:tree-breeze 6s ease-in-out infinite alternate}@keyframes tree-breeze{to{transform:translateY(-1.5px)}}.map-flowers{animation:flower-shimmer 4s ease-in-out infinite alternate}.map-flowers-pink{animation-delay:-1.8s}@keyframes flower-shimmer{from{opacity:.72}to{opacity:1}}.music-notes{transform-box:fill-box;transform-origin:center;animation:notes-lilt 2.4s ease-in-out infinite alternate}@keyframes notes-lilt{to{transform:translateY(-4px);opacity:.65}}.room-hotspot{position:absolute;display:grid;place-items:center;z-index:3;left:var(--x);top:var(--y);width:9%;height:16%;padding:0;border:0;background:0 0;color:inherit;font:inherit;cursor:pointer;transform:translate(-50%,-50%)}.room-hotspot::after{position:absolute;left:50%;bottom:-9px;width:16px;height:7px;content:'';background:#f6df6a;opacity:0;transform:translateX(-50%)scale(.75);transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.room-hotspot:hover::after,.room-hotspot:focus-visible::after,.room-hotspot.is-nearby::after{opacity:1;transform:translateX(-50%)scale(1)}.room-hotspot>span{position:absolute;left:50%;bottom:calc(100% + 8px);padding:.3rem .45rem;border:2px solid var(--edge);background:var(--gold);color:#182519;font:700 .62rem var(--pixel-font);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);box-shadow:3px 3px 0 var(--edge);transition:opacity .18s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.room-hotspot:hover>span,.room-hotspot:focus-visible>span,.room-hotspot.is-nearby>span{opacity:1;transform:translate(-50%,0)}.town-world-layer{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.town-world-object{position:absolute;display:block;overflow:visible;transform:translate(-50%,-50%);image-rendering:pixelated;shape-rendering:crispEdges;pointer-events:none}.sprite-window-pixel{transition:filter .14s ease-out}.sprite-window-pixel.is-lit{filter:brightness(1.6)drop-shadow(0 0 1.5px #f6df6a)}.town-world-object.town-tree{transform-origin:center bottom;animation:town-tree-breeze 6s ease-in-out infinite alternate}@keyframes town-tree-breeze{to{translate:0 -1px}}town-building{position:absolute;display:block;transform:translate(-50%,-50%);pointer-events:auto}.town-building__button{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;outline:0;background:0 0;color:var(--text-color);cursor:pointer;touch-action:manipulation}.town-building__button:focus-visible{border:2px solid color-mix(in srgb,var(--building-accent) 86%,white);border-radius:3px;outline:2px solid #122032;outline-offset:2px}.town-building__sprite{position:absolute;z-index:1;left:50%;top:50%;display:block;width:var(--building-sprite-width);height:var(--building-sprite-height);overflow:visible;image-rendering:pixelated;shape-rendering:crispEdges;transform:translate(-50%,-50%)}.sprite-theme-pixel{transition:filter .16s steps(2,end)}.sprite-window-pixel{animation:window-blink 8s steps(1,end)infinite}.windmill-rotor{transform-box:view-box;transform-origin:50% 33.333%;animation:windmill-turn var(--windmill-speed,10s)linear infinite}.town-building__label{position:absolute;z-index:5;top:-1px;left:50%;padding:.26rem .4rem;border:2px solid #142331;background:var(--building-accent);color:#17222d;font:700 .56rem var(--pixel-font);line-height:1.2;white-space:nowrap;box-shadow:2px 2px #142331;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease}town-building:hover .town-building__label,town-building:focus-within .town-building__label,town-building[data-state=near] .town-building__label,town-building[data-state=active] .town-building__label{opacity:1;transform:translate(-50%,0)}town-building:hover .sprite-theme-pixel,town-building:focus-within .sprite-theme-pixel,town-building[data-state=near] .sprite-theme-pixel,town-building[data-state=active] .sprite-theme-pixel{filter:brightness(1.13)}town-building[data-building=moods][data-state=near] .windmill-rotor{animation-duration:5.8s}@keyframes windmill-turn{to{transform:rotate(360deg)}}@keyframes window-blink{0%,94%,100%{opacity:1}96%{opacity:.72}}.town-player{position:absolute;display:block;overflow:visible;filter:drop-shadow(3px 3px 0 #1118);transform-origin:center;pointer-events:all}.town-player.walking{filter:drop-shadow(3px 4px 0 #1116)}.town-player:not(.walking):not(.pointer-paused){animation:player-idle 2.4s steps(2,end)infinite}.town-player.walking .player-leg-a{animation:pixel-step .24s steps(2,end)infinite alternate}.town-player.walking .player-leg-b{animation:pixel-step .24s steps(2,end)infinite alternate-reverse}.town-critter{position:absolute;display:block;overflow:visible;transform-origin:center;pointer-events:none;animation:critter-idle 1.7s steps(2,end)infinite}.town-critter.town-bird{animation-duration:.45s}@keyframes critter-idle{50%{translate:0 -1px}}.game-toast{position:absolute;z-index:5;left:50%;top:5%;max-width:86%;padding:.4rem .65rem;border:3px solid var(--edge);background:var(--gold);color:#182519;font:700 .62rem var(--pixel-font);text-align:center;box-shadow:4px 4px 0 var(--edge);opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .24s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.game-toast.is-visible{opacity:1;transform:translate(-50%,0)}.hotspot-clock{left:auto;top:.7rem;right:.9rem;width:auto;height:auto;color:#fbf3cd;font:700 .8rem var(--pixel-font);text-shadow:2px 2px #335039;pointer-events:none;transform:none}.game-controls{position:relative;z-index:4;flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;min-height:2.45rem;padding:.3rem .65rem;border-block:2px solid #b4c3cf66;background:#182537;color:#e6edf2;font:.58rem var(--pixel-font)}.game-control-hints{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem}.game-control-hints span{display:flex;align-items:center;gap:.3rem}.game-controls kbd{padding:.15rem .3rem}.game-controls button{margin-left:auto;padding:.35rem .5rem;border:2px solid var(--edge);background:var(--panel);cursor:pointer;box-shadow:3px 3px 0 var(--edge);font:700 .62rem var(--pixel-font);transition:transform .18s ease,box-shadow .18s ease,background-color .42s ease,border-color .42s ease}.game-controls button:hover{transform:translateY(-2px);box-shadow:3px 5px 0 var(--edge)}.room-panel{position:absolute;z-index:8;inset:3.25rem 0 0;height:auto;min-height:0;max-height:none;overflow:hidden;overscroll-behavior:none;padding:1rem 1.2rem;background-color:var(--page-bg);background-image:none;scrollbar-gutter:stable;transition:background-color .34s ease}.window-back{position:sticky;z-index:10;top:0;float:right;cursor:pointer;border-color:color-mix(in srgb,var(--room-accent) 54%,var(--edge));background:color-mix(in srgb,var(--room-accent) 48%,var(--panel));color:var(--text-color)}.room-info[hidden]{display:none}.room-info:not([hidden]){width:100%;min-height:100%}.room-kicker{margin-bottom:.35rem;font-size:.62rem}.room-info.room-arrive{animation:info-arrive .18s ease-out both}@keyframes info-arrive{from{opacity:0}to{opacity:1}}.room-info h2{margin:0 0 .45rem;font-size:clamp(1.05rem,1.7vw,1.4rem);line-height:1.35}.room-info p:not(.room-kicker){margin:0 0 .6rem;color:var(--muted);font-size:.85rem}.random-mood-note{padding:.65rem .75rem;border-left:3px solid #ef9568;background:color-mix(in srgb,#ef9568 18%,var(--panel));color:var(--text-color)!important;box-shadow:2px 2px #14233166}.profile-preview,.music-preview,.github-preview{display:flex;align-items:center;gap:.8rem;margin:.25rem 0 .7rem}.profile-preview h2,.music-preview h2,.github-preview h2{margin:0 0 .2rem}.profile-preview p,.music-preview p,.github-preview p{margin:0!important}.profile-avatar{display:block;flex:0 0 42px;width:42px;height:42px;border:3px solid var(--edge);background:#a68bd6;object-fit:cover;object-position:center;box-shadow:3px 3px 0 var(--edge)}.mini-record{position:relative;flex:0 0 46px;width:46px;height:46px;border:3px solid var(--edge);border-radius:50%;background:repeating-radial-gradient(circle,#20272c 0 3px,#3c4853 4px 5px);box-shadow:3px 3px 0 var(--edge)}.mini-record::after{position:absolute;inset:38%;content:'';border:2px solid var(--edge);border-radius:50%;background:#df81aa}.record-player{--record-pink:#d58ba9;--record-dark:#171a20;container-type:inline-size;display:grid;grid-template-columns:minmax(0,.82fr)minmax(0,1.18fr);align-items:center;gap:.7rem 1rem;padding:.75rem;border:2px solid #111d28;background:linear-gradient(145deg,#213449,#182b3b);box-shadow:5px 5px #11161a;color:var(--text-color)}.room-info[data-room-info=music] .record-player{width:100%;min-width:0;border-color:color-mix(in srgb,var(--room-accent) 42%,#111d28);background:linear-gradient(145deg,color-mix(in srgb,var(--room-accent) 28%,#213449),color-mix(in srgb,var(--room-accent) 42%,#182b3b))}.room-info[data-room-info=music] .record-deck{width:min(100%,184px)}.record-deck{position:relative;display:grid;grid-column:1;place-items:center;justify-self:center;width:min(100%,236px);aspect-ratio:1.28;min-height:0;container-type:inline-size;overflow:hidden;border:9px solid #594032;border-radius:7px;background:repeating-linear-gradient(2deg,transparent 0 16px,#55432d1c 17px,#ead8b12c 19px,transparent 23px,#816d5020 31px,transparent 38px),repeating-linear-gradient(90deg,transparent 0 62px,#483a2b1c 64px,#e2d1ae18 67px,transparent 70px 119px),linear-gradient(108deg,#a08b71,#c1ad8f 38%,#8f7b63 66%,#bcaa8b);box-shadow:inset 0 0 0 2px #e0c9a04d,inset 0 0 0 6px #624b3933,0 7px #342720}.record-deck::before{position:absolute;inset:0;z-index:1;content:'';border:2px solid #e0c9a033;pointer-events:none}.platter{position:absolute;top:50%;left:50%;width:min(68cqw,170px);height:min(68cqw,170px);aspect-ratio:1/1;padding:6px;border:4px solid #59616a;border-radius:50%;background:repeating-conic-gradient(from 6deg,#73777a 0 1deg,#4c5359 1.5deg 3deg);box-shadow:inset 0 0 0 3px #adb2ad99,0 2px #25272a,0 5px 8px #181b20b3;transform:translate(-50%,-50%)}.vinyl-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:0 0;cursor:pointer}.vinyl-disc{position:relative;display:grid;width:100%;height:100%;aspect-ratio:1/1;place-items:center;overflow:hidden;border:3px solid #11171b;border-radius:50%;background:repeating-radial-gradient(circle at 48% 48%,#15181c 0 3px,#292d32 4px 5px,#181b20 6px 9px,#22262b 10px 11px),conic-gradient(from 12deg,#262a30,#16191d,#33373b,#191c21,#262a30);box-shadow:inset 0 0 0 3px #444b51,inset 0 0 0 6px #171b1e,0 3px 8px #1118}.vinyl-disc::before{position:absolute;inset:8%;content:'';border:1px solid #9da5aa33;border-radius:50%;box-shadow:0 0 0 2px #0d101433,0 0 0 5px #b5bbc01c,0 0 0 9px #0b0d111f}.vinyl-label{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;width:30%;aspect-ratio:1;overflow:hidden;border:3px solid #252629;border-radius:50%;background:radial-gradient(circle at 40% 32%,#e5a8bd,#b66e91 75%);color:#25151e;font:700 clamp(.45rem,1vw,.62rem)/1.2 var(--pixel-font);box-shadow:0 1px 5px #0009}.vinyl-label img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}.vinyl-label img[hidden]{display:none}.vinyl-label>span{font-size:.7em}.vinyl-label img:not([hidden])+span{display:none}.vinyl-disc::after{position:absolute;width:6px;height:6px;content:'';border:2px solid #14191e;border-radius:50%;background:#e4c7d3}.vinyl-button:hover .vinyl-disc{filter:brightness(1.14)}.record-player[data-spinning=true] .vinyl-disc{animation:vinyl-spin 2.2s linear infinite}@keyframes vinyl-spin{to{transform:rotate(1turn)}}.tonearm{position:absolute;z-index:2;top:4%;right:4%;width:46%;height:89%;transform-origin:81% 8%;transform:rotate(-2deg);transition:transform .65s cubic-bezier(.2,.8,.2,1);pointer-events:none}.tonearm-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(2px 2px 1px #1a1918a8)}.record-player[data-spinning=true] .tonearm{transform:rotate(8deg)}.turntable-light{position:absolute;right:9%;bottom:14%;width:10px;height:10px;border:2px solid #13191e;background:#65747e}.record-player[data-spinning=true] .turntable-light{background:#8fdda5;box-shadow:0 0 0 3px #8fdda533,0 0 12px #8fdda5aa}.turntable-brand{position:absolute;right:8%;bottom:7%;color:#d0d5d5;font:700 .48rem var(--pixel-font);letter-spacing:.06em}.record-console{display:grid;grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:.3rem .8rem;min-width:0;padding:.2rem;border:0;background:0 0;box-shadow:none}.record-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0;grid-column:1/-1}.record-console .room-kicker{margin-bottom:.2rem;color:#b68a9e;font-size:.54rem}.record-console h2{margin:0;color:#f0ece9;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.2}.record-subtitle{margin:.16rem 0 0!important;color:#a9aaab!important;font-size:.68rem!important}.record-actions{display:flex;align-items:center;gap:.55rem}.record-console .record-status{grid-column:1/-1;min-height:0;margin:0!important;color:#b6b8ba;font-size:.67rem;line-height:1.4}.record-track-link{grid-column:1/-1;width:fit-content;color:#e99dbc;font-size:.62rem;text-decoration-color:#e99dbc66}.record-track-link[hidden]{display:none}.record-meter{display:flex;align-items:end;gap:3px;height:19px;margin:0}.record-meter i{width:5px;height:30%;background:#e78bad;opacity:.75}.record-player[data-spinning=true] .record-meter i{animation:meter-bounce .5s steps(3,end)infinite alternate}.record-player[data-spinning=true] .record-meter i:nth-child(3n){animation-delay:-.28s}.record-player[data-spinning=true] .record-meter i:nth-child(2n){animation-delay:-.14s}@keyframes meter-bounce{to{height:100%}}.record-control{padding:.45rem .6rem;border:2px solid #14191e;background:#df81aa;color:#281720;cursor:pointer;box-shadow:3px 3px #14191e;font:700 .58rem var(--pixel-font);transition:transform .18s ease,box-shadow .18s ease}.record-control:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px #14191e}.record-control:disabled,.vinyl-button:disabled{cursor:wait;opacity:.62}.record-skip{min-width:30px;min-height:30px;padding:.25rem;border:1px solid #67717b;background:#182532;color:#d7d9dc;font:700 .52rem var(--pixel-font);cursor:pointer}.record-skip:hover:not(:disabled){border-color:#e78bad;color:#f4b4cc}.record-skip:disabled{cursor:default;opacity:.45}.record-skip:focus-visible,.record-control:focus-visible,.vinyl-button:focus-visible,.record-track:focus-visible{outline:2px solid #f1b4cf;outline-offset:3px}.record-progress{display:flex;grid-column:1/-1;align-items:center;gap:.5rem;color:#aeb2b4;font:.5rem var(--pixel-font)}.record-progress input{flex:1;min-width:0;height:12px;margin:0;appearance:none;background:0 0;cursor:pointer}.record-progress input::-webkit-slider-runnable-track{height:3px;background:#64696d}.record-progress input::-moz-range-track{height:3px;background:#64696d}.record-progress input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-3px;appearance:none;border:2px solid #171b20;border-radius:50%;background:#d58ba9;box-shadow:0 0 0 1px #d58ba9}.record-progress input::-moz-range-thumb{width:7px;height:7px;border:2px solid #171b20;border-radius:50%;background:#d58ba9;box-shadow:0 0 0 1px #d58ba9}.apple-music-embed{grid-column:1/-1;min-width:0;margin-top:.1rem;padding:.65rem 0 0;border:0;border-top:1px solid #ffffff24;background:0 0;box-shadow:none}.track-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.track-list-head .room-kicker{margin:0 0 .45rem;color:#bd8fa3}.track-list-head a{margin-bottom:.45rem;color:#d89bb5;font:700 .5rem var(--pixel-font);text-decoration:none}.track-list-note{margin:-.05rem 0 .4rem!important;color:#a9adb0;font-size:.58rem!important}.track-filter{width:100%;margin:0 0 .4rem;padding:.45rem .5rem;border:1px solid #4c4b50;background:#171b1f;color:#e4e5e5;font-size:.67rem}.track-filter::placeholder{color:#858b90}.record-track-list{display:grid;max-height:250px;overflow:auto;scrollbar-color:#56616a transparent;scrollbar-width:thin}.record-track{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.48rem .35rem;border:0;border-bottom:1px solid #ffffff16;background:0 0;color:#e4e5e5;text-align:left;cursor:pointer}.record-track[hidden]{display:none}.record-track:hover,.record-track[aria-current=true]{background:#d58ba918}.record-track[aria-current=true] .track-index{color:#e99dbc}.track-index{flex:0 0 20px;color:#858b90;font:.5rem var(--pixel-font)}.track-copy{display:grid;flex:1;min-width:0;gap:.1rem}.track-copy strong,.track-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-copy strong{font-size:.7rem;font-weight:600}.track-copy small{color:#a9adb0;font-size:.58rem}.track-play{color:#d58ba9;font-size:.58rem;opacity:0}.record-track:hover .track-play,.record-track[aria-current=true] .track-play{opacity:1}@media(max-width:570px){.record-player{grid-template-columns:minmax(0,1fr);gap:.6rem;padding:.65rem}.record-deck{grid-column:1;grid-row:auto;width:min(100%,220px);aspect-ratio:1.28;min-height:0}.record-console{grid-column:1;grid-row:auto;padding:.15rem .1rem .3rem}.record-console .record-status{min-height:0}.record-actions{flex-direction:row;align-items:center;gap:.3rem}.record-connection{font-size:.43rem}.music-page .record-deck{width:min(100%,220px)}}@container(max-width:720px){.record-console { grid-template-columns: minmax(0,1fr); }.record-meta { flex-direction: column; align-items: flex-start; }.record-actions { justify-content: flex-start; }.record-console h2 { overflow-wrap: anywhere; } }@media(prefers-reduced-motion:reduce){.record-player[data-spinning=true] .vinyl-disc,.record-player[data-spinning=true] .record-meter i{animation-duration:8s}}.github-game{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:.75rem;min-height:124px}.github-tree-button{display:grid;justify-items:center;gap:.1rem;width:82px;padding:.15rem;border:2px solid transparent;background:0 0;color:var(--muted);cursor:pointer;font:700 .5rem var(--pixel-font)}.github-tree-button:hover,.github-tree-button:focus-visible{border-color:var(--line);background:color-mix(in srgb,var(--grass) 12%,transparent)}.github-tree{display:block;width:72px;height:78px;overflow:visible}.github-game.is-shaking .github-tree{animation:tree-rattle .42s steps(3,end)2}@keyframes tree-rattle{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.github-leaves path{transform-box:fill-box;transform-origin:center}.github-card-content{min-width:0}.github-card-content h2{margin:0 0 .15rem;font-size:1rem}.github-card-content p{margin:0 0 .45rem!important;font-size:.7rem!important}.github-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:.35rem 0}.github-stats[hidden]{display:none}.github-stat{padding:.25rem .35rem;border:2px solid var(--line);background:color-mix(in srgb,var(--grass) 10%,var(--panel));text-align:center}.github-stat strong{display:block;color:var(--text-color);font:700 .78rem var(--pixel-font)}.github-stat span{display:block;color:var(--muted);font:.48rem var(--pixel-font);text-transform:uppercase}.github-links{display:flex;flex-wrap:wrap;gap:.3rem .75rem}.github-links a{color:var(--green,#70bf87);font:700 .58rem var(--pixel-font);text-decoration:none}.room-links{display:grid;gap:.35rem;padding:0;margin:.5rem 0 .75rem;list-style:none}.room-links li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;padding:.3rem 0;border-bottom:2px dashed var(--line)}.room-links a{font-size:.82rem;font-weight:700;text-decoration:none}.room-links time{color:var(--muted);font:.63rem var(--pixel-font)}.home-footer{grid-column:1;grid-row:3;display:flex;flex-wrap:wrap;gap:.8rem;align-self:end;padding:1rem 0 1.3rem;color:var(--muted);font-size:.7rem}.home-footer a{color:var(--text-color)}.site-header{position:relative;z-index:1;border-bottom:4px solid var(--edge);background:var(--panel);box-shadow:0 4px 0 var(--line);transition:background-color .42s ease,border-color .42s ease,box-shadow .42s ease}.site-main,.site-footer{position:relative;z-index:1}.header-inner,.site-main:not(:has(.home-shell)),.footer-inner{width:min(calc(100% - 3rem),920px);margin-inline:auto}.header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-color);font:700 .75rem var(--pixel-font);text-decoration:none}.brand-mark{display:block;flex:0 0 28px;width:28px;height:28px;border:3px solid var(--edge);background:#a68bd6;object-fit:cover;object-position:center;box-shadow:3px 3px 0 var(--edge)}.site-nav{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font:700 .66rem var(--pixel-font)}.site-nav a{text-decoration:none}.site-nav a[aria-current=page]{color:var(--gold)}.site-main:not(:has(.home-shell)){min-height:calc(100svh - 128px)}.page-intro{padding:4rem 0 2rem}.page-intro .eyebrow{color:var(--grass)}.page-intro h1{margin:0;font-size:clamp(2rem,5vw,3.3rem);line-height:1.25}.page-intro>p:not(.eyebrow){color:var(--muted)}.post-list-page{margin-bottom:4rem;border-top:4px solid var(--edge)}.post-row{display:grid;grid-template-columns:105px minmax(0,1fr)30px;gap:1rem;padding:1.2rem .4rem;border-bottom:3px solid var(--edge);transition:background .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.post-row:hover{background:color-mix(in srgb,var(--grass) 12%,transparent);transform:translateX(3px)}.post-row-date{padding-top:.25rem;color:var(--muted);font:.65rem var(--pixel-font)}.post-row-body h2,.post-row-body h3{margin:0;font-size:1.1rem}.post-row-body p{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.tag-list span{padding:.12rem .35rem;border:2px solid var(--line);color:var(--muted);font:.6rem var(--pixel-font)}.row-arrow{align-self:center;font:700 1.1rem var(--pixel-font)}.article{max-width:760px;margin:0 auto;padding:3rem 0 4rem}.article-header{padding:1.2rem;border:4px solid var(--edge);background:var(--panel);box-shadow:6px 6px 0 var(--edge);transition:background-color .42s ease,border-color .42s ease}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--muted);font:.65rem var(--pixel-font);text-decoration:none}.article-header .eyebrow{color:var(--grass)}.article-header h1{margin:0;font-size:clamp(1.8rem,5vw,3.2rem);line-height:1.3}.article-deck{color:var(--muted)}.post-meta{display:flex;gap:1rem;margin-top:1rem;color:var(--muted);font:.65rem var(--pixel-font)}.article-content{margin-top:1.2rem;padding:clamp(1.2rem,4vw,2.3rem);border:4px solid var(--edge);background:var(--panel);box-shadow:6px 6px 0 var(--edge);font-size:1.02rem;line-height:1.95;transition:background-color .42s ease,border-color .42s ease}.article-content h2,.article-content h3{margin:2em 0 .7em;color:var(--text-color);line-height:1.4}.article-content a:not(.inline-switch){color:var(--blue);text-underline-offset:3px}.article-content img{max-width:100%;height:auto;image-rendering:pixelated}.article-content blockquote{margin:1.8em 0;padding:.25rem 1rem;border-left:6px solid var(--grass);color:var(--muted)}.article-content pre{overflow-x:auto;padding:1rem;border:3px solid var(--edge);background:var(--bg);font:.8rem/1.7 var(--pixel-font)}.article-content :not(pre)>code{padding:.15em .35em;border:1px solid var(--line);background:var(--bg);font:.85em var(--pixel-font)}.article-end{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding:.8rem;border:3px solid var(--edge);background:var(--panel);font:.7rem var(--pixel-font)}.article-end a{color:var(--gold);text-decoration:none}.profile-links .inline-switch,.profile-links .inline-switch:hover{color:#122016}.music-page{max-width:760px;margin:0 auto;padding:4rem 0}.music-page .record-player{max-width:760px;margin-inline:auto}.music-page .record-deck{width:min(100%,236px)}.music-console{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:center;padding:1.2rem;border:5px solid var(--edge);background:var(--panel);box-shadow:8px 8px 0 var(--edge)}.pixel-record{position:relative;width:180px;aspect-ratio:1;border:4px solid var(--edge);border-radius:0;background:repeating-conic-gradient(#171b1c 0 3deg,#252b2a 3deg 6deg);box-shadow:6px 6px 0 var(--edge);image-rendering:pixelated}.pixel-record::before{position:absolute;inset:34%;content:'';border:4px solid var(--edge);background:var(--orange)}.pixel-record::after{position:absolute;inset:46%;content:'';background:var(--gold)}.music-empty{padding:.8rem;border:3px dashed var(--line);color:var(--muted)}.track-row{display:grid;gap:.4rem;padding:.6rem 0;border-bottom:2px dashed var(--line)}.track-row audio{width:100%}.site-footer{margin-top:2rem;border-top:4px solid var(--edge);background:var(--panel)}.footer-inner{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;color:var(--muted);font-size:.7rem}.footer-inner a{color:var(--text-color)}.not-found{min-height:60svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}html[data-motion-paused=true] *,html[data-motion-paused=true] *::before,html[data-motion-paused=true] *::after,body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:980px){.home-shell{width:min(calc(100% - 3rem),760px);grid-template-columns:1fr;grid-template-rows:auto auto auto auto;column-gap:0}.home-tools{grid-column:1;grid-row:1;padding-top:1rem}.home-copy{grid-column:1;grid-row:2;padding:2rem 0 1.3rem}.interactive-stage{grid-column:1;grid-row:3;width:min(100%,656px);margin:0 auto 1.2rem}.home-footer{grid-column:1;grid-row:4}.interactive-stage{grid-template-rows:auto}.interactive-window{width:min(100%,656px)}}@media(max-width:640px){.home-shell{width:calc(100% - 1.5rem)}.intro-copy{font-size:1.15rem;line-height:1.65}.interactive-stage{width:100%}.interactive-window{border-width:5px}.room-panel{padding:.7rem}.game-controls{display:flex;justify-content:flex-end;min-height:2.25rem;padding:.2rem .55rem}.game-control-hints{display:none}.hotspot-clock{font-size:.62rem}.home-footer{font-size:.61rem}.tool-button kbd{display:none}.header-inner,.site-main:not(:has(.home-shell)),.footer-inner{width:calc(100% - 1.5rem)}.header-inner{min-height:60px}.brand{font-size:.61rem}.site-nav{gap:.65rem;font-size:.55rem}.article{padding:2rem .2rem 3rem}.post-row{grid-template-columns:1fr 24px;gap:.25rem .6rem}.post-row-date{grid-column:1;grid-row:1}.post-row-body{grid-column:1;grid-row:2}.row-arrow{grid-column:2;grid-row:2}.music-console{grid-template-columns:1fr}.pixel-record{width:128px;margin-inline:auto}}@media(hover:none),(pointer:coarse){.game-control-hints{display:none}}@media(max-width:640px){body.mobile-room-active{overflow:hidden}body.mobile-room-active .home-tools{display:none}.interactive-window.mobile-room-open{position:fixed;z-index:1000;inset:0;display:flex;flex-direction:column;width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;aspect-ratio:auto;overflow:hidden;padding-top:env(safe-area-inset-top);border:0;background:var(--page-bg);background-image:none;box-shadow:none;transition:none}.interactive-window.mobile-room-open .window-tabs{position:relative;top:auto;right:auto;left:auto;display:flex;flex:0 0 3.6rem;align-items:center;justify-content:space-between;gap:.15rem;height:3.6rem;padding:.25rem max(.6rem,env(safe-area-inset-right));overflow:hidden}.interactive-window.mobile-room-open .window-tab{position:relative;display:grid;flex:1 1 40px;width:auto;min-width:0;min-height:44px;place-items:center;padding:.2rem;border:2px solid transparent;background:0 0;color:transparent;font-size:0;white-space:nowrap}.interactive-window.mobile-room-open .map-view{inset:calc(env(safe-area-inset-top) + 3.6rem)0 env(safe-area-inset-bottom)}.interactive-window.mobile-room-open .room-panel{inset:calc(env(safe-area-inset-top) + 3.6rem)0 env(safe-area-inset-bottom);padding:1rem clamp(1rem,5vw,1.5rem)max(1.25rem,env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-gutter:auto}.interactive-window.mobile-room-open .game-controls{right:max(.85rem,env(safe-area-inset-right));bottom:max(.85rem,env(safe-area-inset-bottom))}.interactive-window.mobile-room-open .window-back{position:sticky;top:0;float:none;display:block;width:100%;min-height:44px;margin:0 0 1rem;padding:.55rem .7rem;text-align:left;font-size:.68rem}.interactive-window.mobile-room-open .room-info{min-height:100%}}.skip-link,.home-links a,.text-link,.room-action,.window-back,.game-controls button,.record-control{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 20px;border-width:3px;box-shadow:4px 4px 0 var(--edge);font-size:15px;line-height:1.3}.text-link:hover,.room-action:hover,.window-back:hover,.game-controls button:hover,.record-control:hover:not(:disabled){box-shadow:6px 6px 0 var(--edge)}.tool-button{min-height:44px;padding:8px 18px;border:3px solid var(--edge);border-radius:0;background:var(--panel);color:var(--text-color);box-shadow:4px 4px 0 var(--edge);font-size:14px;font-weight:700}.tool-button:hover,.tool-button:focus-visible{border-color:var(--edge);background:color-mix(in srgb,var(--blue) 24%,var(--panel));box-shadow:6px 6px 0 var(--edge)}.window-tabs{gap:.35rem}.window-tab{min-height:44px;padding:8px 16px;font-size:14px}.search-close{flex-basis:44px;width:44px;height:44px;border-width:3px;box-shadow:3px 3px #101820}.search-option{min-height:48px;padding-inline:.75rem}.search-option-copy strong{font-size:.875rem}.record-control{border-color:#14191e;box-shadow:4px 4px #14191e;font-family:var(--pixel-font)}.record-actions{gap:.65rem}.record-skip{min-width:40px;min-height:40px;border-width:2px;box-shadow:3px 3px #101820;font-size:.8rem}.record-track{min-height:44px;padding:.45rem .55rem}.track-copy strong{font-size:.875rem}.github-tree-button{min-height:44px;font-size:14px}.row-arrow{display:grid;width:44px;min-height:44px;place-items:center;border:3px solid var(--edge);background:var(--panel);box-shadow:4px 4px 0 var(--edge);text-decoration:none}.row-arrow:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--edge)}.post-row{grid-template-columns:105px minmax(0,1fr)44px}@media(max-width:560px){.post-row{grid-template-columns:minmax(0,1fr)44px}.interactive-window.mobile-room-open .window-back{display:flex;justify-content:flex-start;min-height:44px;padding:9px 20px;font-size:14px}}.interactive-window,.interactive-window *{box-sizing:border-box}.interactive-window{--window-tabs-height:clamp(2.75rem,5vw,3.25rem)}.window-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(0px,.5vw,.35rem);height:var(--window-tabs-height);overflow:hidden;scrollbar-width:none}.window-tabs::-webkit-scrollbar,.room-panel::-webkit-scrollbar{display:none;width:0;height:0}.window-tab{min-width:0;padding-inline:clamp(.25rem,1.1vw,1rem);overflow:hidden;font-size:clamp(.75rem,1vw,.875rem);text-overflow:clip;white-space:nowrap}.map-view,.room-panel{inset:var(--window-tabs-height)0 0}.room-panel{overflow:hidden;overscroll-behavior:none;scrollbar-width:none}.room-info,.record-player,.apple-music-embed,.record-track-list,.github-game,.github-card-content{min-width:0;max-width:100%}@media(min-width:641px) and (max-width:980px){.home-shell{width:min(calc(100% - 1.5rem),760px)}}body{background-color:var(--bg);background-image:none}body::before{display:none}.window-back{position:relative;top:auto;float:none;display:flex;width:fit-content;margin:0 0 1rem}@media(max-width:640px){.interactive-window.mobile-room-open .window-back{position:relative;top:auto;float:none;display:flex;width:fit-content;min-height:44px;margin:0 0 1rem;padding:9px 20px;font-size:14px}}@media(max-width:640px){body.mobile-room-active{min-height:100dvh;background:#171716;transition:none}.interactive-window.mobile-room-open{background:var(--frame);transition:none}.interactive-window.mobile-room-open .window-tabs{border-bottom:1px solid rgb(255 255 255/9%);background:var(--page-bg)}.interactive-window.mobile-room-open .room-panel{background:var(--page-bg);background-image:none;transition:none}.interactive-window.mobile-room-open .room-info:not([hidden]){min-height:0;padding:clamp(1rem,5vw,1.4rem);border:1px solid rgb(255 255 255/8%);border-radius:10px;background:#111619;box-shadow:0 14px 38px rgb(4 10 16/24%)}.interactive-window.mobile-room-open .room-kicker{color:color-mix(in srgb,var(--room-accent) 78%,white)}.interactive-window.mobile-room-open .room-info p:not(.room-kicker){color:#b8c0c6}}.highlight-purple{--marker-color:#a68bd6;--marker-ink:#f4ebff}.highlight-blue{--marker-color:#6db3e5;--marker-ink:#e7f7ff}.highlight-orange{--marker-color:#ef9568;--marker-ink:#fff0e7}.highlight-pink{--marker-color:#df81aa;--marker-ink:#fff0f7}.highlight-green{--marker-color:#70bf87;--marker-ink:#edfff1}.inline-switch{position:relative;padding:.025em .14em .07em;border:0;border-radius:.06em;color:var(--marker-ink);background:linear-gradient(177deg,transparent 0 12%,color-mix(in srgb,var(--marker-color) 60%,transparent) 12% 80%,color-mix(in srgb,var(--marker-color) 47%,transparent) 80% 94%,transparent 94%);box-shadow:none;text-shadow:0 1px rgb(17 17 16/48%);-webkit-text-stroke:0;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:color .18s ease,background .18s ease,filter .18s ease,transform .18s ease}.inline-switch:hover,.inline-switch[aria-pressed=true]{color:#fff;background:linear-gradient(177deg,transparent 0 9%,color-mix(in srgb,var(--marker-color) 76%,transparent) 9% 84%,color-mix(in srgb,var(--marker-color) 60%,transparent) 84% 95%,transparent 95%);box-shadow:none;filter:brightness(1.12);transform:translateY(-1px)}.profile-links .inline-switch,.profile-links .inline-switch:hover{color:var(--marker-ink)}:root[data-color-mode=light] .inline-switch{color:color-mix(in srgb,var(--marker-color) 82%,#111110);background:linear-gradient(177deg,transparent 0 12%,color-mix(in srgb,var(--marker-color) 38%,transparent) 12% 84%,color-mix(in srgb,var(--marker-color) 28%,transparent) 84% 94%,transparent 94%);text-shadow:none}:root[data-color-mode=light] .inline-switch:hover,:root[data-color-mode=light] .inline-switch[aria-pressed=true]{color:color-mix(in srgb,var(--marker-color) 92%,#111110);background-color:color-mix(in srgb,var(--marker-color) 52%,transparent)}.inline-switch{z-index:0;isolation:isolate;color:var(--marker-ink);background:0 0;text-shadow:none;transform:none;filter:none}.inline-switch::before{position:absolute;z-index:-1;inset:.13em -.035em .08em;content:'';border-radius:2px 1px 3px 2px;background:var(--marker-color);opacity:.58;transform:rotate(-.35deg)skewX(-1deg);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.inline-switch:hover,.inline-switch[aria-pressed=true]{color:var(--marker-ink);background:0 0;box-shadow:none;transform:none;filter:none}.inline-switch:hover::before,.inline-switch[aria-pressed=true]::before{opacity:.66}:root[data-color-mode=light] .inline-switch,:root[data-color-mode=light] .inline-switch:hover,:root[data-color-mode=light] .inline-switch[aria-pressed=true]{color:color-mix(in srgb,var(--marker-color) 82%,#111110);background:0 0;text-shadow:none}:root[data-color-mode=light] .inline-switch::before{opacity:.38}:root[data-color-mode=light] .inline-switch:hover::before,:root[data-color-mode=light] .inline-switch[aria-pressed=true]::before{opacity:.46}.inline-switch{position:relative;z-index:0;isolation:isolate;display:inline;padding:.015em .12em .055em;border:0;border-radius:0;background:0 0;color:var(--marker-ink);box-shadow:none;text-shadow:none;-webkit-text-stroke:0;transform:none;transition:color .2s ease}.inline-switch::before{inset:.07em -.04em .035em;border-radius:16% 5% 12% 8%/44% 28% 40% 26%;background:linear-gradient(174deg,color-mix(in srgb,var(--marker-color) 44%,transparent),color-mix(in srgb,var(--marker-color) 59%,transparent) 24% 76%,color-mix(in srgb,var(--marker-color) 45%,transparent));opacity:.68;transform:rotate(-.6deg)skewX(-1.2deg)scaleX(.99);transform-origin:center;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.inline-switch:hover,.inline-switch:focus-visible,.inline-switch[aria-pressed=true]{color:#fff;background:0 0;box-shadow:none;outline-offset:.18em}.inline-switch:hover::before,.inline-switch:focus-visible::before,.inline-switch[aria-pressed=true]::before{opacity:.84;transform:rotate(-1deg)skewX(-1.5deg)scaleX(1.035)translateY(-.035em)}:root[data-color-mode=light] .inline-switch,:root[data-color-mode=light] .inline-switch:hover,:root[data-color-mode=light] .inline-switch:focus-visible,:root[data-color-mode=light] .inline-switch[aria-pressed=true]{color:color-mix(in srgb,var(--marker-color) 88%,#111110)}:root[data-color-mode=light] .inline-switch::before{opacity:.48}:root[data-color-mode=light] .inline-switch:hover::before,:root[data-color-mode=light] .inline-switch:focus-visible::before,:root[data-color-mode=light] .inline-switch[aria-pressed=true]::before{opacity:.66}@media(prefers-reduced-motion:reduce){.inline-switch,.inline-switch::before{transition:none}}.home-tools{gap:.55rem;padding-top:1rem}#search-toggle.tool-button{min-height:34px;gap:.42rem;padding:4px 9px;border:1px solid rgb(255 255 255/7%);border-radius:999px;background:#141617;color:#92999d;box-shadow:0 1px 2px rgb(0 0 0/16%);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}#search-toggle.tool-button svg{width:14px;height:14px;stroke-width:1.8}#search-toggle.tool-button kbd{padding:2px 4px;border:1px solid #2b2e30;border-radius:4px;background:#1d2021;color:#92999d;font:9px/1 var(--body-font);box-shadow:none}#search-toggle.tool-button:hover,#search-toggle.tool-button:focus-visible{border-color:#3b4042;background:#191c1d;color:#e1e6e8;box-shadow:0 0 0 3px rgb(221 232 237/5%);transform:translateY(-1px)}#search-toggle.tool-button:hover kbd,#search-toggle.tool-button:focus-visible kbd{border-color:#454a4c;background:#25292a;color:#c4cbce}#search-toggle.tool-button:active{transform:translateY(0)scale(.98)}.room-info[data-room-info=github]{position:relative}.room-info[data-room-info=github]:not([hidden]){min-height:0}.github-scene{position:relative;display:flex;flex-direction:column;justify-content:center;width:min(calc(100% + 8px),520px);max-height:670px;min-height:320px;margin-inline:auto;color:#dce6dc;box-sizing:border-box}.github-world{position:relative;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;min-height:0;width:100%;margin-inline:auto}.github-tree-stage{position:relative;z-index:3;flex:0 0 var(--tree-height,256px);width:100%;height:var(--tree-height,256px)}.github-tree-wrap{position:absolute;bottom:0;left:50%;width:var(--tree-width,224px);height:var(--tree-height,256px);transform:translateX(-50%)}.github-tree-art{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated}.github-leaves{position:absolute;inset:0;pointer-events:none}.github-leaf{position:absolute;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);width:calc(var(--tree-scale,8) * 3px);height:calc(var(--tree-scale,8) * 2px);transform:translate(-50%,-50%);image-rendering:pixelated}.github-leaf i{display:block;min-width:0;min-height:0;background:var(--leaf-color)}.github-leaf .pixel-empty{background:0 0}.github-leaf.is-mirrored{transform:translate(-50%,-50%)scaleX(-1)}.github-leaf .leaf-highlight{background:#cbeaa8}.github-leaf.level-1{--leaf-color:#6fa85a}.github-leaf.level-2{--leaf-color:#8bbf72}.github-leaf.level-3{--leaf-color:#a9d18e}.github-season{position:absolute;z-index:3;left:50%;bottom:-1.2rem;margin:0;color:#adc1a6;font:13px/1.2 var(--pixel-font);text-align:center;transform:translateX(-50%);white-space:nowrap}.github-season:empty{display:none}.github-ground{position:relative;z-index:1;flex:none;width:var(--ground-width,90%);box-sizing:border-box;margin:0 auto;padding:10px 0;border-top:1px solid #29483f;background:#2f5148}.github-ground::before{position:absolute;z-index:0;top:calc(-1 * var(--tree-scale,8) * 1px);left:50%;width:calc(var(--tree-scale,8) * 8px);height:calc(var(--tree-scale,8) * 1px);background:#2f5148;content:"";transform:translateX(-50%)}.contribution-grid{display:grid;grid-template-columns:repeat(var(--contribution-columns,30),var(--cell-size,14px));grid-template-rows:repeat(var(--contribution-rows,5),var(--cell-size,14px));grid-auto-flow:column;gap:0;width:var(--grid-width,420px);margin-inline:auto;padding:0;background:0 0}.contribution-cell{position:relative;display:block;width:var(--cell-size,14px);height:var(--cell-size,14px);min-width:0;min-height:0;box-sizing:border-box;background:0 0}.contribution-cell.is-empty::before{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#87a991;opacity:.72;content:"";transform:translate(-50%,-50%)}.contribution-cell.is-today{outline:1px solid #cbeaa8;outline-offset:0}.contribution-cell.has-leaf{z-index:1}.contribution-leaf{position:absolute;top:50%;left:50%;display:grid;grid-template-columns:repeat(10,1px);grid-template-rows:repeat(6,1px);width:10px;height:6px;transform:translate(calc(-50% + var(--leaf-dx,0px)),calc(-50% + var(--leaf-dy,0px)));image-rendering:pixelated}.contribution-leaf.is-mirrored{transform:translate(calc(-50% + var(--leaf-dx,0px)),calc(-50% + var(--leaf-dy,0px)))scaleX(-1)}.contribution-leaf i{display:block;width:1px;height:1px;background:var(--leaf-color)}.contribution-leaf .pixel-empty{background:0 0}.contribution-leaf .leaf-highlight,.contribution-leaf .leaf-vein{background:#cbeaa8}.contribution-cell.level-1 .contribution-leaf{--leaf-color:#6fa85a}.contribution-cell.level-2 .contribution-leaf{--leaf-color:#8bbf72}.contribution-cell.level-3 .contribution-leaf{--leaf-color:#a9d18e}.contribution-cell .contribution-leaf.is-ghost{z-index:1;--leaf-color:#3b5b50;opacity:.35}.contribution-leaf.is-ghost .leaf-highlight,.contribution-leaf.is-ghost .leaf-vein{background:#3b5b50}.ground-grit{position:absolute;z-index:0;display:block;width:2px;height:1px;pointer-events:none}.ground-grit.is-square{height:2px}.ground-grit.is-light{background:#3b5b50}.ground-grit.is-dark{background:#29483f}.ground-grit.at-top{top:0}.ground-grit.at-bottom{bottom:0}.ground-grit.at-left{left:0}.ground-grit.at-right{right:0}.github-ground-labels{position:relative;display:flex;flex:none;justify-content:flex-end;width:var(--grid-width,420px);height:18px;box-sizing:border-box;margin:0 auto;padding:2px 0 0;color:#aebfae;font:11px/1.4 var(--body-font)}.github-months{display:grid;grid-template-columns:repeat(var(--contribution-columns,30),var(--cell-size,14px));grid-template-rows:1fr;width:var(--grid-width,420px);height:16px;margin-right:auto;color:#aebfae;font:11px/1.2 var(--body-font)}.github-months span{grid-row:1;align-self:start;justify-self:start;white-space:nowrap;transform:translateX(-50%)}.github-months span.is-first{transform:none}.github-today{position:absolute;top:2px;right:0;color:#aebfae;white-space:nowrap}.github-scene-meta{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:.15rem .42rem;min-height:30px;margin-top:28px;padding:.35rem .15rem 0;color:#c0d0c0;font:12px/1.5 var(--body-font);text-align:center}.github-scene-meta b{color:#e0ecdb;font-weight:700}.github-scene-meta a{color:#a5d697;text-decoration:none}.github-scene-meta a:hover{color:#d0ebbd}.github-scene-meta small{color:#b5cf9b;font-size:12px}.github-tree-wrap{--hover-shake-x:0px;appearance:none;box-sizing:border-box;padding:0;border:0;background:0 0;cursor:pointer;transform:translateX(calc(-50% + var(--shake-x,0px) + var(--hover-shake-x,0px)))}@media(hover:hover) and (pointer:fine){.github-scene[data-animation-state=idle] .github-tree-wrap:hover:not(:active),.github-scene[data-animation-state=settled] .github-tree-wrap:hover:not(:active){animation:github-tree-hover 420ms steps(4,end)infinite}}.github-tree-wrap:focus-visible{outline:2px dashed #cbeaa8;outline-offset:4px}@keyframes github-tree-hover{0%,100%{--hover-shake-x:0px}25%{--hover-shake-x:-1px}50%{--hover-shake-x:1px}75%{--hover-shake-x:0px}}.github-tree-art,.github-leaves{pointer-events:none}.github-leaf.is-gone{visibility:hidden}.github-flight-layer{position:absolute;z-index:8;inset:0;overflow:visible;pointer-events:none}.github-flight-leaf{--leaf-color:#6fa85a;position:absolute;display:grid;grid-template-columns:repeat(10,1px);grid-template-rows:repeat(6,1px);width:10px;height:6px;image-rendering:pixelated;transform-origin:center}.github-flight-leaf.level-1{--leaf-color:#6fa85a}.github-flight-leaf.level-2{--leaf-color:#8bbf72}.github-flight-leaf.level-3{--leaf-color:#a9d18e}.github-flight-leaf i{display:block;width:1px;height:1px;background:var(--leaf-color)}.github-flight-leaf .pixel-empty{background:0 0}.github-flight-leaf .leaf-vein{background:#cbeaa8}.github-flight-leaf.is-tree-size i{width:var(--flight-pixel-size);height:var(--flight-pixel-size)}.contribution-cell:focus-visible{z-index:2;outline:1px dashed #cbeaa8;outline-offset:1px}.contribution-cell.is-pending::before{display:none}.contribution-cell.is-flashing .contribution-leaf i:not(.pixel-empty){background:#d9f6b9}.github-tooltip{position:absolute;z-index:10;max-width:calc(100% - 8px);box-sizing:border-box;padding:4px 6px;border:1px solid #6d876f;background:#203a34;color:#e4f1dc;font:11px/1.3 var(--pixel-font);white-space:nowrap;pointer-events:none}.github-tooltip[hidden]{display:none}.github-scene[data-animation-state=settled] .github-tree-wrap{cursor:pointer}body.motion-paused .room-info[data-room-info=github].room-arrive{animation:none!important;opacity:1}body.motion-paused .github-tree-wrap:hover{animation:none}@media(prefers-reduced-motion:reduce){.github-tree-wrap:hover{animation:none}}@media(max-width:640px){.interactive-window.mobile-room-open .room-info[data-room-info=github]:not([hidden]){min-height:0;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none}.interactive-window.mobile-room-open .room-info[data-room-info=github] .github-scene{width:100%;max-height:670px;min-height:0}.interactive-window.mobile-room-open .room-info[data-room-info=github] .github-ground-labels{font-size:11px}}html{font-synthesis:none}body{font-family:var(--font-serif);font-size:18px;line-height:1.75;color:var(--body-ink);font-kerning:normal;text-rendering:optimizeLegibility}button,input,textarea,select{font-synthesis:none}em,i{font-style:normal;font-weight:600}.eyebrow,.room-kicker,.home-location{color:var(--body-ink);font:600 12px/1.4 var(--font-pixel);letter-spacing:.12em;text-transform:uppercase}.intro-copy{max-width:64ch;font:600 32px/1.45 var(--font-serif);color:var(--body-ink)}.intro-copy p{margin:0 0 1.2em}.inline-switch{padding:0 6px;border:0;border-radius:var(--radius-chip);font:inherit;font-weight:700;letter-spacing:normal;-webkit-text-stroke:0;box-shadow:none}.highlight-purple{color:#f4ebff}.highlight-blue{color:#e7f7ff}.highlight-orange{color:#fff0e7}.highlight-pink{color:#fff0f7}.highlight-green{color:#effff1}.site-nav,.brand,.tool-button,#search-toggle.tool-button,.window-tab,.game-controls,.game-controls button,kbd,.home-footer,.text-link,.room-action,.window-back,.search-group h3,.search-option-copy strong,.search-option kbd,.search-option time,.search-footer,.town-building__label,.room-hotspot>span,.game-toast,.hotspot-clock,.github-season,.github-ground-labels,.github-months,.github-today,.github-scene-meta,.github-tooltip,.post-row-date,.tag-list span,.post-meta,.article-end,.track-list-head,.track-index,.record-track,.music-track{font-family:var(--font-pixel)!important;font-weight:600}.site-nav,.brand,.tool-button,#search-toggle.tool-button,.window-tab,.game-controls button,.text-link,.room-action,.window-back,.button-primary,.button-secondary,.button-link,.github-ground-labels,.github-months,.github-today,.github-scene-meta{font-size:14px!important;line-height:1.35}.game-controls{font-size:14px!important;line-height:1.35}kbd,.room-hotspot>span,.town-building__label,.eyebrow,.room-kicker,.home-location,.github-tooltip{font-size:12px!important;line-height:1.4}.home-footer,.post-meta,.post-row-date,.tag-list span,.article-end,.search-group h3,.search-footer,.track-list-head,.track-index,.record-track{font-size:12px!important;line-height:1.45}.search-option-copy strong{font-size:14px!important;line-height:1.35}.search-option-copy small,.search-option time{font:16px/1.4 var(--font-serif)!important;color:var(--body-ink)}.skip-link,.home-links a,.search-close,.search-head input{font:600 14px/1.35 var(--font-pixel)!important}.search-glyph,.search-external,.record-control,.record-skip,.record-progress,.track-play,.github-tree-button,.github-stat strong,.github-links a,.row-arrow,.back-link{font:600 14px/1.35 var(--font-pixel)!important}.vinyl-label,.turntable-brand,.track-index,.record-track,.room-links time,.github-stat span{font:600 12px/1.35 var(--font-pixel)!important}.track-list-head a{font:600 14px/1.35 var(--font-pixel)!important}.track-copy strong,.track-copy small,.post-row-body p,.github-card-content p{font:16px/1.5 var(--font-serif)!important}.post-row-body h2,.post-row-body h3,.github-card-content h2{font:700 24px/1.4 var(--font-pixel)!important}.record-console h2{font:700 24px/1.4 var(--font-pixel)!important}.record-console .record-status,.record-subtitle,.track-list-note,.record-connection,.search-empty{font:16px/1.5 var(--font-serif)!important}.record-track-link,.track-filter{font:600 14px/1.35 var(--font-pixel)!important}.vinyl-label>span{font-size:12px!important}.github-season{font-size:14px!important;line-height:1.35;color:#d9e5d3}.github-tooltip{font-size:12px!important;color:#f1f5e9}.github-ground-labels,.github-months,.github-today{color:#e2eadf}.github-scene-meta{color:#e2eadf}.github-scene-meta a{color:#d2efc8}.room-info p:not(.room-kicker),.map-caption p:last-child,.page-intro>p:not(.eyebrow),.article-content,.article-deck,.record-subtitle,.track-row,.music-empty{font:16px/1.75 var(--font-serif);color:var(--body-ink)}.map-caption h2,.room-info h2,.page-intro h1,.article-header h1,.article-content h2,.article-content h3,.record-title,.music-page h1{font:700 24px/1.4 var(--font-pixel)}.article{max-width:64ch}.article-content{max-width:64ch;margin-inline:auto}.article-content p{margin:0 0 1.2em}.article-content pre,.article-content code{font:14px/1.6 var(--font-pixel)}.intro-copy .copy-muted{font:16px/1.7 var(--font-serif);color:var(--body-ink)}#search-toggle.tool-button{min-height:44px;border:var(--border)var(--edge);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-hard)}#search-toggle.tool-button kbd,kbd,.search-option kbd,.search-footer kbd{min-width:22px;padding:2px 4px;border:var(--border)var(--line);border-radius:var(--radius);background:var(--panel);color:var(--body-ink);font:600 12px/1.2 var(--font-pixel)!important;box-shadow:2px 2px 0 var(--edge)}.window-tab::before{display:none!important}.window-tab,.window-tab:hover,.window-tab:focus-visible{border-radius:var(--radius);border:2px solid transparent;background:0 0;color:var(--tab-ink,var(--text-color));box-shadow:none}.game-controls button,.room-action,.text-link,.window-back,.search-close,.tool-button{border-radius:var(--radius);border-width:2px}.inline-switch{border-radius:var(--radius-chip)}.interactive-window{border-radius:var(--radius)}.search-dialog{border-radius:var(--radius);box-shadow:var(--shadow-hard)}button:not(.inline-switch),input,textarea,select,.text-link,.room-action,.search-dialog,.search-close,.search-option,.room-info:not([hidden]),.tool-button,.window-tab,kbd{border-radius:var(--radius)!important}.record-deck{border-radius:var(--radius)}.record-title,#record-title{font:700 24px/1.4 var(--font-pixel)}.site-nav a,.brand,.home-location,.game-controls,#motion-toggle,.search-option,.search-close{font-family:var(--font-pixel)}.home-links a,.record-control,.game-controls button{box-shadow:var(--shadow-hard)}.skip-link,.home-links a,.game-controls button,.record-control,.record-skip{border-width:2px}.search-dialog{border-width:2px}.inline-switch::before{border-radius:var(--radius-chip)}.inline-switch.highlight-purple::before{clip-path:polygon(1% 21%,8% 16%,15% 19%,24% 13%,34% 17%,45% 12%,56% 17%,67% 13%,78% 17%,89% 12%,99% 16%,96% 79%,90% 83%,80% 79%,70% 88%,59% 82%,48% 87%,37% 82%,26% 89%,16% 83%,4% 88%)}.inline-switch.highlight-blue::before{clip-path:polygon(0 25%,7% 18%,18% 20%,28% 14%,39% 18%,50% 12%,62% 17%,73% 13%,84% 17%,94% 11%,100% 18%,97% 83%,87% 80%,78% 88%,67% 82%,56% 89%,44% 83%,33% 88%,22% 81%,12% 87%,3% 80%)}.inline-switch.highlight-orange::before{clip-path:polygon(2% 17%,12% 13%,23% 18%,34% 12%,45% 16%,57% 11%,69% 17%,80% 13%,91% 18%,98% 12%,96% 76%,88% 82%,79% 78%,68% 87%,57% 81%,46% 89%,35% 82%,25% 87%,15% 81%,4% 86%)}.inline-switch.highlight-pink::before{clip-path:polygon(1% 23%,10% 17%,20% 21%,29% 14%,40% 18%,51% 13%,62% 18%,73% 12%,84% 16%,94% 12%,99% 20%,97% 84%,88% 80%,78% 87%,67% 82%,57% 89%,46% 83%,36% 88%,25% 82%,14% 87%,3% 80%)}.inline-switch.highlight-green::before{clip-path:polygon(3% 19%,13% 14%,24% 18%,34% 11%,45% 17%,56% 13%,67% 19%,77% 14%,88% 18%,97% 12%,100% 23%,95% 82%,85% 78%,75% 87%,64% 81%,53% 88%,42% 82%,31% 89%,20% 83%,10% 88%,0 80%)}#search-toggle.tool-button{min-height:34px;gap:.42rem;padding:4px 9px;border:1px solid transparent;border-width:1px!important;border-radius:999px!important;background:0 0;color:#858d90;box-shadow:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}#search-toggle.tool-button svg{width:14px;height:14px;stroke-width:1.8}#search-toggle.tool-button kbd{min-width:0;padding:2px 4px;border:1px solid #2b2e30;border-width:1px!important;border-radius:4px!important;background:#1d2021;color:#92999d;font:9px/1 var(--body-font)!important;box-shadow:none}#search-toggle.tool-button:hover{border-color:rgb(255 255 255/9%);background:rgb(255 255 255/3%);color:#d2d8da;box-shadow:none;transform:translateY(-1px)}#search-toggle.tool-button:focus-visible{border-color:#4b5356;background:#191c1d;color:#e1e6e8;box-shadow:none;outline:2px solid #d5dcde;outline-offset:3px;transform:none}#search-toggle.tool-button:hover kbd,#search-toggle.tool-button:focus-visible kbd{border-color:#454a4c;background:#25292a;color:#c4cbce}#search-toggle.tool-button:active{transform:translateY(0)scale(.98)}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--button-border,var(--edge));border-radius:0!important;color:var(--button-fg,var(--text-color));font-family:var(--font-pixel);font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:3px 3px 0 var(--button-shadow,var(--edge));transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.button-primary{height:40px;padding:0 14px;--button-bg:var(--button-primary-bg);--button-fg:var(--button-primary-fg);--button-border:var(--button-primary-border);--button-shadow:var(--button-primary-shadow);background:var(--button-primary-bg)}.button-secondary{height:32px;padding:0 10px;--button-bg:var(--button-secondary-bg);--button-fg:var(--button-secondary-fg);--button-border:var(--button-secondary-border);--button-shadow:var(--button-secondary-shadow);background:var(--button-secondary-bg)}.button-primary:hover:not(:disabled):not([aria-disabled=true]),.button-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover-bg);box-shadow:2px 2px 0 var(--button-shadow);transform:translate(1px,1px)}.button-primary:hover{--button-hover-bg:var(--button-primary-hover-bg)}.button-secondary:hover{--button-hover-bg:var(--button-secondary-hover-bg)}.button-primary:active:not(:disabled):not([aria-disabled=true]),.button-secondary:active:not(:disabled):not([aria-disabled=true]){box-shadow:none;transform:translate(3px,3px)}.button-primary:focus-visible,.button-secondary:focus-visible{outline:2px solid var(--button-focus);outline-offset:2px}.button-primary:disabled,.button-primary[aria-disabled=true]{background:var(--button-primary-disabled-bg);border-color:var(--button-primary-disabled-border);color:var(--button-primary-disabled-fg);box-shadow:none;cursor:not-allowed;transform:none}.button-secondary:disabled,.button-secondary[aria-disabled=true]{background:var(--button-secondary-disabled-bg);border-color:var(--button-secondary-disabled-border);color:var(--button-secondary-disabled-fg);box-shadow:none;cursor:not-allowed;transform:none}.button-link{border:0;border-radius:0!important;padding:0;background:0 0;color:var(--button-link-fg);font:600 14px/1.35 var(--font-pixel)!important;text-decoration:none;box-shadow:none}.button-link:hover{color:var(--button-link-fg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.button-link:focus-visible{outline:2px solid var(--button-focus);outline-offset:2px}.button-link:active{transform:translate(3px,3px)}.button-link:disabled,.button-link[aria-disabled=true]{color:var(--button-link-disabled-fg);cursor:not-allowed;pointer-events:none}.map-back.button-secondary{display:flex;width:fit-content;margin:0 0 20px auto}.article-header .map-back.button-secondary{margin-bottom:1rem}.room-panel>.window-back.button-secondary{position:absolute;z-index:10;top:14px;right:16px;float:none;margin:0}.room-links .button-link{color:var(--button-link-fg)}#github-scene-meta .button-link{color:var(--button-link-fg)}#github-scene-meta .button-link:hover{color:var(--button-link-fg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.article-content a:not(.inline-switch){color:var(--button-link-fg)}.article-content a:not(.inline-switch):hover{color:var(--button-link-fg);text-decoration-thickness:2px;text-underline-offset:3px}.button-lab{width:min(calc(100% - 3rem),1280px);margin:2rem auto 4rem}.button-lab h1{margin:0 0 .75rem;font:700 24px/1.4 var(--font-pixel)}.button-lab p{max-width:72ch;font:16px/1.7 var(--font-serif)}.button-lab-table-wrap{overflow-x:auto;border:2px solid var(--edge);background:var(--panel)}.button-lab table{width:100%;min-width:1580px;border-collapse:collapse;table-layout:fixed}.button-lab th,.button-lab td{padding:8px 6px;border:1px solid var(--line);text-align:center;vertical-align:middle}.button-lab thead th{background:color-mix(in srgb,var(--blue) 18%,var(--panel));color:var(--text-color);font:600 12px/1.3 var(--font-pixel)}.button-lab tbody th{width:112px;color:var(--text-color);font:600 12px/1.35 var(--font-pixel)}.button-lab tbody th code{display:block;margin-top:4px;color:var(--muted);font:11px/1.3 var(--font-pixel)}.button-lab-cell{display:grid;justify-items:center;gap:8px;min-height:86px}.button-lab-sample{--button-primary-bg:var(--sample-primary-bg);--button-primary-fg:var(--sample-primary-fg);--button-primary-border:var(--sample-primary-border);--button-primary-shadow:var(--sample-primary-shadow);--button-primary-hover-bg:var(--sample-primary-hover-bg);--button-primary-disabled-bg:var(--sample-primary-disabled-bg);--button-primary-disabled-fg:var(--sample-primary-disabled-fg);--button-primary-disabled-border:var(--sample-primary-disabled-border);--button-secondary-bg:var(--sample-secondary-bg);--button-secondary-fg:var(--sample-secondary-fg);--button-secondary-border:var(--sample-secondary-border);--button-secondary-shadow:var(--sample-secondary-shadow);--button-secondary-hover-bg:var(--sample-secondary-hover-bg);--button-secondary-disabled-bg:var(--sample-secondary-disabled-bg);--button-secondary-disabled-fg:var(--sample-secondary-disabled-fg);--button-secondary-disabled-border:var(--sample-secondary-disabled-border);--button-link-fg:var(--sample-link-fg);--button-link-disabled-fg:var(--sample-link-disabled-fg);--button-focus:var(--sample-focus);min-width:90px}.button-lab-sample.state-hover{background:var(--button-hover-bg);box-shadow:2px 2px 0 var(--button-shadow);transform:translate(1px,1px)}.button-lab-sample.state-active{box-shadow:none;transform:translate(3px,3px)}.button-lab-sample.state-focus{outline:2px solid var(--button-focus);outline-offset:2px}.button-lab-sample.state-disabled{pointer-events:none}.button-lab-sample.button-link.state-hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.button-lab-sample.button-link.state-disabled{color:var(--button-link-disabled-fg)}.button-lab-sample.button-primary.state-hover{--button-hover-bg:var(--button-primary-hover-bg)}.button-lab-sample.button-secondary.state-hover{--button-hover-bg:var(--button-secondary-hover-bg)}.button-lab-sample.button-primary.state-disabled{background:var(--button-primary-disabled-bg);border-color:var(--button-primary-disabled-border);color:var(--button-primary-disabled-fg);box-shadow:none}.button-lab-sample.button-secondary.state-disabled{background:var(--button-secondary-disabled-bg);border-color:var(--button-secondary-disabled-border);color:var(--button-secondary-disabled-fg);box-shadow:none}.button-lab-ratio{color:var(--muted);font:10px/1.35 var(--font-pixel);white-space:nowrap}.button-lab-palette{width:100%;margin-top:2rem;border-collapse:collapse;font:12px/1.5 var(--font-pixel)}.button-lab-palette th,.button-lab-palette td{padding:8px;border:1px solid var(--line);text-align:left}.button-lab-palette code{color:var(--text-color)}@media(max-width:640px){.button-lab{width:calc(100% - 1.5rem)}.map-back.button-secondary{margin-bottom:16px}}@media(max-width:640px){.interactive-window.mobile-room-open .room-panel>.window-back.button-secondary{width:auto;min-height:32px;margin:0;padding:0 10px;text-align:center}}@media(max-width:640px){.intro-copy{font-size:32px}.room-info h2,.map-caption h2,.page-intro h1,.article-header h1{font-size:24px}}:root[data-color-mode=light] .github-ground-labels,:root[data-color-mode=light] .github-months,:root[data-color-mode=light] .github-today,:root[data-color-mode=light] .github-scene-meta{color:#324434}:root[data-color-mode=light] .github-scene-meta a{color:#285d2d}:root[data-color-mode=light] .github-season{color:#324434}:root[data-color-mode=light] .inline-switch{color:#172a40;text-shadow:none}body::before,body::after{display:none!important}.site-header,.site-main,.site-footer{position:relative;z-index:1}.interactive-window .article-header,.interactive-window .article-content,.interactive-window .article-end{background-color:var(--page-bg)}.interactive-window{border:2px solid var(--ink);background:var(--frame);box-shadow:4px 4px 0 var(--ink)}.window-tabs{display:flex;grid-template-columns:none;height:44px;gap:0;align-items:flex-start;overflow:visible;padding:0;border-bottom:2px solid var(--ink);background:var(--frame)}.window-tab,.window-tab:hover,.window-tab:focus-visible,.window-tab[aria-selected=true]{position:relative;display:flex;flex:1;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;min-height:44px;height:44px;padding:0 8px;border:0;border-radius:0;background:var(--frame);color:var(--tab-accent);box-shadow:none;font:600 14px/1.2 var(--font-pixel)!important;text-decoration:none;white-space:nowrap;transition:background-color .15s ease-out,color .15s ease-out,transform .15s ease-out}.window-tab:hover:not([aria-selected=true]){background:var(--tab-hover-bg);transform:translateY(-2px)}.window-tab[aria-selected=true]{z-index:2;height:50px;min-height:50px;margin-bottom:-6px;background:var(--page-bg);color:var(--ink-light)}.window-tab::before{display:none!important}.window-tab[aria-selected=true]::before{position:absolute;z-index:1;display:block!important;inset:0;border:2px solid var(--ink);border-bottom:0;background:0 0;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% 100%,0 100%);content:'';pointer-events:none}.window-tab:focus-visible{outline:2px solid var(--ink-light)!important;outline-offset:2px}.window-tab-icon{display:grid;flex:0 0 16px;width:16px;height:16px;grid-template:repeat(8,2px)/repeat(8,2px);color:currentColor;image-rendering:pixelated}.window-tab-icon span{width:2px;height:2px}.window-tab-icon .is-lit{background:currentColor}.window-tab[aria-selected=true] .window-tab-icon{color:var(--tab-fill)}.window-tab-label{display:inline}.map-view,.room-panel{top:44px}.room-panel{background:var(--page-bg);background-image:none!important}.room-panel>.window-back.button-secondary{position:relative;z-index:10;top:auto;right:auto;float:none;display:flex;width:fit-content;margin:0 0 12px auto}.room-panel .room-info:not([hidden]){position:relative;z-index:1}.map-back.button-secondary{position:absolute;top:12px;right:0;display:flex;width:fit-content;margin:0}.article-header .map-back.button-secondary,.page-intro .map-back.button-secondary{top:12px;right:0;margin:0}.button-primary,.button-secondary{border-width:2px;border-style:solid;border-radius:0!important;font:600 14px/1.2 var(--font-pixel)!important;letter-spacing:normal;transition:background-color .14s steps(2,end),color .14s ease,border-color .14s ease,box-shadow .14s steps(2,end),transform .14s steps(2,end)}.button-primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-fg);box-shadow:3px 3px 0 var(--button-primary-shadow)}.button-secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-fg);box-shadow:3px 3px 0 var(--button-secondary-shadow)}.button-primary{min-height:40px;height:40px;padding:0 12px}.button-secondary{min-height:32px;height:32px;padding:0 10px}.button-primary:hover:not(:disabled):not([aria-disabled=true]),.button-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover-bg);box-shadow:2px 2px 0 var(--button-shadow);transform:translate(1px,1px)}.button-primary:hover{--button-hover-bg:var(--button-primary-hover-bg);--button-shadow:var(--button-primary-shadow)}.button-secondary:hover{--button-hover-bg:var(--button-secondary-hover-bg);--button-shadow:var(--button-secondary-shadow)}.button-primary:active:not(:disabled):not([aria-disabled=true]),.button-secondary:active:not(:disabled):not([aria-disabled=true]){box-shadow:none;transform:translate(3px,3px)}.button-primary:focus-visible,.button-secondary:focus-visible,.button-link:focus-visible{outline:2px solid var(--button-focus);outline-offset:2px}.button-primary:disabled,.button-primary[aria-disabled=true]{background:var(--button-primary-disabled-bg);border-color:var(--button-primary-disabled-border);color:var(--button-primary-disabled-fg);box-shadow:none;cursor:not-allowed;transform:none}.button-secondary:disabled,.button-secondary[aria-disabled=true]{background:var(--button-secondary-disabled-bg);border-color:var(--button-secondary-disabled-border);color:var(--button-secondary-disabled-fg);box-shadow:none;cursor:not-allowed;transform:none}.button-link{border:0;border-radius:0!important;background:0 0;color:var(--button-link-fg);font:600 14px/1.35 var(--font-pixel)!important;text-decoration:none;box-shadow:none}.button-link:hover{color:var(--button-link-fg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.button-link:active{transform:translate(3px,3px)}.button-link[aria-disabled=true],.button-link:disabled{color:var(--button-link-disabled-fg);cursor:not-allowed;pointer-events:none}.button-lab{width:min(calc(100% - 3rem),1280px);margin-top:4rem}.button-lab-table-wrap,.button-lab-palette-wrap{max-width:100%;overflow-x:auto;border:2px solid var(--line)}.button-lab table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.button-lab th,.button-lab td{padding:5px 2px;overflow-wrap:anywhere}.button-lab thead th{font-size:12px}.button-lab tbody th{width:72px}.button-lab tbody th code{font-size:12px}.button-lab-cell{min-height:0;gap:5px}.button-lab-sample{box-sizing:border-box;width:min(100%,52px);min-width:0!important;min-height:28px;padding:3px!important;font-size:12px!important;line-height:1!important}.button-lab-sample.button-link{min-height:22px}.button-lab-ratio{color:var(--body-ink);font:600 12px/1.25 var(--font-pixel);white-space:normal}.button-lab-palette{min-width:0;margin:0;table-layout:fixed}.button-lab-palette th,.button-lab-palette td{padding:5px 3px;overflow-wrap:anywhere}.button-lab-palette code{font:600 12px/1.3 var(--font-pixel);overflow-wrap:anywhere}@media(max-width:640px){.interactive-window.mobile-room-open{border:2px solid var(--ink);background:var(--frame);box-shadow:4px 4px 0 var(--ink)}.interactive-window.mobile-room-open .window-tabs{flex:0 0 44px;height:44px;justify-content:flex-start;gap:0;padding:0;overflow:visible}.interactive-window.mobile-room-open .window-tab,.interactive-window.mobile-room-open .window-tab[aria-selected=true]{display:flex;flex:1;width:0;min-width:0;min-height:44px;height:44px;padding:0 4px;color:var(--tab-accent);font-size:14px!important}.interactive-window.mobile-room-open .window-tab[aria-selected=true]{height:50px;min-height:50px;color:var(--ink-light)}.interactive-window.mobile-room-open .map-view,.interactive-window.mobile-room-open .room-panel{inset:calc(env(safe-area-inset-top) + 44px)0 env(safe-area-inset-bottom)}}@media(max-width:480px){.interactive-window.mobile-room-open .window-tabs{flex:0 0 44px;height:44px;justify-content:flex-start;overflow:visible}.interactive-window.mobile-room-open .window-tab{text-decoration:none;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;height:44px;padding:0;color:var(--tab-accent);font-size:0!important}.interactive-window.mobile-room-open .window-tab[aria-selected=true]{flex:1 0 104px;width:auto;min-width:92px;height:50px;min-height:50px;padding:0 8px;color:var(--ink-light);font-size:14px!important}.interactive-window.mobile-room-open .window-tab[aria-selected=true] .window-tab-label{display:inline}.interactive-window.mobile-room-open .window-tab::before{background:0 0;box-shadow:none}.interactive-window.mobile-room-open .map-view,.interactive-window.mobile-room-open .room-panel{inset:calc(env(safe-area-inset-top) + 44px)0 env(safe-area-inset-bottom)}.interactive-window.mobile-room-open .room-panel{padding:1rem}.interactive-window.mobile-room-open .room-panel>.window-back.button-secondary{width:fit-content;min-height:32px;margin:0 0 12px auto;padding:0 10px;text-align:center}.interactive-window:not(.mobile-room-open) .window-tabs{display:flex;justify-content:flex-start;gap:0;overflow:hidden}.interactive-window:not(.mobile-room-open) .window-tab{text-decoration:none;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;height:44px;gap:0;padding:0;font-size:0!important}.interactive-window:not(.mobile-room-open) .window-tab[aria-selected=true]{flex:1 0 104px;width:auto;min-width:92px;height:50px;min-height:50px;gap:8px;padding:0 8px;font-size:14px!important}}.interactive-window{--window-tabs-height:44px}.window-nav{position:absolute;z-index:12;inset:0 0 auto;display:flex;align-items:center;height:44px;border-bottom:2px solid var(--ink);background:var(--frame)}.interactive-window:not(.room-page-open) .window-nav{display:none}.home-map-button{text-decoration:none;position:relative;display:grid;flex:0 0 44px;width:44px;min-width:44px;height:42px;place-items:center;padding:0;border:0;border-radius:0;background:0 0;color:var(--tab-accent,#91bdd8);box-shadow:none;cursor:pointer}.home-map-button[aria-current=page]::after{position:absolute;bottom:3px;left:50%;width:6px;height:2px;background:currentColor;content:'';transform:translateX(-50%)}.home-map-button:focus-visible,.window-tab:focus-visible{outline:2px solid var(--ink-light)!important;outline-offset:2px}.window-nav-divider{display:block;flex:0 0 2px;width:2px;height:24px;margin:0 4px;background:color-mix(in oklch,var(--frame) 90%,white)}.window-tabs{position:relative;inset:auto;display:flex;flex:auto;align-items:center;justify-content:stretch;gap:0;width:auto;height:42px;padding:0;overflow:visible;border:0;background:0 0}.window-tab,.window-tab:hover,.window-tab:focus-visible,.window-tab[aria-selected=true]{position:relative;z-index:1;display:flex;flex:1;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;height:44px;margin:0;padding:0 6px;overflow:visible;border:0;border-radius:0;background:0 0;color:var(--tab-accent);box-shadow:none;font:600 14px/1.2 var(--font-pixel)!important;text-align:center;text-decoration:none;white-space:nowrap;transition:background-color .15s ease-out,color .15s ease-out,transform .15s ease-out}.window-tab:hover:not([aria-selected=true]){background:color-mix(in oklch,var(--frame) 94%,white);color:var(--ink-light)}.window-tab[aria-selected=true]{z-index:3;background:var(--tab-fill);color:var(--ink);box-shadow:inset 0 2px 0 var(--fill-hi),inset 0 -2px 0 var(--fill-lo),2px 2px 0 var(--ink);transform:translateY(-2px)}.window-tab[aria-selected=true]::before{position:absolute;z-index:-1;inset:0;border:2px solid var(--ink);background:0 0;clip-path:polygon(0 4px,2px 4px,2px 2px,4px 2px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px));content:'';pointer-events:none}.window-tab.is-near{color:var(--ink-light)}.window-tab.is-near::after{position:absolute;z-index:4;bottom:-2px;left:50%;width:6px;height:4px;background:var(--ink-light);clip-path:polygon(50% 0,100% 100%,0 100%);content:'';transform:translateX(-50%)}.window-tab.is-near .window-tab-icon{animation:tab-icon-near 650ms steps(2,end)infinite alternate}@keyframes tab-icon-near{to{translate:0 -1px}}.window-tab-icon{display:grid;flex:0 0 16px;width:16px;height:16px;grid-template:repeat(8,2px)/repeat(8,2px);color:currentColor;image-rendering:pixelated}.window-tab-icon span{width:2px;height:2px}.window-tab-icon .is-lit{background:currentColor}.window-tab[aria-selected=true] .window-tab-icon{color:var(--ink)}.window-tab-icon[data-pixel-icon=writing],.window-tab-icon[data-pixel-icon=moods],.window-tab-icon[data-pixel-icon=github]{flex-basis:20px;width:20px;height:20px;grid-template:repeat(10,2px)/repeat(10,2px)}.window-tab-label{display:inline}.map-view,.room-panel{top:44px}.interactive-window:not(.room-page-open) .map-view{top:0}.map-controls-tip{position:absolute;z-index:6;top:14px;left:14px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 28px);padding:7px 8px 7px 10px;border:2px solid var(--fill);background:var(--frame);color:var(--ink-light);box-shadow:3px 3px 0 var(--ink);font:600 14px/1.2 var(--font-pixel);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity 220ms ease-out,transform 240ms cubic-bezier(.22,1,.36,1),visibility 0s linear 240ms}.map-controls-tip::after{position:absolute;bottom:-6px;left:18px;width:8px;height:6px;background:var(--fill);clip-path:polygon(0 0,100% 0,50% 100%);content:''}.map-controls-tip.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.map-controls-tip button{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;padding:0;border:2px solid var(--fill);background:0 0;color:var(--ink-light);cursor:pointer;font:600 16px/1 var(--font-pixel)}.map-controls-tip button:focus-visible{outline:2px solid var(--ink-light);outline-offset:2px}@media(max-width:640px),(hover:none),(pointer:coarse){.map-controls-tip{display:none}}body.motion-paused .window-tab.is-near .window-tab-icon{animation:none}@media(prefers-reduced-motion:reduce){.window-tab.is-near .window-tab-icon{animation:none}}@media(max-width:479px){.window-nav{overflow:visible}.window-nav-divider{margin-inline:2px}.window-tabs{overflow:visible}.window-tab,.window-tab:hover,.window-tab[aria-selected=true]{flex:0 0 44px;width:44px;min-width:44px;gap:0;padding:0;font-size:0!important}.window-tab[aria-selected=true]{flex:1 1 92px;width:auto;min-width:92px;gap:7px;font-size:14px!important}.window-tab[aria-selected=true] .window-tab-label{display:inline}.window-tab:not([aria-selected=true]) .window-tab-label{display:none}}@media(max-width:640px){.interactive-window.mobile-room-open .window-nav{top:env(safe-area-inset-top)}.window-nav-divider{margin-inline:2px}.interactive-window.mobile-room-open .window-tabs,.interactive-window:not(.mobile-room-open) .window-tabs{flex:auto;min-width:0;height:44px;overflow:visible}.interactive-window.mobile-room-open .window-tab,.interactive-window.mobile-room-open .window-tab:hover,.interactive-window.mobile-room-open .window-tab:focus-visible,.interactive-window.mobile-room-open .window-tab[aria-selected=true],.interactive-window:not(.mobile-room-open) .window-tab,.interactive-window:not(.mobile-room-open) .window-tab:hover,.interactive-window:not(.mobile-room-open) .window-tab:focus-visible,.interactive-window:not(.mobile-room-open) .window-tab[aria-selected=true]{flex:1 1 44px;width:auto;min-width:44px;min-height:44px;height:44px;gap:0;padding:0 2px;font-size:0!important;transform:none}.interactive-window.mobile-room-open .window-tab[aria-selected=true],.interactive-window:not(.mobile-room-open) .window-tab[aria-selected=true]{flex-grow:1.5;gap:6px;background:var(--tab-fill);color:var(--ink);box-shadow:inset 0 2px 0 var(--fill-hi),inset 0 -2px 0 var(--fill-lo),2px 2px 0 var(--ink);font-size:14px!important;transform:translateY(-2px)}.window-tab-label{display:none}.interactive-window.mobile-room-open .window-tab[aria-selected=true] .window-tab-label,.interactive-window:not(.mobile-room-open) .window-tab[aria-selected=true] .window-tab-label{display:inline}.interactive-window.mobile-room-open .window-tab[aria-selected=true] .window-tab-icon,.interactive-window:not(.mobile-room-open) .window-tab[aria-selected=true] .window-tab-icon{color:var(--ink)}.interactive-window.mobile-room-open .window-tab::before{background:0 0;box-shadow:none}.interactive-window.mobile-room-open .window-tab[aria-selected=true]::before{display:block!important;background:0 0}}.icon-preview-page{width:min(calc(100% - 48px),1080px);margin:20px auto;color:var(--body-ink)}.icon-preview-page>h1{color:var(--ink-light);font:700 24px/1.3 var(--font-pixel)}.icon-preview-page>p{max-width:70ch;color:var(--body-ink);font:16px/1.6 var(--font-serif)}.icon-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.icon-preview-card{min-width:0;padding:10px;border:2px solid var(--ink);background:var(--page-bg);box-shadow:3px 3px 0 var(--ink)}.icon-preview-card h2{margin:0 0 7px;color:var(--ink-light);font:600 14px/1.4 var(--font-pixel)}.icon-preview-pair{display:grid;gap:6px}.icon-preview-swatch-row{display:grid;gap:3px}.icon-preview-mode,.icon-preview-size-label{color:var(--body-ink);font:600 12px/1.3 var(--font-pixel)}.icon-preview-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.icon-preview-sample{display:grid;justify-items:center;gap:2px}.icon-preview-size-label{font-size:12px}.icon-preview-swatch{display:grid;width:100%;min-height:64px;place-items:center;overflow:hidden;image-rendering:pixelated}.icon-preview-frame{background:var(--icon-frame)}.icon-preview-fill{background:var(--icon-fill)}.icon-preview-sprite{display:grid;width:calc(var(--icon-pixel) * 10);height:calc(var(--icon-pixel) * 10);grid-template:repeat(10,var(--icon-pixel))/repeat(10,var(--icon-pixel));color:var(--icon-ink);image-rendering:pixelated}.icon-preview-row{display:contents}.icon-preview-row i{display:block;width:var(--icon-pixel);height:var(--icon-pixel);background:0 0}.icon-preview-row i.pixel-on{background:currentColor}@media(max-width:560px){.icon-preview-page{width:calc(100% - 24px);margin:24px auto}.icon-preview-grid{grid-template-columns:1fr}.icon-preview-card{padding:12px}}@media(min-width:561px) and (max-width:900px){.icon-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.interactive-window:not(.mobile-room-open){aspect-ratio:4/6}body.mobile-room-active{overflow:hidden;min-height:100dvh;background:#171716;transition:none}.interactive-window.mobile-room-open{padding-top:0;background:var(--frame);background-image:none;transition:none}.interactive-window.mobile-room-open .window-nav{top:env(safe-area-inset-top)}.interactive-window.mobile-room-open .window-tabs{border-bottom-color:var(--ink);background:var(--frame)}.interactive-window.mobile-room-open .map-view,.interactive-window.mobile-room-open .room-panel{inset:calc(env(safe-area-inset-top) + 44px)0 env(safe-area-inset-bottom)}.interactive-window.mobile-room-open .room-panel{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;background:var(--page-bg);padding-bottom:max(1rem,env(safe-area-inset-bottom))}.interactive-window.mobile-room-open .room-info:not([hidden]){min-height:0;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none}.interactive-window.mobile-room-open .room-panel>.window-back.button-secondary{position:sticky;top:0;width:fit-content;min-height:32px;margin:0 0 12px auto;padding:0 10px;background:var(--button-secondary-bg);text-align:center}}@media(max-width:640px){.interactive-window:not(.room-page-open){aspect-ratio:4/5}}.interactive-window.is-opening-room .map-view{inset:0!important}.github-ground-labels{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;height:36px;padding:0}.github-months{flex:0 0 16px;margin:0}.github-today{position:static;align-self:flex-end;line-height:1.35}.home-copy{container-type:inline-size;container-name:intro}.home-copy .intro-copy{--intro-bright:var(--intro-dark-bright);--intro-dim:var(--intro-dark-dim);--intro-font-scale:4.1812cqi;width:auto;inline-size:min(100%,23.9167em);max-width:none;color:var(--intro-dim);font:24px/1.6 var(--font-serif);font-size:clamp(18px,var(--intro-font-scale),26px);font-kerning:normal;text-rendering:optimizeLegibility;overflow-wrap:normal;word-break:normal;hyphens:manual}.home-copy .intro-copy>p{text-wrap:pretty}.home-copy .intro-entry-group{white-space:nowrap}.home-copy .home-location{text-wrap:balance}.home-copy .intro-block{margin:0;color:var(--intro-dim)}.home-copy .intro-block--identity{margin-bottom:1.2em}.home-copy .intro-block--life{margin-bottom:2em}.home-copy .intro-bright{color:var(--intro-bright);font-weight:600}.home-copy .intro-copy .inline-switch--tight-end{padding-inline-end:0}.home-copy .intro-copy .inline-switch--tight-end::before{right:0}.home-copy .intro-copy .inline-switch{display:inline;white-space:nowrap;margin-inline:0;padding-inline:.1em;color:var(--marker-ink);font:inherit;font-weight:700;line-height:inherit;letter-spacing:normal;vertical-align:baseline;-webkit-text-stroke:0}.home-copy .intro-copy .highlight-purple{--marker-color:#a68bd6;--marker-ink:var(--intro-bright)}.home-copy .intro-copy .highlight-blue{--marker-color:#6db3e5;--marker-ink:var(--intro-bright)}.home-copy .intro-copy .highlight-orange{--marker-color:#ef9568;--marker-ink:var(--intro-bright)}.home-copy .intro-copy .highlight-pink{--marker-color:#df81aa;--marker-ink:var(--intro-bright)}.home-copy .intro-copy .highlight-green{--marker-color:#70bf87;--marker-ink:var(--intro-bright)}.home-copy .intro-entry-icon{display:inline-grid;width:1.1em;height:1.1em;margin-inline-end:.25em;vertical-align:middle;grid-template:repeat(8,1fr)/repeat(8,1fr);flex:none}.home-copy .intro-entry-icon[data-pixel-icon=writing],.home-copy .intro-entry-icon[data-pixel-icon=moods],.home-copy .intro-entry-icon[data-pixel-icon=github],.home-copy .intro-entry-icon[data-pixel-icon=telegram],.home-copy .intro-entry-icon[data-pixel-icon=email]{grid-template:repeat(10,1fr)/repeat(10,1fr)}.home-copy .intro-entry-icon span{width:auto;height:auto}.home-copy .intro-external{color:var(--intro-bright);text-decoration-line:underline;text-decoration-color:var(--intro-dim);text-decoration-thickness:2px;text-underline-offset:.16em;white-space:nowrap}.home-copy .intro-external:hover,.home-copy .intro-external:focus-visible{text-decoration-color:var(--intro-bright)}.home-copy .intro-external:focus-visible{outline:2px solid var(--intro-bright);outline-offset:2px}.home-copy .home-location{margin-top:1.6em}:root[data-color-mode=light] .home-copy .intro-copy{--intro-bright:var(--intro-light-bright);--intro-dim:var(--intro-light-dim)}.tint-debug-overlay{position:fixed;z-index:2147483647;top:50%;left:50%;width:min(620px,calc(100vw - 24px));max-height:68vh;overflow:auto;transform:translate(-50%,-50%);padding:12px;border:2px solid #f4f1ea;background:rgb(14 18 22/.96);color:#f4f1ea;box-shadow:4px 4px #050708;pointer-events:none;font:12px/1.4 var(--font-pixel);text-align:left}.tint-debug-overlay h2{margin:0 0 8px;color:#fff;font:700 14px/1.2 var(--font-pixel)}.tint-debug-overlay .tint-debug-meta{margin-bottom:8px;color:#d9d6cf;overflow-wrap:anywhere}.tint-debug-overlay .tint-debug-row{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:7px;margin:3px 0;overflow-wrap:anywhere}.tint-debug-overlay .tint-debug-swatch{width:12px;height:12px;border:1px solid #f4f1ea;image-rendering:pixelated}.tint-debug-overlay .tint-debug-section{margin-top:8px;color:#ffdc8a}@media(max-width:640px){.interactive-window.mobile-room-open .window-tabs{background:var(--frame);transition:none}}@media(max-width:640px){body.mobile-room-active{min-height:100svh;overflow:visible;background:#171716!important}.home-shell{min-height:0}.interactive-stage{padding-block:max(1rem,calc(env(safe-area-inset-top) + 12px))max(1rem,calc(env(safe-area-inset-bottom) + 12px))}.interactive-window.mobile-room-open{position:relative;inset:auto;z-index:auto;display:flex;flex-direction:column;width:calc(100% - 24px);max-width:none;height:auto;min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);margin:0 auto;aspect-ratio:auto;overflow:visible;padding:0;border:2px solid var(--ink);background:var(--frame);box-shadow:4px 4px 0 var(--ink)}.interactive-window.mobile-room-open .window-nav{position:relative;inset:auto;flex:0 0 44px;width:100%;height:44px}.interactive-window.mobile-room-open .room-panel{position:relative;inset:auto;flex:1 0 auto;width:100%;min-height:0;max-height:none;overflow:visible;overscroll-behavior:auto;padding:1rem;background:var(--page-bg)}.interactive-window.mobile-room-open .room-panel>.window-back.button-secondary{position:relative;top:auto;right:auto;float:none;width:fit-content;min-height:32px;margin:0 0 12px auto;padding:0 10px}}@media(max-width:640px){.search-dialog::backdrop{background:#171716;backdrop-filter:none}}