:root{--bg-pink: #fad9ee;--bg-lavender: #efe1f8;--bg-mist: #f9f4fd;--bg-page: #0a0908;--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:#ffffffd9}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:.75rem;padding:max(.5rem,env(safe-area-inset-top)) 1.25rem .5rem;pointer-events:none;z-index:10}.topbar>*{pointer-events:auto}.lockup{display:flex;flex-direction:column;gap:.3rem}.lockup-pill{align-self:flex-start;color:#fff;background:linear-gradient(120deg,var(--accent-blue),var(--jewel-violet));padding:.22rem .8rem;border-radius:999px;font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lockup-by{display:flex;align-items:center;gap:.32rem;padding-left:.2rem;font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb8;white-space:nowrap}.lockup-logo{height:24px;display:block}.spacer{flex:1;pointer-events:none}.hud-btn{font:inherit;font-size:.95rem;flex:0 0 auto;width:40px;height:40px;aspect-ratio:1;padding:0;display:grid;place-items:center;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;transition:background .15s ease}.hud-btn:hover{background:var(--accent-blue)}.mode-btn{font:inherit;font-size:.85rem;font-weight:600;flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.42rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.mode-btn:hover{background:#ffffff38}.mode-dot{width:7px;height:7px;border-radius:50%;background:#ffffff73;transition:background .15s ease,box-shadow .15s ease}.mode-btn.on{background:var(--accent-blue);border-color:#ffffff80}.mode-btn.on .mode-dot{background:#fff;box-shadow:0 0 0 3px #ffffff40}.lang-dropdown{position:relative;flex:0 0 auto}.lang-dropdown-trigger{font:inherit;flex:0 0 auto;width:40px;height:40px;aspect-ratio:1;padding:0;display:grid;place-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;transition:background .15s ease}.lang-dropdown-trigger:hover{background:#ffffff38}.lang-flag{width:22px;height:22px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.lang-dropdown-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;display:flex;flex-direction:column;min-width:9.5rem;padding:.35rem;background:#0a0908eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.28);border-radius:1rem}.lang-dropdown-option{font:inherit;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.55rem;color:#ffffffbf;background:transparent;border:none;border-radius:.7rem;padding:.5rem .6rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.lang-dropdown-option:hover{background:#ffffff24;color:#fff}.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}.gyro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.beta-tag{font-size:.6em;font-weight:400;opacity:.85;margin-left:.15rem}.gyro-hud{position:absolute;top:calc(3.6rem + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem}.gyro-badge{background:#21395bd1;color:#fff;font-size:.75rem;padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.25)}.gyro-exit{font:inherit;width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#21395bd1;border:1px solid rgba(255,255,255,.25);border-radius:50%;cursor:pointer;font-size:1.05rem;line-height:1}.status-overlay{position:absolute;inset:0;display:grid;place-items:center;z-index:5;pointer-events:none}.status-overlay .status-pill{position:static;transform:none}.status-pill{position:absolute;top:calc(3.6rem + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:5;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)}.info-card{position:absolute;top:calc(5rem + env(safe-area-inset-top));left:1.25rem;max-width:min(340px,calc(100vw - 2.5rem));background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.65);border-radius:1.1rem;padding:1.1rem 1.25rem 1rem;box-shadow:0 10px 34px #101d3359}.info-tag{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-blue);margin-bottom:.3rem}.info-title{margin:0 0 .45rem;font-size:1.25rem;font-weight:700;color:var(--ink-navy)}.info-description{margin:0 0 .7rem;font-size:.85rem;line-height:1.5;color:var(--ink-navy)}.info-credit{margin:0;font-size:.66rem;line-height:1.45;color:#21395b8c}.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}.card.loading .swatch{animation:card-loading-pulse .9s ease-in-out infinite}@keyframes card-loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.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)}.hint-touch{display:none}@media(hover:none)and (pointer:coarse){.hint-desktop{display:none}.hint-touch{display:inline}}.credit{font-size:.7rem;color:#fff;opacity:.55;text-shadow:0 1px 6px rgba(16,29,51,.8)}@media(max-width:640px){.topbar{padding:max(.4rem,env(safe-area-inset-top)) .8rem .4rem}.lockup-pill{font-size:.86rem;padding:.16rem .55rem}.lockup-by{display:none}.catalog{max-width:100vw;bottom:calc(5rem + env(safe-area-inset-bottom));padding:.4rem .75rem}.hint-desktop{display:none}.hint-touch{display:inline}.card{min-height:44px;padding:.5rem .85rem}.hintline{bottom:calc(.6rem + env(safe-area-inset-bottom));padding:0 .75rem}.hint{font-size:.72rem}.credit{max-width:92vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill{max-width:86vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
