@font-face{font-family:ToyotaDisplay;src:url(/assets/SweiSpringCJKtc-Bold-B0rSQczU.ttf) format("truetype")}@font-face{font-family:ToyotaText;src:url(/assets/NotoSansCJKtc-Regular-4ma3zS5W.otf) format("opentype")}:root{color-scheme:dark;--red: #d81419;--gold: #c8a36a;--paper: #f8f0df;--ink: #261d15}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;font-family:ToyotaText,Noto Sans TC,sans-serif;background:#100d0a}button{font:inherit}#scene{position:fixed;inset:0;width:100%;height:100%;cursor:grab}#scene:active{cursor:grabbing}.entry{position:fixed;inset:0;z-index:20;overflow:hidden;display:grid;place-items:center;background:#120d0b;transition:opacity .55s ease,visibility .55s ease}.entry:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0906058a,#09060529 34%,#0906057a),#0705056b;pointer-events:none}.entry.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.entry-photo{position:absolute;left:50%;top:50%;width:min(100vw,56.25vh);height:min(100vh,calc(100vw * 16 / 9));max-width:none;object-fit:cover;pointer-events:none;filter:blur(9px) brightness(.42) saturate(.78);transform:translate(-50%,-50%) scale(1.04)}.entry-stage{position:relative;z-index:1;width:min(100vw,56.25vh);height:min(100vh,calc(100vw * 16 / 9));max-width:548px;max-height:974px;overflow:hidden}.entry-guide{position:absolute;left:50%;object-fit:contain;pointer-events:none;transform:translate(-50%)}.entry-guide{top:8.2%;width:87%;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}.asset-button{position:absolute;border:0;padding:0;background:transparent;cursor:pointer;transition:transform .18s ease,filter .18s ease}.asset-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.asset-button img{display:block;width:100%}.asset-button.start{left:50%;bottom:13.2%;width:48%;max-width:264px;min-width:230px;transform:translate(-50%)}.asset-button.start:hover{transform:translate(-50%) translateY(-2px)}.showroom-zone{position:fixed;inset:0;z-index:9;display:grid;place-items:center;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;background:linear-gradient(180deg,#fffffff5 0 68%,#d7d7d7fa 68% 100%);transition:opacity .25s ease,visibility .25s ease}#app.showroom-active .showroom-zone{opacity:1;visibility:visible;pointer-events:auto}#app.showroom-active .hud,#app.showroom-active .floor-map,#app.showroom-active .hint,#app.showroom-active .walk-controls{opacity:0;visibility:hidden;pointer-events:none}.showroom-stage{position:relative;width:min(100vw,56.25vh);height:min(100vh,calc(100vw * 16 / 9));max-width:548px;max-height:974px;overflow:hidden}.showroom-logo,.showroom-title,.showroom-photo,.showroom-hint,.showroom-360{position:absolute;left:50%;transform:translate(-50%)}.showroom-logo{top:2%;width:100%;height:auto;object-fit:contain}.showroom-title{top:10.6%;width:96%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(80,50,18,.18))}.showroom-photo{top:31%;width:92%;height:auto;object-fit:contain;box-shadow:0 12px 30px #28190c2e}.showroom-hint,.showroom-360{border:0;padding:0;background:transparent;cursor:pointer}.showroom-hint img,.showroom-360 img{display:block;width:100%}.showroom-hint-altis{top:65.7%;left:26%;width:39%;z-index:2}.showroom-hint-cross{top:65.7%;left:74%;width:43%;z-index:2}.showroom-360{top:67.2%;width:58%;max-width:260px;z-index:1;filter:drop-shadow(0 18px 28px rgba(111,0,0,.24));transition:transform .16s ease,filter .16s ease}.showroom-360:hover{transform:translate(-50%) translateY(-2px);filter:drop-shadow(0 20px 32px rgba(111,0,0,.3)) brightness(1.04)}.hud{position:fixed;top:18px;left:50%;z-index:10;display:flex;align-items:center;gap:18px;width:min(94vw,980px);padding:12px 14px 12px 18px;border:1px solid rgba(217,184,119,.44);border-radius:8px;background:#100c09b8;box-shadow:0 22px 80px #0000005c;transform:translate(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{font-family:ToyotaDisplay,serif;font-size:18px;letter-spacing:0;color:var(--paper);white-space:nowrap}.hud nav{display:flex;gap:8px;margin-left:auto}.hud button,.floor-map button,.panel-actions button,.viewer-buttons button{min-height:38px;border:1px solid rgba(255,238,199,.28);border-radius:6px;padding:0 14px;color:var(--paper);background:#ffffff14;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.hud button:hover,.floor-map button:hover,.panel-actions button:hover,.viewer-buttons button:hover{border-color:#ffeec7b8;background:#ffffff29;transform:translateY(-1px)}.floor-map{position:fixed;right:20px;bottom:22px;z-index:8;display:none;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;border:1px solid rgba(217,184,119,.34);border-radius:8px;background:#100c09ad;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hint{position:fixed;left:20px;bottom:26px;z-index:8;max-width:280px;padding:10px 12px;border-left:3px solid var(--red);color:#fff1d6;background:#120d0aad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.walk-controls{position:fixed;left:50%;bottom:92px;z-index:8;display:flex;gap:10px;transform:translate(-50%)}.walk-controls button{min-width:94px;min-height:40px;border:1px solid rgba(255,238,199,.34);border-radius:6px;color:var(--paper);background:#75211ac7;box-shadow:0 12px 32px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer}.walk-controls button:hover{border-color:#ffeec7c7;background:#a7221be0}.panel,.viewer,.photo{position:fixed;inset:0;z-index:15;display:grid;place-items:center;padding:22px;background:#0907059e;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-close{display:none}.panel.is-open,.viewer.is-open,.photo.is-open{opacity:1;visibility:visible;pointer-events:auto}.panel{padding:0;background:#0c0a09c2}.intro-phone{position:relative;width:min(100vw,calc(100vh * 1293 / 2089));aspect-ratio:1293 / 2089;max-height:100vh;overflow:hidden;box-shadow:0 34px 90px #0000008f}.intro-base,.intro-car,.intro-badge,.intro-share img,.intro-ai img,.intro-360 img,.intro-prev img,.intro-next img,.intro-back img{display:block;width:100%}.intro-base,.intro-car,.intro-badge,.intro-share,.intro-ai,.intro-360,.intro-prev,.intro-next,.intro-back,.intro-copybox,.intro-year-label,.intro-year,.intro-date{position:absolute}.intro-base{inset:0;height:100%;object-fit:cover}.intro-year-label{display:none}.intro-year{top:13.2%;left:7.2%;color:#86613b;font-family:ToyotaDisplay,ToyotaText,sans-serif;font-size:clamp(36px,9.3vw,74px);line-height:.95}.intro-date{top:18.2%;left:7.8%;color:#86613b;font-weight:800;font-size:clamp(14px,3.2vw,25px)}.intro-car{top:14.4%;left:18%;width:64%;max-height:22%;object-fit:contain;filter:drop-shadow(0 16px 16px rgba(0,0,0,.18))}.intro-share,.intro-ai,.intro-360,.intro-prev,.intro-next,.intro-back{border:0;padding:0;background:transparent;cursor:pointer}.intro-share{top:24.1%;right:7.2%;width:15.8%}.intro-ai{top:30.9%;right:7.2%;width:20.8%}.intro-360{top:34.9%;right:7.2%;width:20.8%}.intro-badge{top:37.1%;left:15.2%;width:70.2%;z-index:2}.intro-copybox{top:43.9%;left:8.8%;width:82.4%;height:37.1%;z-index:1;padding:7% 7% 5.5%;overflow:auto;color:#94642e;border:3px solid #d5bd82;background:#fffffff5;scrollbar-color:#d6c49f transparent}.intro-copybox h2{margin:0 0 1rem;color:#b28548;font-family:ToyotaDisplay,ToyotaText,sans-serif;font-size:clamp(20px,5.1vw,38px);line-height:1.35;text-align:center;letter-spacing:.08em}.intro-copybox .panel-kicker{margin:0 0 1rem;color:#c3a053;font-size:clamp(14px,3.6vw,24px);font-weight:800}.intro-copybox .panel-kicker:empty{display:none}.intro-copybox .intro-body{margin:0;color:#9b672f;font-size:clamp(13px,3.25vw,23px);font-weight:700;line-height:1.72}.intro-copybox ol{margin:0 0 1.05rem;padding:0;list-style:none}.intro-copybox li{margin:0 0 .34rem;color:#9b672f;font-size:clamp(13px,3.25vw,23px);font-weight:700;line-height:1.64}.intro-copybox strong{display:block;margin:1.1rem 0 .65rem;color:#b28548;font-size:clamp(18px,4.6vw,34px);line-height:1.25}.intro-phone.is-history .intro-car{top:.8%;left:8.5%;width:84%;max-height:none}.intro-phone.is-history .intro-share{top:21.4%}.intro-phone.is-history .intro-ai{top:30.2%}.intro-phone.is-history .intro-360{top:37.2%}.intro-phone.is-history .intro-badge{top:38.4%}.intro-phone.is-history .intro-copybox{top:45%;height:35.9%;padding-top:9.6%}.intro-phone.is-special .intro-car{top:16.2%;left:1%;width:102%;max-height:none;height:auto}.intro-phone.is-special .intro-share{top:17.4%}.intro-phone.is-special .intro-ai{top:28.8%}.intro-phone.is-special .intro-360{top:36.1%}.intro-phone.is-special .intro-badge{top:39.2%}.intro-phone.is-special .intro-copybox{top:46.1%;height:33%}.intro-prev{left:8.1%;bottom:5.6%;width:13%}.intro-next{right:8.1%;bottom:5.6%;width:13%}.intro-back{left:50%;bottom:4.7%;width:49.2%;transform:translate(-50%)}.panel-actions .primary,.camera-button{border-color:#ffffff47;color:#fff;background:linear-gradient(180deg,#e82123,#b90910);box-shadow:0 10px 24px #c8000047}.viewer .phone,.photo-phone{position:relative;width:min(100vw,calc(100vh * 1441 / 2561));width:min(100vw,calc(100dvh * 1441 / 2561));aspect-ratio:1441 / 2561;max-height:100vh;max-height:100dvh;overflow:hidden;border:0;border-radius:0;background:#eee7dd;box-shadow:0 34px 90px #0000007a}.phone-bg,.phone-header,.phone-title,.car-frame{position:absolute;object-fit:contain;-webkit-user-select:none;user-select:none}.phone-bg{inset:0;width:100%;height:100%;object-fit:cover}.phone-header{top:0;left:0;width:100%}.phone-title{top:7.2%;left:50%;width:72%;transform:translate(-50%);cursor:pointer}.car-frame{top:40%;left:50%;width:148%;transform:translate(-50%);cursor:ew-resize;filter:drop-shadow(0 16px 18px rgba(0,0,0,.18))}.viewer-buttons{position:absolute;top:42.5%;left:0;right:0;display:flex;justify-content:space-between;padding:0 3.1%}.viewer-buttons button{width:9.3%;aspect-ratio:246 / 240;height:auto;padding:0;border:0;background:transparent;cursor:pointer}.viewer-buttons img,.viewer-share img,.viewer-ai img,.viewer-back img{display:block;width:100%}.viewer-share,.viewer-ai,.viewer-back{position:absolute;border:0;padding:0;background:transparent;cursor:pointer}.viewer-share{left:24.3%;top:74.4%;width:17.8%}.viewer-ai{left:46.8%;top:74.4%;width:29.4%}.viewer-back{left:50%;top:86.1%;width:44.1%;transform:translate(-50%)}.photo-phone{background:#f3ead6}.photo-frame,.photo-result-bg,.photo-consent-panel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-frame{z-index:1;pointer-events:none}.photo-step{position:absolute;inset:0;z-index:2;display:none}.photo-phone[data-step=start] [data-photo-step=start],.photo-phone[data-step=consent] [data-photo-step=consent],.photo-phone[data-step=capture] [data-photo-step=capture],.photo-phone[data-step=result] [data-photo-step=result]{display:block}.photo-phone.is-upload-review .photo-capture-actions{display:none}.photo-phone.is-upload-review .photo-upload-actions{display:flex}.photo-phone.is-upload-review .photo-upload-preview{opacity:1}.photo-phone.is-upload-review .photo-capture-hint{display:none}.photo-phone[data-step=capture] .photo-step{z-index:auto}.photo-phone[data-step=capture] .photo-step-back,.photo-phone[data-step=capture] .photo-capture-actions,.photo-phone[data-step=capture] .photo-upload-actions,.photo-phone[data-step=capture] .photo-error{z-index:8}.photo-rule,.photo-sample,.photo-start-button,.photo-back-button,.photo-consent-copy,.photo-agree,.photo-confirm,.photo-step-back,.photo-capture-back,.photo-camera-preview,.photo-upload-preview,.photo-file-input,.photo-capture-hint,.photo-capture-actions,.photo-upload-actions,.photo-result-card,.photo-result-caption,.photo-share-button,.photo-site-button,.photo-result-back{position:absolute}.photo-step button{border:0;padding:0;background:transparent;cursor:pointer}.photo-step button img,.photo-rule,.photo-sample,.photo-result-card{display:block;width:100%}.photo-rule{left:50%;top:16.2%;width:77%;transform:translate(-50%)}.photo-sample{left:9.8%;top:35.8%;width:80.4%}.photo-start-button{left:50%;top:76.4%;width:45.4%;z-index:5;transform:translate(-50%);filter:drop-shadow(0 8px 8px rgba(102,34,12,.2))}.photo-back-button{left:50%;top:86%;width:29%;z-index:5;transform:translate(-50%)}.photo-phone[data-ai-theme=altis-1966] .photo-rule{top:15.4%}.photo-phone[data-ai-theme=altis-1966] .photo-sample{top:34.4%;left:12.4%;width:75.2%}.photo-phone[data-ai-theme=altis-1966] .photo-start-button{top:70%}.photo-phone[data-ai-theme=altis-1966] .photo-back-button{top:78.4%}.photo-consent-panel{inset:17.5% 5.4% auto;width:89.2%;height:73.2%;object-fit:fill}.photo-consent-copy{left:10.9%;top:27.6%;width:78.6%;height:46.9%;overflow:hidden;color:#6e5540;font-size:clamp(12px,3vw,21px);font-weight:700;line-height:1.86;text-align:left}.photo-consent-copy p{margin:0 0 .95em}.photo-consent-copy p:first-child{color:#c40000}.photo-consent-copy p:first-child:first-line{color:#6e5540}.photo-agree{left:17%;top:76.7%;width:67%}.photo-agree.is-checked:before{content:"";position:absolute;left:-2%;top:-7%;width:12%;aspect-ratio:112 / 88;background:url("/Asset%20(PNG%20%20%20Sequence)/%E6%89%8B%E6%A9%9F%E4%BB%8B%E9%9D%A2_Cross/@%E6%BF%BE%E9%8F%A1%E7%9B%B8%E6%A1%86/2-%E5%8B%BE@2x.png") center / contain no-repeat}.photo-confirm{left:50%;top:84.1%;width:24.7%;transform:translate(-50%)}.photo-capture{background:#e5ded2}.photo-capture:before{content:"";position:absolute;inset:0;background:var(--photo-preview, url("/Asset%20(PNG%20%20%20Sequence)/%E6%89%8B%E6%A9%9F%E4%BB%8B%E9%9D%A2_Cross/@%E6%BF%BE%E9%8F%A1%E7%9B%B8%E6%A1%86/1-frame@2x.png")) center / cover no-repeat;filter:saturate(.95)}.photo-phone[data-step=capture]>.photo-frame{z-index:2;opacity:.98}.photo-camera-preview,.photo-upload-preview{inset:0;z-index:0;width:100%;height:100%;object-fit:cover;background:#d8d1c5}.photo-phone.is-selfie-camera .photo-camera-preview{transform:scaleX(-1)}.photo-upload-preview{opacity:0}.photo-file-input{width:1px;height:1px;opacity:0;pointer-events:none}.photo-step-back{left:4.2%;top:4.2%;z-index:3;display:grid;place-items:center;width:11.5%;aspect-ratio:1;border:2px solid rgba(255,255,255,.65)!important;border-radius:50%;background:#402d1e85!important;box-shadow:0 8px 22px #0000002e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.photo-step-back svg{width:58%;height:58%;fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.photo-capture-hint{left:8.3%;top:61.6%;z-index:2;width:83.4%}.photo-capture-actions{left:16.4%;right:16.4%;top:76.3%;z-index:8;display:grid;grid-template-columns:1fr 1.34fr 1fr;align-items:center;gap:11%}.photo-capture-actions button{width:100%}.photo-capture-actions button:nth-child(2){transform:scale(1.22)}.photo-upload-actions{left:17%;right:17%;top:77.4%;z-index:8;display:none;justify-content:center;gap:8%}.photo-error{left:9%;right:9%;top:68.8%;display:none;padding:10px 12px;border:2px solid rgba(208,0,0,.85);border-radius:8px;color:#c60000;background:#ffffffeb;font-size:clamp(13px,3.4vw,22px);font-weight:800;line-height:1.45;text-align:center;box-shadow:0 8px 20px #50140a2e}.photo-error.is-visible{display:block}.photo-phone.is-generating .photo-upload-actions button{opacity:.55;pointer-events:none}.photo-phone.is-generating .photo-capture-actions,.photo-phone.is-generating .photo-upload-actions,.photo-phone.is-generating .photo-step-back{opacity:0;pointer-events:none}.photo-phone.is-generating .photo-capture:after{content:"AI 生成中\a請稍候";position:absolute;inset:0;z-index:10;display:grid;place-items:center;white-space:pre;color:#fff;background:radial-gradient(circle at 50% 42%,rgba(255,222,150,.22),transparent 30%),#120a05bd;font-family:ToyotaDisplay,ToyotaText,sans-serif;font-size:clamp(26px,7vw,52px);font-weight:900;line-height:1.55;text-align:center;text-shadow:0 0 18px rgba(255,232,175,.52);animation:generatingPulse 1.1s ease-in-out infinite alternate}@keyframes generatingPulse{0%{opacity:.78}to{opacity:1}}.photo-upload-actions button{width:42%;min-height:58px;border:3px solid #d00000;border-radius:12px;color:#d00000;background:#fff;font-family:ToyotaDisplay,ToyotaText,sans-serif;font-size:clamp(18px,4.8vw,36px);font-weight:800;box-shadow:0 8px 16px #501e0a29}.photo-confirm-upload{color:#fff!important;background:#d00000!important}.photo-result-bg{z-index:0}.photo-result-card{left:19.3%;top:6.6%;z-index:1;width:61.4%;aspect-ratio:1441 / 2561;object-fit:cover;box-shadow:0 0 0 4px #d1ba83}.photo-result-caption{left:0;right:0;top:68.5%;z-index:2;color:#d4bf8e;font-family:ToyotaDisplay,ToyotaText,sans-serif;font-size:clamp(18px,4.6vw,34px);font-weight:800;text-align:center;text-shadow:0 0 12px rgba(255,230,180,.25)}.photo-share-button{left:9.4%;top:74.2%;z-index:2;width:37%}.photo-site-button{right:9.4%;top:74.2%;z-index:2;width:37%}.photo-result-back{left:50%;top:85%;z-index:2;width:34%;transform:translate(-50%)}[hidden]{display:none!important}@media(max-width:760px){.panel,.viewer,.photo{padding:0}.viewer .phone,.photo-phone{width:min(100vw,calc(100dvh * 1441 / 2561));height:min(100dvh,calc(100vw * 2561 / 1441));max-width:100vw;max-height:100dvh}.intro-phone{width:min(100vw,calc(100dvh * 1293 / 2089));height:min(100dvh,calc(100vw * 2089 / 1293));max-width:100vw;max-height:100dvh}.entry-stage,.showroom-stage{width:min(100vw,56.25dvh);height:min(100dvh,calc(100vw * 16 / 9));max-width:100vw;max-height:100dvh}.hud{top:10px;display:block;padding:10px}.brand{margin-bottom:8px;text-align:center}.hud nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hud button{min-height:34px;padding:0 6px;font-size:12px}.hint{left:12px;right:12px;bottom:74px;max-width:none;font-size:13px}.walk-controls{bottom:126px}.entry-photo{width:min(100vw,56.25vh)}.asset-button.start{width:48%}}
