@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Serif+SC:wght@500;600;700&family=Outfit:wght@400;500;600;700&display=swap";.project a{border-bottom:1px solid var(--ink);margin-top:25px;padding:0;font-size:12px;display:inline-block}.project a b{color:var(--coral);font-size:17px}:root{--ink:#18242c;--cream:#f5f0e6;--coral:#fb6b55;--sky:#a9d8d8;--yellow:#f5c84b;--line:#18242c2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Outfit,Noto Sans SC,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}.site{background:var(--cream);min-height:100vh;transition:all .55s;overflow:hidden}.site.night{--cream:#16232d;--ink:#f7f0e4;--line:#f7f0e433;--sky:#477e91;--yellow:#eeb84a}.skip{z-index:20;background:#fff;padding:8px 12px;position:fixed;top:-100px;left:18px}.skip:focus{top:18px}.topbar{z-index:5;letter-spacing:.08em;justify-content:space-between;align-items:center;width:100%;padding:24px 5vw;font:11px DM Mono,monospace;display:flex;position:absolute;top:0;left:0}.topbar nav{gap:24px;display:flex}.topbar nav a:hover{color:var(--coral)}.mode{border:1px solid var(--ink);background:0 0;border-radius:20px;padding:7px 10px;font-size:10px}.room-wrap{background:linear-gradient(160deg,var(--cream) 0 54%,var(--sky) 54%);min-height:790px;padding:128px 5vw 40px;position:relative}.room-intro{z-index:2;max-width:520px;position:relative}.room-intro p,.eyebrow{letter-spacing:.13em;margin:0;font:10px DM Mono,monospace}.room-intro h1{letter-spacing:-.07em;margin:20px 0 16px;font:600 clamp(45px,6vw,89px)/.95 Noto Serif SC,serif}.room-intro h1 em{color:var(--coral);font-style:normal}.room-intro span,.room-hint{opacity:.7;font:11px DM Mono,monospace}.room-hint{z-index:2;position:absolute;bottom:32px;left:5vw}.room{background:#286273;border-radius:270px 270px 0 0;width:min(65vw,900px);height:630px;position:absolute;bottom:0;right:3vw;overflow:hidden;box-shadow:inset 0 0 0 1px #18242c38}.night .room{background:#102b3c}.moon{background:#fff4cc;border-radius:50%;width:72px;height:72px;position:absolute;top:9%;right:12%;box-shadow:0 0 55px #fff2b0}.window-shape{background:linear-gradient(135deg,#81c2d0,#2b7182);border:12px solid #183944;width:41%;height:43%;position:absolute;top:4%;right:7%}.window-shape:before,.window-shape:after{content:"";background:#183944;position:absolute}.window-shape:before{height:12px;top:45%;left:0;right:0}.window-shape:after{width:12px;top:0;bottom:0;left:49%}.window-shape i{background:#183944;width:10px;height:35px;position:absolute;bottom:-28px}.window-shape i:first-child{left:16px}.window-shape i:nth-child(2){right:16px}.floor{background:repeating-linear-gradient(102deg,#d49b65 0 14px,#c98d5e 15px 16px);width:110%;height:200px;position:absolute;bottom:-30px;transform:rotate(-5deg)}.desk{z-index:2;background:#b5684e;border-bottom:30px solid #773e32;width:66%;height:240px;position:absolute;bottom:115px;left:8%}.desk:after{content:"";background:#773e32;width:14px;height:130px;position:absolute;bottom:-130px;left:5%;box-shadow:340px 0 #773e32}.desk-edge{background:#e2956d;width:100%;height:14px;position:absolute;top:0}.screen{color:#153942;background:#f0c55c;border:9px solid #153942;border-radius:6px;width:190px;height:150px;padding:18px;position:absolute;top:-172px;left:35%;box-shadow:11px 12px #122e3847}.screen:after{content:"";border-bottom:8px solid #153942;border-left:8px solid #0000;border-right:8px solid #0000;width:34px;height:24px;position:absolute;bottom:-32px;left:72px}.screen p{margin:0;font:700 21px/.8 Outfit,sans-serif}.screen em{letter-spacing:.14em;font-size:8px;font-style:normal}.lamp{width:130px;height:140px;position:absolute;top:-128px;left:6%}.lamp i{transform-origin:bottom;background:#173a42;width:9px;height:115px;position:absolute;bottom:0;left:42px;transform:rotate(-22deg)}.lamp b{background:var(--coral);border-radius:50% 50% 8px 8px;width:80px;height:45px;position:absolute;top:0;left:0;transform:rotate(-15deg)}.paper{color:#b34d3d;background:#f5e8ba;width:76px;height:98px;padding:22px 10px;font:700 13px/1.2 DM Mono,monospace;position:absolute;top:-45px;right:10%;transform:rotate(9deg)}.cup{background:#f2ede4;border-radius:4px 4px 13px 13px;width:48px;height:58px;position:absolute;top:-60px;right:3%}.shelf{z-index:3;border:12px solid #e7c178;border-bottom:0;width:185px;height:240px;position:absolute;top:10%;left:5%}.shelf:after{content:"";background:#e7c178;height:12px;position:absolute;top:77px;left:-12px;right:-12px}.shelf b,.shelf i{background:var(--coral);width:21px;height:54px;position:absolute;bottom:13px}.shelf b{left:16px}.shelf i:first-of-type{background:#f3e7c6;left:42px}.shelf i:nth-of-type(2){background:#254e5a;left:67px}.shelf i:nth-of-type(3){background:#efb857;left:92px}.shelf i:nth-of-type(4){background:#e57869;left:117px}.shelf strong{background:#efb857;border-radius:50%;width:98px;height:31px;position:absolute;top:20px;left:25px}.plant{z-index:4;width:155px;height:220px;position:absolute;bottom:94px;right:7%}.plant b{background:#e57869;border-radius:5px 5px 26px 26px;width:65px;height:55px;position:absolute;bottom:0;left:50px}.plant i{transform-origin:0 100%;background:#78a967;border-radius:100% 0;width:60px;height:110px;position:absolute;bottom:44px;left:75px}.plant i:nth-child(2){background:#a2cc77;transform:rotate(46deg)scale(.8)}.plant i:nth-child(3){background:#5e9b6d;transform:rotate(-40deg)scale(.85)}.plant i:nth-child(4){background:#95bf6b;transform:rotate(110deg)scale(.7)}.hotspot{z-index:7;background:0 0;border:0;position:absolute}.hotspot span{border:1px solid var(--ink);background:var(--cream);opacity:0;border-radius:16px;padding:8px 10px;font:10px DM Mono,monospace;transition:all .2s;display:block;transform:translateY(5px)}:is(.hotspot:hover span,.hotspot:focus-visible span){opacity:1;transform:none}.hotspot:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.desk-hotspot{width:260px;height:130px;bottom:190px;left:25%}.shelf-hotspot{width:180px;height:250px;top:9%;left:4%}.window-hotspot{width:42%;height:43%;top:3%;right:6%}.plant-hotspot{width:150px;height:245px;bottom:70px;right:5%}.section{padding:135px 8vw}.story{grid-template-columns:1fr 2fr;gap:5vw;display:grid}.story h2,.notes h3,footer h2{letter-spacing:-.06em;margin:0;font:600 clamp(35px,5vw,68px)/1.13 Noto Serif SC,serif}.story h2 strong{color:var(--coral);font-weight:inherit}.story div>p{opacity:.7;max-width:440px;margin:30px 0 0;font-size:16px;line-height:1.9}.section-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;font:10px DM Mono,monospace;display:flex}.project-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding-top:25px;display:grid}.project-art{background:#dfe5c4;height:300px;position:relative;overflow:hidden}.project-2 .project-art{background:#f5b687}.project-3 .project-art{background:#b7d9df}.project-art span{font:10px DM Mono,monospace;position:absolute;top:16px;left:17px}.project-art i{background:var(--ink);border-radius:50%;display:block;position:absolute}.project-1 i:first-of-type{background:var(--coral);width:230px;height:230px;bottom:-58px;right:-38px}.project-1 i:nth-of-type(2){background:var(--yellow);width:105px;height:105px;top:70px;left:62px}.project-1 i:nth-of-type(3){background:var(--ink);width:25px;height:25px;top:47%;left:47%}.project-2 i:first-of-type{background:#244a61;border-radius:50% 50% 0 0;width:260px;height:170px;bottom:-44px;left:50%}.project-2 i:nth-of-type(2){background:#ffe6b4;width:80px;height:80px;top:78px;left:29%}.project-2 i:nth-of-type(3){background:var(--coral);width:35px;height:35px;top:36px;right:20%}.project-3 i:first-of-type{background:var(--yellow);width:160px;height:160px;top:65px;left:22%}.project-3 i:nth-of-type(2){background:var(--coral);width:90px;height:90px;bottom:30px;right:12%}.project-3 i:nth-of-type(3){background:#214e5b;width:55px;height:55px;bottom:30px;left:7%}.project>div:last-child{padding:18px 4px}.project p{opacity:.68;margin:0;font-size:12px;line-height:1.55}.project h3{letter-spacing:-.07em;margin:10px 0 9px;font:600 28px Noto Serif SC,serif}.project button{border:0;border-bottom:1px solid var(--ink);background:0 0;margin-top:25px;padding:0;font-size:12px}.project button b,.contact-links b,.dialog b{color:var(--coral);font-size:17px}.notes{background:var(--coral);color:#fff9ed}.notes .eyebrow{color:#682e2b}.note-grid{grid-template-columns:1fr 1fr;gap:10vw;margin-top:65px;display:grid}.note-grid blockquote{letter-spacing:-.06em;margin:0;font:600 clamp(27px,3.5vw,46px)/1.25 Noto Serif SC,serif}.note-grid div{border-top:1px solid #ffffff8c;padding-top:14px}.note-grid div>p{margin:0 0 24px;font:10px DM Mono,monospace}.notes h3{font-size:clamp(27px,3.5vw,45px)}.note-grid a{border-bottom:1px solid #fff;margin-top:40px;font-size:13px;display:inline-block}footer{justify-content:space-between;gap:50px;padding:110px 8vw 40px;display:flex}.contact-links{flex-direction:column;align-items:flex-start;gap:17px;min-width:320px;display:flex}.contact-links a{border-bottom:1px solid var(--line);font-size:18px}.contact-links small{opacity:.65;max-width:260px;margin-top:46px;font:10px/1.7 DM Mono,monospace}.sound{z-index:8;border:1px solid var(--ink);background:var(--cream);border-radius:20px;padding:10px 12px;font:10px DM Mono,monospace;position:fixed;bottom:20px;right:20px}.dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#101b238f;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--ink);background:var(--cream);width:min(620px,100%);box-shadow:12px 12px 0 var(--coral);padding:55px;position:relative}.close{background:0 0;border:0;font-size:31px;position:absolute;top:14px;right:16px}.dialog h2{letter-spacing:-.06em;max-width:490px;margin:22px 0;font:600 clamp(28px,4vw,47px)/1.15 Noto Serif SC,serif}.dialog>p:not(.eyebrow){opacity:.76;max-width:470px;font-size:16px;line-height:1.85}.dialog small{opacity:.65;margin-top:28px;font:11px DM Mono,monospace;display:block}.dialog a{border-bottom:1px solid var(--ink);margin-top:35px;font-size:13px;display:inline-block}@media (max-width:800px){.topbar nav{display:none}.room-wrap{background:linear-gradient(165deg,var(--cream) 0 45%,var(--sky) 45%);min-height:750px;padding-top:100px}.room{width:112vw;height:535px;right:-27vw}.room-intro h1{font-size:49px}.shelf{transform-origin:0 0;transform:scale(.7)}.screen{transform-origin:bottom;transform:scale(.75)}.desk{width:76%;bottom:91px;left:0}.plant{transform-origin:100% 100%;transform:scale(.7)}.window-shape{width:49%}.story,.note-grid,footer{grid-template-columns:1fr}.section{padding:85px 6vw}.story{gap:34px}.project-grid{grid-template-columns:1fr}.project{grid-template-columns:1fr 1fr;gap:18px;display:grid}.project-art{height:220px}.notes{padding-top:85px;padding-bottom:85px}footer{padding:85px 6vw 35px}.contact-links{min-width:0}.dialog{padding:43px 28px}.room-hint{bottom:18px}.desk-hotspot{width:230px;bottom:155px;left:12%}.shelf-hotspot{left:0}.window-hotspot{right:2%}.plant-hotspot{right:3%}}@media (max-width:500px){.room-wrap{min-height:680px}.room{height:470px}.room-intro h1{font-size:41px}.project{display:block}.project-art{height:240px}.screen{top:-140px;left:28%}.desk{height:210px;bottom:74px}.desk:after{height:110px;bottom:-110px;box-shadow:260px 0 #773e32}.lamp{transform-origin:0 100%;transform:scale(.7)}.paper,.cup{transform:scale(.75)}.plant{bottom:61px;right:-4%}.dialog h2{font-size:31px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.room{--pointer-x:0;--pointer-y:0;perspective:900px;isolation:isolate}.room-layer{will-change:transform;transition:transform .7s cubic-bezier(.2,.7,.2,1);animation:.8s both room-object-in}.room-layer.far{transform:translate3d(calc(var(--pointer-x) * -7px),calc(var(--pointer-y) * -5px),0)}.room-layer.middle{transform:translate3d(calc(var(--pointer-x) * -15px),calc(var(--pointer-y) * -10px),0)}.room-layer.front{transform:translate3d(calc(var(--pointer-x) * -24px),calc(var(--pointer-y) * -15px),0)}.moon{animation-delay:80ms}.window-shape{animation-delay:.16s}.shelf{animation-delay:.25s}.desk{animation-delay:.34s}.plant{animation-delay:.42s}.floor{animation-delay:.5s}.room-intro>*{animation:.7s both room-copy-in}.room-intro h1{animation-delay:.1s}.room-intro span{animation-delay:.2s}.room-hint{animation:.7s .5s both room-copy-in}.hotspot{transition:filter .2s}.hotspot:before{content:"";background:#fff8dc80;border:1px solid #fff8dcdb;border-radius:50%;width:14px;height:14px;animation:2.8s ease-out infinite hotspot-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #fff8dc1f,0 0 18px #ffeea3cc}.hotspot:hover:before{background:#fff8dc;animation:none;transform:translate(-50%,-50%)scale(1.35)}.hotspot:focus-visible:before{background:#fff8dc;animation:none;transform:translate(-50%,-50%)scale(1.35)}.hotspot:hover{filter:brightness(1.1)}.night .moon{background:#f5edcb;box-shadow:0 0 30px 8px #fff1b7b8,0 0 88px #a2cbe86b}.night .window-shape{background:linear-gradient(135deg,#1f5575,#123244);box-shadow:inset 0 0 55px #adddff2e}.night .screen{background:#e9d67e;box-shadow:0 0 24px #f9e38d8c,11px 12px #0000004d}.night .lamp b{box-shadow:0 10px 34px 10px #ffb75b6b}.night .desk{box-shadow:0 -8px 35px #ffba651f}.dialog-backdrop{animation:.2s ease-out backdrop-in}.dialog{max-height:calc(100vh - 44px);animation:.28s cubic-bezier(.2,.8,.2,1) dialog-in;overflow:auto}:is(.close:focus-visible,.mode:focus-visible){outline:2px solid var(--coral);outline-offset:3px}@keyframes room-object-in{0%{opacity:0;transform:translateY(26px)scale(.98)}to{opacity:1}}@keyframes room-copy-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes hotspot-pulse{0%,45%{box-shadow:0 0 0 5px #fff8dc1f,0 0 18px #ffeea3cc}75%,to{box-shadow:0 0 0 17px #fff8dc00,0 0 3px #ffeea326}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:800px){.room-layer{transition:none;transform:none!important}.hotspot:before{width:11px;height:11px}.room-hint{max-width:220px}}@media (prefers-reduced-motion:reduce){.room-layer{transform:none!important}}@media (max-width:800px){.room .shelf.room-layer{transform-origin:0 0;transform:scale(.7)!important}.room .plant.room-layer{transform-origin:100% 100%;transform:scale(.7)!important}.room .floor.room-layer{transform:rotate(-5deg)!important}}.site{color:var(--ink)}.room-wrap-3d{background:radial-gradient(circle at 77% 36%,#fff4cfa8,transparent 27%),linear-gradient(142deg,var(--cream) 0 43%,var(--sky) 43% 100%);min-height:820px;overflow:hidden}.room-wrap-3d:after{content:"";pointer-events:none;background:linear-gradient(#0000,#18242c14);height:120px;position:absolute;inset:auto 0 0}.room-wrap-3d .room-intro{z-index:4;pointer-events:none;width:min(54vw,720px)}.room-wrap-3d .room-intro p{align-items:center;gap:8px;display:flex}.room-wrap-3d .room-intro h1{font-size:clamp(43px,5.4vw,76px)}.room-wrap-3d .room-intro .room-title-line{white-space:nowrap;font:inherit;display:block}.live-dot{background:#70a468;border-radius:50%;width:7px;height:7px;animation:2.2s ease-out infinite live-pulse;box-shadow:0 0 0 4px #70a46826}.room-scene{z-index:2;isolation:isolate;filter:drop-shadow(-22px 22px 35px #29333729);border-radius:48% 0 0;width:min(71vw,1100px);height:760px;position:absolute;bottom:0;right:-2vw;overflow:hidden}.room-scene-mount,.room-canvas{width:100%;height:100%;display:block}.room-canvas{touch-action:none;outline:none}.room-loader{color:#173a43;background:#e6b987;place-content:center;justify-items:center;gap:16px;transition:opacity .35s;display:grid;position:absolute;inset:0}.room-loader span{border:2px solid #173a4333;border-top-color:#173a43;border-radius:50%;width:46px;height:46px;animation:.9s linear infinite scene-spin}.room-loader p,.scene-status,.room-fallback figcaption{letter-spacing:.1em;font:10px DM Mono,monospace}.scene-status{z-index:4;color:#fff9e9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#183239b3;border:1px solid #fffaebb8;border-radius:999px;padding:10px 14px;position:absolute;top:24px;right:24px}.scene-a11y{z-index:5;pointer-events:none;position:absolute;inset:0}.scene-a11y button{pointer-events:auto;background:#ffe68699;border:1px solid #fffae4cc;border-radius:50%;width:36px;height:36px;animation:2.7s ease-out infinite hotspot-3d-pulse;position:absolute;box-shadow:0 0 0 8px #ffecae1f,0 0 26px #ffdc6e8c}.scene-a11y button:first-child{top:43%;left:44%}.scene-a11y button:nth-child(2){top:35%;left:14%}.scene-a11y button:nth-child(3){top:27%;right:20%}.scene-a11y button:nth-child(4){bottom:24%;right:13%}.scene-a11y button span{color:#183841;opacity:0;background:#fff9e8;border-radius:999px;width:max-content;max-width:170px;padding:8px 10px;font:10px DM Mono,monospace;transition:all .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 5px 20px #0f202733}:is(.scene-a11y button:hover span,.scene-a11y button:focus-visible span){opacity:1;transform:translate(-50%)}.scene-a11y button:hover{transform:scale(1.12)}.scene-a11y button:focus-visible{outline-offset:3px;outline:3px solid #fff}.room-fallback{color:#fff8e6;background:linear-gradient(#356b77 0 68%,#bd7d50 68%);position:absolute;inset:0}.fallback-window,.fallback-shelf,.fallback-desk,.fallback-plant{background:#78b5c0;border:8px solid #173a43;position:absolute;box-shadow:8px 9px #142b3033}.fallback-window{text-align:right;color:#ffe59d;width:34%;height:33%;padding:15px;font-size:45px;top:10%;right:9%}.fallback-shelf{color:#173a43;writing-mode:vertical-rl;background:#e5b568;width:24%;height:35%;padding:35px 12px;font:700 13px DM Mono,monospace;top:18%;left:8%}.fallback-desk{color:#173a43;background:#b9674c;width:53%;height:31%;padding:28px;font:700 18px/1 Outfit,sans-serif;bottom:17%;left:25%}.fallback-desk i{background:#f0c75e;border:8px solid #173a43;width:40%;height:55%;margin:-70px auto 10px;display:block}.fallback-plant{background:#729c64;border-radius:55% 55% 25% 25%;place-items:center;width:15%;height:26%;font-size:42px;display:grid;bottom:11%;right:7%}.fallback-actions{z-index:2;flex-wrap:wrap;justify-content:center;gap:8px;width:min(520px,82%);display:flex;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.fallback-actions button{color:#fff9e8;background:#80503a;border:1px solid #ffffffb8;border-radius:4px;padding:8px 12px;font:700 10px Noto Serif SC,serif;box-shadow:0 4px #42261d73}:is(.fallback-actions button:hover,.fallback-actions button:focus-visible){outline-offset:2px;background:#a26243;outline:2px solid #fff}.room-fallback figcaption{text-align:center;background:#173a43;width:max-content;max-width:88%;margin:0;padding:8px 12px;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.night .room-scene{filter:drop-shadow(-22px 22px 35px #030c1259)}@keyframes scene-spin{to{transform:rotate(360deg)}}@keyframes live-pulse{70%,to{box-shadow:0 0 0 9px #70a46800}}@keyframes hotspot-3d-pulse{0%,55%{box-shadow:0 0 0 7px #ffecae1f,0 0 23px #ffdc6e8c}to{box-shadow:0 0 0 19px #ffecae00,0 0 5px #ffdc6e1a}}@media (max-width:1000px){.room-scene{width:83vw;right:-14vw}.room-wrap-3d .room-intro{width:58vw}.room-wrap-3d .room-intro h1{font-size:clamp(42px,5.7vw,62px)}}@media (max-width:800px){.room-wrap-3d{background:linear-gradient(165deg,var(--cream) 0 34%,var(--sky) 34%);min-height:790px;padding-top:98px}.room-wrap-3d .room-intro{width:90%;max-width:none}.room-wrap-3d .room-intro h1{font-size:clamp(34px,8.8vw,52px)}.room-scene{border-radius:45% 0 0;width:125vw;height:580px;right:-16vw}.scene-status{top:auto;bottom:18px;right:18vw}.scene-a11y button:first-child{top:41%;left:45%}.scene-a11y button:nth-child(2){top:35%;left:17%}.scene-a11y button:nth-child(3){top:27%;right:25%}.scene-a11y button:nth-child(4){bottom:25%;right:21%}.room-wrap-3d .room-hint{color:#fff8e8;max-width:190px;bottom:24px}.scene-a11y button{width:42px;height:42px}.scene-a11y button span{opacity:0!important}.room-fallback figcaption{bottom:12%}}@media (max-width:500px){.room-wrap-3d{min-height:720px}.room-scene{width:143vw;height:520px;right:-25vw}.scene-status{display:none}.room-subtitle{max-width:280px;display:block}.scene-a11y button:nth-child(2){left:21%}.scene-a11y button:nth-child(3){right:26%}.scene-a11y button:nth-child(4){right:23%}.room-wrap-3d .room-hint{font-size:9px}}@media (prefers-reduced-motion:reduce){.live-dot,.scene-a11y button,.room-loader span{animation:none}.scene-a11y button span{transition:none}}.room-wrap-3d{background:radial-gradient(circle at 25% 18%,#e7dddd 0,#0000 36%),linear-gradient(135deg,#d8cccf 0%,#babbd8 48%,#969bc4 100%);height:100svh;min-height:720px;padding:0}.room-wrap-3d .room-intro{z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#f9f4f0a3;border:1px solid #ffffff73;border-radius:14px;width:290px;max-width:40vw;padding:13px 16px;position:absolute;top:92px;left:4vw;box-shadow:0 12px 35px #3a33481a}.room-wrap-3d .room-intro h1{letter-spacing:-.04em;margin:8px 0 6px;font:600 20px/1.25 Noto Serif SC,serif}.room-wrap-3d .room-intro .room-subtitle{opacity:.66;font:10px/1.55 DM Mono,monospace;display:block}.room-scene{filter:drop-shadow(0 28px 34px #302a3d33);border-radius:0;width:min(82vw,1280px);height:88svh;bottom:1vh;left:50%;right:auto;transform:translate(-50%)}.night .room-wrap-3d{background:radial-gradient(circle at 68% 20%,#beb7e83d,#0000 32%),linear-gradient(135deg,#25293a,#343955 55%,#4b5272)}.night .room-wrap-3d .room-intro{background:#18232d8f}.room-wrap-3d .room-hint{color:#273840;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf6ecb3;border-radius:999px;padding:9px 13px;bottom:28px;left:auto;right:4vw}.scene-status{top:94px;right:4vw}.scene-reset{z-index:6;color:#fff9e9;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#243b43cc;border:1px solid #ffffffb8;border-radius:999px;padding:9px 13px;font:600 11px Noto Serif SC,serif;transition:background .18s,transform .18s;position:absolute;top:142px;right:4vw;box-shadow:0 6px 18px #1923302e}.scene-reset:hover:not(:disabled){background:#a26243;transform:translateY(-1px)}.scene-reset:focus-visible{outline-offset:3px;outline:3px solid #fff}.scene-reset:disabled{cursor:wait;opacity:.55}.scene-a11y button,.scene-a11y button:nth-child(n){opacity:0;pointer-events:none;width:1px;height:1px;box-shadow:none;border:0;padding:0;animation:none;inset:0 auto auto 0;overflow:hidden}.scene-a11y button span{display:none}.scene-a11y button:focus-visible{opacity:1;color:#fff;outline:3px solid var(--coral);pointer-events:auto;background:#243b43;border:2px solid #fff;border-radius:999px;width:auto;height:auto;padding:10px 14px;top:145px;left:50%;overflow:visible;transform:translate(-50%)}.scene-a11y button:focus-visible span{opacity:1;color:inherit;box-shadow:none;background:0 0;padding:0;display:block;position:static;transform:none}.dialog-projects{gap:10px;margin-top:28px;display:grid}.dialog-projects a{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:8px;margin:0;padding:14px 0;display:grid}.dialog-projects a:last-child{border-bottom:1px solid var(--line)}.dialog-projects span,.dialog-projects small{opacity:.65;font:10px DM Mono,monospace}.dialog-projects small{margin:3px 0 0;display:block}.dialog-projects strong{font:600 19px Noto Serif SC,serif}.dialog-projects b{grid-area:1/3/span 2}@media (max-width:900px){.room-wrap-3d{min-height:680px}.room-scene{width:108vw;height:80svh;bottom:1vh;left:50%;right:auto}.room-wrap-3d .room-intro{max-width:55vw;top:76px;left:18px}.scene-status{top:auto;bottom:20px;right:20px}.scene-reset{top:auto;bottom:66px;right:20px}.room-wrap-3d .room-hint{display:none}}@media (max-width:560px){.room-wrap-3d{height:100svh;min-height:620px}.room-scene{width:130vw;height:74svh;bottom:3vh}.room-wrap-3d .room-intro{max-width:72vw;padding:10px 12px;top:72px}.room-wrap-3d .room-intro h1{font-size:16px}.scene-status{display:none}.scene-reset{padding:8px 11px;font-size:10px;bottom:18px;right:16px}}
