:root{color:#181716;background:#ece9df;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;overflow:hidden}button{font:inherit}.app-shell,.entry-page,.main-page{position:relative;width:100%;min-height:100vh;background:#ece9df;overflow:hidden}.entry-page{background:linear-gradient(90deg,rgba(24,23,22,.09) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,rgba(24,23,22,.065) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,#f3f1e9,#e5e1d6)}.tone-warm .entry-page{background:linear-gradient(90deg,rgba(48,39,27,.08) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,rgba(48,39,27,.06) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,#f7efe4,#e7dece)}.tone-mist .entry-page{background:linear-gradient(90deg,rgba(70,43,58,.075) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,rgba(70,43,58,.055) 0 1px,transparent 1px) 50% 50% / 4.25rem 4.25rem,linear-gradient(180deg,#f8edf1,#e7dde2)}.scene-wrap{position:absolute;inset:0}.scene-wrap canvas{width:100%!important;height:100%!important;cursor:grab}.scene-wrap canvas:active{cursor:grabbing}.model-status{width:max-content;max-width:min(72vw,18rem);color:#18171694;font-size:.875rem;line-height:1.5;letter-spacing:0;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.boot-overlay{pointer-events:auto;position:fixed;inset:0;z-index:12;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.96),transparent 34rem),linear-gradient(90deg,rgba(24,23,22,.09) 0 1px,transparent 1px) 50% 50% / 3.15rem 3.15rem,linear-gradient(180deg,rgba(24,23,22,.07) 0 1px,transparent 1px) 50% 50% / 3.15rem 3.15rem,linear-gradient(180deg,#f6f4ec,#e7e3d8);overflow:hidden}.boot-overlay:before,.boot-overlay:after{position:absolute;inset:0;content:"";pointer-events:none}.boot-overlay:before{background:linear-gradient(90deg,transparent 0 49.85%,rgba(24,23,22,.12) 49.85% 50.15%,transparent 50.15%),linear-gradient(180deg,transparent 0 49.85%,rgba(24,23,22,.1) 49.85% 50.15%,transparent 50.15%);mask-image:radial-gradient(circle at center,#000 0 18rem,transparent 27rem);-webkit-mask-image:radial-gradient(circle at center,#000 0 18rem,transparent 27rem)}.boot-overlay:after{background:repeating-linear-gradient(0deg,rgba(24,23,22,.045) 0 1px,transparent 1px 5px),radial-gradient(circle at 50% 50%,transparent 0 28rem,rgba(236,233,223,.68) 42rem);mix-blend-mode:multiply;opacity:.42}.boot-grid{position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 48%,rgba(24,23,22,.055) 48% 49%,transparent 49%),linear-gradient(225deg,transparent 0 48%,rgba(24,23,22,.04) 48% 49%,transparent 49%);background-size:8rem 8rem;opacity:.6}.boot-sweep{position:absolute;top:0;bottom:0;width:min(22vw,17rem);background:linear-gradient(90deg,transparent,rgba(24,23,22,.025),rgba(24,23,22,.14),rgba(24,23,22,.025),transparent);mix-blend-mode:multiply}.boot-console{position:fixed;left:50%;top:50%;z-index:1;display:grid;width:min(34rem,calc(100vw - 2rem));transform:translate(-50%,-50%);color:#181716d1;gap:1.05rem}.boot-topline,.boot-meta,.boot-data{font-size:.68rem;letter-spacing:.18em}.boot-topline,.boot-meta{display:flex;justify-content:space-between;color:#18171694}.boot-core{position:relative;display:grid;place-items:center;height:clamp(14rem,34vw,22rem)}.boot-ring,.boot-reticle{position:absolute;border-radius:999px}.boot-ring-outer{width:min(62vw,19rem);height:min(62vw,19rem);border:1px solid rgba(24,23,22,.2);border-top-color:#181716c7;border-right-color:#1817160f}.boot-ring-inner{width:min(43vw,13rem);height:min(43vw,13rem);border:1px dashed rgba(24,23,22,.32)}.boot-reticle{width:min(52vw,16rem);height:min(52vw,16rem);background:linear-gradient(90deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.16) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(180deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.14) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px));box-shadow:inset 0 0 0 1px #18171614}.boot-percent{position:relative;display:flex;align-items:flex-start;color:#181716e0;font-variant-numeric:tabular-nums;line-height:.9}.boot-percent span{font-size:clamp(4.6rem,17vw,9.4rem);font-weight:500}.boot-percent em{margin-left:.35rem;font-size:clamp(1.2rem,3vw,1.75rem);font-style:normal;transform:translateY(.6rem)}.boot-segments{display:grid;grid-template-columns:repeat(18,1fr);gap:.24rem}.boot-segments span{height:.52rem;border:1px solid rgba(24,23,22,.14);background:#ffffff42;transition:background .18s ease,border-color .18s ease,transform .18s ease}.boot-segments span.is-active{border-color:#1817167a;background:#181716d1;transform:translateY(-1px)}.boot-track{height:1px;background:#18171624;overflow:hidden}.boot-track span{display:block;height:100%;background:#181716db}.boot-data{display:flex;gap:.55rem;justify-content:space-between;color:#18171685}.boot-data span{display:grid;min-width:0;gap:.2rem}.boot-data b,.boot-data i{overflow:hidden;font-style:normal;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.boot-data i{color:#181716d6}.boot-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.15rem;color:#181716b8;font-size:.78rem;letter-spacing:0}.boot-error button{border:1px solid rgba(24,23,22,.24);border-radius:999px;background:#181716e0;color:#fffffff0;cursor:pointer;letter-spacing:.12em;padding:.55rem .9rem}.command-hub{position:fixed;left:clamp(4rem,8vw,7rem);bottom:clamp(5rem,14vh,8rem);z-index:6;width:3.3rem;height:3.3rem;opacity:0;pointer-events:none;transform:translate(-.75rem,.75rem) scale(.96);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.command-hub.is-ready{opacity:1;pointer-events:auto;transform:translate(0) scale(1)}.command-hub:before,.command-hub:after{position:absolute;inset:50%;width:10.8rem;height:10.8rem;border-radius:999px;content:"";opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.45);transition:opacity .26s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.command-hub:before{border:1px solid rgba(24,23,22,.08);background:linear-gradient(90deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.08) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(180deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.08) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px))}.command-hub:after{width:7.2rem;height:7.2rem;border:1px dashed rgba(24,23,22,.16)}.command-hub.is-open:before,.command-hub.is-open:after,.command-hub:focus-within:before,.command-hub:focus-within:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.command-hub-button{position:relative;z-index:2;display:grid;place-items:center;width:3.3rem;height:3.3rem;border:1px solid rgba(24,23,22,.16);border-radius:999px;background:#ffffffd1;color:#181716cc;cursor:pointer;outline:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1rem 2.8rem #201e1b29;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.command-hub-button:after{position:absolute;inset:.45rem;border:1px solid rgba(24,23,22,.1);border-radius:inherit;content:""}.command-hub.is-open .command-hub-button,.command-hub-button:hover,.command-hub-button:focus-visible{border-color:#18171642;background:#181716e6;color:#ffffffeb;transform:rotate(45deg)}.command-orbit{position:absolute;inset:0}.command-group{position:absolute;left:50%;top:50%;display:flex;gap:.4rem;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transform-origin:center;animation:command-pop .36s cubic-bezier(.18,.9,.18,1);transition:opacity .22s ease,transform .42s cubic-bezier(.18,.9,.18,1)}.command-hub.is-open .command-group,.command-hub:focus-within .command-group{opacity:1;pointer-events:auto}.command-hub.is-open .command-group-rotate,.command-hub:focus-within .command-group-rotate{transform:translate(-50%,calc(-50% - 4.65rem)) scale(1)}.command-hub.is-open .command-group-view,.command-hub:focus-within .command-group-view{transform:translate(calc(-50% + 5.4rem),calc(-50% - 1.45rem)) scale(1)}.command-hub.is-open .command-group-size,.command-hub:focus-within .command-group-size{transform:translate(calc(-50% + 4.55rem),calc(-50% + 3.45rem)) scale(1)}.command-hub.is-open .command-group-tone,.command-hub:focus-within .command-group-tone{transform:translate(calc(-50% - .4rem),calc(-50% + 5.05rem)) scale(1)}.command-hub.is-open .command-group-light,.command-hub:focus-within .command-group-light{transform:translate(calc(-50% - 4.2rem),calc(-50% + 1.4rem)) scale(1)}.command-option,.command-tone{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid rgba(24,23,22,.12);border-radius:999px;color:#181716a6;cursor:pointer;outline:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 .85rem 2.2rem #201e1b1f;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.command-option{background:#fffc}.command-option:hover,.command-option:focus-visible,.command-tone:hover,.command-tone:focus-visible{transform:translateY(-2px)}.command-option.is-active{border-color:#18171633;background:#181716e6;color:#ffffffeb}.command-tone-paper{background:#f7f5ef}.command-tone-warm{background:#fff0d8}.command-tone-mist{background:#ffeaf2}.command-tone.is-active{border-color:#18171661;box-shadow:inset 0 0 0 1px #fff9,0 0 0 3px #18171614,0 .85rem 2.2rem #201e1b1f}@keyframes command-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:1}}.enter-overlay{pointer-events:none;position:fixed;inset:0;z-index:5;opacity:0;transform:translateY(.85rem);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.enter-overlay.is-ready{opacity:1;transform:translateY(0)}.enter-tether{position:absolute;left:50%;bottom:clamp(5.35rem,12vh,8.2rem);display:grid;justify-items:center;width:1px;height:clamp(5.3rem,15vh,8rem);transform:translate(-50%)}.enter-tether-line{width:1px;height:100%;background:linear-gradient(180deg,#18171600,#18171647,#1817160f)}.enter-tether-pulse{position:absolute;top:0;width:.42rem;height:.42rem;border-radius:999px;background:#181716d1;box-shadow:0 0 1.2rem #18171638;animation:tether-pulse 2.2s cubic-bezier(.3,.8,.3,1) infinite}.enter-target{position:absolute;top:-.95rem;width:1.8rem;height:1.8rem;border:1px solid rgba(24,23,22,.16);border-radius:999px;background:linear-gradient(90deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.18) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(180deg,transparent 0 calc(50% - 1px),rgba(24,23,22,.18) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px))}.enter-button{pointer-events:auto;position:absolute;left:50%;bottom:max(1.3rem,env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:space-between;width:12.5rem;height:3.45rem;border:1px solid rgba(24,23,22,.14);border-radius:999px;background:linear-gradient(90deg,#fffffff0,#ffffffbd),#ffffffd6;color:#181716db;letter-spacing:.12em;padding:0 1rem 0 .46rem;cursor:pointer;outline:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1.2rem 3.5rem #201e1b2e,inset 0 0 0 1px #ffffff80;overflow:hidden;transform:translate(-50%);transition:border-color .18s ease,box-shadow .18s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.enter-button:disabled{cursor:default}.enter-button:focus-visible{border-color:#1817166b;box-shadow:0 0 0 3px #1817161a,0 1.2rem 3.5rem #201e1b2e}.enter-button:hover{transform:translate(-50%) translateY(-3px)}.enter-button:active{transform:translate(-50%) translateY(-1px) scale(.985)}.enter-button-scan{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(24,23,22,.08),transparent);opacity:0;transform:translate(-105%)}.enter-button-orb{position:relative;z-index:2;display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;background:#181716e6;color:#ffffffeb;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.enter-button-text{position:relative;z-index:1;font-size:.95rem;font-weight:500;transition:opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.enter-button-line{position:relative;z-index:1;width:2.55rem;height:1px;background:#1817162e;overflow:hidden;transition:opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.enter-button-line span{display:block;width:60%;height:100%;background:#181716c7;animation:enter-line 1.7s ease-in-out infinite}.enter-button:hover .enter-button-scan{opacity:1;animation:enter-scan .78s ease}.enter-button:hover .enter-button-orb{transform:translate(8.15rem) rotate(-18deg)}.enter-button:hover .enter-button-text{opacity:.72;transform:translate(-.85rem)}.enter-button:hover .enter-button-line{opacity:.18;transform:translate(.45rem)}@keyframes tether-pulse{0%{opacity:0;transform:translateY(0) scale(.72)}22%{opacity:1}to{opacity:0;transform:translateY(100%) scale(1)}}@keyframes enter-line{0%{transform:translate(-105%)}52%,to{transform:translate(175%)}}@keyframes enter-scan{0%{transform:translate(-105%)}to{transform:translate(105%)}}.main-page{display:grid;place-items:center}.main-page h1{margin:0;color:#181716db;font-size:clamp(2rem,8vw,4.8rem);font-weight:500;letter-spacing:.08em}.webgl-fallback{position:fixed;inset:0;display:grid;place-items:center;gap:.75rem;align-content:center;color:#181716c2;background:#ece9df;text-align:center}.webgl-fallback span{font-size:.72rem;letter-spacing:.18em}.webgl-fallback strong{font-size:1rem;font-weight:500}@media(max-width:640px){.app-shell,.entry-page,.main-page{background:linear-gradient(90deg,rgba(24,23,22,.055) 0 1px,transparent 1px) 50% 50% / 3.2rem 3.2rem,linear-gradient(180deg,rgba(24,23,22,.04) 0 1px,transparent 1px) 50% 50% / 3.2rem 3.2rem,linear-gradient(180deg,#ffffffeb,#eeebe2e6)}.command-hub{left:3.15rem;bottom:auto;top:3.2rem;width:3rem;height:3rem}.command-hub-button{width:3rem;height:3rem}.command-hub:before{width:9.8rem;height:9.8rem}.command-hub:after{width:6.3rem;height:6.3rem}.command-option,.command-tone{width:2.08rem;height:2.08rem}.command-group{gap:.28rem}.command-hub.is-open .command-group,.command-hub:focus-within .command-group{opacity:1!important;pointer-events:auto}.command-hub.is-open .command-group-rotate,.command-hub:focus-within .command-group-rotate{transform:translate(calc(-50% - 1.55rem),calc(-50% + 4.05rem)) scale(1)!important}.command-hub.is-open .command-group-view,.command-hub:focus-within .command-group-view{transform:translate(calc(-50% + 4.55rem),calc(-50% + .45rem)) scale(1)!important}.command-hub.is-open .command-group-size,.command-hub:focus-within .command-group-size{transform:translate(calc(-50% + 3.85rem),calc(-50% + 4.15rem)) scale(1)!important}.command-hub.is-open .command-group-tone,.command-hub:focus-within .command-group-tone{transform:translate(calc(-50% + .15rem),calc(-50% + 6.85rem)) scale(1)!important}.command-hub.is-open .command-group-light,.command-hub:focus-within .command-group-light{transform:translate(calc(-50% + 8rem),calc(-50% + 6.65rem)) scale(1)!important}.enter-tether{bottom:clamp(4.95rem,10vh,6.2rem);height:clamp(4.7rem,13vh,6rem)}.enter-button{width:11rem;height:3.08rem;bottom:max(1rem,env(safe-area-inset-bottom))}.enter-button-orb{width:2.14rem;height:2.14rem}.enter-button:hover .enter-button-orb{transform:translate(7rem) rotate(-18deg)}}
