:root{color:#eee9eb;font-synthesis:none;background:#171522;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}#nursery{cursor:crosshair;outline:none;width:100%;height:100%;display:block}.brand{text-shadow:0 2px 20px #08070b;pointer-events:none;align-items:center;gap:12px;display:flex;position:fixed;top:28px;left:32px}.brand h1{color:#f1e7df;letter-spacing:.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.2vw,30px);font-weight:500}.brand p{color:#b7abb4;letter-spacing:.16em;margin:3px 0 0;font-size:12px}.moon{color:#ddb992;font-size:34px;transform:rotate(-18deg)}.presence{color:#cfc5ca;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14111cab;border:1px solid #e2c6b121;border-radius:99px;align-items:center;gap:9px;padding:10px 14px;font-size:12px;display:flex;position:fixed;top:30px;right:32px}.status-dot{background:#d6a16f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #d6a16f}.status-dot[data-status=connected]{background:#91b59e;box-shadow:0 0 12px #91b59e}.status-dot[data-status=disconnected]{box-shadow:none;background:#9d7780}.divider{background:#ffffff24;width:1px;height:13px}.controls{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14111cb8;border:1px solid #e2c6b121;border-radius:16px;align-items:center;gap:10px;padding:9px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #00000038}.controls button{color:#ded4d7;cursor:pointer;background:#4f414c94;border:1px solid #dfbc9f38;border-radius:11px;padding:9px 13px;transition:all .16s}.controls button:hover,.controls button.active{color:#fff3e8;background:#8a5b45ab;border-color:#ebad7e59}.controls button:disabled{cursor:default;opacity:.58}.vr-status{color:#958c94;max-width:220px;margin:0 4px;font-size:10px;line-height:1.35}.controls p{color:#928992;white-space:nowrap;margin:0 7px;font-size:11px}kbd{color:#bbb1b7;border:1px solid #ffffff26;border-radius:4px;padding:1px 4px;font-family:inherit}.quiet-note{color:#cdc2c794;text-align:right;white-space:nowrap;pointer-events:none;max-width:none;font-size:11px;line-height:1.6;position:fixed;bottom:40px;right:32px}.mobile-line-break{display:none}.pointer-hint{color:#ded4d7b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#14111c94;border:1px solid #e2c6b121;border-radius:99px;padding:7px 12px;font-size:11px;transition:opacity .18s;position:fixed;top:94px;left:50%;transform:translate(-50%)}body[data-pointer-locked=true] .pointer-hint{opacity:0}.crosshair{opacity:0;pointer-events:none;border:1px solid #f1d8c4ad;border-radius:50%;width:5px;height:5px;transition:opacity .15s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 7px #f1bc9461}body[data-pointer-locked=true] .crosshair{opacity:1}body[data-xr-presenting=true] .brand,body[data-xr-presenting=true] .presence,body[data-xr-presenting=true] .controls,body[data-xr-presenting=true] .pointer-hint,body[data-xr-presenting=true] .interaction-prompt,body[data-xr-presenting=true] .interaction-message,body[data-xr-presenting=true] .crosshair,body[data-xr-presenting=true] .quiet-note,body[data-xr-presenting=true] .touch-controls{display:none!important}.interaction-message{color:#e9dfe1;opacity:0;pointer-events:none;background:#14111cc2;border-radius:10px;padding:8px 13px;font-size:12px;transition:opacity .18s,transform .18s;position:fixed;bottom:108px;left:50%;transform:translate(-50%,8px)}.interaction-message.visible{opacity:1;transform:translate(-50%)}.interaction-prompt{color:#f0e4dc;opacity:0;pointer-events:none;background:#17131dcc;border:1px solid #e6c6ae33;border-radius:10px;padding:8px 12px;font-size:12px;transition:opacity .16s,transform .16s;position:fixed;bottom:94px;left:50%;transform:translate(-50%,6px)}.interaction-prompt.visible{opacity:1;transform:translate(-50%)}.touch-controls{z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.touch-look-zone{pointer-events:auto;touch-action:none;width:62%;position:absolute;top:76px;bottom:112px;right:0}.touch-move-pad{bottom:calc(18px + env(safe-area-inset-bottom));left:calc(18px + env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;background:#1b17226b;border:1px solid #ecd3c338;border-radius:50%;width:clamp(112px,22vw,138px);height:clamp(112px,22vw,138px);position:absolute;box-shadow:inset 0 0 28px #00000038,0 12px 32px #00000029}.touch-move-pad:before,.touch-move-pad:after{content:"";background:#ebd6c91a;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-move-pad:before{width:52%;height:1px}.touch-move-pad:after{width:1px;height:52%}.touch-move-stick{pointer-events:none;will-change:transform;background:#8b64529e;border:1px solid #f2d7c259;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 6px 18px #00000040,0 0 18px #e0a57e1f}.touch-action{right:calc(20px + env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));z-index:2;color:#fff0e5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;touch-action:manipulation;background:#835242d1;border:1px solid #f1c7a661;border-radius:18px;min-width:104px;max-width:min(42vw,180px);min-height:58px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.25;position:absolute;box-shadow:0 10px 30px #00000047,0 0 22px #de976b1f}.touch-action:disabled{color:#dccfd073;box-shadow:none;background:#352d377a;border-color:#e6cdbe24}.rotate-hint{color:#ebdedcd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14111cb8;border:1px solid #e6c7b12e;border-radius:99px;width:max-content;max-width:80vw;padding:9px 14px;font-size:12px;display:none;position:absolute;top:calc(50% - 18px);left:50%;transform:translate(-50%,-50%)}@keyframes dismiss-rotate-hint{0%,78%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}body[data-touch-controls=true] #nursery{cursor:default;touch-action:none}body[data-touch-controls=true] .pointer-hint,body[data-touch-controls=true] .controls p{display:none}body[data-touch-controls=true] .crosshair{opacity:.8}body[data-touch-controls=true] .brand,body[data-touch-controls=true] .presence,body[data-touch-controls=true] .controls,body[data-touch-controls=true] .quiet-note,body[data-touch-controls=true] .interaction-prompt,body[data-touch-controls=true] .interaction-message{z-index:30}body[data-touch-controls=true] .quiet-note{top:calc(84px + env(safe-area-inset-top));bottom:auto;right:auto;left:calc(18px + env(safe-area-inset-left));color:#ddd0d3ad;text-align:left;white-space:normal;max-width:230px;font-size:11px;line-height:1.55}body[data-touch-controls=true] .mobile-line-break{display:inline}body[data-touch-controls=true] .controls{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:auto;padding:6px;bottom:auto;left:auto;transform:none}body[data-touch-controls=true] .presence{top:calc(74px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));bottom:auto}body[data-touch-controls=true] .interaction-prompt{bottom:calc(104px + env(safe-area-inset-bottom));text-align:center;max-width:min(72vw,360px)}body[data-touch-controls=true] .interaction-message{bottom:calc(150px + env(safe-area-inset-bottom));text-align:center;max-width:min(78vw,420px)}@media (width<=720px){.brand{top:18px;left:18px}.presence{top:auto;bottom:118px;right:18px}.presence #connection-label,.presence .divider{display:none}.controls{justify-content:center;width:calc(100% - 36px);bottom:18px}.controls p,.quiet-note{display:none}.pointer-hint{top:78px}}@media (orientation:portrait) and (pointer:coarse){body[data-touch-controls=true] .rotate-hint{animation:3s ease-out forwards dismiss-rotate-hint;display:block}}@media (height<=520px) and (pointer:coarse){body[data-touch-controls=true] .brand p{display:none}body[data-touch-controls=true] .brand{top:14px;left:16px}body[data-touch-controls=true] .quiet-note{top:54px;left:16px}body[data-touch-controls=true] .presence{top:62px}.touch-move-pad{width:104px;height:104px}.touch-action{min-height:52px;bottom:calc(18px + env(safe-area-inset-bottom))}}
