.shell:has(.intro) .main{max-width:none;padding-top:0;padding-left:0;padding-right:0}.shell:has(.intro) .header{position:fixed;left:0;right:0}.intro{overflow-x:clip}.intro .mono{font-family:var(--mono)}.intro-inner{max-width:var(--maxw);padding:0 var(--s4);margin:0 auto}.intro-sec{padding:var(--s7) 0;border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);position:relative}.intro-kicker{color:var(--accent);letter-spacing:.2em;margin-bottom:var(--s2);font-size:12px}.intro-title{letter-spacing:.04em;margin:0 0 var(--s5);font-size:26px}.intro-intro_hero{border-top:0;align-items:center;min-height:100svh;padding-top:72px;display:grid;overflow:hidden}.hero-fx{pointer-events:none;position:absolute;inset:0}.code-rain{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-video{object-fit:cover;width:100%;height:100%;filter:blur(var(--hero-blur,3px));animation:1.2s ease-out both hero-video-in;position:absolute;inset:0;transform:scale(1.06)}.hero-shade{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--bg) 45%, transparent), color-mix(in srgb, var(--bg) 80%, transparent));position:absolute;inset:0}@keyframes hero-video-in{0%{opacity:0}}.hero-fx .hero-rain{height:calc(100% + 160px);transform:translateY(var(--parallax,0px));top:-80px}.hero-beam{background:linear-gradient(transparent, color-mix(in srgb, var(--accent) 12%, transparent), transparent);height:120px;animation:4.5s linear infinite hero-beam;position:absolute;left:0;right:0}.hero-scan{background:linear-gradient(transparent 50%, color-mix(in srgb, var(--bg) 35%, transparent) 50%);background-size:100% 4px;position:absolute;inset:0}@keyframes hero-beam{0%{top:-120px}to{top:100%}}.hero-inner{text-align:center;justify-items:center;gap:var(--s4);display:grid;position:relative}.hero-boot{color:var(--ok);margin:0;font-size:14px}.hero-cursor{color:var(--accent);animation:1s step-end infinite hero-blink}@keyframes hero-blink{50%{opacity:0}}.hero-title{transform:scale(calc(1 - var(--hero-out,0) * .35));opacity:calc(1 - var(--hero-out,0));filter:blur(calc(var(--hero-out,0) * 6px));transform-origin:top;margin:0}.hero-slogan{color:var(--muted);max-width:36em;margin:0;font-size:18px}.zd-logo{aspect-ratio:1;width:min(64vw,340px);color:var(--accent);margin:0 auto;position:relative}.zd-logo svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.logo-body{fill:#e9eef0}.logo-detail{fill:color-mix(in srgb, var(--accent) 45%, #fff)}.logo-glow{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.zd-logo.is-drawing .logo-main path{stroke:currentColor;stroke-width:3px;stroke-linejoin:round}.logo-glitch{opacity:0;mix-blend-mode:screen;pointer-events:none}.logo-glitch path{fill:#ff2bd6!important;filter:none!important}.logo-glitch-b path{fill:#3dffb0!important}.logo-glitch-a{animation:4s step-end 3s infinite logo-glitch-a}.logo-glitch-b{animation:4s step-end 3s infinite logo-glitch-b}@keyframes logo-glitch-a{0%,6%,to{opacity:0;transform:none}1%{opacity:.7;clip-path:inset(15% 0 55%);transform:translate(-6px)}4%{opacity:.7;clip-path:inset(60% 0 15%);transform:translate(5px)}}@keyframes logo-glitch-b{0%,7%,to{opacity:0;transform:none}2%{opacity:.7;clip-path:inset(30% 0 40%);transform:translate(6px)}5%{opacity:.7;clip-path:inset(5% 0 70%);transform:translate(-5px,1px)}}.intro-term{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 70%, var(--surface))}.intro-term-bar{padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);gap:6px;display:flex}.intro-term-bar i{background:var(--surface-2);border-radius:50%;width:10px;height:10px}.intro-term-body{padding:var(--s4);font-family:var(--mono);color:var(--ok);margin:0;font-size:14px;line-height:1.8}.intro-cards{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.intro-card{gap:var(--s1);padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .2s,transform .1s ease-out;display:grid;position:relative;overflow:hidden}.intro-card:before{content:"";background:var(--accent);width:100%;height:2px;box-shadow:0 0 8px var(--accent);transition:left .4s ease-out;position:absolute;top:0;left:-100%}.intro-card-no{color:var(--accent);font-size:18px}.intro-card-go{color:var(--accent);justify-self:end}.intro-card:active{transform:scale(.98)}@media (hover:hover){.intro-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);text-decoration:none}.intro-card:hover:before{left:0}}.intro-card.is-disabled{cursor:default}.features-list{gap:var(--s4);margin:0;padding:0;list-style:none;display:grid}.feature{gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;transition:border-color .35s,box-shadow .35s,color .35s;display:flex}.feature-no{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);width:36px;height:36px;color:var(--accent);border-radius:6px;flex:none;place-items:center;font-size:13px;display:grid}.stats-list{gap:var(--s4);text-align:center;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.stats-list dt{order:2;font-size:14px}.stats-list .stat{gap:var(--s1);flex-direction:column-reverse;display:flex}.stats-list dd{color:var(--accent);margin:0;font-size:36px}.intro-cta{text-align:center;background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--accent) 7%, var(--bg)))}.intro-cta .intro-inner{justify-items:center;gap:var(--s4);display:grid}.cta-heading{margin:0;font-size:30px;line-height:1.3}.cta-heading .ln{display:block;overflow:hidden}.cta-heading .ln>span{display:inline-block}.contact-list{gap:var(--s3) var(--s5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;display:grid}.contact-list dt{font-size:13px}.contact-list dd{margin:0}@media (prefers-reduced-motion:reduce){.intro *,.intro :before,.intro :after{transition:none!important;animation:none!important}.logo-glitch{display:none}.hero-title{opacity:1;filter:none;transform:none}}.tw{display:block;position:relative}.tw-live{position:absolute;inset:0}.tw-ghost:before{content:attr(data-text);visibility:hidden;white-space:pre-wrap}.intro.motion .intro-sec:not(.intro-intro_hero):not(.intro-cta)>.intro-inner{clip-path:inset(0 0 100%)}.intro.motion .intro-sec.is-in:not(.intro-intro_hero):not(.intro-cta)>.intro-inner{animation:1s ease-out forwards intro-scan}.intro.motion .intro-sec:not(.intro-intro_hero):not(.intro-cta):after{content:"";left:0;right:0;top:var(--s7);background:var(--accent);height:2px;box-shadow:0 0 10px var(--accent);opacity:0;pointer-events:none;position:absolute}.intro.motion .intro-sec.is-in:not(.intro-intro_hero):not(.intro-cta):after{animation:1s ease-out forwards intro-scanline}@keyframes intro-scan{to{clip-path:inset(0)}}@keyframes intro-scanline{0%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0;transform:translateY(var(--scan-h,320px))}}.intro.motion .intro-card{opacity:0;transform:translateY(24px)scale(.96)}.intro.motion .is-in .intro-card{opacity:1;transition:opacity .5s ease-out,transform .5s cubic-bezier(.2,.8,.2,1),border-color .2s;transition-delay:calc(var(--i,0) * .12s + .3s);transform:none}.features-list.is-live .feature{color:var(--muted)}.features-list.is-live .feature.on{color:var(--text);border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 25%, transparent)}.intro.motion .cta-heading .ln>span{transform:translateY(110%)}.intro.motion .intro-cta.is-in .cta-heading .ln>span{transition:transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * .12s);transform:none}.intro-progress{z-index:30;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.intro-progress>div{background:var(--accent);height:100%;box-shadow:0 0 8px var(--accent);transform-origin:0;transform:scaleX(0)}.intro-nav{display:none}@media (width>=768px){.intro-nav{right:var(--s4);z-index:15;gap:2px;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.intro-nav button{width:var(--tap);height:28px;color:var(--accent);font:14px var(--mono);cursor:pointer;opacity:.6;background:0 0;border:0}.intro-nav button[aria-current=true]{opacity:1;text-shadow:0 0 8px var(--accent)}}.splash{z-index:60;cursor:pointer;position:fixed;inset:0}.splash-bg{background:var(--bg);position:absolute;inset:0;overflow:hidden}.splash-crt{pointer-events:none;background:repeating-linear-gradient(#00000059 0 1px,#0000 1px 3px);position:absolute;inset:0}.splash-crt:after{content:"";animation:4s step-end infinite crt-flicker;position:absolute;inset:0;box-shadow:inset 0 0 18vmin #000000d9}@keyframes crt-flicker{0%,to{opacity:1}47%{opacity:.85}48%{opacity:1}82%{opacity:.92}}.boot-log{left:max(var(--s4), 5vw);top:max(var(--s6), 7vh);white-space:pre;text-shadow:0 0 6px color-mix(in srgb, var(--accent) 45%, transparent);font-size:clamp(13px,1.5vw,17px);line-height:1.6;position:absolute}.boot-dim{color:color-mix(in srgb, var(--accent) 50%, var(--muted))}.boot-ok{color:var(--ok)}.splash-logo .logo-glitch-a,.splash-logo .logo-glitch-b{animation-delay:4.2s}.splash-stage{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.zd-logo.splash-logo{width:min(72vmin,640px);margin:0}.splash-skip{right:var(--s5);bottom:calc(var(--s5) + env(safe-area-inset-bottom));color:var(--muted);position:absolute}.intro.is-splashing .intro-intro_hero .zd-logo{visibility:hidden}.intro-intro_hero .hero-boot,.intro-intro_hero .hero-slogan{transition:opacity .6s ease-out .2s}.intro.is-splashing .hero-boot,.intro.is-splashing .hero-slogan{opacity:0}.shell:has(.intro) .header-inner{max-width:1320px}@media (width>=1024px){.intro-inner{max-width:1320px;padding:0 var(--s7)}.shell:has(.intro) .header-inner{padding:0 var(--s7)}.intro-sec{padding:112px 0}.intro.motion .intro-sec:not(.intro-intro_hero):not(.intro-cta):after{top:112px}.intro-split{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:72px;display:grid}.intro-split .intro-side{position:sticky;top:112px}.intro-split .intro-title{margin-bottom:0}.intro-kicker{font-size:13px}.intro-title{font-size:40px}.intro-intro_hero .zd-logo{width:min(56vh,600px)}.hero-boot{font-size:16px}.hero-slogan{font-size:24px}.intro-term-body{padding:var(--s6);font-size:16px}.intro-cards{gap:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr))}.intro-card{padding:var(--s6);align-content:start;gap:var(--s2);min-height:220px}.intro-card b{font-size:20px}.intro-card-go{align-self:end}.feature{padding:var(--s5) var(--s6);font-size:17px}.stats-list{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stats-list .stat{padding:var(--s6) var(--s4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.stats-list dd{font-size:64px;line-height:1.1}.stats-list dt{font-size:16px}.cta-heading{font-size:56px}.intro-cta .muted{font-size:18px}.contact-list{gap:var(--s5);grid-template-columns:repeat(2,minmax(0,1fr))}.contact-list dd{font-size:18px}}:root{--bg:#07090c;--surface:#11151b;--surface-2:#161c24;--border:#1d242d;--text:#e6edf3;--muted:#8b98a5;--accent:#22d8f0;--accent-press:color-mix(in srgb, var(--accent) 82%, #000);--accent-ink:#021216;--glow:0 0 16px color-mix(in srgb, var(--accent) 35%, transparent);--ok:#3ddc97;--warn:#f5b83d;--danger:#ff5d6c;--font:"Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--radius:12px;--radius-sm:8px;--maxw:1120px;--tap:44px;--bottombar:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:15px;line-height:1.6}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0 0 var(--s3);line-height:1.3}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}p{margin:0 0 var(--s3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page{gap:var(--s4);display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4)}.narrow{width:100%;max-width:440px;margin:0 auto}.row{align-items:center;gap:var(--s3);display:flex}.between{justify-content:space-between}.stack{gap:var(--s3);display:grid}.btn{justify-content:center;align-items:center;gap:var(--s2);white-space:nowrap;min-height:var(--tap);padding:0 var(--s5);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:500 15px var(--font);cursor:pointer;flex-shrink:0;transition:transform .1s ease-out,background-color .15s,border-color .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--glow);font-weight:700}.btn-ghost{background:0 0}.btn-danger{border-color:color-mix(in srgb, var(--danger) 50%, transparent);color:var(--danger);background:0 0}.btn-sm{min-height:36px;padding:0 var(--s3);font-size:13px}@media (pointer:coarse),(width<=767px){.btn-sm{min-height:var(--tap)}}.btn-block{width:100%}.field{gap:var(--s1);display:grid}.field label{color:var(--muted);font-size:13px}.field input,.input{width:100%;min-height:var(--tap);padding:0 var(--s3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:16px var(--font)}textarea,select{font-size:16px}.field input:focus,.input:focus{border-color:var(--accent);box-shadow:var(--glow);outline:none}.field input:disabled{color:var(--muted)}.field input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:0;font-size:13px}.check{gap:var(--s2);color:var(--muted);align-items:flex-start;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.alert{border-radius:var(--radius-sm);padding:var(--s3) var(--s4);gap:var(--s3);border:1px solid;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0;display:flex}.alert p{margin:0}.alert-error{border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent);color:color-mix(in srgb, var(--danger) 55%, var(--text))}.alert-ok{border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent);color:color-mix(in srgb, var(--ok) 55%, var(--text))}.alert-warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent);color:color-mix(in srgb, var(--warn) 55%, var(--text))}.alert-info{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent);color:color-mix(in srgb, var(--accent) 55%, var(--text))}.loading{padding:var(--s7) 0;text-align:center;color:var(--muted)}.empty{padding:var(--s7) var(--s4);text-align:center;gap:var(--s3);justify-items:center;display:grid}.tag{padding:0 var(--s2);white-space:nowrap;border-radius:4px;font-size:12px;line-height:22px;display:inline-block}.tag-muted{background:var(--surface-2);color:var(--muted)}.tag-accent{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.tag-ok{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.tag-warn{background:color-mix(in srgb, var(--warn) 12%, transparent);color:var(--warn)}.tag-danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}@media (hover:hover){a:hover{text-decoration:underline}.btn:hover{border-color:color-mix(in srgb, var(--border) 70%, var(--text));text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--accent-press);border-color:var(--accent-press)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{flex-direction:column;min-height:100dvh;display:flex}.header{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{max-width:var(--maxw);padding:0 var(--s4);justify-content:space-between;align-items:center;height:56px;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--s2);color:var(--text);font-family:var(--mono);letter-spacing:.08em;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand img{border-radius:6px;width:32px;height:32px}.header-nav{gap:var(--s5);align-items:center;display:none}.header-nav a{color:var(--muted);align-items:center;gap:var(--s1);min-height:var(--tap);display:inline-flex}.header-nav a.active,.header-nav a:hover{color:var(--text);text-decoration:none}.main{width:100%;max-width:var(--maxw);padding:var(--s4) var(--s4) calc(var(--bottombar) + env(safe-area-inset-bottom) + var(--s5));flex:1;margin:0 auto}.footer{border-top:1px solid var(--border);padding:var(--s5) var(--s4) calc(var(--bottombar) + var(--s5));color:var(--muted);text-align:center;font-size:13px}.footer nav{gap:var(--s4);margin-bottom:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.footer a{color:var(--muted);min-height:var(--tap);padding:0 var(--s2);align-items:center;display:inline-flex}.footer-contact{gap:var(--s2) var(--s4);margin:0 0 var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.footer-contact a{min-height:0;color:var(--text);padding:0}.brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottombar{z-index:20;height:calc(var(--bottombar) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottombar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex;position:relative}.bottombar a.active{color:var(--accent)}.bottombar a:hover{text-decoration:none}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);font:700 11px/18px var(--mono);text-align:center;border-radius:9px;padding:0 5px}.bottombar .badge{position:absolute;top:6px;left:calc(50% + 6px)}@media (width>=768px){.buybar{display:none}.header-nav{gap:var(--s6);margin-left:auto;display:flex}.bottombar{display:none}.main{padding-bottom:var(--s7)}.footer{padding-bottom:var(--s5)}}.section{margin-bottom:var(--s6)}.section-title{align-items:center;gap:var(--s2);letter-spacing:.04em;font-size:16px;display:flex}.section-title:before{content:"";background:var(--accent);width:4px;height:16px;box-shadow:var(--glow);border-radius:2px}form.card>a,form.card>.row>a{min-height:var(--tap);align-items:center;display:inline-flex}.banner{border-radius:var(--radius);aspect-ratio:16/7;background:var(--surface);margin-bottom:var(--s4);position:relative;overflow:hidden}.banner img{object-fit:cover;width:100%;height:100%}.banner-dots{justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.banner-dots button{width:var(--tap);height:var(--tap);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.banner-dots button:after{content:"";background:color-mix(in srgb, var(--text) 40%, transparent);border-radius:50%;width:8px;height:8px}.banner-dots button[aria-current=true]:after{background:var(--accent);box-shadow:var(--glow)}.ticker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:var(--s5);color:var(--muted);font-size:13px;overflow:hidden}.ticker-track{gap:var(--s6);padding:var(--s2) var(--s4);white-space:nowrap;width:max-content;animation:40s linear infinite ticker;display:flex}.ticker-track a{color:var(--accent)}.video{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border);background:#000;position:relative;overflow:hidden}.video img,.video iframe{object-fit:cover;border:0;width:100%;height:100%;display:block}.video-play{cursor:pointer;background:var(--accent);width:72px;height:72px;color:var(--accent-ink);box-shadow:var(--glow);border:0;border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.video-caption{margin:var(--s2) 0 0}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track,.skeleton{animation:none}}.chips{gap:var(--s2);padding-bottom:var(--s1);scrollbar-width:none;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.tabs::-webkit-scrollbar{display:none}.chip{min-height:var(--tap);padding:0 var(--s4);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:18px;flex:none;align-items:center;font-size:14px;display:inline-flex}.chip.active{border-color:var(--accent);color:var(--accent);text-decoration:none}.grid{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.grid{gap:var(--s4);grid-template-columns:repeat(4,minmax(0,1fr))}}.product-card{color:var(--text);flex-direction:column;padding:0;transition:border-color .15s,transform .1s ease-out;display:flex;overflow:hidden}.product-card:active{transform:scale(.98)}.product-card.is-soldout{opacity:.6}.product-img{aspect-ratio:1;object-fit:cover;background:var(--surface-2);width:100%}.product-img-empty{place-items:center;display:grid}.product-img-empty img{opacity:.35;width:40%}.product-card-body{padding:var(--s3);gap:var(--s1);display:grid}.product-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden}.price{color:var(--accent);font-family:var(--mono);font-weight:700}.product-layout{gap:var(--s5);display:grid}@media (width>=768px){.product-layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}.product-hero{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.gallery{gap:var(--s2);display:grid}.gallery .video{border:0;border-radius:0}.gallery-thumbs{gap:var(--s2);padding-bottom:var(--s1);display:flex;overflow-x:auto}.gallery-thumb{height:72px;min-width:var(--tap);border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:#fff;flex:0 0 72px;padding:0;position:relative;overflow:hidden}.gallery-thumb[aria-pressed=true]{border-color:var(--accent)}.gallery-thumb img{object-fit:cover;width:100%;height:100%}.gallery-thumb svg{filter:drop-shadow(0 0 3px #000);margin:auto;position:absolute;inset:0}.variants{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.variant{text-align:left;min-height:56px;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:14px var(--font);cursor:pointer;gap:2px;display:grid}.variant[aria-pressed=true]{border-color:var(--accent);box-shadow:var(--glow)}.variant:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.stepper{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;display:inline-flex}.stepper button{width:var(--tap);height:var(--tap);color:var(--text);cursor:pointer;background:0 0;border:0;font-size:18px}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper output{text-align:center;min-width:36px;font-family:var(--mono)}.line{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border);grid-template-columns:64px minmax(0,1fr);display:grid}.line:last-child{border-bottom:0}.line img,.line .product-img{border-radius:var(--radius-sm);width:64px;height:64px}.line.is-off{opacity:.55}.summary{gap:var(--s2);display:grid}.summary-row{justify-content:space-between;gap:var(--s3);display:flex}.summary-total{border-top:1px solid var(--border);padding-top:var(--s3);font-size:18px;font-weight:700}.kv{gap:var(--s2) var(--s3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin:0;display:grid}.kv dt{color:var(--muted);font-size:13px}.kv dd{font-family:var(--mono);overflow-wrap:anywhere;margin:0}.amount-big{font-family:var(--mono);color:var(--accent);text-shadow:var(--glow);font-size:28px;font-weight:700}.serial{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 5%, transparent);font-family:var(--mono);overflow-wrap:anywhere;display:flex}.tabs{gap:var(--s1);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.tabs a{padding:0 var(--s4);color:var(--muted);min-height:var(--tap);border-bottom:2px solid #0000;flex:none;align-items:center;display:inline-flex}.tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.tabs a:hover{color:var(--text);text-decoration:none}.list{display:grid}.list-item{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border);color:var(--text);display:flex}.list-item:last-child{border-bottom:0}a.list-item:hover{text-decoration:none}.meter{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.meter span{background:var(--accent);height:100%;box-shadow:var(--glow);display:block}details.faq{border-bottom:1px solid var(--border);padding:var(--s2) 0}details.faq:last-child{border-bottom:0}details.faq summary{cursor:pointer;min-height:var(--tap);align-items:center;font-weight:500;display:flex}.prose h2{margin-top:var(--s5)}.prose li{margin-bottom:var(--s2)}.prose h3{margin-top:var(--s4)}.prose ol{padding-left:var(--s5)}.header-chat{color:var(--muted);font:inherit;cursor:pointer;min-height:var(--tap);align-items:center;gap:var(--s1);background:0 0;border:0;display:inline-flex;position:relative}.header-chat:hover{color:var(--text)}.chat-fab{right:var(--s4);bottom:calc(var(--bottombar) + env(safe-area-inset-bottom) + var(--s4));z-index:25;background:var(--accent);width:56px;height:56px;color:var(--accent-ink);box-shadow:var(--glow);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.chat-fab .badge,.header-chat .badge{background:var(--danger);color:#fff;position:absolute;top:2px;right:2px}.header-chat .badge{top:4px;right:-14px}@media (width>=768px){.chat-fab{bottom:var(--s5);right:var(--s5)}}.chat-panel{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;height:min(80vh,640px);display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 32px #00000080}@media (width>=768px){.chat-panel{inset:auto var(--s5) var(--s5) auto;border-radius:var(--radius);width:380px}}.chat-head{padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.chat-list{padding:var(--s3);gap:var(--s2);flex-direction:column;flex:1;margin:0;list-style:none;display:flex;overflow-y:auto}.chat-msg{gap:2px;max-width:80%;display:grid}.chat-msg p{padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--surface-2);margin:0}.chat-user{text-align:right;align-self:flex-end}.chat-user p{background:color-mix(in srgb, var(--accent) 22%, var(--surface))}.chat-system p{border:1px dashed var(--border);color:var(--muted);background:0 0}.chat-who,.chat-time,.chat-order{color:var(--muted);font-size:12px}.chat-img{border-radius:var(--radius-sm);max-width:220px}.chat-empty{padding:var(--s4);text-align:center}.chat-ref{padding:0 var(--s3);color:var(--accent);justify-content:space-between;align-items:center;margin:0;font-size:13px;display:flex}.chat-offline{margin:var(--s2) var(--s3) 0}.chat-form{gap:var(--s2);padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom));border-top:1px solid var(--border);align-items:flex-end;display:flex}.chat-form textarea{resize:none;min-height:var(--tap);max-height:120px;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:15px var(--font);flex:1}@media (hover:hover){.product-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);text-decoration:none}.chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}}@media (width<=767px){.product-hero,.product-hero .product-img,.skeleton-hero{max-height:50vh}body[data-buybar] .chat-fab{display:none}body[data-buybar] .footer{padding-bottom:calc(var(--bottombar) + env(safe-area-inset-bottom) + 64px + var(--s5))}}.buybar{left:0;right:0;bottom:calc(var(--bottombar) + env(safe-area-inset-bottom));z-index:19;justify-content:space-between;align-items:center;gap:var(--s3);height:64px;padding:0 var(--s4);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed}.buybar .price{margin-right:auto;font-size:18px}.buybar .btn-primary{flex:0 55%}.buybar-chat{width:var(--tap);padding:0;position:relative}.buybar-chat .badge{background:var(--danger);color:#fff;position:absolute;top:-6px;right:-6px}.skeleton{background:var(--surface-2);border-radius:6px;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{50%{opacity:.45}}.skeleton-card{pointer-events:none}.skeleton-img{aspect-ratio:1;border-radius:0}.skeleton-line{height:14px;margin:6px 0}.skeleton-line.short{width:45%}.skeleton-line.tall{width:80%;height:28px}.skeleton-block{border-radius:var(--radius);height:120px}.skeleton-hero{aspect-ratio:1;border-radius:var(--radius)}.header-shop{margin-left:var(--s6)}.header .brand{transition:opacity .3s}.header.is-intro{transition:background-color .3s,border-color .3s}.header.is-intro.is-top{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom-color:#0000}.header.is-intro.is-top .brand{opacity:0;pointer-events:none}
