:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--accent:#c9e7c8;--accent-strong:#79b79a;--accent-dark:#214635;--panel:#335b45d6;--panel-border:#e8f4d9c7;--text:#fffde4;--muted:#ffffefc2;--shadow:0 18px 54px #00000057;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{background:#09120f;width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #fff8b2}button:disabled{cursor:wait;opacity:.68}[hidden]{display:none!important}.app-shell{isolation:isolate;width:100%;height:100%;min-height:100svh;color:var(--text);--safe-top:max(16px, env(safe-area-inset-top));--safe-right:max(16px, env(safe-area-inset-right));--safe-bottom:max(14px, env(safe-area-inset-bottom));--safe-left:max(16px, env(safe-area-inset-left));background:#13271f;position:relative;overflow:hidden}.app-shell[data-template=horse]{--accent:#d8eee1;--accent-strong:#8cc2ad;--accent-dark:#315e55;--panel:#699e89c9;--panel-border:#e8f9ead1}.app-shell[data-template=camel]{--accent:#fff0bc;--accent-strong:#d6a15e;--accent-dark:#6d451e;--panel:#77461bdb;--panel-border:#ffecbed1}.camera-feed,.fallback-world,.animal-canvas{width:100%;height:100%;position:absolute;inset:0}.camera-feed{z-index:0;object-fit:cover;opacity:0;filter:saturate(.84)contrast(1.04)brightness(.65)blur(1px);transition:opacity .24s}.has-camera:not(.camera-off) .camera-feed{opacity:1}.fallback-world{z-index:0;background:linear-gradient(#0a16111a,#030907c2),radial-gradient(circle at 26% 32%,#5d755f 0,#294237 33%,#0e1a15 72%);transition:opacity .24s;overflow:hidden}[data-template=horse] .fallback-world{background:linear-gradient(#314c4f4d,#121d1cd6),radial-gradient(circle at 70% 34%,#99aaa1 0,#577070 38%,#243b3c 78%)}[data-template=camel] .fallback-world{background:linear-gradient(#85a3a440,#71421861),radial-gradient(circle at 50% 18%,#d8e3dc 0,#adbdb7 26%,#d39a5e 66%,#9a5e2e 100%)}.has-camera:not(.camera-off) .fallback-world{opacity:.38;mix-blend-mode:multiply}.world-glow{filter:blur(36px);border-radius:50%;position:absolute}.world-glow-one{background:#cbeabb3b;width:80vw;height:58vw;top:8%;right:-15%}.world-glow-two{background:#975c2c30;width:92vw;height:80vw;bottom:-12%;left:-25%}.world-grain{opacity:.18;background-image:repeating-linear-gradient(115deg,#0000 0 3px,#ffffff06 4px);position:absolute;inset:0}.animal-canvas{z-index:2;opacity:1;cursor:grab;touch-action:none;transition:opacity .18s}.animal-canvas.is-dragging{cursor:grabbing}.is-loading-model .animal-canvas{opacity:0}.intro-screen{z-index:20;padding:calc(var(--safe-top) + 8px) var(--safe-right) var(--safe-bottom) var(--safe-left);background:linear-gradient(#040c0959 0%,#040c091f 50%,#040c09d1 100%),radial-gradient(circle at 70% 38%,#0000 0,#040c096b 68%);flex-direction:column;transition:opacity .3s,visibility .3s;display:flex;position:absolute;inset:0}.is-live .intro-screen{visibility:hidden;opacity:0;pointer-events:none}.intro-brand{width:fit-content;color:var(--accent);letter-spacing:.1em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:inline-flex}.brand-mark{background:#2d563e7a;border:1px solid #e9f6d673;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.brand-mark svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:21px}.intro-copy{margin-top:clamp(80px,16vh,156px)}.intro-copy>p:first-child{color:var(--accent);letter-spacing:.32em;margin:0 0 14px;font-size:13px}.intro-copy h1{color:#fffde7;letter-spacing:-.04em;text-shadow:0 8px 24px #0000006b;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(50px,15vw,82px);font-weight:700;line-height:.98}.intro-copy h1 span{color:var(--accent)}.intro-description{color:#ffffefd6;max-width:320px;margin:24px 0 0;font-size:16px;line-height:1.8}.intro-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#163326b3;border:1px solid #e2f4d347;border-radius:28px;margin-top:auto;padding:18px}.primary-button{color:#fffde7;background:linear-gradient(135deg,#79ad8e,#3b765d);border:1px solid #fff8c18c;border-radius:999px;justify-content:center;align-items:center;gap:14px;width:100%;min-height:56px;font-size:17px;font-weight:700;text-decoration:none;transition:filter .18s,background .18s;display:flex;box-shadow:0 10px 28px #00000040}.primary-button:hover{filter:brightness(1.08)}.primary-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px}.intro-card p{color:#ffffefad;justify-content:center;align-items:center;gap:7px;margin:13px 0 0;font-size:12px;display:flex}.intro-card p svg{stroke:currentColor;stroke-width:1.6px;width:15px}.experience-screen{z-index:5;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s,visibility .3s;position:absolute;inset:0}.is-live .experience-screen{visibility:visible;opacity:1}.is-live .control-rail button,.is-live .animal-navigation button,.is-live .info-panel,.is-live .photo-button{pointer-events:auto}.experience-header{z-index:12;top:var(--safe-top);right:var(--safe-right);left:var(--safe-left);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.picker-trigger,.mode-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#0c1f189e;border:1px solid #f1fae257;border-radius:999px;align-items:center;min-height:44px;display:flex;box-shadow:0 8px 24px #0003}.picker-trigger{color:#fffde7;gap:8px;padding:5px 13px 5px 5px}.picker-count{background:var(--accent-strong);color:#11271d;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.picker-trigger>span:nth-child(2){font-size:13px;font-weight:600}.picker-trigger svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:16px}.mode-badge{color:#ffffefdb;gap:8px;min-height:38px;padding:0 13px;font-size:11px}.mode-badge>span{background:#a8dda9;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #a8dda91f}.mode-badge strong{font-weight:600}.status-message{z-index:40;top:calc(var(--safe-top) + 56px);color:#fffde7;text-align:center;visibility:hidden;opacity:0;background:#171e1ae0;border:1px solid #fff5d247;border-radius:14px;width:max-content;max-width:calc(100% - 32px);padding:10px 15px;font-size:12px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;left:50%;transform:translate(-50%,-10px)}.status-message.is-visible{visibility:visible;opacity:1;transform:translate(-50%)}.animal-identity{z-index:6;top:calc(var(--safe-top) + 62px);left:var(--safe-left);text-shadow:0 3px 14px #00000094;pointer-events:none;max-width:calc(100% - 112px);position:absolute}.template-title{z-index:9;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;display:none;position:absolute}.animal-identity p{color:var(--accent);letter-spacing:.24em;margin:0 0 2px;font-size:10px;font-weight:700}.animal-identity h1{color:#fff9cb;letter-spacing:.08em;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(34px,10vw,52px);line-height:1.08}.animal-identity span{color:#ffffefc2;letter-spacing:.08em;margin-top:4px;font-size:12px;display:block}.control-rail{z-index:10;top:clamp(130px,20vh,190px);right:var(--safe-right);flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute}.rail-button{color:#ffffefb8;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;min-width:58px;padding:0;display:flex}.rail-button>span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c3228b3;border:1px solid #fff7be61;border-radius:50%;place-items:center;width:50px;height:50px;transition:background .18s,border-color .18s;display:grid;box-shadow:0 6px 18px #00000047}[data-template=camel] .rail-button>span{background:#633816b8}.rail-button.is-active>span{background:color-mix(in srgb, var(--accent-strong) 68%, transparent);border-color:#fff9c0b8}.rail-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:25px}.rail-button small{white-space:nowrap;text-shadow:0 2px 6px #000000a6;font-size:10px}.animal-navigation{z-index:9;align-items:center;gap:16px;display:flex;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.animal-navigation>button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#467458ad;border:1px solid #fff6be8c;border-radius:50%;place-items:center;min-width:50px;height:50px;padding:0;display:grid;box-shadow:0 8px 24px #0000003d}[data-template=camel] .animal-navigation>button{background:#693c1aad}.animal-navigation svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:26px}.animal-navigation .current-animal-button{color:#ffffefd1;border-radius:999px;align-items:center;gap:6px;min-width:70px;height:44px;padding:0 13px;font-size:11px;display:flex}.current-animal-button i{background:#ffffef73;width:18px;height:1px}.info-panel{z-index:8;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 79px);left:var(--safe-left);border:1px solid var(--panel-border);background:linear-gradient(135deg, #ffffff21, transparent 46%), var(--panel);min-height:238px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff2e;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);border-radius:30px;padding:22px 20px 18px;position:absolute;overflow:hidden}[data-template=camel] .info-panel{display:none}.info-panel:before{content:"";pointer-events:none;border:1px solid #e8f4d929;border-radius:23px;position:absolute;inset:9px}.info-panel h2{color:#fff9c5;letter-spacing:.18em;text-align:center;text-shadow:0 4px 14px #0000004d;margin:0 0 14px;font-family:STKaiti,KaiTi,serif;font-size:32px;position:relative}.info-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.info-tabs button{color:#ffffefc7;background:#acd6ba29;border:1px solid #fff8ca47;border-radius:999px;min-height:42px;padding:7px 5px;font-size:13px;font-weight:600;transition:background .18s,color .18s}.info-tabs button[aria-selected=true]{color:#fffde7;background:#b2dfc157;border-color:#fff8caad}.info-content{color:#fffef2;min-height:64px;margin:14px 2px 12px;font-size:13px;line-height:1.72;position:relative}.animal-facts{border-top:1px solid #ffffed2e;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.animal-facts div{text-align:center;min-width:0;padding:10px 8px 0}.animal-facts div+div{border-left:1px solid #ffffed24}.animal-facts span,.animal-facts strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.animal-facts span{color:#ffffef94;font-size:9px}.animal-facts strong{color:#fffde7;margin-top:2px;font-size:11px}.ornament{opacity:.76;border-top:3px double #eaf7d973;border-bottom:1px solid #eaf7d959;width:38px;height:18px;position:absolute;top:23px}.ornament-left{left:24px;transform:skew(-22deg)}.ornament-right{right:24px;transform:scaleX(-1)skew(-22deg)}.photo-button{z-index:10;bottom:var(--safe-bottom);color:#fffde7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#73ae8ceb,#366c50eb);border:1px solid #fff7be94;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:174px;min-height:58px;font-size:17px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000004d}[data-template=camel] .photo-button{background:linear-gradient(135deg,#9f6731f0,#643918f0)}.photo-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:27px}.drag-hint{z-index:7;bottom:calc(var(--safe-bottom) + 359px);color:#ffffe2cc;pointer-events:none;flex-direction:column;align-items:center;gap:4px;font-size:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}[data-template=camel] .drag-hint{bottom:calc(var(--safe-bottom) + 142px)}.drag-hint svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:32px}.hotspot-layer{z-index:7;pointer-events:none;position:absolute;inset:0}.camel-instruction{z-index:8;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 82px);left:var(--safe-left);color:#fff0c6;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#643918b8;border:1px solid #ffefbf6b;border-radius:999px;margin:0;padding:12px 18px;font-size:13px;display:none;position:absolute;box-shadow:0 9px 26px #00000038}[data-template=camel] .camel-instruction{display:block}.anatomy-hotspot{color:#e9faff;opacity:0;text-shadow:0 1px 5px #002f49;visibility:hidden;pointer-events:none;background:#1084b633;border:0;border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;font-size:12px;font-weight:700;transition:opacity .18s,visibility .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}[data-model-state=ready] .anatomy-hotspot.is-model-visible{opacity:1;visibility:visible;pointer-events:auto}.hotspot-rings,.hotspot-rings i{border:2px solid #00ade0c7;border-radius:50%;position:absolute;inset:0}.hotspot-rings i:first-child{border-style:dashed;inset:8px}.hotspot-rings i:nth-child(2){border-width:1px;inset:16px}.hotspot-rings i:nth-child(3){border-color:#00ade047;animation:2s ease-in-out infinite hotspot-pulse;inset:-6px}[data-template]:not([data-template=camel]) .hotspot-layer{display:none}.loading-layer{z-index:18;color:#ffffefd1;pointer-events:none;flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.app-shell:not(.is-live) .loading-layer{display:none}.loading-layer span{border:3px solid #ffffeb33;border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.loading-layer p{background:#07100c94;border-radius:999px;margin:0;padding:7px 11px}.modal-backdrop{z-index:50;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a07a8;transition:opacity .22s;position:absolute;inset:0}.modal-backdrop.is-open{opacity:1}.motion-permission-backdrop{z-index:58}.motion-permission-dialog{z-index:60;text-align:center;opacity:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#142d22f5;border:1px solid #eef7d87a;border-radius:26px;width:min(100% - 40px,360px);padding:24px 22px 18px;transition:transform .22s,opacity .22s;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(12px - 50%));box-shadow:0 22px 60px #0000006b}[data-template=camel] .motion-permission-dialog{background:#5c3519f5;border-color:#ffe7b18c}.motion-permission-dialog.is-open{opacity:1;transform:translate(-50%,-50%)}.motion-permission-icon{color:#fffbdc;background:#89be9a33;border:1px solid #fff8cd6b;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid}.motion-permission-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:28px}.motion-permission-dialog h2{color:#fff9d9;margin:0;font-size:21px}.motion-permission-dialog p{color:#ffffefc7;margin:10px 0 18px;font-size:14px;line-height:1.7}.motion-permission-actions{gap:8px;display:grid}.motion-permission-actions button{border-radius:999px;min-height:46px}#motion-permission-enable-button{color:#fffde7;background:linear-gradient(135deg,#7fba98,#40785e);border:1px solid #fff9cb94;font-weight:700}[data-template=camel] #motion-permission-enable-button{background:linear-gradient(135deg,#bd8148,#75451f)}#motion-permission-skip-button{color:#ffffefad;background:0 0;border:0}.animal-picker{z-index:55;max-height:min(78svh,720px);padding:24px var(--safe-right) calc(var(--safe-bottom) + 8px) var(--safe-left);background:#122b20f7;border-top:1px solid #eaf6dc7a;border-radius:30px 30px 0 0;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:translateY(104%);box-shadow:0 -22px 60px #0000006b}.animal-picker.is-open{transform:translateY(0)}.animal-picker header,.photo-dialog header{justify-content:space-between;align-items:flex-start;display:flex}.animal-picker header p,.photo-dialog header p{color:var(--accent);letter-spacing:.24em;margin:0 0 2px;font-size:9px;font-weight:700}.animal-picker header h2,.photo-dialog header h2{margin:0;font-size:27px}.animal-picker header button,.photo-dialog header button,.hotspot-dialog>button{background:#ffffff14;border:1px solid #ffffef38;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.animal-picker header svg,.photo-dialog header svg,.hotspot-dialog>button svg{stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:21px}.animal-picker-grid{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(min(78svh,720px) - 95px);margin-top:20px;padding-bottom:10px;display:grid;overflow-y:auto}.animal-picker-grid button{text-align:left;background:#ffffff0e;border:1px solid #e7f6d726;border-radius:18px;align-items:center;gap:11px;min-height:72px;padding:10px;transition:background .18s,border-color .18s;display:flex}.animal-picker-grid button:hover,.animal-picker-grid button.is-current{background:#7cb39136;border-color:#fff8c18a}.animal-picker-grid button>span:first-child{width:38px;height:38px;color:var(--accent);background:#87be992e;border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.animal-picker-grid button>span:last-child{min-width:0}.animal-picker-grid strong,.animal-picker-grid small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.animal-picker-grid strong{font-size:15px}.animal-picker-grid small{color:#ffffef85;margin-top:3px;font-size:9px}.hotspot-dialog{z-index:45;top:calc(var(--safe-top) + 68px);right:var(--safe-right);left:var(--safe-left);min-height:154px;box-shadow:var(--shadow);opacity:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#644422e6;border:1px solid #fff1c77a;border-radius:24px;padding:20px 58px 20px 76px;transition:transform .22s,opacity .22s;position:absolute;transform:translateY(-14px)}.hotspot-dialog.is-open{opacity:1;transform:translateY(0)}.hotspot-dialog>button{position:absolute;top:12px;right:12px}.hotspot-dialog-symbol{width:46px;height:46px;color:var(--accent);background:#ffecb61f;border:1px solid #fff1c780;border-radius:14px;place-items:center;font-family:STKaiti,KaiTi,serif;font-size:21px;display:grid;position:absolute;top:24px;left:20px}.hotspot-dialog-copy>p:first-of-type{color:var(--accent);letter-spacing:.18em;margin:2px 0 4px;font-size:10px}.hotspot-dialog h2{color:#fff9d5;margin:0;font-size:20px}.hotspot-dialog-copy>p:nth-of-type(2){color:#ffffefdb;margin:8px 0 0;font-size:13px;line-height:1.7}.hotspot-detail-image{object-fit:cover;display:block}.hotspot-detail-tabs{gap:6px;margin-top:10px;display:flex}.hotspot-detail-tabs button{background:#ffffff14;border:1px solid #fff7d357;border-radius:999px;min-height:32px;padding:0 12px;font-size:11px}.hotspot-detail-tabs button[aria-pressed=true]{background:#fff0c233;border-color:#fff7d3b8}.photo-dialog{z-index:56;width:min(100% - 32px,480px);max-height:calc(100svh - 32px);box-shadow:var(--shadow);opacity:0;background:#0f231bf5;border:1px solid #eaf6dc7a;border-radius:28px;padding:20px;transition:transform .22s,opacity .22s;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,calc(14px - 50%))}.photo-dialog.is-open{opacity:1;transform:translate(-50%,-50%)}.photo-frame{background:#ffffff0f;border:1px solid #fffada47;border-radius:20px;margin-top:16px;padding:7px}.photo-frame img{object-fit:contain;background:#09120f;border-radius:14px;width:100%;max-height:54svh;display:block}.photo-actions{grid-template-columns:1fr auto;gap:10px;margin-top:16px;display:grid}.photo-actions .primary-button{min-height:50px}.photo-actions>button{background:#ffffff12;border:1px solid #ffffef3d;border-radius:999px;min-height:50px;padding:0 18px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hotspot-pulse{0%,to{opacity:.34;transform:scale(.9)}50%{opacity:.76;transform:scale(1.1)}}@media (height<=700px) and (orientation:portrait){.animal-identity span,.drag-hint{display:none}.control-rail{gap:8px;top:118px}.rail-button>span{width:44px;height:44px}.info-panel{min-height:210px;padding:17px 16px 13px}.info-panel h2{margin-bottom:9px;font-size:26px}.info-content{min-height:50px;margin:9px 2px 7px;font-size:12px;line-height:1.55}.info-tabs button{min-height:38px;font-size:11px}}@media (width>=700px) and (orientation:landscape){.animal-identity{top:calc(var(--safe-top) + 72px);left:calc(var(--safe-left) + 10px)}.animal-navigation{top:auto;right:48%;bottom:calc(var(--safe-bottom) + 18px);left:auto;transform:none}.control-rail{top:50%;right:calc(44% + 22px);transform:translateY(-50%)}.info-panel{top:calc(var(--safe-top) + 60px);right:var(--safe-right);bottom:calc(var(--safe-bottom) + 10px);width:42%;min-height:0;padding:28px 24px;left:auto}.info-panel h2{font-size:36px}.info-content{font-size:14px}.photo-button{right:calc(var(--safe-right) + 4%);bottom:calc(var(--safe-bottom) + 28px);min-width:190px;left:auto;transform:none}[data-template=camel] .photo-button{right:var(--safe-right)}[data-template=camel] .camel-instruction{right:var(--safe-right);bottom:calc(var(--safe-bottom) + 92px);width:min(420px,42vw);left:auto}.drag-hint,[data-template=camel] .drag-hint{right:48%;bottom:calc(var(--safe-bottom) + 18px);left:auto;transform:none}.animal-picker{border-top:0;border-left:1px solid #eaf6dc7a;border-radius:30px 0 0 30px;width:min(520px,58vw);max-height:none;inset:0 0 0 auto;transform:translate(104%)}.animal-picker.is-open{transform:translate(0)}.animal-picker-grid{max-height:calc(100svh - 110px)}.hotspot-dialog{top:calc(var(--safe-top) + 62px);right:var(--safe-right);width:min(420px,42vw);left:auto}}@media (width>=1100px){.app-shell{max-width:1440px;margin:0 auto}}@media (orientation:portrait){[data-template=forest] .experience-header,[data-template=forest] .animal-identity,[data-template=forest] .status-message,[data-template=forest] .current-animal-button,[data-template=forest] .drag-hint,[data-template=forest] .animal-facts{display:none}[data-template=forest] .control-rail{top:37.3svh;right:max(14px, env(safe-area-inset-right));gap:5px}[data-template=forest] .rail-button{gap:2px;min-width:44px}[data-template=forest] .rail-button>span{width:36px;height:35px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/forest/rail-button.png) 50%/100% 100% no-repeat;border:0}[data-template=forest] .rail-button svg{display:none}[data-template=forest] #motion-button>span:before,[data-template=forest] #camera-button>span:before,[data-template=forest] #previous-animal-button:before,[data-template=forest] #next-animal-button:before,[data-template=forest] #photo-button:before,[data-template=forest] .info-tabs button[aria-selected=true]:before,[data-template=forest] .ornament:before{content:"";pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}[data-template=forest] #motion-button>span:before{background-image:url(/ui/forest/gyroscope.png);width:22px;height:17px}[data-template=forest] #camera-button>span:before{background-image:url(/ui/forest/camera.png);width:21px;height:17px}[data-template=forest] .rail-button small{font-size:9px;line-height:12px}[data-template=forest] .animal-navigation{gap:22px;top:48.3svh}[data-template=forest] .animal-navigation>button{min-width:44px;height:44px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/forest/nav-button.png) 50%/40px 31px no-repeat;border:0}[data-template=forest] .animal-navigation svg{display:none}[data-template=forest] #previous-animal-button:before,[data-template=forest] #next-animal-button:before{width:12px;height:20px}[data-template=forest] #previous-animal-button:before{background-image:url(/ui/forest/arrow-left.png)}[data-template=forest] #next-animal-button:before{background-image:url(/ui/forest/arrow-right.png)}[data-template=forest] .info-panel{-webkit-backdrop-filter:blur(7px)saturate(.94);backdrop-filter:blur(7px)saturate(.94);background:url(/ui/forest/info-panel.png) 50%/100% 100% no-repeat;border:0;border-radius:18px;height:38.6svh;min-height:0;padding:36px 33px 18px;inset:51.1svh 5.4vw auto}[data-template=forest] .info-panel:before{display:none}[data-template=forest] .info-panel h2{margin:0 0 10px;font-size:27px;line-height:1.2}[data-template=forest] .info-tabs{gap:8px}[data-template=forest] .info-tabs button{min-height:30px;padding:4px 3px;font-size:11px;position:relative;overflow:hidden}[data-template=forest] .info-tabs button[aria-selected=true]:before{opacity:1;background-image:url(/ui/forest/tab-ornament.png);background-size:86%;position:absolute;inset:0}[data-template=forest] .info-tabs button[aria-selected=true]{background:url(/ui/forest/tab-active.png) 50%/100% 100% no-repeat;border-color:#0000}[data-template=forest] .info-content{min-height:0;margin:15px 0 0;font-size:11px;line-height:1.9}[data-template=forest] .ornament{display:none}[data-template=forest] .photo-button{min-width:127px;min-height:46px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/forest/photo-button.png) 50%/100% 100% no-repeat;border:0;gap:8px;font-size:14px;bottom:3svh}[data-template=forest] .photo-button svg{display:none}[data-template=forest] #photo-button:before{background-image:url(/ui/forest/photo.png);width:25px;height:20px}[data-template=horse] .experience-header,[data-template=horse] .animal-identity,[data-template=horse] .status-message,[data-template=horse] .animal-navigation,[data-template=horse] .drag-hint,[data-template=horse] .animal-facts,[data-template=camel] .experience-header,[data-template=camel] .animal-identity,[data-template=camel] .status-message,[data-template=camel] .animal-navigation,[data-template=camel] .animal-facts{display:none}[data-template=horse] .template-title,[data-template=camel] .template-title{display:block;top:1.7svh;left:50%;transform:translate(-50%)}[data-template=horse] .template-title{aspect-ratio:551/296;background-image:url(/ui/horse/title-logo.png);width:49vw;max-width:220px}[data-template=camel] .template-title{aspect-ratio:594/396;background-image:url(/ui/camel/title-logo.png);width:53vw;max-width:230px;top:3svh}[data-template=horse] .control-rail,[data-template=camel] .control-rail{gap:8px;transform:none}[data-template=horse] .control-rail{top:30.7svh;right:4.6vw}[data-template=camel] .control-rail{gap:7px;top:65.5svh;right:9.2vw}[data-template=horse] .rail-button,[data-template=camel] .rail-button{gap:2px;min-width:44px}[data-template=horse] .rail-button>span,[data-template=camel] .rail-button>span{width:36px;height:35px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}[data-template=horse] .rail-button>span{background:url(/ui/horse/rail-bg.png) 50%/100% 100% no-repeat}[data-template=horse] #skeleton-button>span{background-image:url(/ui/horse/skeleton-bg.png)}[data-template=camel] .rail-button>span{background:url(/ui/camel/rail-bg.png) 50%/100% 100% no-repeat}[data-template=horse] .rail-button svg,[data-template=camel] .rail-button svg{display:none}[data-template=horse] #skeleton-button>span:before,[data-template=horse] #motion-button>span:before,[data-template=horse] #camera-button>span:before,[data-template=horse] #photo-button:before,[data-template=horse] .info-tabs button:before,[data-template=camel] #motion-button>span:before,[data-template=camel] #camera-button>span:before{content:"";pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}[data-template=horse] #skeleton-button>span:before{background-image:url(/ui/horse/skeleton-icon.png);width:14px;height:21px}[data-template=horse] #motion-button>span:before{background-image:url(/ui/horse/gyro-icon.png);width:22px;height:17px}[data-template=horse] #camera-button>span:before{background-image:url(/ui/horse/camera-icon.png);width:21px;height:17px}[data-template=camel] #motion-button>span:before{background-image:url(/ui/camel/gyro-icon.png);width:22px;height:17px}[data-template=camel] #camera-button>span:before{background-image:url(/ui/camel/camera-icon.png);width:21px;height:17px}[data-template=horse] .rail-button small,[data-template=camel] .rail-button small{font-size:9px;line-height:12px}[data-template=horse] .info-panel{height:38.6svh;min-height:0;box-shadow:none;-webkit-backdrop-filter:blur(7px)saturate(.94);backdrop-filter:blur(7px)saturate(.94);background:url(/ui/horse/info-panel.png) 50%/100% 100% no-repeat;border:0;border-radius:18px;padding:36px 34px 18px;inset:51.1svh 5.4vw auto}[data-template=horse] .info-panel:before,[data-template=horse] .ornament{display:none}[data-template=horse] .info-panel h2{margin:0 0 10px;font-size:27px;line-height:1.2}[data-template=horse] .info-tabs{grid-template-columns:repeat(2,minmax(0,86px));gap:8px}[data-template=horse] .info-tabs button{background:url(/ui/horse/tab-inactive.png) 50%/100% 100% no-repeat;border:0;min-height:32px;padding:4px 3px;font-size:11px;position:relative;overflow:hidden}[data-template=horse] .info-tabs button:nth-child(3){display:none}[data-template=horse] .info-tabs button:before{opacity:1;background-image:url(/ui/horse/tab-inactive-ornament.png);background-size:86%;position:absolute;inset:0}[data-template=horse] .info-tabs button[aria-selected=true]{background-image:url(/ui/horse/tab-active.png)}[data-template=horse] .info-tabs button[aria-selected=true]:before{background-image:url(/ui/horse/tab-active-ornament.png)}[data-template=horse] .info-content{color:#fffef2;white-space:pre-line;min-height:0;max-height:24svh;margin:15px 0 0;font-size:11px;line-height:1.9;overflow-y:auto}[data-template=horse] .photo-button{min-width:128px;min-height:47px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/horse/photo-bg.png) 50%/100% 100% no-repeat;border:0;gap:8px;font-size:14px;bottom:3svh}[data-template=horse] .photo-button svg{display:none}[data-template=horse] #photo-button:before{background-image:url(/ui/horse/photo-icon.png);width:25px;height:20px}[data-template=camel] .anatomy-hotspot{color:#075a76;width:74px;height:72px;text-shadow:none;background:0 0;border:0;font-size:10px}[data-template=camel] .hotspot-rings{background:url(/ui/camel/hotspot-ring.png) 50%/contain no-repeat;border:0;position:absolute;inset:0}[data-template=camel] .hotspot-rings i{display:none}[data-template=camel] .anatomy-hotspot>span:last-child{z-index:1;position:relative}[data-template=camel] .drag-hint{background:url(/ui/camel/gesture.png) 50%/contain no-repeat;width:45px;height:46px;top:73.7svh;bottom:auto}[data-template=camel] .drag-hint svg,[data-template=camel] .drag-hint span{display:none}[data-template=camel] .camel-instruction{min-height:47px;box-shadow:none;color:#ffe5c0;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/camel/instruction-bg.png) 50%/100% 100% no-repeat;border:0;padding:0 18px;font-size:12px;line-height:47px;inset:83.7svh 9vw auto}[data-template=camel] .photo-button{display:none}[data-template=camel].has-hotspot-open .photo-button{min-width:122px;min-height:47px;box-shadow:none;color:#ffe5c0;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/camel/download-bg.png) 50%/100% 100% no-repeat;border:0;font-size:16px;display:flex;bottom:3svh;left:50%;right:auto;transform:translate(-50%)}[data-template=camel].has-hotspot-open .photo-button svg,[data-template=camel].has-hotspot-open .camel-instruction{display:none}[data-template=camel] .hotspot-dialog{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:url(/ui/camel/detail-panel-bg.png) 50%/100% 100% no-repeat;border:0;border-radius:18px;min-height:115px;padding:14px 28px 12px 35%;top:23.7svh;left:5.4vw;right:3.8vw;box-shadow:0 12px 30px #4f2b114d}[data-template=camel] .hotspot-dialog>button{background:#5b371a38;border:0;width:32px;height:32px;top:4px;right:4px}[data-template=camel] .hotspot-dialog-symbol,[data-template=camel] .hotspot-dialog-copy>p:first-child{display:none}[data-template=camel] .hotspot-detail-image{border-radius:14px;width:29%;height:80%;position:absolute;top:10%;bottom:10%;left:3.5%}[data-template=camel] .hotspot-dialog h2{color:#fff9df;margin:0 0 5px;font-size:17px}[data-template=camel] .hotspot-dialog-copy>p:nth-of-type(2){color:#fff9e7;margin:0;font-size:11px;line-height:1.65}[data-template=camel] .hotspot-detail-tabs{gap:4px;margin-top:6px}[data-template=camel] .hotspot-detail-tabs button{min-height:26px;padding:0 8px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
