:root{--bg-pink: #fad9ee;--bg-lavender: #efe1f8;--bg-mist: #f9f4fd;--bg-page: #f9f5fd;--ink-navy: #21395b;--accent-blue: #2e6cf0;--jewel-pink: #ff9fe0;--jewel-sky: #a4c9fe;--jewel-cyan: #abedff;--jewel-lavender: #d7bafb;--jewel-violet: #c8a2ff;--hairline: #d3c2ca;font-family:MuseoModerno,system-ui,sans-serif;color:var(--ink-navy)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}.app{position:relative;height:100dvh;background:var(--bg-page)}.viewport{position:absolute;inset:0}.boot{height:100%;display:grid;place-items:center;font-size:1.05rem;color:var(--ink-navy)}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;pointer-events:none}.topbar>*{pointer-events:auto}.logo{height:30px;display:block}.apptitle{font-size:1.05rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--accent-blue),var(--jewel-violet));padding:.2rem .7rem;border-radius:999px}.spacer{flex:1;pointer-events:none}.vr-btn{font:inherit;font-weight:600;color:#fff;background:var(--ink-navy);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.55rem 1.4rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.vr-btn:hover:not(:disabled){background:var(--accent-blue);transform:translateY(-1px)}.vr-btn:disabled{opacity:.55;cursor:not-allowed}.status-pill{position:absolute;top:4.4rem;left:50%;transform:translate(-50%);background:#ffffffeb;border:1px solid var(--hairline);border-radius:999px;padding:.4rem 1.1rem;font-size:.9rem;box-shadow:0 4px 18px #21395b1f}.status-pill.error{color:#b3245e;border-color:var(--jewel-pink)}.catalog{position:absolute;left:50%;bottom:3.4rem;transform:translate(-50%);display:flex;gap:.6rem;max-width:min(94vw,900px);overflow-x:auto;padding:.4rem;scrollbar-width:none;--fade-left: 0px;--fade-right: 0px;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent)}.catalog.fade-left{--fade-left: 48px}.catalog.fade-right{--fade-right: 48px}.card{font:inherit;display:flex;align-items:center;gap:.55rem;padding:.5rem .9rem;border-radius:1rem;border:1px solid rgba(255,255,255,.6);background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink-navy);cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #21395b29}.card.active{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue) inset,0 6px 20px #2e6cf033}.swatch{width:14px;height:14px;border-radius:50%;background:var(--accent, var(--jewel-sky));border:1px solid rgba(33,57,91,.15)}.card-name{font-weight:600}.card-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.hintline{position:absolute;left:50%;bottom:.85rem;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center;pointer-events:none;max-width:94vw}.hint{font-size:.8rem;color:#fff;opacity:.85;text-shadow:0 1px 6px rgba(16,29,51,.8)}.credit{font-size:.7rem;color:#fff;opacity:.55;text-shadow:0 1px 6px rgba(16,29,51,.8)}
