:root{--bg:#14110f;--fg:#f3ede2;--muted:#b9ad99;--accent:#e8d9b5;--panel:#14110fdb;color:var(--fg);background:var(--bg);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}a{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.grab{cursor:grab}#scene.grabbing{cursor:grabbing}#scene.pointer{cursor:pointer}.hud{z-index:2;pointer-events:none;position:fixed}.hud a,.hud button{pointer-events:auto}.hud-top{padding:max(16px, env(safe-area-inset-top)) 22px 16px;justify-content:space-between;align-items:center;display:flex;top:0;left:0;right:0}.brand{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600}.hud-links{letter-spacing:.08em;text-transform:uppercase;gap:20px;font-size:13px;display:flex}.hud-links a{color:var(--fg);opacity:.8;text-decoration:none}.hud-links a:hover{opacity:1}.hud-hint{bottom:max(18px, env(safe-area-inset-bottom));color:var(--muted);letter-spacing:.05em;white-space:nowrap;margin:0;font-size:12px;transition:opacity .6s;left:50%;transform:translate(-50%)}.hud-hint.hidden{opacity:0}.loader{z-index:10;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .8s;display:flex;position:fixed;inset:0}.loader.done{opacity:0;pointer-events:none}.loader-name{letter-spacing:.3em;text-transform:uppercase;font-size:14px}.loader-bar{background:#ffffff1f;width:180px;height:2px}.loader-bar span{background:var(--accent);width:0;height:100%;transition:width .2s;display:block}.loader.error .loader-bar{display:none}.panel{z-index:3;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:12px;width:min(380px,100%);padding:80px 28px 28px;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.panel.open{transform:none}.panel h2{margin:0;font-size:26px;font-weight:600}.panel p{color:var(--fg);margin:0;line-height:1.55}.panel .panel-meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:13px}.panel-back{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;padding:0;font-size:13px;position:absolute;top:22px;left:28px}.panel-back:hover{color:var(--fg)}#panel-link[hidden]{display:none}.panel-nav{justify-content:space-between;margin-top:auto;display:flex}.panel-nav button{background:0 0;border:1px solid #fff3;border-radius:2px;padding:8px 14px}.panel-nav button:hover{border-color:var(--accent)}@media (width<=640px){.panel{width:100%;max-height:52%;padding:56px 20px 20px;top:auto;transform:translateY(100%)}.panel-back{top:18px;left:20px}.hud-hint{white-space:normal;text-align:center;width:90%}}.works{z-index:5;background:#14110ff0;display:none;position:fixed;inset:0;overflow-y:auto}.works.open{display:block}.works-inner{max-width:760px;margin:0 auto;padding:80px 24px 40px;position:relative}.works ul{margin:0;padding:0;list-style:none}.works li{cursor:pointer;border-top:1px solid #ffffff1a;padding:18px 0}.works li:hover h3{color:var(--accent)}.works h3{margin:0 0 6px;font-size:18px}.works p{color:var(--muted);margin:0;line-height:1.5}.works-close{background:0 0;border:0;font-size:32px;line-height:1;position:absolute;top:24px;right:24px}.no-webgl .works{background:var(--bg);display:block}.no-webgl .works-close,.no-webgl #scene,.no-webgl .hud-hint,.no-webgl #toggle-list,.no-webgl .loader{display:none}.noscript{text-align:center;z-index:20;background:#000;margin:0;padding:12px;position:fixed;bottom:0;left:0;right:0}
