:root{--ink: #f4efe6;--dim: rgba(244, 239, 230, .62);--glass: rgba(18, 17, 16, .42);--line: rgba(244, 239, 230, .14);--gold: #d8bf95}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#121110;color:var(--ink);font-family:Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}#loading{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:18px;background:radial-gradient(circle at 50% 40%,#2a2622,#0f0e0d 70%);transition:opacity .9s ease .2s,visibility 0s linear 1.2s}body.ready #loading{opacity:0;visibility:hidden}#loading .mark{font-family:"Noto Serif KR",serif;font-weight:300;letter-spacing:.5em;text-align:center;line-height:1.7;font-size:15px;padding:18px 10px 18px 18px;border:1px solid rgba(216,191,149,.6);color:var(--gold)}#loading p{margin:6px 0 0;font-size:16px;font-weight:300;letter-spacing:.02em}#loading small{color:var(--dim);font-size:12px}#loading .track{width:min(320px,70vw);height:1px;background:#ffffff1f;overflow:hidden}#load-bar{height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform .4s ease}.ui{position:fixed;z-index:10;transition:opacity .5s ease,transform .5s ease}body.clean .ui{opacity:0;pointer-events:none}body:not(.ready) .ui{opacity:0}.brand{top:26px;left:30px;text-shadow:0 1px 18px rgba(0,0,0,.35)}.brand .logo{font-family:"Noto Serif KR",serif;font-weight:500;letter-spacing:.42em;font-size:15px}.brand .sub{margin-top:6px;font-size:10.5px;letter-spacing:.32em;color:var(--dim)}.view-label{margin-top:26px;display:grid;gap:4px}.view-label span{font-size:10px;letter-spacing:.36em;color:var(--gold)}.view-label strong{font-family:"Noto Serif KR",serif;font-weight:300;font-size:30px;letter-spacing:.02em}.side{top:22px;right:22px;width:196px;padding:12px;border-radius:14px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}#mini-plan svg{width:100%;height:auto;display:block}.plan-room rect{fill:#f4efe612;stroke:#f4efe659;stroke-width:1.4;transition:fill .2s}.plan-room text{fill:var(--dim);font-size:13px;text-anchor:middle;pointer-events:none}.plan-room.link{cursor:pointer}.plan-room.link:hover rect{fill:#d8bf9540}.plan-room.current rect{fill:#d8bf9566;stroke:var(--gold)}.plan-room.current text{fill:var(--ink)}.people{display:flex;gap:6px;margin-top:10px}.people button{flex:1;padding:6px 0;border-radius:8px;font-size:12px;border:1px solid var(--line);color:var(--dim)}.people button.active{border-color:var(--gold);color:var(--ink);background:#d8bf9529}#status{margin:8px 0 0;font-size:11px;color:var(--dim);line-height:1.5}.dock{left:50%;bottom:26px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px;border-radius:16px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);max-width:calc(100vw - 24px)}.dock .group{display:flex;align-items:center;gap:2px;padding:0 2px}.dock .group+.group,.dock .group+#pt{border-left:1px solid var(--line);padding-left:8px}.dock button{padding:8px 12px;border-radius:10px;font-size:13px;color:var(--dim);white-space:nowrap;transition:background .2s,color .2s}.dock button:hover{color:var(--ink);background:#ffffff0f}.dock button.active{color:#1b1814;background:var(--ink)}.dock .sep{width:1px;height:18px;background:var(--line);margin:0 4px}#pt{display:flex;align-items:center;gap:7px;color:var(--gold);border:1px solid rgba(216,191,149,.45)}#pt .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:.5}#pt.busy .dot{animation:pulse 1s infinite;opacity:1}#pt.on{background:var(--gold);color:#1b1814}#pt.on .dot{background:#1b1814;opacity:1;animation:pulse 1.6s infinite}#pt-samples{font-variant-numeric:tabular-nums;font-size:11px;opacity:.75}#pt:not(.on) #pt-samples{display:none}@keyframes pulse{50%{opacity:.25}}#hide-ui{font-size:12px!important}.credit{left:30px;right:240px;bottom:6px;display:flex;justify-content:space-between;gap:16px;font-size:10.5px;color:#f4efe680;pointer-events:none}.credit a{color:inherit;pointer-events:auto}@media(max-width:900px){.side{width:150px;padding:9px}.view-label strong{font-size:22px}.dock{flex-wrap:wrap;justify-content:center;bottom:14px}.dock .group.views{flex-wrap:wrap;justify-content:center}.credit span:first-child{display:none}}@media(max-width:560px){.brand{top:16px;left:16px}.side{display:none}.dock button{padding:6px 8px;font-size:12px}.credit{left:12px;right:12px}}
