:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#25251f;background:#eeeae3;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}.topbar{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 34px;pointer-events:none}.brand{display:flex;align-items:baseline;gap:13px}.brand-name{font-family:Manrope,sans-serif;font-size:21px;font-weight:700;letter-spacing:.2em}.brand-sub,.status,.eyebrow{font-size:9px;letter-spacing:.18em}.brand-sub{color:#77736b}.status{color:#736e64}.intro{position:absolute;z-index:3;left:8vw;top:50%;transform:translateY(-48%);transition:opacity .4s,transform .4s}.intro.hide{opacity:0;transform:translateY(-44%);pointer-events:none}.eyebrow{color:#837f75;margin:0 0 20px}.intro h1{font:500 clamp(42px,6vw,76px)/.96 Manrope,sans-serif;letter-spacing:-.07em;margin:0;color:#35342f}.copy{font-size:14px;color:#77736b;margin:25px 0 30px}.start{border:0;background:#2d2e29;color:#f6f3ed;padding:14px 19px;font:500 12px 'DM Sans',sans-serif;letter-spacing:.06em;cursor:pointer}.start span{margin-left:24px}.controls{position:absolute;z-index:2;left:50%;bottom:43px;transform:translateX(-50%);display:flex;gap:18px;align-items:center;opacity:0;pointer-events:none;transition:opacity .35s}.controls.ready{opacity:1;pointer-events:auto}.views,.actions{display:flex;align-items:center;gap:5px;padding:5px;background:rgba(249,247,242,.9);border:1px solid rgba(70,66,58,.12);box-shadow:0 8px 30px #25251f12;backdrop-filter:blur(14px)}.controls button{background:transparent;border:0;color:#615e56;font:500 11px 'DM Sans',sans-serif;padding:10px 14px;white-space:nowrap;cursor:pointer}.controls button:hover,.controls button.active{background:#34352f;color:#f7f5ef}.actions button{border-left:1px solid #d8d4cc}.actions button:first-child{border:0}.hint{position:absolute;z-index:2;bottom:15px;left:50%;transform:translateX(-50%);font-size:10px;color:#77736b;white-space:nowrap;opacity:0;transition:opacity .3s}.hint.show{opacity:1}.hint b{letter-spacing:.12em;font-weight:600;color:#55524b}.hint span{padding:0 8px;color:#bbb5a9}.loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:#eeeae3;color:#77736b;font-size:11px;letter-spacing:.05em;transition:opacity .3s}.loading.done{opacity:0;pointer-events:none}.spinner{width:26px;height:26px;border:1px solid #d1ccc2;border-top-color:#686459;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{position:absolute;inset:auto 20px 20px;z-index:5;padding:16px;background:#fff;color:#9b2d23;font-size:13px}@media(max-width:700px){.topbar{padding:19px 20px}.brand-sub{display:none}.intro{left:8vw}.controls{bottom:47px;flex-direction:column;gap:7px;width:calc(100% - 22px)}.views,.actions{justify-content:center;width:100%}.controls button{padding:10px 12px}.hint{font-size:9px;bottom:15px}.status{font-size:8px}}
