@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_4a6cc4de-module__M7qhFW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_4a6cc4de-module__M7qhFW__variable{--font-display:"Space Grotesk","Space Grotesk Fallback"}
:root{--ink:#12223a;--paper:#fffcf4d6;--paper-strong:#fffaf0;--line:#12223a26;--sea:#2ec4b6;--sun:#ff8f3f;--sky:#7dd9ff;--danger:#d13b55}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-body),"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:radial-gradient(circle at 18% 20%,#ffae7573,#0000 42%),radial-gradient(circle at 82% 15%,#4ecbff70,#0000 35%),linear-gradient(140deg,#fffdf7 0%,#f5fbff 42%,#f2fff8 100%)}.page-shell{justify-content:center;align-items:center;min-height:100vh;padding:28px 14px;display:flex;position:relative;overflow:hidden}.grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#12223a0d 1px,#0000 1px),linear-gradient(#12223a0d 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 42%,#0000 90%);mask-image:radial-gradient(circle,#000 42%,#0000 90%)}.orb{filter:blur(2px);pointer-events:none;border-radius:999px;animation:16s ease-in-out infinite drift;position:absolute}.orb-a{background:#2ec4b64d;width:280px;height:280px;top:8%;left:-70px}.orb-b{background:#ff8f3f45;width:340px;height:340px;animation-duration:19s;bottom:-140px;right:-90px}.orb-c{background:#7dd9ff73;width:150px;height:150px;animation-duration:14s;top:68%;left:10%}.card{z-index:1;background:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:28px;width:min(720px,100%);padding:clamp(18px,3vw,34px);position:relative;box-shadow:0 26px 64px #12223a29,inset 0 1px #ffffffbf}.hero{gap:10px;margin-bottom:20px;display:grid}.hero-tag{width:fit-content;font:700 12px/1 var(--font-display),"Segoe UI",sans-serif;letter-spacing:.11em;color:#08354f;background:#7dd9ff73;border-radius:999px;margin:0;padding:6px 12px}.hero h1{font:700 clamp(30px,5.2vw,44px)/1.15 var(--font-display),var(--font-body),sans-serif;letter-spacing:.02em;margin:0}.hero p{color:#12223ad9;margin:0;line-height:1.65}.controls{gap:8px;display:grid}.controls label{letter-spacing:.03em;font-weight:700}.control-row{gap:10px;display:flex}.control-row input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;outline:none;flex:1;padding:13px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s}.control-row input:focus{border-color:#2ec4b6e6;box-shadow:0 0 0 3px #2ec4b633}.control-row button{min-width:112px;font:700 16px/1 var(--font-body),sans-serif;color:#fff;cursor:pointer;background:linear-gradient(120deg,#0d9fa0 0%,#1b7cc3 56%,#ff8f3f 100%);border:0;border-radius:16px;padding:0 16px;transition:transform .18s,box-shadow .18s,opacity .2s}.control-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #1b7cc34d}.control-row button:disabled{opacity:.62;cursor:not-allowed}.qr-board{background:linear-gradient(160deg,#fffffff2,#f5fdffeb);border:1px dashed #12223a38;border-radius:20px;justify-content:center;align-items:center;min-height:330px;margin-top:18px;padding:18px;display:flex;position:relative;overflow:hidden}.qr-board.ready{border-style:solid}.placeholder{color:#12223aad;text-align:center;margin:0}.loader-wrap{color:#12223adb;justify-items:center;gap:12px;display:grid}.loader{border:4px solid #1b7cc333;border-top-color:#1b7cc3;border-radius:999px;width:44px;height:44px;animation:1s linear infinite spin}.qr-stage{place-items:center;width:min(82vw,300px);height:min(82vw,300px);animation:.35s popup;display:grid;position:relative}.qr-glow{background:radial-gradient(circle,#2ec4b62e,#0000 72%);border-radius:26px;width:100%;height:100%;animation:2.3s ease-in-out infinite pulse;position:absolute}.qr-image{background:#fff;border-radius:20px;width:100%;height:100%;padding:10px;box-shadow:0 12px 30px #12223a2e}.scan-line{background:linear-gradient(90deg,#0000,#2ec4b6e6,#0000);border-radius:999px;width:100%;height:5px;animation:2.6s ease-in-out infinite sweep;position:absolute;box-shadow:0 0 20px #2ec4b699}.spark{opacity:0;background:#ff8f3f;border-radius:999px;width:8px;height:8px;position:absolute}.spark-1{animation:2s ease-in-out infinite twinkle;top:6%;left:14%}.spark-2{animation:2.6s ease-in-out .35s infinite twinkle;top:68%;right:9%}.spark-3{animation:2.3s ease-in-out .7s infinite twinkle;bottom:9%;left:24%}.meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.meta p{background:var(--paper-strong);border:1px solid #12223a1f;border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.error{color:var(--danger);margin:12px 0 0;font-weight:600}.footnote{color:#12223ab8;margin:14px 0 0;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,-16px)scale(1.06)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.06)}}@keyframes sweep{0%{opacity:0;transform:translateY(-130px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(130px)}}@keyframes popup{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.15)}}@media (max-width:760px){.card{border-radius:22px;padding:18px 14px}.hero h1{font-size:clamp(24px,8vw,34px)}.hero p{font-size:14px}.control-row{flex-direction:column}.control-row button{min-height:44px}.qr-board{min-height:290px}.meta{grid-template-columns:1fr}}.vehicle-block{border-top:1px dashed var(--line);flex-direction:column;gap:12px;margin-top:6px;padding-top:20px;display:flex}.vehicle-actions{gap:10px;display:flex}.vehicle-scan-btn{letter-spacing:.5px;color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e60c9 0%,#2ec4b6 100%);border:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:10px;min-height:52px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 10px 24px #1e60c952}.vehicle-scan-btn:hover{filter:brightness(1.05);box-shadow:0 14px 30px #1e60c966}.vehicle-scan-btn:active{transform:translateY(2px)scale(.99);box-shadow:0 6px 16px #1e60c94d}.vehicle-scan-ico{font-size:20px;line-height:1}.vehicle-gear{border:1px solid var(--line);background:var(--paper-strong);color:#12223abf;cursor:pointer;border-radius:16px;width:52px;font-size:22px;transition:transform .4s,background .15s,color .15s}.vehicle-gear:hover{color:var(--ink);background:#fff}.vehicle-gear.on{color:#fff;background:#1e60c9;border-color:#1e60c9;transform:rotate(90deg)}.vehicle-settings{grid-template-rows:0fr;transition:grid-template-rows .32s;display:grid}.vehicle-settings.open{grid-template-rows:1fr}.vehicle-settings-inner{min-height:0;overflow:hidden}.vehicle-settings.open .vehicle-settings-inner{background:var(--paper-strong);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:inset 0 1px #fff9}.vehicle-settings-title{color:#12223a8c;margin:0 0 14px;font-size:13px;font-weight:600}.vehicle-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vehicle-grid label{color:#12223a99;flex-direction:column;gap:6px;font-size:12px;display:flex}.vehicle-grid input,.vehicle-grid select{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}.vehicle-grid input:focus,.vehicle-grid select:focus{border-color:#2ec4b6;outline:none;box-shadow:0 0 0 3px #2ec4b62e}.vehicle-switch{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-top:16px;font-size:14px;display:flex}.vehicle-switch>span:first-child{flex:1}.vehicle-toggle{opacity:0;pointer-events:none;position:absolute}.vehicle-toggle-track{background:#12223a38;border-radius:999px;flex-shrink:0;width:46px;height:26px;transition:background .2s;position:relative}.vehicle-toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.vehicle-toggle:checked+.vehicle-toggle-track{background:#2ec4b6}.vehicle-toggle:checked+.vehicle-toggle-track:after{transform:translate(20px)}@media (max-width:520px){.vehicle-grid{grid-template-columns:1fr}}
