@font-face{font-family:'Patrick Hand';src:url('/fonts/PatrickHand-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#171411;font-synthesis:none;color-scheme:light;background:#e8d8c5}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #6e7752;outline-offset:5px}.room{position:fixed;inset:0;width:100vw;height:100svh;overflow:hidden;touch-action:none;cursor:grab;outline:none}.room.dragging{cursor:grabbing}.world{position:absolute;left:0;top:0;width:2159px;height:728px;transform-origin:0 0;will-change:transform}.plate{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}#depth{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}.webgl-ready #depth{opacity:1}.apps{position:absolute;inset:0;pointer-events:none}.app-item{position:absolute;inset:0;pointer-events:none;will-change:transform}.app-prop{position:absolute;object-fit:fill;user-select:none;pointer-events:none}.app-label{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 18px 13px;background:rgba(255,247,239,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.42);border-radius:13px;box-shadow:0 4px 20px #5b3c2410;font-size:13px;line-height:1.2;white-space:nowrap;color:#241d16;pointer-events:none;min-height:69px}.app-label:after{content:"";position:absolute;bottom:-12px;left:18px;border-style:solid;border-width:13px 8px 0 2px;border-color:rgba(255,247,239,.86) transparent transparent transparent}.app-label strong{font-size:20px;line-height:1.1;font-weight:650;letter-spacing:.01em}.app-label span{font-weight:400;color:#51463a}.site-header{position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:flex-end;padding:29px clamp(25px,6.5vw,104px);z-index:20;pointer-events:none}.brand{padding:0;background:none;border:0;width:124px;height:44px;pointer-events:auto;transform:rotate(-2deg)}.brand svg{width:100%;height:100%;display:block}.site-header nav{display:flex;align-items:center;gap:clamp(20px,3.1vw,50px);pointer-events:auto}.site-header nav :is(button,a){background:none;border:0;padding:8px 0;font-size:14px;line-height:20px;white-space:nowrap;color:inherit;text-decoration:none;}.site-header nav :is(button,a):hover{opacity:.58}.site-header nav .language{border-radius:30px;padding:6px 13px;background:#fff5;font-size:13px}.active-lang{font-weight:600}.slash{opacity:.5}.explore{position:fixed;bottom:max(42px,env(safe-area-inset-bottom));left:clamp(24px,3.1vw,48px);display:flex;gap:18px;align-items:center;padding:16px 23px 16px 18px;border:1px solid #fff2;border-radius:15px;background:#7d806558;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);color:#fff9ed;text-align:left;letter-spacing:.035em;font-size:13px;line-height:1.5;box-shadow:0 8px 22px #352b2510;z-index:15}.explore:hover{background:#7d806580}.explore-icon{width:22px;height:46px;display:block}.explore-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.signature{position:fixed;right:3.7vw;bottom:41px;z-index:10;font-family:"Comic Sans MS","Segoe Print",cursive;font-size:14px;letter-spacing:.06em;line-height:1.6;color:#fffaf1;transform:rotate(-9deg);text-shadow:0 1px 6px #5d422470;pointer-events:none}.signature span{padding-left:12px}.signature i{padding-left:12px;font-style:normal;font-size:24px}.room-tools{position:fixed;bottom:19px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:15;opacity:.55}.room-tools:hover{opacity:1}.room-tools button{border:1px solid #fff4;background:#fff5;backdrop-filter:blur(10px);border-radius:50%;width:28px;height:28px;font-size:17px;color:#54412c}.room-tools #motion[aria-pressed=false]{opacity:.45}.panel{position:fixed;z-index:40;right:26px;top:92px;width:min(390px,calc(100vw - 32px));max-height:calc(100svh - 124px);overflow:auto;padding:36px 30px;background:rgba(255,249,240,.96);backdrop-filter:blur(26px);border:1px solid #fff8;border-radius:18px;box-shadow:0 22px 70px #4b351d35;color:#342a21}.panel[hidden],.scrim[hidden],.toast[hidden],section[hidden]{display:none!important}.close-panel{position:absolute;right:15px;top:10px;font-size:26px;background:none;border:0;font-weight:300;color:#7e6b58}.eyebrow{margin:0 0 14px;font-size:10px;letter-spacing:.22em;color:#aa8b66}.panel h1{font-size:32px;line-height:1.23;font-weight:500;letter-spacing:-.025em;margin:0 0 27px}.panel h2{font-size:23px;font-weight:550;margin:0 0 13px}.about-line{font-size:14px;line-height:1.8;color:#87735d;margin:18px 0}.panel-note,.local-note{font-size:12px;line-height:1.8;color:#8b7964}.local-note{font-size:11px;margin-bottom:0}.scrim{position:fixed;inset:0;background:#34251414;z-index:30}.app-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #ac927e30}.app-row input{accent-color:#777e55;width:16px;height:16px}.app-row label{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:5px}.app-row strong{font-size:14px;font-weight:550}.app-row small{font-size:11px;color:#96816b}.app-row button{font-size:11px;border:0;background:none;color:#9a7763;padding:5px}.text-button{font-size:12px;padding:0;background:none;border:0;color:#7d8056;margin:20px 0 4px}.primary{padding:10px 15px;border:0;border-radius:9px;background:#808362;color:#fff}.toast{position:fixed;z-index:50;left:50%;bottom:35px;transform:translateX(-50%);padding:12px 20px;border-radius:10px;background:#fff7eeed;box-shadow:0 4px 25px #543c2825;font-size:12px;color:#6a543e;max-width:85vw;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.site-header{padding:23px 22px;align-items:flex-start}.brand{width:94px;height:34px}.site-header nav{gap:15px;padding-top:3px}.site-header nav :is(button,a){font-size:11px;color:inherit;text-decoration:none;}.site-header nav .language{padding:4px 9px;font-size:11px}.explore{left:20px;bottom:max(26px,env(safe-area-inset-bottom));padding:12px 15px;gap:11px;font-size:11px;border-radius:12px}.explore-icon{width:19px;height:40px}.signature{right:22px;bottom:27px;font-size:10px}.signature i{font-size:17px;padding-left:5px}.room-tools{bottom:13px}.panel{right:16px;top:78px;max-height:calc(100svh - 96px);padding:32px 25px}.app-label{backdrop-filter:none}}
@media(max-width:380px){.site-header{padding:20px 16px}.site-header nav{gap:10px}.brand{width:77px}.signature{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Editable hand lettering belongs to the left wall. Only the bottom cue is screen-fixed. */
.wall-brand{position:absolute;left:102px;top:49px;width:218px;color:#49382b;pointer-events:none;will-change:transform;mix-blend-mode:multiply}
.wall-brand-content{display:flex;flex-direction:column;align-items:center;transform:rotate(-2deg);text-align:center}
.wall-brand-name{width:195px;height:68px;margin:0;color:#38291f;font-size:0;font-weight:normal}
.wall-brand-name svg{display:block;width:100%;height:100%}
.wall-brand-slogan{font-family:'Patrick Hand',cursive;font-size:25px;font-weight:400;line-height:1.12;letter-spacing:.025em;margin:9px 0 0;transform:rotate(-2deg)}

/* Panoramic revision: interface stays in the viewport, not in the room. */
.site-header{padding:30px clamp(25px,4.5vw,85px);color:#493a2b}
.site-header nav{gap:30px}.site-header nav :is(button,a){font-size:14px;text-shadow:0 1px 8px #fff7;color:inherit;text-decoration:none;}
.site-header nav .language{background:#fff8;box-shadow:0 2px 8px #70513015}
.explore{bottom:28px;left:30px;padding:12px 22px 12px 17px;gap:17px;background:#fff7e08a;border:1px solid #fff7;color:#65513b;font-family:'Patrick Hand',cursive;font-size:18px;line-height:1.08;letter-spacing:.015em;box-shadow:0 5px 20px #6a4a2312}
.explore:hover{background:#fff6e6bb}.explore-icon{width:24px;height:52px}
.signature{right:32px;bottom:27px;font-family:'Patrick Hand',cursive;font-size:18px;color:#58412d;line-height:1.08;letter-spacing:.025em;transform:rotate(-5deg);text-shadow:none}
.signature i{font-size:23px}.room-tools{bottom:27px;gap:12px;align-items:center;opacity:.85}.room-tools button{width:35px;height:35px;font-size:21px;background:#fff6;border-color:#fff5}
.pan-progress{width:160px;height:3px;accent-color:#fff8e8;cursor:pointer;margin-right:15px;appearance:none;-webkit-appearance:none;border-radius:4px;background:#fff8;box-shadow:0 1px 7px #b9822530}
.pan-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff8ed;box-shadow:0 2px 6px #81532030}.pan-progress::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff8ed}
.app-label{color:#5a452e;background:rgba(255,247,239,.86);padding:11px 20px 12px;font-size:14px;min-height:73px;border-color:#fff9;box-shadow:0 3px 16px #b8802120}
.app-label strong{font-size:24px}.app-label span{color:#6b543c}
@media(max-width:700px){.site-header{padding:20px 20px}.site-header nav{gap:17px}.site-header nav :is(button,a){font-size:12px;color:inherit;text-decoration:none;}.site-header nav .language{font-size:11px}.explore{bottom:51px;left:18px;padding:10px 14px;gap:10px;font-size:15px}.explore-icon{width:19px;height:42px}.signature{right:18px;bottom:60px;font-size:13px}.signature i{font-size:18px}.room-tools{bottom:16px;gap:10px}.room-tools button{width:29px;height:29px;font-size:18px}.pan-progress{width:125px;margin-right:7px}.wall-brand{left:72px}.app-label{backdrop-filter:none}}
@media(max-width:380px){.signature{display:block;font-size:11px;right:12px}.site-header nav{gap:14px}.explore{font-size:14px;left:12px}}

.app-label strong,.app-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-tools button svg{display:block;margin:auto;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}

/* Every app object and label is an accessible entry, removed together with its art. */
.app-object{position:absolute;display:block;padding:0;border:0;background:none;overflow:visible;cursor:pointer;pointer-events:auto;touch-action:pan-y}
.app-object .app-prop{pointer-events:none}.monitor-screen{position:absolute;object-fit:contain;background:#eef0f3;clip-path:polygon(.9% 0,99.1% 0,100% 100%,0 100%);pointer-events:none;filter:brightness(.97) sepia(.035)}
.app-label{pointer-events:auto;cursor:pointer;text-align:left;font-family:inherit}.app-label:hover{background:rgba(255,249,240,.95)}.app-object:focus-visible{outline:none;filter:brightness(1.06) drop-shadow(0 0 7px #fff8)}.app-status{font-size:14px;line-height:1.8;padding:15px 17px;border-radius:12px;background:#ece6d8;color:#51452f}
/* Short phones keep controls below the hero instead of covering its feet. */
@media(max-width:700px) and (max-height:700px){.explore{left:12px;bottom:13px;padding:7px 12px;gap:8px;font-size:12px;border-radius:11px}.explore-icon{width:16px;height:30px}.room-tools{left:auto;right:12px;bottom:13px;transform:none;gap:7px}.room-tools button{width:24px;height:24px}.room-tools button svg{width:18px;height:18px}.pan-progress{width:50px;margin-right:5px}.signature{right:12px;bottom:59px;font-size:10px;line-height:1.08;transform:none}.signature i{font-size:12px}}

/* Screen-size callouts: world anchors move, but type and card dimensions do not zoom. */
.app-label{min-height:0;height:64px;padding:10px 15px 11px;gap:4px;border-radius:13px;border:1px solid rgba(255,255,255,.7);background:rgba(255,250,243,.88);color:#252723;font-size:13px;line-height:18px;box-shadow:0 3px 13px #35291d12;transform-origin:0 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.app-label[hidden]{display:none!important}.app-label strong{font-size:18px;line-height:22px;font-weight:600;letter-spacing:0;padding-right:0;color:#252723}.app-label span{font-size:13px;line-height:18px;color:#454943;padding-right:0;font-weight:400}
.app-label:after{left:0;top:0;bottom:auto;width:100%;height:calc(100% + 16px);border:0;background:rgba(255,250,243,.88);clip-path:var(--tail-shape);pointer-events:none}.app-label:hover{background:rgba(255,252,247,.96)}
/* Keep screen-fixed controls within physical safe areas even on short phones. */
.explore{left:max(30px,calc(env(safe-area-inset-left) + 16px));bottom:max(28px,calc(env(safe-area-inset-bottom) + 16px));transform:none;max-width:calc(100vw - 48px)}
.signature{right:max(32px,calc(env(safe-area-inset-right) + 16px));bottom:max(27px,calc(env(safe-area-inset-bottom) + 16px))}.room-tools{bottom:max(27px,calc(env(safe-area-inset-bottom) + 16px))}
@media(max-width:700px){.app-label{height:60px;padding:9px 13px 10px;gap:3px}.app-label strong{font-size:16px;line-height:21px}.app-label span{font-size:12px;line-height:17px}.explore{left:max(18px,calc(env(safe-area-inset-left) + 12px));bottom:max(51px,calc(env(safe-area-inset-bottom) + 42px))}.signature{right:max(18px,calc(env(safe-area-inset-right) + 12px));bottom:max(60px,calc(env(safe-area-inset-bottom) + 51px))}.room-tools{bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))}}
@media(max-width:700px) and (max-height:700px){.explore{left:max(12px,calc(env(safe-area-inset-left) + 8px));bottom:max(13px,calc(env(safe-area-inset-bottom) + 8px))}.room-tools{right:max(12px,calc(env(safe-area-inset-right) + 8px));bottom:max(13px,calc(env(safe-area-inset-bottom) + 8px))}.signature{right:max(12px,calc(env(safe-area-inset-right) + 8px));bottom:max(59px,calc(env(safe-area-inset-bottom) + 54px))}}

/* Local feature layers never alter app hitboxes, callouts, body or grounding. */
.local-art{position:absolute;display:block;overflow:visible;pointer-events:none;user-select:none}.local-art *{pointer-events:none}.app-object.motion-indicated{filter:brightness(1.06)}.app-label:hover{background:rgba(255,250,243,.88)}
.screen-local-art{position:absolute;display:block;overflow:hidden;pointer-events:none;user-select:none}.screen-local-art *{pointer-events:none}
.explore-label{display:block;white-space:pre}
.explore:focus-visible{outline:none;box-shadow:0 5px 20px #6a4a2330;background:#fff6e6d9}

.about-filing{margin:26px 0 0;padding-top:18px;border-top:1px solid #ac927e30;font-size:12px;line-height:1.8;color:#87735d}
.about-filing a{display:inline-block;max-width:100%;padding:4px 0;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.about-filing a:hover{text-decoration:underline;text-underline-offset:3px}
