:root{--ink:#0c0c0b;--paper:#e0d9c7;--muted:#a79e89;--orange:#bf7652;--mono:'Space Mono',monospace;--body:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #e9bc78;outline-offset:5px}header{height:78px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #292622}.brand{font-size:24px;font-weight:600;letter-spacing:-1.2px}.brand span{font-size:30px;color:#aa4b33;vertical-align:middle;margin-left:3px}.header-note{font:8px var(--mono);letter-spacing:.14em;color:#8d8270}.about-link{background:none;border:0;font-size:11px;padding:13px 0}.room-wrap{height:calc(100svh - 148px);min-height:560px;max-height:1100px;position:relative;overflow:hidden;background:#0b0b09;display:grid;place-items:center;isolation:isolate}.room-scene{width:min(100%,calc((100svh - 148px)*1.777));aspect-ratio:1672/941;position:relative;flex:none;animation:room-in 1.3s ease both}.room-art{display:block;width:100%;height:100%;object-fit:contain}.room-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080806bd,transparent 23%,transparent 85%,#08080644);pointer-events:none;z-index:2}.object{position:absolute;border:0;background:none;display:flex;align-items:center;justify-content:center;z-index:3;padding:0}.computer{left:46.8%;top:33.5%;width:11.1%;height:15.1%;border-radius:12px;transform:skewY(.7deg)}.screen-text{font:clamp(5px,.57vw,11px)/1.6 var(--mono);color:#789599;text-align:left;text-shadow:0 0 6px #54d0d644;width:80%}.screen-text b{display:block;font-weight:400;color:#c1d6c5;font-size:clamp(10px,1.1vw,20px);line-height:1.2;margin:9% 0}.screen-text .prompt{font-size:.65em;color:#71a48d}.screen-glow{position:absolute;left:46.8%;top:33.5%;width:11.1%;height:15%;box-shadow:0 0 70px 15px #37638914;border-radius:15px;pointer-events:none}.computer:hover .screen-text{color:#c7fff6;text-shadow:0 0 12px #7eeccb88}.films{left:44%;top:3%;width:18%;height:26%}.music{left:20%;top:39%;width:18%;height:17%}.games{left:42%;top:65%;width:10%;height:10%}.notebook{left:65%;top:53%;width:11%;height:7%}.guitar{left:87%;top:28%;width:10%;height:47%}.hot-dot{width:7px;height:7px;background:#f0d7a9;border:1px solid #fff7d9;border-radius:50%;box-shadow:0 0 0 5px #eedcac15,0 0 15px #f6d39244;opacity:.55;transition:opacity .2s,transform .3s}.object:hover .hot-dot,.object:focus-visible .hot-dot{opacity:1;transform:scale(1.25)}.object-label{position:absolute;top:55%;left:50%;transform:translate(-50%,12px);white-space:nowrap;padding:10px 13px;background:#121612e8;box-shadow:0 5px 20px #0005;border:1px solid #75654880;font-size:10px;opacity:0;pointer-events:none;transition:opacity .2s,translate .25s;backdrop-filter:blur(10px)}.computer .object-label{top:100%}.object:hover .object-label,.object:focus-visible .object-label,.labels-on .object-label{opacity:1;translate:0 -3px}.welcome{position:absolute;z-index:4;bottom:35px;left:4%;pointer-events:none;text-shadow:0 2px 15px #000}.welcome p{font-size:clamp(24px,2.3vw,40px);letter-spacing:-1px;margin:0 0 10px}.welcome>span{font-size:11px;line-height:1.8;color:#bcb19b}.show-labels{position:absolute;z-index:4;right:4%;bottom:37px;border:1px solid #8c795844;border-radius:30px;background:#0c0c0b66;backdrop-filter:blur(10px);font:8px var(--mono);letter-spacing:.08em;padding:13px 18px}.show-labels span{margin-left:15px}.room-index{height:70px;display:flex;align-items:center;justify-content:center;gap:38px;padding:0 4%;border-top:1px solid #292622}.room-index>span{font:7px var(--mono);color:#736d5e;letter-spacing:.1em;margin-right:20px}.room-index button,.room-index a{border:0;background:none;font-size:11px;padding:15px 0;color:#aea695}.room-index button:hover,.room-index a:hover{color:#eee6d4}.room-index a{margin-left:auto}.skip{position:absolute;top:-70px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:15px}.skip:focus{top:10px}dialog{width:min(900px,calc(100vw - 70px));max-height:88svh;border:1px solid #625340;border-radius:8px;background:#171815;color:var(--paper);padding:0;box-shadow:0 40px 160px #000c;overflow:hidden}dialog::backdrop{background:#040504bb;backdrop-filter:blur(9px)}dialog[open]{animation:window-in .4s cubic-bezier(.16,1,.3,1)}.window-bar{height:43px;display:flex;align-items:center;gap:20px;padding:0 15px;background:#252520;border-bottom:1px solid #414033;font:9px var(--mono);color:#aaa38e}.window-lights{display:flex;gap:6px}.window-lights i{height:7px;width:7px;border-radius:50%;background:#755847}.window-lights i:nth-child(2){background:#887a51}.window-lights i:nth-child(3){background:#5c6a50}.close{margin-left:auto;font-size:24px;line-height:1;background:none;border:0;min-width:38px;height:38px;color:#d3cbb6}.window-content{max-height:calc(88svh - 80px);overflow:auto;padding:44px 50px;scrollbar-color:#5b5a48 #171815;scrollbar-width:thin}.window-footer{height:32px;border-top:1px solid #37372b;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font:6px var(--mono);letter-spacing:.1em;color:#7b7a68}.eyebrow{font:8px var(--mono);letter-spacing:.11em;color:#9a9c83;margin:0 0 17px}.window-content h1{font-size:38px;line-height:1.1;font-weight:500;letter-spacing:-1.4px;margin:0 0 20px}.intro{font-size:14px;line-height:1.8;color:#b3b19c;max-width:590px;margin:0 0 34px}.files{display:grid;gap:0}.file{background:transparent;color:inherit;text-align:left;border:0;border-top:1px solid #383c2d;padding:22px 0;display:grid;grid-template-columns:44px 1fr 22px;gap:20px;align-items:center;width:100%}.file:last-child{border-bottom:1px solid #383c2d}.file:hover{background:#25281e}.file-icon{height:42px;width:42px;display:grid;place-items:center;font:17px var(--mono);border-radius:8px;border:1px solid #8b995055;background:#62713b44;color:#c7d798}.file:nth-child(2) .file-icon{background:#a75f3433;color:#e4a475}.file:nth-child(3) .file-icon{background:#7e699133;color:#c4b4d6}.file:nth-child(4) .file-icon{background:#3d6b8833;color:#8cb7d3}.file b{font-size:17px;font-weight:500;display:block;margin-bottom:5px}.file small{font-size:11px;color:#8f9780;line-height:1.5}.file>span:last-child{font-size:17px;color:#778467}.aside-note{font:italic 14px/1.6 Georgia,serif;color:#8e967c;margin:30px 0 0}.back{border:0;background:none;color:#9ca184;padding:0 0 24px;font:9px var(--mono)}.project-detail h2{font-size:22px;font-weight:500;line-height:1.35;letter-spacing:-.3px;margin:30px 0 14px}.project-detail p{font-size:14px;line-height:1.85;color:#b4b8a2}.project-detail figure{margin:28px 0}.project-detail img{width:100%;height:auto;display:block;border:1px solid #414737}.project-detail figcaption{font:7px/1.7 var(--mono);color:#8c947c;padding-top:8px}.project-link{display:inline-block;border-bottom:1px solid #707e5b;padding:10px 0;font:10px var(--mono);margin-top:14px}.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.film{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,#421a20,#10100e);padding:23px;border:1px solid #5f3c3466}.film:nth-child(2){background:repeating-linear-gradient(90deg,#291315 0 12px,#411c1f 16px,#291315 25px)}.film:nth-child(3){background:radial-gradient(ellipse at 60% 20%,#998362,#302727 32%,#0a1114)}.film:nth-child(4){background:radial-gradient(circle at 50% 28%,#a0562e 0 21%,#2e261d 22%,#101410 60%)}.film:nth-child(5){background:linear-gradient(135deg,#555345,#12130f 70%)}.film:nth-child(6){background:linear-gradient(170deg,#131823 45%,#8c3f24 46%,#11120e 70%)}.film small{font:6px var(--mono);color:#b6a896;margin-bottom:auto}.film h2{font:26px/1.06 Georgia,serif;margin:45px 0 12px;letter-spacing:-.5px}.film>span{font:7px var(--mono);color:#b4a184}.music-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.music-list a{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #3e4031}.music-list a>span{font:9px var(--mono);color:#7f8b6d}.music-list a b{font-size:17px;font-weight:400}.music-list a i{font-style:normal;margin-left:auto;color:#7b8b69}.music-list a:hover b{color:#d7ddba}.music-note{border:1px solid #444b36;background:#20251b;padding:22px 25px;margin-top:28px}.music-note span{font:8px var(--mono);color:#9bac83}.music-note p{font-size:13px;line-height:1.7;color:#b6bca4;margin-bottom:0}.game-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.game{padding:23px;border:1px solid #35473d;background:linear-gradient(145deg,#223630,#151a15);min-height:150px}.game:nth-child(2){background:linear-gradient(145deg,#29302f,#111815)}.game:nth-child(3){background:linear-gradient(145deg,#363322,#151a15)}.game h2{font-size:22px;font-weight:500;letter-spacing:-.5px}.game>span{font:7px var(--mono);color:#9bac83}.bio p{font-size:16px;line-height:1.85;color:#bbbdaa}.bio .lead{font-size:25px;color:#e0dec9;line-height:1.5;letter-spacing:-.5px}.bio .signature{font:italic 36px Georgia,serif;color:#b4be96;margin-top:32px}.bio .small{font-size:12px;color:#8e9880}.offline-words{font:52px/1.2 Georgia,serif;letter-spacing:-1.5px;color:#ced2ba;margin:30px 0}.offline-words em{color:#97a47c}@keyframes room-in{from{opacity:0;scale:1.012}to{opacity:1;scale:1}}@keyframes window-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:760px){header{height:67px;padding:0 6%;gap:10px}.brand{font-size:23px}.header-note{display:none}.about-link{font-size:10px}.room-wrap{height:calc(100svh - 185px);min-height:540px;max-height:850px}.room-scene{width:960px;position:absolute;left:50%;transform:translateX(-53%);margin-top:-30px}.screen-text{font-size:6px}.screen-text b{font-size:13px}.welcome{left:6%;bottom:27px}.welcome p{font-size:27px}.welcome>span{font-size:10px}.show-labels{right:6%;bottom:38px;font-size:0;width:38px;height:38px;padding:0}.show-labels span{font-size:15px;margin:0}.room-index{height:auto;min-height:118px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;padding:10px 6%}.room-index>span{display:none}.room-index a{margin-left:0}.room-index button,.room-index a{font-size:10px;padding:12px 0;text-align:left}.object-label{font-size:8px;padding:8px}.labels-on .object-label{z-index:9}.music{left:34%;width:9%}.guitar{left:69%;top:65%;width:5%;height:13%}.guitar .hot-dot{opacity:0}.guitar .object-label{display:none}.films{left:48%;top:9%;width:10%;height:17%}.notebook{left:63%;width:8%}dialog{width:calc(100vw - 24px);max-height:90svh}.window-content{padding:30px 24px;max-height:calc(90svh - 78px)}.window-content h1{font-size:29px}.intro{font-size:12px;margin-bottom:24px}.file{gap:14px;grid-template-columns:36px 1fr 15px}.file-icon{width:36px;height:36px}.file b{font-size:15px}.file small{font-size:10px}.shelf{grid-template-columns:1fr 1fr;gap:10px}.film{padding:16px;min-height:174px}.film h2{font-size:22px}.music-list{grid-template-columns:1fr}.music-list a{padding:17px 0}.music-list a b{font-size:16px}.game-list{grid-template-columns:1fr}.game{min-height:110px}.bio p{font-size:14px}.bio .lead{font-size:21px}.offline-words{font-size:36px}.project-detail p{font-size:13px}.window-footer{font-size:5px}.window-bar{font-size:8px;gap:13px}.window-lights{gap:4px}.window-lights i{height:6px;width:6px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:760px){.music{left:20%;width:18%}.guitar{left:87%;top:28%;width:10%;height:47%}}
.window-content h1:focus{outline:none}

/* Actual record artwork follows the perspective of the physical sleeves. */
.record-artwork{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.games{left:40%;top:63%;width:13%;height:12%}
.featured-albums{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 30px}.featured-albums a{display:block}.featured-albums img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border:1px solid #585344;margin-bottom:12px}.featured-albums b{font-size:14px;font-weight:500;display:block;line-height:1.5}.featured-albums small{display:block;font-size:11px;color:var(--muted);margin-top:4px}

.room-player{position:absolute;right:4%;bottom:91px;z-index:5;display:flex;align-items:center;gap:12px;max-width:270px;padding:12px 17px 12px 12px;border:1px solid #766b4e66;border-radius:8px;background:#151711df;backdrop-filter:blur(12px);box-shadow:0 8px 30px #0004}.room-player[hidden]{display:none}.transport{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid #7f866044;border-radius:50%;background:#3b493033;color:#d3dcbc;font-size:13px}.playing-track{padding:0;background:none;border:0;text-align:left}.playing-track b{display:block;font-size:11px;font-weight:500}.playing-track>span{display:block;font:7px var(--mono);color:#a5ac8e;margin-top:5px}.audio-status:empty{display:none}.audio-status{font-size:10px;color:#d2b19c;max-width:95px}.collection-transport{display:flex;align-items:center;gap:13px;background:#34402a44;border:1px solid #71845566;border-radius:5px;padding:12px 18px;font-size:12px;margin:0 0 24px}.stereo-playing .music .hot-dot{background:#b7d786;border-color:#d7edb4;box-shadow:0 0 0 5px #b7d78614,0 0 16px #b7d78677;opacity:1}@media(max-width:760px){.room-player{right:6%;bottom:137px;padding:10px;gap:9px;max-width:240px}.playing-track b{font-size:11px}}

.x-profile{display:inline-flex;align-items:center;gap:9px}.x-logo{display:block;width:13px;height:13px;flex:none}.room-index .x-profile{color:#c2bdad}.x-profile:hover{color:#fff}

/* The room is the centerpiece; navigation stays quiet around its edges. */
header{height:72px;padding:0 4%;border-bottom:0}.brand{font-size:25px}.header-note{font-size:8px;letter-spacing:.13em;color:#827a6a}.about-link{font-size:12px;color:#c2b9a6}.room-wrap{height:calc(100svh - 136px);min-height:460px;max-height:none}.room-scene{width:min(calc(100% - 48px),calc((100svh - 180px)*1.777));outline:1px solid #ccb68c12;outline-offset:0}.welcome{bottom:39px}.welcome p{font-size:clamp(27px,2.3vw,39px)}.welcome>span{font-size:12px;line-height:1.75}.room-index{height:64px;gap:48px;border-top:0}.room-index>span{font-size:8px;color:#716b5e;margin-right:16px}.room-index button{font-size:12px;color:#b8b09e;padding:17px 8px;transition:color .2s}.room-index button:focus-visible{outline-offset:0}.show-labels{bottom:41px;padding:11px 15px;font-family:var(--body);font-size:11px;letter-spacing:0;border-color:#aa956c44;color:#c3b79e}.show-labels .explore-text{font-size:11px;margin:0}.show-labels>span:last-child{font-size:13px;margin-left:18px}.room-player{bottom:97px}.playing-track b{font-size:12px}.playing-track>span{font-size:8px}.x-profile .x-logo{width:12px;height:12px}
@media(max-width:760px){header{height:66px;padding:0 6%}.brand{font-size:24px}.about-link{font-size:11px;padding:12px 0}.room-wrap{height:calc(100svh - 140px);min-height:510px}.room-scene{width:960px;outline:none;margin-top:-30px}.welcome{left:6%;bottom:31px}.welcome p{font-size:29px;margin-bottom:9px}.welcome>span{font-size:11px;line-height:1.8}.room-index{height:74px;min-height:74px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 4%;border-top:1px solid #c4af8510}.room-index>span{display:none}.room-index button{padding:19px 0;text-align:center;font-size:11px;min-height:48px}.show-labels{right:6%;bottom:40px;width:36px;height:36px;padding:0;display:grid;place-items:center}.show-labels .explore-text{display:none}.show-labels>span:last-child{font-size:15px;margin:0}.room-player{bottom:142px;right:6%;padding:9px 12px 9px 9px;gap:10px}.playing-track b{font-size:11px}.playing-track>span{font-size:7px}}
@media(max-width:360px){.welcome>span{font-size:10px}.welcome p{font-size:27px}.room-player{bottom:142px}}
@media(min-width:761px) and (max-height:650px){.room-wrap{min-height:380px}.room-scene{width:min(calc(100% - 48px),calc((max(380px,100svh - 136px) - 44px)*1.777))}.welcome p{font-size:26px}.welcome>span{font-size:11px}}

@media(min-width:761px){.welcome{left:max(4%,calc((100% - (100svh - 180px)*1.777)/2 + 24px))}.show-labels,.room-player{right:max(4%,calc((100% - (100svh - 180px)*1.777)/2 + 24px))}}

/* Two destinations: the computer and a short introduction. */
.room-wrap{height:calc(100svh - 72px)}.room-scene{width:min(calc(100% - 48px),calc((100svh - 116px)*1.777))}.welcome{left:max(4%,calc((100% - (100svh - 116px)*1.777)/2 + 24px));bottom:44px}.room-actions{position:absolute;right:max(4%,calc((100% - (100svh - 116px)*1.777)/2 + 24px));bottom:43px;z-index:5;display:flex;align-items:center;gap:14px}.computer-shortcut{font-size:12px;padding:13px 0;background:none;border:0;border-bottom:1px solid #aa956c55;color:#c3b79e}.computer-shortcut span{margin-left:24px}.computer-shortcut:hover{color:#eee5d1;border-color:#cbb990}.stereo-shortcut{display:none}.room-player{right:max(4%,calc((100% - (100svh - 116px)*1.777)/2 + 24px));bottom:108px}.playing-track{cursor:default}
@media(max-width:760px){.room-wrap{height:calc(100svh - 66px);min-height:520px}.room-scene{width:960px;margin-top:-55px}.welcome{left:6%;bottom:91px}.room-actions{left:6%;right:6%;bottom:26px;justify-content:space-between;gap:18px}.computer-shortcut{font-size:12px;padding:12px 0}.computer-shortcut span{margin-left:18px}.stereo-shortcut{display:grid;place-items:center;width:42px;height:42px;border:1px solid #8c795844;border-radius:50%;background:#15171199;color:#aca48d}.stereo-shortcut svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.stereo-shortcut[aria-pressed="true"]{color:#c3dca0;border-color:#8ca96b88}.room-player{right:6%;bottom:170px}.welcome>span{font-size:12px}}

/* Immersive room: artwork and its interactive layers scale together. */
header{position:absolute;inset:0 0 auto;z-index:8;background:linear-gradient(180deg,#080907a8,transparent);height:88px;align-items:center;padding:0 4%;pointer-events:none}header a,header button{pointer-events:auto;text-shadow:0 2px 15px #000}.brand{color:#e5decd}.about-link{color:#d0c7b4}.room-wrap{height:100svh;min-height:480px;max-height:none}.room-scene{position:absolute;left:50%;top:50%;width:max(100vw,calc(100svh * 1672 / 941));aspect-ratio:1672/941;transform:translate(-50%,-50%);margin:0;outline:none}.room-wrap:after{background:linear-gradient(180deg,#08080655 0,transparent 17%,transparent 72%,#080806bc 100%)}.welcome{left:4%;bottom:42px}.room-actions{left:auto;right:4%;bottom:42px}.room-player{right:4%;bottom:108px}
@media(max-width:760px){header{height:76px;padding:0 6%;background:linear-gradient(180deg,#080907c7,transparent)}.room-wrap{height:100svh;min-height:520px}.room-scene{width:max(100vw,calc(100svh * 1672 / 941));left:50%;top:50%;transform:translate(-53%,-50%);margin:0}.room-wrap:after{background:linear-gradient(180deg,#08080655,transparent 20%,transparent 62%,#080806d9 100%)}.welcome{left:6%;bottom:calc(91px + env(safe-area-inset-bottom))}.room-actions{left:6%;right:6%;bottom:calc(26px + env(safe-area-inset-bottom))}.room-player{right:6%;bottom:calc(170px + env(safe-area-inset-bottom))}}

/* A project can be present without advertising an available detail view. */
.file-unavailable{cursor:default;grid-template-columns:48px 1fr auto}
.file-unavailable:hover{background:transparent;transform:none}
.file-unavailable .file-icon{opacity:.6}
.file-unavailable .file-status{font:8px var(--mono);color:#8e9880;white-space:nowrap}
.project-gallery{margin:28px 0 36px}
.project-gallery figure{margin:0}
.project-gallery #project-photo{width:100%;height:auto;aspect-ratio:1225/769;object-fit:contain;background:#000;display:block}
.project-gallery figcaption{min-height:2.6em}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin:8px 0 12px}
.gallery-controls button{width:38px;height:34px;background:#22251e;border:1px solid #444b36;border-radius:3px}
.gallery-controls button:hover{border-color:#a79e89}
#photo-count{font:9px var(--mono);color:#a7ae98}
.gallery-thumbs{display:grid;grid-template-columns:repeat(var(--gallery-count,4),1fr);gap:8px}
.gallery-thumbs button{display:block;padding:3px;background:transparent;border:1px solid transparent;border-radius:3px;opacity:.6}
.gallery-thumbs button[aria-current="true"]{border-color:#b4be96;opacity:1}
.gallery-thumbs button:hover{opacity:1}
.gallery-thumbs img{width:100%;aspect-ratio:1225/769;object-fit:contain;display:block;background:#000}
.project-detail .capture-note,.project-detail .project-note{font-size:11px;line-height:1.7;color:#959c88}
.project-detail p a{text-decoration:underline;text-decoration-color:#697458;text-underline-offset:3px}
@media(max-width:760px){.file-unavailable{grid-template-columns:36px 1fr auto}.file-unavailable .file-status{font-size:7px}.gallery-thumbs{gap:4px}.project-gallery{margin:24px 0}.project-detail .project-note{font-size:11px}}
.file.file-unavailable>.file-status{font:9px var(--mono);color:#8e9880;white-space:nowrap}
@media(max-width:760px){.file.file-unavailable>.file-status{font-size:7px}}
.project-gallery .gallery-media>a{position:relative;display:block;cursor:zoom-in}
.project-gallery .gallery-media>a::after{content:'↗';position:absolute;right:10px;top:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #817c68;background:#171815e8;border-radius:3px;color:#e0d9c7;font-size:17px}

/* A small surprise in the espresso cup. */
.coffee{left:43.1%;top:54.5%;width:3.7%;height:5.3%;min-width:44px;min-height:44px;transform:translate(-50%,-50%);border-radius:45%;touch-action:manipulation;user-select:none}
#monitor-video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:9% / 8%;background:#030303;pointer-events:none;filter:brightness(.82) contrast(1.08)}
#monitor-video[hidden]{display:none}
.monitor-playing .screen-text,.monitor-playing .object-label{visibility:hidden}
.monitor-playing::after{content:'';position:absolute;inset:0;border-radius:9% / 8%;pointer-events:none;background:repeating-linear-gradient(0deg,#00000013 0 1px,transparent 1px 3px);box-shadow:inset 0 0 9px 2px #0009}

/* A handwritten reminder, stuck to the wooden backing. */
@font-face{font-family:'Caveat';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/caveat-note-157a69f3d71f.woff2') format('woff2')}
.sticky-note{left:55.55%;top:66.7%;width:3.5%;aspect-ratio:1;height:auto;transform:rotate(-5deg);cursor:zoom-in;container-type:inline-size;filter:brightness(.48) sepia(.13);transition:filter .2s}
.sticky-note::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.sticky-note:hover,.sticky-note:focus-visible{filter:brightness(.61) sepia(.13)}
.note-paper{position:relative;display:block;width:100%;aspect-ratio:1;background:linear-gradient(172deg,#d3bd61 0%,#dfcb76 16%,#e5d388 72%,#e9d892 94%,#c2aa58 100%);box-shadow:1px 2px 2px #0005,0 -1px 0 #eadfaa28;isolation:isolate}

.note-paper::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(178deg,#00000008,transparent 20%,transparent 88%,#fff1 96%,#0002);border-top:1px solid #63552433}
.note-writing{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin:0;padding:17% 10% 10%;color:#282b32;font-family:'Caveat',cursive;font-weight:500;line-height:.98;text-align:left;letter-spacing:0;transform:rotate(-2deg);text-shadow:0 .15px .15px #2029383a}
.sticky-note .note-writing{font-size:19cqw}
.note-writing>span{white-space:nowrap}
.note-writing>span:first-child{font-size:.82em;margin-bottom:.2em;transform:rotate(-2deg)}
.note-writing>span:last-child{align-self:center;font-size:1.35em;transform:rotate(4deg);margin-top:.03em;border-bottom:1px solid #30333b9c;line-height:.8;padding:0 .12em .1em}
.note-dialog{width:min(390px,calc(100vw - 76px));max-height:none;padding:26px 24px 30px;overflow:visible;background:none;border:0;border-radius:0;box-shadow:none;color:#2a2b2a}
.note-dialog[open]{animation:none}
.note-dialog::backdrop{background:#080806b0;backdrop-filter:blur(5px)}
.note-enlarged{position:relative;width:100%;transform:rotate(-3deg);transform-origin:center center}
.note-enlarged .note-paper{box-shadow:4px 12px 22px #0005,0 0 0 1px #efdba345;container-type:inline-size}
.note-enlarged .note-writing{font-size:19cqw}
.note-close{position:absolute;right:-18px;top:-24px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#25251ddd;color:#e0dac7;font:25px 'DM Sans',sans-serif;cursor:pointer}
.note-close:hover{background:#3d3c30}
@media(max-width:760px){.note-dialog{width:calc(100vw - 44px);padding:28px 22px}.note-close{right:-13px;top:-23px}}
@media(prefers-reduced-motion:reduce){.sticky-note{transition:none}}

/* Stable drawn icons and touch behavior across mobile browsers. */
.brand-mark{width:25px;height:25px;margin-left:3px;vertical-align:-4px;fill:none;stroke:#aa4b33;stroke-width:1.8}
.transport-icon{display:grid;place-items:center;width:16px;height:16px}
.transport-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.transport-pause{display:none}
.transport[aria-pressed="true"] .transport-play{display:none}
.transport[aria-pressed="true"] .transport-pause{display:block}
html[data-input-modality="pointer"] :is(button,a,[tabindex]):focus{outline:none}
.room-scene{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.room-art,.record-artwork{pointer-events:none;-webkit-user-drag:none}
@media(max-width:760px){
 .room-player{bottom:calc(91px + env(safe-area-inset-bottom))}
 .room-player .audio-status{position:absolute;right:0;bottom:calc(100% + 8px);width:100%;max-width:none;padding:8px 10px;border:1px solid #766b4e66;border-radius:6px;background:#151711f2}
}

/* Keep the six new project screenshots easy to select on small screens. */
.gallery-thumbs button{min-height:44px}
@media(max-width:480px){.gallery-thumbs[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Video shares the gallery frame and loads only after the visitor presses play. */
.project-video{display:block;width:100%;height:auto;aspect-ratio:1225/769;object-fit:contain;background:#000;border:1px solid #414737}
.gallery-thumbs button{position:relative}
.gallery-video-badge{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.gallery-video-badge svg{width:26px;height:26px;padding:6px;border:1px solid #b4be9680;border-radius:50%;background:#171815dd;fill:#e0d9c7}
@media(max-width:480px){.gallery-thumbs[data-count="7"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
