*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;padding:0}body{color:#3d3a36;overscroll-behavior:none;background:#fdf6e9;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif}h1,h2,.vehicle-card-name{letter-spacing:1px;font-weight:800}button{touch-action:manipulation;font-family:inherit}.gallery{max-width:720px;margin:0 auto;padding:32px 20px 48px}.gallery-header{text-align:center;margin-bottom:28px}.gallery-header h1{letter-spacing:2px;margin:0 0 6px;font-size:44px}.header-emoji{margin-right:6px;font-size:36px}.gallery-header p{color:#8a8378;margin:0;font-size:17px}.gallery-section{margin-bottom:30px}.section-title{letter-spacing:1px;margin:0 0 14px;padding-left:6px;font-size:24px}.card-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.vehicle-card{cursor:pointer;border:none;border-bottom:5px solid var(--card-color,#ddd);background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:18px 8px 14px;transition:transform .12s;display:flex;box-shadow:0 3px #0000000f}.vehicle-card:hover,.vehicle-card:active{transform:scale(1.04)}.vehicle-card-emoji{font-size:46px;line-height:1}.vehicle-card-name{font-size:20px}.vehicle-card-english{color:#a09a8f;letter-spacing:.5px;font-size:12px}.gallery-footer{text-align:center;color:#b5aea2;margin-top:12px;font-size:14px}.detail{background:#dff2fb;position:fixed;inset:0;overflow:hidden}.viewer-stage,.viewer-host{position:absolute;inset:0}.viewer-host canvas{display:block}.viewer-loading{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#dff2fbe0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.loading-wheel{font-size:56px;animation:1.2s ease-in-out infinite wiggle}@keyframes wiggle{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-10px)rotate(4deg)}}.viewer-loading strong{font-size:20px;font-weight:700}.viewer-fallback{background:#fdf6e9f2;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.viewer-fallback strong{font-size:22px}.viewer-fallback span{color:#8a8378}.friendly-button{cursor:pointer;color:#fff;background:#ff9f5a;border:none;border-radius:40px;padding:12px 28px;font-size:18px;font-weight:700;box-shadow:0 4px #d97a35}.detail-topbar{z-index:5;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:18px;left:18px;right:18px}.round-button{pointer-events:auto;cursor:pointer;color:#3d3a36;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex;box-shadow:0 3px 10px #0000001f}.spin-toggle.is-on{background:#ffe08a}.detail-panel{z-index:5;pointer-events:none;background:linear-gradient(#fdf6e900,#fdf6e9 45%);padding:44px 24px 30px;position:absolute;bottom:0;left:0;right:0}.vehicle-title-row{pointer-events:auto;align-items:center;gap:12px;display:flex}.vehicle-title-emoji{font-size:40px}.vehicle-title-text{flex:1;min-width:0}.vehicle-title-text h2{letter-spacing:1px;margin:0;font-size:34px}.vehicle-english{color:#a09a8f;letter-spacing:.5px;font-size:14px}.sound-button{cursor:pointer;color:#fff;background:#ff9f5a;border:none;border-radius:40px;align-items:center;gap:8px;padding:14px 22px;font-size:18px;font-weight:700;transition:transform .1s;display:flex;box-shadow:0 4px #d97a35}.sound-button:active{transform:translateY(2px);box-shadow:0 2px #d97a35}.sound-button.is-playing{background:#5bbf6a;box-shadow:0 4px #3e9c4e}.sound-button span{font-size:22px}.vehicle-fact{color:#57514a;pointer-events:auto;margin:12px 0 0;font-size:18px;line-height:1.6}.nav-arrow{cursor:pointer;color:#57514a;z-index:6;background:#ffffffbf;border:none;border-radius:18px;justify-content:center;align-items:center;width:64px;height:110px;font-size:52px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 12px #0000001a}.nav-prev{left:10px}.nav-next{right:10px}@media (width<=480px){.card-grid{grid-template-columns:repeat(2,1fr)}.nav-arrow{width:48px;height:84px;font-size:40px}.sound-button{padding:12px 16px;font-size:16px}.vehicle-title-text h2{font-size:28px}}
