:root{--ink:#efe7d8;--ink-dim:#b9ae9c;--panel:#16120fd1;--panel-line:#efe7d824;--amber:#e2a85c;--amber-ink:#24180b;--focus:#f3c47c;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--sans);background:#0d0b09;margin:0;overflow:hidden}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.holding{cursor:grabbing}#scene.over-object{cursor:pointer}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.boot-status{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));color:var(--ink-dim);pointer-events:none;font-size:.8rem;position:fixed}.btn{font:inherit;color:var(--ink);border:1px solid var(--panel-line);cursor:pointer;background:#efe7d80f;border-radius:6px;min-height:44px;padding:10px 16px;font-size:.9rem}.btn:hover{background:#efe7d81f}.btn-primary{background:var(--amber);color:var(--amber-ink);border-color:var(--amber);font-weight:600}.btn-primary:hover{background:#edb874}.btn-small{min-height:36px;padding:7px 11px;font-size:.82rem}.btn[aria-pressed=true]{background:#e2a85c38;border-color:#e2a85cb3}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.panel{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;border-radius:10px;width:272px;max-height:calc(100% - 32px);position:fixed;overflow-y:auto}.panel[hidden]{display:none}.panel-toggle{all:unset;box-sizing:border-box;cursor:pointer;align-items:baseline;gap:10px;width:100%;padding:12px 14px;display:flex}.panel-title{font-family:var(--serif);font-size:1.05rem}.panel-time{font-family:var(--mono);color:var(--amber);margin-left:auto;font-size:.95rem}.pill{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--panel-line);color:var(--ink-dim);border-radius:99px;padding:2px 7px;font-size:.62rem}.pill.on{color:var(--amber);border-color:#e2a85c99}.panel-body{padding:0 14px 12px}.panel.collapsed .panel-body{display:none}.group{border:0;border-top:1px solid var(--panel-line);margin:0;padding:10px 0 8px}.group legend{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);padding:0 0 6px;font-size:.66rem}.row{align-items:center;gap:6px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1}.slider-row{align-items:center;gap:10px;display:flex}.slider-row.labeled span{color:var(--ink-dim);min-width:36px;font-size:.8rem}input[type=range]{width:100%;accent-color:var(--amber);height:28px}.ticks{font-family:var(--mono);color:var(--ink-dim);justify-content:space-between;margin:-4px 2px 8px;font-size:.6rem;display:flex}.segmented{border:1px solid var(--panel-line);border-radius:6px;grid-template-columns:repeat(4,1fr);margin-bottom:6px;display:grid;overflow:hidden}.segmented button{font:inherit;color:var(--ink);border:0;border-right:1px solid var(--panel-line);cursor:pointer;background:0 0;min-height:36px;font-size:.82rem}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{color:#fff3e0;background:#e2a85c3d}.hint{color:var(--ink-dim);margin:8px 0 0;font-size:.74rem;line-height:1.45}#hotspots{pointer-events:none;z-index:5;position:fixed;inset:0}.hotspot{color:#0000;pointer-events:none;background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:0;left:0}.hotspot:focus-visible{outline:2px solid var(--focus);outline-offset:2px;background:#f3c47c1f}.fatal{z-index:30;background:#3b1d18;border:1px solid #a45a4a;border-radius:8px;max-width:360px;padding:12px 14px;position:fixed;inset:auto 16px 16px auto}@media (max-width:640px){.panel{left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));width:auto;max-height:55%}}.back-to-room{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:40;background:#16120fd9;position:fixed}.computer{--os-bg:#16120f;--os-ink:#efe7d8;--os-dim:#b3a894;--os-line:#efe7d81f;--os-amber:#e2a85c;z-index:30;color:var(--os-ink);font-family:var(--mono);background:radial-gradient(at 70% 20%,#e2a85c1f,#0000 60%),linear-gradient(160deg,#2a2018,#120f0c 70%);border-radius:3px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.computer.on{animation:.22s os-fade}@keyframes os-fade{0%{opacity:0}}@keyframes os-win-in{0%{opacity:0;transform:scale(.97)}}.computer[hidden]{display:none}.computer.fullscreen{border-radius:0}.computer:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000000d 0 1px,#0000 1px 3px);position:absolute;inset:0}.os-top{border-bottom:1px solid var(--os-line);letter-spacing:.08em;background:#efe7d80d;align-items:center;gap:1em;padding:.45em .9em;font-size:.85em;display:flex}.os-brand{color:var(--os-amber);font-weight:600}.os-now{text-align:center;color:var(--os-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.os-desktop{flex:1;min-height:0;display:flex;position:relative}.os-icons{flex-direction:column;gap:.6em;padding:.9em;display:flex}.os-icon{font:inherit;color:var(--os-ink);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:.35em;width:5.2em;padding:.5em .3em;font-size:.8em;display:flex}.os-icon svg{width:2.2em;height:2.2em;color:var(--os-amber)}.os-icon:hover,.os-icon[aria-current=true]{border-color:var(--os-line);background:#efe7d814}.os-windows{flex:1;min-width:0;padding:.9em .9em .9em 0;position:relative}.os-win{border:1px solid var(--os-line);background:#100d0bf0;border-radius:4px;flex-direction:column;display:flex;position:absolute;inset:.9em .9em .9em 0;box-shadow:0 .6em 2em #00000073}.os-win.open{animation:.18s os-win-in}.os-win-bar{border-bottom:1px solid var(--os-line);justify-content:space-between;align-items:center;padding:.45em .5em .45em .7em;display:flex}.os-tape{color:#f4f0e8;letter-spacing:.22em;text-shadow:0 -1px #000c,0 1px #ffffff1f;background:#0d0d0d;border-radius:1px;padding:.18em .6em .12em;font-size:.82em;display:inline-block;box-shadow:inset 0 1px #ffffff14,0 1px #0009}.os-win-close{font:inherit;width:1.8em;height:1.8em;color:var(--os-ink);border:1px solid var(--os-line);cursor:pointer;background:0 0;border-radius:3px;font-size:1.2em;line-height:1}.os-win-body{flex:1;min-height:0;padding:.9em;overflow:auto}.os-btn{font:inherit;color:var(--os-ink,#efe7d8);cursor:pointer;min-height:2.2em;font-size:.9em;font-family:var(--mono);background:#efe7d812;border:1px solid #efe7d829;border-radius:3px;align-items:center;padding:.45em .9em;text-decoration:none;display:inline-flex}.os-btn:disabled{opacity:.45;cursor:default}.os-btn-main{color:#1c1309;background:#e2a85c;border-color:#e2a85c;font-weight:600}.os-note{color:var(--os-dim);margin:.9em 0 0;font-size:.78em;line-height:1.5}.computer button:focus-visible,.computer input:focus-visible,.computer a:focus-visible,.game-bar button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.music-now{margin-bottom:.7em}.music-title{font-family:var(--serif);font-size:1.5em}.music-artist{color:var(--os-dim);letter-spacing:.08em;font-size:.8em}.music-controls{gap:.4em;margin-bottom:.5em;display:flex}.music-seek{color:var(--os-dim);align-items:center;gap:.7em;font-size:.8em;display:flex}.music-list{border-top:1px solid var(--os-line);margin:.8em 0 0;padding:0;list-style:none}.music-item{all:unset;box-sizing:border-box;border-bottom:1px solid var(--os-line);cursor:pointer;justify-content:space-between;width:100%;padding:.5em .3em;font-size:.9em;display:flex}.games{grid-template-columns:minmax(8em,1fr) 2fr;gap:1em;height:100%;display:grid}.games-list{border-right:1px solid var(--os-line);margin:0;padding:0 .8em 0 0;list-style:none}.games-item{all:unset;box-sizing:border-box;cursor:pointer;border-radius:3px;flex-direction:column;width:100%;margin-bottom:.3em;padding:.55em .6em;display:flex}.games-item-title{font-size:.95em}.games-item-status{color:var(--os-dim);letter-spacing:.06em;font-size:.7em}.games-title{font-family:var(--serif);margin:0 0 .3em;font-size:1.5em;font-weight:400}.games-blurb{margin:0 0 .7em;font-size:.9em;line-height:1.5}.games-meta{grid-template-columns:auto 1fr;gap:.25em .8em;margin:0 0 1em;font-size:.78em;display:grid}.games-meta dt{color:var(--os-dim)}.games-meta dd{margin:0}.games-actions{flex-wrap:wrap;align-items:center;gap:.5em;display:flex}.settings-row{grid-template-columns:8em 1fr;align-items:center;gap:.8em;margin-bottom:.5em;font-size:.9em;display:grid}.game-layer{z-index:35;background:#000;position:fixed;overflow:hidden}.game-layer[hidden]{display:none}.game-frame{border:0;width:100%;height:100%;position:absolute;inset:0}.game-layer.booting .game-frame{visibility:hidden}.game-loading{font-family:var(--mono);color:#c3dc9f;background:#0a0d09;flex-direction:column;justify-content:center;align-items:center;gap:.8em;display:flex;position:absolute;inset:0}.game-layer.playing .game-loading{display:none}.game-loading-title{letter-spacing:.3em;font-size:1.2em}.game-loading-bar{border:1px solid #536447;width:40%;height:6px}.game-loading-bar span{background:#c3dc9f;width:0;height:100%;transition:width .2s;display:block}.game-loading-note{color:#8fa27a;font-size:.75em}.game-layer.playing{animation:.65s ease-out phosphor}@keyframes phosphor{0%{filter:brightness(3)saturate(0);clip-path:inset(49% 0)}40%{filter:brightness(1.8)saturate(.4);clip-path:inset(0)}to{filter:none}}.game-bar{z-index:41;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:fixed}.game-bar[hidden]{display:none}.game-bar .os-btn{color:#efe7d8;background:#16120fe6;min-height:40px;font-size:.82rem}.game-status{color:#d9cdb8;font-size:.78rem;font-family:var(--mono);max-width:320px}@media (prefers-reduced-motion:reduce){.game-layer.playing,.computer.on,.os-win.open{animation:none}}.panel.docked-away{display:none}.radio-panel{z-index:30;right:max(16px, env(safe-area-inset-right));color:#f1e6cf;background:#241a12;border:1px solid #5a4330;border-radius:10px;width:min(420px,42vw);max-height:calc(100% - 32px);padding:16px 18px 18px;font-size:.9rem;position:fixed;top:50%;overflow-y:auto;transform:translateY(-50%);box-shadow:0 18px 50px #00000080,inset 0 1px #ffdcaa14}.radio-panel[hidden]{display:none}.radio-head{border-bottom:1px solid #4a3626;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.radio-head h2{font-family:var(--serif);margin:0;font-size:1.35rem;font-weight:400}.radio-status{color:#e5c48f;text-align:right;font-size:.78rem;line-height:1.4}.radio-station{font-family:var(--mono);letter-spacing:.14em;color:#c3dc9f;background:#101510;border:1px solid #3d4a33;border-radius:4px;margin-bottom:12px;padding:8px 10px;font-size:.8rem}.radio-controls{gap:6px;margin-bottom:12px;display:grid}.radio-slider{color:#cdbb9c;grid-template-columns:64px 1fr;align-items:center;gap:10px;font-size:.8rem;display:grid}.radio-url label{color:#cdbb9c;margin-bottom:4px;font-size:.78rem;display:block}.radio-url input{width:100%;font:inherit;color:#f1e6cf;background:#15100b;border:1px solid #5a4330;border-radius:5px;padding:9px 10px;font-size:.85rem}.radio-step{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0;display:flex}.radio-step b{background:#4a3626;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.75rem;display:inline-grid}.radio-help,.radio-note{color:#cdbb9c;margin:8px 0 0;font-size:.76rem;line-height:1.5}.radio-note{color:#e5c48f;margin-bottom:8px}.link-btn{font:inherit;color:#e5c48f;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.78rem;text-decoration:underline}.radio-player{aspect-ratio:16/9;background:#000;width:100%;min-width:200px;min-height:200px;margin-top:10px}.radio-player:empty{display:none}.radio-player iframe,.radio-player .yt-mount{border:0;width:100%;height:100%;display:block}@media (min-width:900px){.radio-panel{width:520px}}@media (max-width:700px),(orientation:portrait){.radio-panel{border-radius:12px 12px 0 0;width:auto;max-height:58%;inset:auto 0 0;transform:none}}.settings-toggle{align-items:center;gap:.6em;margin:.6em 0;font-size:.85em;display:flex}.perf{z-index:60;font-family:var(--mono);color:#efe7d8;background:#0a0908e0;border:1px solid #efe7d833;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:min(420px,100% - 24px);padding:8px 10px;font-size:12px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.perf-live{color:#c3dc9f;font-size:14px}.perf-gpu{color:#b9ae9c;text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;overflow:hidden}.perf button{font:inherit;color:#1c1309;cursor:pointer;background:#e2a85c;border:0;border-radius:4px;padding:6px 10px}.perf-out{white-space:pre-wrap;-webkit-user-select:text;user-select:text;flex-basis:100%;max-height:40vh;margin:0;overflow:auto}.radio-meter{background:#101510;border:1px solid #3d4a33;border-radius:2px;height:4px;margin:-6px 0 12px;overflow:hidden}.radio-meter span{background:#c3dc9f;width:0;height:100%;display:block}.radio-flag{background:#d9a4411f;border-left:3px solid #d9a441;margin:6px 0 0;padding:6px 8px;font-size:12px;line-height:1.4}.radio-test{border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;padding-top:10px;display:flex}.btn[disabled]{opacity:.45;cursor:not-allowed}.file-note{background:#d9a4411f;border-left:3px solid #d9a441;margin:8px 0 0;padding:6px 8px;font-size:12px;line-height:1.4}.room-corner{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:12;gap:8px;display:flex;position:fixed}.room-corner.docked-away{display:none}.corner-btn{border:1px solid var(--panel-line);width:44px;height:44px;color:var(--ink-dim);font:600 1rem var(--serif);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16120f8c;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.corner-btn:hover{color:var(--ink);background:#16120fd9}.corner-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.corner-btn .ico{fill:currentColor;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:20px;height:20px}.corner-btn .ico path:first-child{stroke:none}.corner-btn[aria-pressed=true] .ico-off,.corner-btn[aria-pressed=false] .ico-on{display:none}.corner-btn[aria-expanded=true]{color:var(--amber);border-color:#e2a85c80}.pop{z-index:20;background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;gap:10px;width:min(300px,100vw - 24px);padding:12px 14px 14px;animation:.14s ease-out pop-in;display:grid;position:fixed;top:30%;left:50%;box-shadow:0 12px 32px #00000073}.pop.sheet{right:8px;bottom:max(8px, env(safe-area-inset-bottom));width:auto;top:auto!important;left:8px!important}.pop-head{align-items:baseline;gap:10px;display:flex}.pop-title{font-family:var(--serif);font-size:1.05rem}.pop-time{font-family:var(--mono);color:var(--amber);margin-left:auto}.pop .btn-small,.pop .segmented button{min-height:40px}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}}.guide{top:calc(max(12px, env(safe-area-inset-top)) + 54px);right:max(12px, env(safe-area-inset-right));z-index:21;background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;gap:10px;width:min(360px,100vw - 24px);max-height:calc(100% - 90px);padding:14px 16px 16px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000073}.guide-head{justify-content:space-between;align-items:center;display:flex}.guide h2{font:400 1.15rem var(--serif);margin:0}.guide-sub{font:600 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:4px 0 0}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.guide-grid .btn{text-align:left;min-height:44px}.guide .hint{margin:0}.object-tip{z-index:15;pointer-events:none;color:var(--ink);font:.78rem var(--sans);white-space:nowrap;background:#0e0b09d1;border-radius:6px;padding:4px 9px;animation:.12s ease-out pop-in;position:fixed;top:0;left:0}@media (prefers-reduced-motion:reduce){.pop,.object-tip{animation:none}.corner-btn{transition:none}}.computer{--os-accent:#0a72e8;font-family:var(--sans);color:#fff;background:linear-gradient(#0000002e,#0000002e), var(--desktop-wallpaper) center / cover no-repeat #273c4b;border-radius:0}.computer:after{display:none}.os-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#1d1d1f;letter-spacing:0;z-index:6;background:#f6f6f8b8;border-bottom:0;gap:1.1em;padding:.28em .9em;font-size:.8em;position:relative}.os-glyph svg{color:#1d1d1f;width:1.15em;height:1.15em;display:block}.os-app{font-weight:700}.os-menus{color:#1d1d1f;gap:1.1em;display:flex}.computer.fullscreen .os-menus{display:none}.os-now{text-align:right;color:#3a3a3f}.os-clock{font-variant-numeric:tabular-nums}.os-desktop{position:relative}.os-icons{z-index:1;flex-wrap:wrap-reverse;align-content:flex-start;gap:.5em;max-height:calc(100% - 6.5em);padding:0;position:absolute;top:.8em;right:.8em}.os-icon{color:#fff;text-shadow:0 1px 2px #0000008c;letter-spacing:0;border-radius:.45em;font-size:.78em}.os-icon:hover,.os-icon[aria-current=true]{background:#ffffff29;border-color:#0000}.os-icon svg,.os-dock-item svg{box-sizing:border-box;color:#fff;border-radius:22%;padding:.45em;box-shadow:0 1px 3px #00000059,inset 0 1px #ffffff59}.os-icon[data-app=music] svg,.os-dock-item[data-dock=music] svg{background:linear-gradient(160deg,#ff6a7a,#e2364f)}.os-icon[data-app=games] svg,.os-dock-item[data-dock=games] svg{background:linear-gradient(160deg,#6fb7ff,#2f6de0)}.os-icon[data-app=projects] svg,.os-dock-item[data-dock=projects] svg{background:linear-gradient(160deg,#f2b46a,#c9762f)}.os-icon[data-app=settings] svg,.os-dock-item[data-dock=settings] svg{background:linear-gradient(160deg,#b9bcc2,#74777e)}.os-icon[data-app=gigacity] svg{background:linear-gradient(160deg,#9d8cf5,#5b47c9)}.os-icon svg{width:3em;height:3em}.os-windows{z-index:2;pointer-events:none;padding:0;position:absolute;inset:0 0 4.4em}.os-win{--os-ink:#1d1d1f;--os-dim:#6e6e73;--os-line:#0000001a;--os-amber:#b8661f;pointer-events:auto;color:#1d1d1f;background:#f6f6f7;border:1px solid #0000002e;border-radius:.7em;width:70%;height:86%;inset:5% auto auto 7%;overflow:hidden;box-shadow:0 1.2em 3em #00000073,0 0 0 .5px #fff3}.os-win.zoomed{border-radius:.3em;width:100%;height:100%;top:0;left:0;top:0!important;left:0!important;transform:none!important}.os-win-bar{-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#ededf0,#e1e1e5);border-bottom:1px solid #0000001a;justify-content:center;min-height:2.1em;padding:.3em 4.6em;position:relative}.os-win-title{color:#4a4a4f;font-size:.85em;font-weight:600}.os-lights{gap:.5em;display:flex;position:absolute;top:50%;left:.75em;transform:translateY(-50%)}.os-light,.os-win-close.os-light{width:.9em;min-width:0;height:.9em;font-size:inherit;cursor:pointer;color:#0000008c;border:.5px solid #00000040;border-radius:50%;padding:0;line-height:1;position:relative}.os-light:before{content:"";position:absolute;inset:-.45em}.os-light-close{background:#ff5f57}.os-light-min{background:#febc2e}.os-light-zoom{background:#28c840}.os-light:after{font:700 .62em/1 var(--sans);opacity:0;place-items:center;display:grid;position:absolute;inset:0}.os-light-close:after{content:"×"}.os-light-min:after{content:"−"}.os-light-zoom:after{content:"+"}.os-lights:hover .os-light:after,.os-lights:focus-within .os-light:after{opacity:1}.os-win-body{font-size:.95em}.os-btn{font-family:var(--sans);color:#1d1d1f;background:#fff;border:1px solid #00000029;border-radius:.45em;box-shadow:0 1px 1px #0000000f}.os-btn:hover{background:#f0f0f2}.os-btn-main{background:var(--os-accent);border-color:var(--os-accent);color:#fff}.os-btn-main:hover{background:#1a80f0}.game-bar .os-btn{color:#efe7d8;background:#1e1a16e0;border-color:#efe7d833}.games-item[aria-current=true]{background:#0a72e81f}.music-item[aria-current=true]{color:var(--os-accent)}.settings-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--os-dim);margin:1em 0 .5em;font-size:.78em}.settings-actions{flex-wrap:wrap;gap:.5em;display:flex}.os-dock{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff3d;border:1px solid #ffffff59;border-radius:1em;gap:.5em;padding:.35em .55em .5em;display:flex;position:absolute;bottom:.45em;left:50%;transform:translate(-50%)}.os-dock-item{cursor:pointer;background:0 0;border:0;width:2.7em;height:2.7em;padding:0;transition:transform .12s;position:relative}.os-dock-item svg{width:100%;height:100%}.os-dock-item:hover{transform:translateY(-.2em)scale(1.08)}.os-dock-item.running:after{content:"";background:#ffffffe6;border-radius:50%;width:.28em;height:.28em;margin-left:-.14em;position:absolute;bottom:-.38em;left:50%}.os-login{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#1e181e47;flex-direction:column;justify-content:center;align-items:center;gap:.7em;display:flex;position:absolute;inset:0}.os-login[hidden]{display:none}.os-avatar{color:#ffffffeb;background:linear-gradient(160deg,#a7a9b0,#6a6c74);border-radius:50%;place-items:center;width:5em;height:5em;display:grid;box-shadow:0 .4em 1.4em #00000059}.os-avatar svg{width:62%;height:62%}.os-login-name{text-shadow:0 1px 3px #0006;font-size:1.2em;font-weight:600}.os-login-enter{font:500 .9em var(--sans);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fff3;border:1px solid #ffffff59;border-radius:999px;min-height:2.6em;padding:.5em 1.3em}.os-login-enter:hover{background:#ffffff4d}@media (prefers-reduced-motion:reduce){.os-dock-item{transition:none}.os-dock-item:hover{transform:none}}.pop[hidden],.guide[hidden],.object-tip[hidden],.room-corner[hidden]{display:none}.computer input[type=range],.computer input[type=checkbox]{accent-color:var(--os-accent)}.guide-head .btn{min-width:44px;min-height:44px}.os-top{-webkit-backdrop-filter:blur(24px)saturate(1.6);backdrop-filter:blur(24px)saturate(1.6);color:#fff;text-shadow:0 .5px 1px #00000040;background:#18121c38;border-bottom:0}.os-glyph svg,.os-menus{color:#fff}.os-now{color:#ffffffd9}.os-status{align-items:center;gap:.95em;display:flex}.os-status svg{width:1.05em;height:1.05em;display:block}.os-clock{white-space:pre}.computer:not(.logged-in) .os-glyph,.computer:not(.logged-in) .os-app,.computer:not(.logged-in) .os-menus,.computer:not(.logged-in) .os-now,.computer:not(.logged-in) .os-clock{visibility:hidden}.os-dock{-webkit-backdrop-filter:blur(30px)saturate(1.8);backdrop-filter:blur(30px)saturate(1.8);background:#fff3;border:.5px solid #ffffff61;border-radius:1.15em;align-items:center;gap:.3em;padding:.32em;box-shadow:0 .6em 1.6em #0000002e}.os-dock-item{width:3em;height:3em}.os-dock-item>span,.os-dock-img{width:100%;height:100%;display:block}.os-dock-img{border-radius:22%;box-shadow:0 1px 3px #00000059}.os-dock-sep{background:#ffffff73;align-self:stretch;width:1px;margin:.35em .2em}.os-win-bar{background:#f1f1f2;border-bottom:.5px solid #0000001f}.os-win-title{color:#3d3d41}.os-login{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0a0c182e,#0000 40%,#0a080c4d);justify-content:space-between;padding:7% 0 9%}.os-lock-head{color:#ffffffeb;text-shadow:0 1px 6px #0003;flex-direction:column;align-items:center;display:flex}.os-lock-date{font:600 1.25em var(--sans)}.os-lock-time{font:700 5.6em/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.os-lock-user{flex-direction:column;align-items:center;gap:.55em;display:flex}.os-avatar{width:4.2em;height:4.2em}.os-login-name{font-size:1.05em}.os-login-enter{-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);background:#ffffff38;border:.5px solid #fff6;min-width:11em;min-height:2.2em;padding:.35em 1.1em;font-size:.85em}.computer:not(.logged-in) .os-icons,.computer:not(.logged-in) .os-dock{visibility:hidden}.os-win:has(.games) .os-win-bar{z-index:2;background:0 0;border-bottom:0;position:absolute;inset:0 0 auto}.os-win:has(.games) .os-win-body{padding:0}.os-win:has(.games) .games{gap:0}.os-win:has(.games) .games-list{background:#e8e7ea;border-right:.5px solid #0000001f;padding:2.6em .5em .6em}.os-win:has(.games) .games-detail{padding:2.6em 1.1em 1em}.os-win:has(.games) .games-item{border-radius:.45em;margin-bottom:.15em;padding:.4em .5em}.os-win:has(.games) .games-item[aria-current=true]{background:#00000017}.games-title{font:700 1.35em var(--sans);letter-spacing:-.01em}.visitor-book{color:#2b241d;width:min(56em,100vw - 2em);max-height:calc(100dvh - 2em);font-family:var(--serif);background:linear-gradient(90deg,#efe5d2 0,#f6eedf 48.5%,#d9ccb4 50%,#f6eedf 51.5%,#efe5d2 100%);border:0;border-radius:6px;padding:1.4em 1.6em 1.2em;overflow:auto;box-shadow:0 18px 50px #0000008c}.visitor-book::backdrop{background:#0806048c}.vb-title{margin:0 0 .6em;font-size:1.35em;font-weight:600}.vb-close{float:right;font:.9em var(--sans);color:#2b241d;cursor:pointer;background:#2b241d14;border:1px solid #2b241d40;border-radius:999px;padding:.35em .9em}.vb-pages{grid-template-columns:1fr 1fr;gap:2.6em;display:grid}.vb-page{background-image:repeating-linear-gradient(#0000 0 1.55em,#465f8c2e 1.55em calc(1.55em + 1px));min-width:0}.vb-h{margin:0 0 .5em;font-size:1em;font-weight:600}.vb-list{max-height:22em;margin:0;padding:0;list-style:none;overflow:auto}.vb-entry{border-bottom:1px dashed #2b241d40;padding:.4em 0 .6em}.vb-who{justify-content:space-between;gap:1em;margin:0;font-weight:600;display:flex}.vb-when{font:.8em var(--sans);color:#6b5e50;white-space:nowrap}.vb-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2em 0 .3em}.vb-remove{font:.75em var(--sans);color:#6b5e50;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.vb-empty{color:#6b5e50;font-style:italic}.vb-form{flex-direction:column;gap:.35em;display:flex}.vb-label{font:.85em var(--sans);color:#4a3f34;margin-top:.3em}.vb-name,.vb-note{font:1em var(--serif);color:#2b241d;background:#ffffff8c;border:1px solid #2b241d4d;border-radius:4px;padding:.45em .55em}.vb-note{resize:vertical;min-height:6em}.vb-count{font:.75em var(--sans);color:#6b5e50;align-self:flex-end}.vb-local{font:.85em var(--sans);color:#2b241d;background:#e2a85c40;border-left:3px solid #b57a2e;margin:.4em 0 .2em;padding:.4em .6em}.vb-sign{font:600 .95em var(--sans);color:#fff8ec;cursor:pointer;background:#3b3027;border:0;border-radius:6px;padding:.6em 1em}.vb-sign:disabled{opacity:.45;cursor:not-allowed}.vb-tools{flex-wrap:wrap;justify-content:space-between;gap:.5em;display:flex}.vb-swatches,.vb-widths,.vb-actions{gap:.35em;display:flex}.vb-swatch,.vb-width{cursor:pointer;background:#fff9;border:2px solid #0000;border-radius:50%;place-items:center;width:1.9em;height:1.9em;padding:0;display:grid}.vb-swatch{background:var(--swatch);box-shadow:inset 0 0 0 2px #ffffffb3}.vb-width:after{content:"";width:var(--dot);height:var(--dot);background:#2b241d;border-radius:50%}.vb-swatch[aria-pressed=true],.vb-width[aria-pressed=true]{border-color:#2b241d}.vb-pad{aspect-ratio:8/5;touch-action:none;cursor:crosshair;background:#fffdf8;border:1px solid #2b241d59;border-radius:4px;width:100%;display:block}.vb-pad.locked{opacity:.6;cursor:progress}.vb-pad-help{font:.72em var(--sans);color:#6b5e50;margin:0}.vb-tool{font:.8em var(--sans);color:#2b241d;cursor:pointer;background:#2b241d0f;border:1px solid #2b241d4d;border-radius:4px;padding:.35em .8em}.vb-tool:disabled,.vb-swatch:disabled,.vb-width:disabled{opacity:.45;cursor:not-allowed}.vb-drawing{flex-direction:column;gap:.15em;display:flex}.vb-art{aspect-ratio:8/5;background:#fffdf8;border-radius:3px;width:100%;display:block}.vb-older{font:.8em var(--sans);color:#4a3f34;cursor:pointer;background:#2b241d0f;border:1px solid #2b241d40;border-radius:999px;margin-top:.5em;padding:.3em .9em}.vb-device{border-top:2px solid #2b241d33;margin-top:1.2em;padding-top:.6em}.vb-device-note{font:.78em var(--sans);color:#6b5e50;margin:0 0 .4em}.vb-device-list{max-height:10em}.vb-check{min-height:65px}.vb-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.vb-msg{min-height:1.2em;font:.85em var(--sans);margin:.2em 0 0}.visitor-book :focus-visible{outline-offset:2px;outline:2px solid #b57a2e}@media (max-width:640px){.visitor-book{background:#f4ecdd;padding:1em}.vb-pages{grid-template-columns:1fr;gap:1.2em}.vb-right{order:-1}}.cat-confirm{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);z-index:30;background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;gap:10px;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.cat-confirm[hidden]{display:none}.cat-confirm .btn{min-width:96px}.cat-carry-action{z-index:6;background:var(--panel);border-radius:24px;min-width:88px;min-height:44px;padding:8px 12px;position:fixed}.cat-carry-action[hidden]{display:none}.keyboard-macro,.window-weather{z-index:40;position:fixed;top:68px;left:24px}.radio-test[hidden]{display:none}.os-win{max-width:100%;max-height:100%}.os-win:not([data-active=true]){box-shadow:0 .5em 1.5em #00000040}.os-win:not([data-active=true]) .os-light{background:#bdbdc4}.os-win-bar{cursor:grab}.os-win-bar:active{cursor:grabbing}.os-win-bar:focus-visible{outline-offset:-2px;outline:2px solid #0a72e8}@media (max-width:600px){.computer.fullscreen .os-win:not(.zoomed):not(:fullscreen){width:96%;height:94%}}.wallpaper-credit{color:var(--os-dim);font-size:.72em}.wallpaper-credit a{color:inherit}.radio-tafs{border-bottom:1px solid #5a4330;gap:9px;margin-bottom:12px;padding:12px 0;display:grid}.radio-tafs select{color:#f1e6cf;width:100%;font:inherit;background:#35271b;border:1px solid #806247;border-radius:5px;padding:8px}.radio-tafs label{line-height:1.45}.radio-tafs input{accent-color:#d4b579}.radio-tafs a{color:#e9cd9c}.touch-walk{left:max(18px, calc(env(safe-area-inset-left) + 10px));bottom:max(18px, calc(env(safe-area-inset-bottom) + 10px));z-index:20;border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;opacity:.7;background:#16120f52;border-radius:50%;place-items:center;width:112px;height:112px;transition:opacity .15s;display:grid;position:fixed}.touch-walk[hidden]{display:none}.touch-walk.active{opacity:1}.touch-walk-knob{pointer-events:none;background:#f0e4d26b;border:1px solid #f0e4d28c;border-radius:50%;width:46px;height:46px}.os-icon[data-app=weather] svg,.os-dock-item[data-dock=weather] svg{background:#357fc2}.weather-app{gap:1.2em;max-width:38em;margin:0 auto;display:grid}.weather-intro{margin:0;font-size:1.15em;font-weight:600}.weather-app fieldset{border:0;min-width:0;margin:0;padding:0}.weather-app legend{margin-bottom:.6em;font-weight:600}.weather-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5em;display:grid}.weather-app .os-btn[aria-pressed=true]{color:#fff;background:#1766aa;border-color:#1766aa}.weather-field{grid-template-columns:1fr auto;gap:.5em;display:grid}.weather-field input{accent-color:#1766aa;grid-column:1/-1;width:100%;min-height:32px;margin:0}.weather-time-actions{flex-wrap:wrap;gap:.6em;margin-top:.7em;display:flex}.weather-app .os-note{margin-bottom:0}@media (pointer:coarse),(max-width:600px){.computer.fullscreen .os-win:not(.zoomed):not(:fullscreen){width:96%;height:94%}.os-win-bar{flex-shrink:0;justify-content:flex-start;min-height:48px;padding:0 8px 0 140px}.os-lights{gap:0;left:2px}.os-light,.os-win-close.os-light{border:0;flex:0 0 44px;width:44px;height:44px;background:0 0!important}.os-light:before{border:1px solid #00000040;border-radius:50%;inset:14px}.os-light-close:before{background:#ff5f57}.os-light-min:before{background:#febc2e}.os-light-zoom:before{background:#28c840}.os-win:not([data-active=true]) .os-light:before{background:#bdbdc4}.os-light:after{opacity:1;font-size:13px}.os-win-title{font-size:14px}.os-win-body{overscroll-behavior:contain;font-size:14px}.os-win-body .os-btn{min-height:44px}.weather-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-field input{min-height:44px}.computer.fullscreen .os-dock-item{flex-shrink:0;width:44px;height:44px}.computer.fullscreen .os-dock{max-width:100%;overflow-x:auto}}.keycap-enter{z-index:42;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:8px;padding:0;position:fixed}.keycap-enter:hover,.keycap-enter:focus-visible{outline-offset:3px;border-color:#e9bb75;outline:2px solid #e9bb7580}.keycap-controls{z-index:43;pointer-events:none;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:fixed;inset:16px 16px auto}.keycap-controls[hidden],.keycap-enter[hidden]{display:none}.keycap-controls button{pointer-events:auto;touch-action:none;min-width:48px;min-height:48px}.keycap-controls p{color:#fff1df;background:#171c1dde;border-radius:8px;margin:0;padding:10px 14px;font-size:13px}.boat-pad{gap:10px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:600px){.keycap-controls{inset:12px 12px auto}.keycap-controls p{width:100%;font-size:12px}.boat-pad{bottom:20px}}.os-win:has(.project-app):not(.zoomed):not(:fullscreen){width:94%;height:96%}.os-win:has(.project-app) .os-win-body{padding:0;display:flex;overflow:hidden}.project-app{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.project-tools{border-bottom:1px solid #d0d0d0;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.project-tools .os-btn{min-height:36px;padding:6px 10px;font-size:13px;text-decoration:none}.project-status{color:#555;background:#f3f2ec;margin:0;padding:5px 10px;font-size:11px}.project-app iframe{background:#faf7ee;border:0;flex:1;width:100%;min-height:0}.os-win[data-app-window=projects]:fullscreen{border-radius:0;flex-direction:column;width:100vw;max-width:none;height:100vh;max-height:none;display:flex;inset:0!important}.os-dock-item[data-dock=travl] img{object-fit:contain;border-radius:20%;width:100%;height:100%}@media (max-width:600px){.project-tools .os-btn{min-height:44px}}.vb-swatches{flex-wrap:wrap}.vb-swatch,.vb-width{min-width:44px;min-height:44px}.vb-custom-label{align-items:center;gap:6px;font-size:13px;display:flex}.vb-custom-ink{cursor:pointer;background:#fff9ee;border:1px solid #8e8173;border-radius:6px;width:44px;height:44px;padding:3px}.vb-ink-note{color:#69503c;flex-basis:100%;font-size:12px}.vb-ink-note:empty{display:none}.project-preview{flex:1;padding:24px;overflow:auto}.project-preview>.os-btn{margin-top:24px;display:inline-block}.games{grid-template-rows:minmax(0,1fr);min-height:0}.games-list,.games-detail{min-height:0;overflow-y:auto}.game-bar .os-btn[hidden]{display:none}body:has(.game-layer.expanded:not([hidden])) .back-to-room{visibility:hidden}.game-bar .game-status{font-family:var(--sans);color:#efe7d8;background:#1e1a16e0;border:1px solid #efe7d833;border-radius:.45em;padding:.35em .7em;line-height:1.35}.game-bar .game-status:empty{display:none}.games-item{flex-direction:row;align-items:center;gap:.6em}.games-item-text{flex-direction:column;min-width:0;display:flex}.games-item-icon,.os-icon-img{box-sizing:border-box;object-fit:cover;border-radius:22%;flex:none;box-shadow:0 1px 3px #00000059,inset 0 0 0 1px #ffffff14}.games-item-icon{width:2.2em;height:2.2em}.os-icon-img{width:3em;height:3em}.game-icon-none{color:#ffffff8c;font:600 1em var(--sans);background:#3b3b42;place-items:center;display:grid}.games-art{aspect-ratio:16/9;object-fit:cover;background:#111;border-radius:.5em;width:100%;height:auto;margin-bottom:.8em;display:block}.os-icon[data-app=low-pressure] img,.os-dock-item[data-dock=low-pressure] img{image-rendering:pixelated}.os-win:has(.projects):not(:has(.project-app)):not(.zoomed):not(:fullscreen){width:min(52em,86%);height:auto;max-height:84%}.projects{flex-direction:column;flex:1;min-width:0;min-height:0;padding:0;display:flex}.projects-tabs{scrollbar-width:thin;background:#dedee3;border-bottom:1px solid #c4c4ca;flex:none;align-items:flex-end;gap:4px;min-width:0;padding:.45em .6em 0;display:flex;overflow-x:auto}.projects-tab{font:inherit;color:#3a3a3f;cursor:pointer;background:#ececf0;border:1px solid #c4c4ca;border-bottom:0;border-radius:.55em .55em 0 0;flex:none;align-items:center;gap:.45em;min-width:0;max-width:13em;margin-bottom:-1px;padding:.42em .95em .42em .7em;font-size:.82em;display:inline-flex}.projects-tab:hover{background:#f4f4f7}.projects-tab[aria-selected=true]{color:#1d1d1f;background:#fff;border-bottom:1px solid #fff;font-weight:600;position:relative}.projects-tab-icon{object-fit:cover;border-radius:22%;flex:none;width:1.15em;height:1.15em}.projects-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projects-panel{background:#fff;flex:1;min-height:0;padding:1.1em 1em 1em}.projects-tab:focus-visible,.project-link:focus-visible{outline-offset:2px;outline:2px solid #0a84ff}.project-card{align-items:flex-start;gap:1.2em;display:flex}.project-icon{object-fit:cover;border-radius:22%;flex:none;width:6em;height:6em;box-shadow:0 1px 4px #00000040}.project-icon-initials{color:#fff;letter-spacing:.04em;background:linear-gradient(160deg,#8a7a66,#4f4436);place-items:center;font-size:1.5em;font-weight:600;display:grid}.project-text{min-width:0}.project-name{margin:.1em 0 .15em;font-size:1.3em}.project-category{color:#6e6e73;margin:0;font-size:.85em}.project-desc{margin:.6em 0 .9em;line-height:1.4}.project-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-link{text-decoration:none;display:inline-block}.project-pending{color:#3a3a3c;margin:0;font-size:.9em}.project-soon{color:#0a5fc4;background:#0a84ff1f;border-radius:999px;margin-right:.4em;padding:.12em .6em;font-size:.85em;font-weight:600;display:inline-block}@media (max-width:640px){.os-win:has(.projects):not(:has(.project-app)):not(.zoomed):not(:fullscreen){width:auto}.project-card{flex-direction:column}.projects-tab{flex:none;gap:4px;min-width:44px;min-height:44px;padding-left:5px;padding-right:5px}}.projects-panel:has(.project-app){padding:0;display:flex;overflow:hidden}
