/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--radius-md:calc(var(--radius) * .8);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}html{-webkit-text-size-adjust:100%}body{color:var(--foreground);font:15px/1.6 var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);background-image:radial-gradient(ellipse 70% 100% at 50% 0, var(--glow), transparent);background-repeat:no-repeat;background-size:100% 520px}a{text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}::selection{background:var(--signal);color:var(--signal-ink)}}@layer components{.masthead{z-index:20;background:var(--bar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.masthead-inner{flex-wrap:wrap;align-items:center;gap:6px 22px;max-width:1440px;min-height:60px;margin:0 auto;padding:0 24px;display:flex}.brand{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{width:26px;height:26px;color:var(--signal);flex:none;overflow:visible}.brand-mark .ring,.brand-mark .axis,.brand-mark .beam{fill:none;stroke:currentColor;stroke-width:1.5px}.brand-mark .ring{opacity:.55}.brand-mark .axis{opacity:.25}.brand-mark .beam{stroke-width:2.2px;stroke-linecap:round}.brand-mark .blip{fill:currentColor}.brand-mark .sweep{transform-origin:16px 16px;animation:4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.3}}@keyframes ping{0%,to{opacity:.25}12%{opacity:1}}.sections{align-self:stretch;gap:4px;display:flex}.sections a{font:500 13.5px/1 var(--font-code);color:var(--fg-3);align-items:center;padding:0 10px;text-decoration:none;display:flex;position:relative}.sections a:hover{color:var(--fg)}.sections a[aria-current]{color:var(--signal)}.sections a[aria-current]:after{content:"";background:var(--signal);height:2px;box-shadow:var(--price-glow);position:absolute;bottom:-1px;left:6px;right:6px}.freshness{font:12px/1.5 var(--font-code);color:var(--fg-3)}.masthead-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.langs{font:12.5px/1 var(--font-code);align-items:center;display:flex}.langs a{color:var(--fg-3);padding:4px 8px;text-decoration:none}.langs a+a{border-left:1px solid var(--line-2)}.langs a:hover{color:var(--fg)}.langs a[aria-current]{color:var(--signal);font-weight:600}.theme-toggle{border:1px solid var(--line-2);border-radius:var(--radius);width:30px;height:30px;color:var(--fg-2);cursor:pointer;place-items:center;transition:color .15s,border-color .15s;display:inline-grid;position:relative}.theme-toggle:hover{color:var(--signal);border-color:var(--signal)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:none}.theme-toggle [data-theme-label]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;display:none;position:absolute;overflow:hidden}:root:not([data-theme]) .theme-toggle [data-theme-icon=system],:root[data-theme=light] .theme-toggle [data-theme-icon=light],:root[data-theme=dark] .theme-toggle [data-theme-icon=dark]{display:block}:root:not([data-theme]) .theme-toggle [data-theme-label=system],:root[data-theme=light] .theme-toggle [data-theme-label=light],:root[data-theme=dark] .theme-toggle [data-theme-label=dark]{display:inline}.colophon{border-top:1px solid var(--line);background:var(--bar)}.colophon-inner{max-width:1440px;font:12px/1.7 var(--font-code);color:var(--fg-3);gap:4px;margin:0 auto;padding:22px 24px 36px;display:grid}.colophon-inner p:first-child:before{content:"# ";color:var(--signal)}.colophon-inner a{color:var(--fg-2)}.colophon-inner nav{flex-wrap:wrap;gap:4px 18px;display:flex}.page{--gut:24px;padding:0 0 64px}.page>:not(.countdown-block){max-width:1440px;padding:28px var(--gut) 0;margin-inline:auto}.countdown-block{--cd-size:clamp(54px, 11.4vw, 176px);--rs:clamp(420px, 62vw, 900px);isolation:isolate;background:var(--hero-bg);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.countdown-block:before{content:"";z-index:-1;background-image:linear-gradient(var(--hero-grid) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 120% at 15% 0,#000 20%,#0000 80%);mask-image:radial-gradient(75% 120% at 15% 0,#000 20%,#0000 80%)}.cd-inner{z-index:1;max-width:1440px;margin:0 auto;padding:40px 24px 0;position:relative}.cd-head{flex-wrap:wrap;align-items:baseline;gap:4px 18px;display:flex}.cd-head h2{font:600 13px/1.5 var(--font-code);letter-spacing:.18em;color:var(--signal)}.cd-head h2:before{content:"// "}.cd-when{font:12.5px/1.5 var(--font-code);color:var(--fg-3)}.cd-clock{font-variant-numeric:tabular-nums;margin-top:8px;display:flex}.cd-cell{border-right:1px solid var(--line-2);flex-direction:column;gap:6px;margin-right:clamp(14px,3.4vw,48px);padding-right:clamp(14px,3.4vw,48px);display:flex}.cd-cell:last-child{border-right:0;margin-right:0;padding-right:0}.cd-cell b{font:300 var(--cd-size) / 1 var(--font-code);letter-spacing:-.05em;color:var(--fg)}.cd-cell small{font:12px/1 var(--font-code);letter-spacing:.4em;color:var(--fg-3)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.cd-cell b{background-image:linear-gradient(180deg, var(--digit-a) 10%, var(--digit-b));color:#0000;filter:var(--digit-glow);-webkit-background-clip:text;background-clip:text}}.radar{z-index:0;top:50%;right:calc(var(--rs) * -.2);width:var(--rs);height:var(--rs);pointer-events:none;position:absolute;transform:translateY(-50%);-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 68%);mask-image:radial-gradient(circle,#000 20%,#0000 68%)}.radar svg{width:100%;height:100%;position:absolute;inset:0}.radar .ring{fill:none;stroke:var(--ring-line);stroke-width:1px;vector-effect:non-scaling-stroke}.radar .axis{stroke:var(--ring-line);stroke-width:1px;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}.radar .blips circle{fill:var(--signal);filter:drop-shadow(0 0 4px var(--signal));animation:4s linear infinite ping}.radar .blips circle:nth-child(2){animation-delay:-.5s}.radar .blips circle:nth-child(3){animation-delay:-1s}.radar .blips circle:nth-child(4){animation-delay:-1.5s}.radar .blips circle:nth-child(5){animation-delay:-2s}.radar .blips circle:nth-child(6){animation-delay:-2.5s}.radar .blips circle:nth-child(7){animation-delay:-3s}.radar .blips circle:nth-child(8){animation-delay:-3.5s}.radar-sweep{background:conic-gradient(from 0deg, transparent 0deg 286deg, var(--sweep) 356deg, var(--signal) 360deg);border-radius:50%;animation:9s linear infinite spin;position:absolute;inset:0}.stats{z-index:1;border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;padding-inline:max(24px,50% - 696px);display:grid;position:relative}.stats>div{border-left:1px solid var(--line);padding:16px 24px 18px}.stats>div:first-child{border-left:0;padding-left:0}.stats dt{font:12px/1.5 var(--font-code);color:var(--fg-3)}.stats dd{font:600 28px/1.3 var(--font-code);color:var(--fg)}.stats>div:first-child dd{color:var(--signal);text-shadow:var(--price-glow)}.shelf{border-bottom:1px solid var(--line);min-width:0;margin-bottom:12px;padding-bottom:6px}.shelf h2,.rail h2,.panel>h2{font:600 13px/1.4 var(--font-code);letter-spacing:.02em;color:var(--fg-2);align-items:center;gap:8px;margin-bottom:10px;display:flex}.shelf h2:before,.rail h2:before,.panel>h2:before{content:"//";color:var(--signal)}.tags{border-top:1px dashed var(--line-2);display:grid}.tag{border-bottom:1px dashed var(--line);font:13px/1.6 var(--font-code);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"kind vendor price""kind ago cny";align-items:baseline;gap:0 10px;padding:6px 4px;text-decoration:none;transition:background .1s;display:grid}.tags li:last-child .tag{border-bottom:0}.tag:hover{background:var(--signal-dim)}.tag:hover .tag-vendor{color:var(--signal)}.tag-kind{border:1px solid var(--line-2);text-align:center;min-width:3.4em;color:var(--fg-3);border-radius:3px;grid-area:kind;align-self:center;padding:0 5px;font-size:11px;line-height:18px}.tag-kind[data-kind=new],.tag-kind[data-kind=new_code]{border-color:var(--signal);color:var(--signal)}.tag-kind[data-kind=price_drop]{border-color:var(--signal);background:var(--signal);color:var(--signal-ink)}.tag-ago{color:var(--fg-3);white-space:nowrap;grid-area:ago;font-size:11.5px}.tag-vendor{text-overflow:ellipsis;white-space:nowrap;grid-area:vendor;min-width:0;font-weight:600;overflow:hidden}.tag-price{color:var(--signal);text-align:right;white-space:nowrap;grid-area:price;font-weight:700}.tag-cny{color:var(--fg-3);text-align:right;white-space:nowrap;grid-area:cny;font-size:11.5px}.board-layout{gap:32px;display:grid}.scopes{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;margin-bottom:16px;display:flex}.scopes a{font:500 14.5px/1.4 var(--font-code);color:var(--fg-3);padding:10px 16px;text-decoration:none;position:relative}.scopes a:hover{color:var(--fg)}.scopes a[aria-current]{color:var(--signal)}.scopes a[aria-current]:before{content:"[";margin-right:4px}.scopes a[aria-current]:after{content:"]";margin-left:4px}.filters{gap:12px;margin-bottom:8px;padding:4px 0 16px;display:grid}.filters input:not([type=checkbox]),.filters select{font-family:var(--font-code);font-size:13px}.filters input::placeholder{color:var(--fg-3)}.filter-products{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}.filter-products legend{float:left;font:12px/1.4 var(--font-code);color:var(--fg-3);margin-right:2px}.filter-products legend:after{content:":"}.check{font:13px/1.5 var(--font-code);color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.check:hover{color:var(--fg)}.check input{appearance:none;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;border-radius:2px;flex:none;width:14px;height:14px;margin:0}.check input:checked{border-color:var(--signal);background:var(--signal);box-shadow:inset 0 0 0 2.5px var(--panel)}.check:has(input:checked){color:var(--fg)}.filter-row{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:12px;display:flex}.filter-sort{font:12px/1.4 var(--font-code);color:var(--fg-3);align-items:center;gap:8px;display:inline-flex}.reset{font:12.5px/1.4 var(--font-code);color:var(--fg-2)}.total{font:12px/1.4 var(--font-code);color:var(--fg-3);margin-left:auto}.deals{border-top:1px solid var(--line);gap:0;display:grid}.deal{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px 40px;padding:24px 20px 0;transition:background .2s;display:grid;position:relative}.deal:before{content:"";background:var(--signal);width:2px;box-shadow:var(--price-glow);opacity:0;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0}.deal:hover{background:linear-gradient(90deg, var(--signal-dim), transparent 70%)}.deal:hover:before{opacity:1}.deal>*{grid-column:1}.deal-meta{font:12.5px/1.5 var(--font-code);flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.vendor{letter-spacing:.1em;text-transform:uppercase;color:var(--signal);font-weight:700;text-decoration:none}.vendor:hover{color:var(--signal)}.heat{color:var(--fg-3);text-decoration:none}.heat:hover{color:var(--signal)}.ev{border:1px solid var(--line-2);font:11.5px/18px var(--font-code);color:var(--fg-2);border-radius:3px;padding:0 6px}.ev-bf{border-color:var(--signal);background:var(--signal-dim);color:var(--signal);font-weight:600}.deal-title{overflow-wrap:anywhere;font-size:19px;font-weight:600;line-height:1.45}.deal-title a{text-decoration:none}.deal-title a:hover{color:var(--signal);text-decoration:underline}.flag{border:1px solid var(--line-2);font:500 11.5px/18px var(--font-code);color:var(--fg-2);vertical-align:2px;white-space:nowrap;border-radius:3px;align-items:center;gap:5px;margin-left:8px;padding:0 7px;display:inline-flex}.flag:before{content:"";background:var(--good);border-radius:50%;width:6px;height:6px}.deal-price{text-align:right;font-family:var(--font-code);flex-direction:column;grid-area:1/2/span 3;align-items:flex-end;display:flex}.deal-price strong{letter-spacing:-.05em;color:var(--fg);white-space:nowrap;font-size:44px;font-weight:300;line-height:1.1}.deal-price strong small{letter-spacing:0;color:var(--fg-3);margin-left:3px;font-size:.34em;font-weight:400}.deal-price span{color:var(--fg-3);margin-top:2px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips li{border:1px solid var(--line-2);font:12.5px/22px var(--font-code);color:var(--fg-2);background:0 0;border-radius:3px;padding:0 9px}.chips li[data-k=discount]{border-color:var(--signal);background:var(--signal);color:var(--signal-ink);font-weight:600}.chips li[data-k=rec-recurring]{border-color:var(--signal);color:var(--signal);background:0 0;font-weight:600}.chips li[data-k=rec-mixed]{border-color:var(--signal);color:var(--fg-2);background:0 0;border-style:dashed}.chips li[data-k=rec-first_term]{border-color:var(--warning);color:var(--fg);background:0 0}.chips li[data-k=rec-first_term]:before{content:"! ";color:var(--warning);font-weight:700}.chips li[data-k=rec-unknown],.chips li[data-k=code-more]{border-style:dashed;border-color:var(--line-2);color:var(--fg-3);background:0 0}.chips li[data-k=code]{border:1px dashed var(--signal);background:0 0;padding:0 2px 0 7px}.chips li[data-k=net]{border-color:var(--signal);color:var(--signal);font-weight:600}.code{font:12px/20px var(--font-code);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.code-prefix{color:var(--fg-3)}.code code{font:inherit;color:var(--fg);-webkit-user-select:all;user-select:all;cursor:text;font-weight:600}.copy{width:20px;height:20px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:inline-grid}.copy:before{content:"";background:currentColor;width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='13' height='13' x='9' y='9' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='13' height='13' x='9' y='9' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") 50%/contain no-repeat}.copy:hover,.copy:focus-visible{background:var(--signal-dim);color:var(--signal)}.copy[data-copied]{color:var(--signal)}.copy[data-copied]:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}:root:not([data-hydrated]) .copy{display:none}.deal-bottom{grid-column:1/-1;position:relative}.deal-bottom:not(.solo) .deal-foot{z-index:1;height:46px;position:absolute;top:1px;right:0}.deal-bottom.solo{padding-bottom:16px}.deal-foot{font:12px/1.6 var(--font-code);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.expiry{color:var(--fg-2)}.expiry[data-state=soon]{color:var(--warning)}.expiry[data-state=ended]{color:var(--fg-3)}.deal.is-ended{opacity:.55}.deal.is-ended:hover,.deal.is-ended:focus-within{opacity:1}.deal-foot .same{color:var(--fg-2);-webkit-text-decoration:underline dotted var(--line-2);-webkit-text-decoration:underline dotted var(--line-2);-webkit-text-decoration:underline dotted var(--line-2);text-decoration:underline dotted var(--line-2);text-underline-offset:3px}.deal-foot .same:hover{color:var(--signal)}.more-scope{font:13px/1.6 var(--font-code);text-align:center;margin-top:16px}.more-scope a{color:var(--fg-2);text-decoration:none}.more-scope a:after{content:" →";color:var(--signal)}.more-scope a:hover{color:var(--signal)}.detail-link{border:1px solid var(--line-2);color:var(--fg);border-radius:3px;margin-left:auto;padding:2px 10px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.detail-link:after{content:" →"}.detail-link:hover{border-color:var(--signal);color:var(--signal)}.more{border-top:1px dashed var(--line);margin:0 -20px}.more summary{min-height:46px;font:12px/1.6 var(--font-code);color:var(--fg-2);cursor:pointer;align-items:center;gap:8px;padding:0 20px;list-style:none;display:flex}.more summary:hover{background:var(--panel-2);color:var(--signal)}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"[+]";color:var(--signal)}.more[open] summary:before{content:"[−]"}.more>:not(summary){margin-left:20px;margin-right:20px}.more>:last-child:not(summary){margin-bottom:14px}.pt-wrap{margin-top:2px;overflow-x:auto}.pt{border-collapse:collapse;width:100%;font:12.5px/1.5 var(--font-code)}.pt th{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--fg-3);text-align:left;white-space:nowrap;padding:7px 8px;font-size:11.5px;font-weight:500}.pt td{border-bottom:1px dashed var(--line);white-space:nowrap;padding:7px 8px}.pt td[data-c=name],.pt td[data-c=loc]{white-space:normal;overflow-wrap:anywhere;min-width:8em}.pt tbody tr:hover td{background:var(--signal-dim)}.pt tr:last-child td{border-bottom:0}.pt td b{color:var(--signal);font-weight:700}.pt td[data-c=price] .code,.pv td b+.code{font-size:11.5px;display:flex}.pt td:empty:before{content:"—";color:var(--line-2)}.pt td small,.pv td small.ip{border:1px solid var(--warning);font:500 11px/16px var(--font-code);color:var(--fg-2);vertical-align:1px;white-space:nowrap;border-radius:3px;margin-left:6px;padding:0 5px;display:inline-block}.pt td small.net,.pv td small.net{border-color:var(--signal);color:var(--signal)}.pt td a,.pv td a{color:var(--fg-2);-webkit-text-decoration-color:var(--line-2);-webkit-text-decoration-color:var(--line-2);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.pt td a:hover,.pv td a:hover{color:var(--signal)}.plans-more{font:12px/1.5 var(--font-code);color:var(--fg-3);margin-top:6px}.excerpt{border-left:2px solid var(--signal);background:var(--panel-2);font:12.5px/1.7 var(--font-code);color:var(--fg-2);white-space:pre-line;overflow-wrap:anywhere;margin-top:10px;padding:10px 14px}.pager{font:13px/1.4 var(--font-code);color:var(--fg-3);justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.pager a{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--panel);color:var(--fg);padding:6px 14px;text-decoration:none;transition:color .15s,border-color .15s}.pager a:hover{border-color:var(--signal);color:var(--signal)}.pager{flex-wrap:wrap;gap:8px 12px}.pager-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pager-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pager-pages a{text-align:center;min-width:34px;padding:6px 8px}.pager-pages a[aria-current]{border-color:var(--signal);background:var(--signal);color:var(--signal-ink)}.rail{border-top:1px solid var(--line);padding:24px 0 6px}.rail>:first-child h2:after{content:"";background:var(--signal);width:6px;height:6px;box-shadow:0 0 8px var(--signal);border-radius:50%;margin-left:auto;animation:2s ease-in-out infinite pulse}.intel li{border-top:1px dashed var(--line);overflow-wrap:anywhere;flex-direction:column;padding:9px 0;font-size:14px;line-height:1.5;display:flex}.intel li:first-child{border-top:0}.intel a{text-decoration:none}.intel a:hover{color:var(--signal);text-decoration:underline}.intel span{font:11.5px/1.5 var(--font-code);color:var(--fg-3);order:-1;margin-bottom:2px}.intel span:before{content:"["}.intel span:after{content:"]"}.empty{font:13px/1.6 var(--font-code);color:var(--fg-3);text-align:center;padding:24px 0}.rail .empty{text-align:left;padding:8px 0 14px}.notice{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:48px 32px}.notice h1{font:700 18px/1.5 var(--font-code);margin-bottom:12px}.notice h1:before{content:"ERR ";color:var(--critical)}.page-title{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:24px;font-weight:800;line-height:1.35}.board>.page-title{font-family:var(--font-code);margin-bottom:14px}.board>.page-title:before{content:"> ";color:var(--signal)}.board>.page-title:after{content:"_";color:var(--signal);animation:1.1s step-end infinite blink}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.detail{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.hero{background:radial-gradient(ellipse 60% 120% at 100% 0, var(--signal-dim), transparent 70%), var(--panel);gap:10px;padding:36px 40px;display:grid}.hero .page-title{font-size:clamp(24px,2.8vw,38px);line-height:1.3}.hero.has-price{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;gap:40px}.hero-main{align-content:start;gap:10px;min-width:0;display:grid}.hero-price{border-left:1px solid var(--line-2);flex-direction:column;justify-content:center;padding:8px 0 8px 40px;display:flex}.hero-price dt{font:12px/1.5 var(--font-code);color:var(--fg-3)}.hero-price dt:before{content:"$ ";color:var(--signal)}.hero-price dd{font-family:var(--font-code);flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.hero-price strong small{letter-spacing:0;color:var(--fg-3);margin-left:4px;font-size:.34em;font-weight:400}.hero-price strong{letter-spacing:-.05em;color:var(--fg);font-size:clamp(40px,4.4vw,64px);font-weight:300;line-height:1.15}.hero-price dd:not(.hero-codes)>span{color:var(--fg-3);font-size:12.5px}.hero-price dt.hero-codes-label,.hero-price dt.hero-valid-label{margin-top:12px}.hero-price dt.hero-valid-label:before{content:"@ "}.hero-price dd.expiry{font-size:13.5px}.hero-price dt.hero-codes-label:before{content:"# "}.hero-codes{gap:6px;margin-top:4px}.hero-codes .code{border:1px dashed var(--signal);background:var(--panel);border-radius:3px;padding:2px 2px 2px 8px;font-size:13px}.hero-price .hero-price-note{border-top:1px dashed var(--line-2);font:13px/1.5 var(--font-ui);gap:2px;margin-top:8px;padding-top:8px;display:grid}.hero-price-note a{color:var(--fg-2);text-decoration:none}.hero-price-note a:hover{color:var(--signal);text-decoration:underline}.original-title{color:var(--fg-3);overflow-wrap:anywhere;font-size:13.5px}.summary{max-width:72ch;color:var(--fg-2);font-size:15px}.summary .note{border:1px solid var(--line-2);font:11px/1.6 var(--font-code);color:var(--fg-3);white-space:nowrap;border-radius:3px;margin-left:8px;padding:0 6px}.actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.actions a{font-family:var(--font-code)}.facts{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.facts>div{box-shadow:1px 0 0 var(--line), 0 1px 0 var(--line);padding:12px 16px}.detail .facts>div:last-child:nth-child(4n+3){grid-column:span 2}.detail .facts>div:last-child:nth-child(4n+2){grid-column:span 3}.facts dt{font:11.5px/1.5 var(--font-code);color:var(--fg-3)}.facts dd{overflow-wrap:anywhere;margin-top:3px;font-weight:600}.detail-layout{align-items:start;gap:16px;display:grid}.detail-main,.detail-side{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.vendor-facts{grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin-top:14px;font-size:14px;line-height:1.6;display:grid}.vendor-facts dt{font:12px/1.9 var(--font-code);color:var(--fg-3)}.vendor-facts dd{color:var(--fg-2);flex-wrap:wrap;gap:2px 16px;margin:0;display:flex}.vendor-facts b{color:var(--fg);font-weight:600}.vendor-facts small.net{border:1px solid var(--signal);font:600 11.5px/18px var(--font-code);color:var(--signal);border-radius:3px;padding:0 6px}.more-link{font:12.5px/1.5 var(--font-code);margin-top:10px}.more-link a{color:var(--signal)}.timeline li,.links li{border-top:1px dashed var(--line);overflow-wrap:anywhere;padding:8px 0;font-size:14px;line-height:1.5}.timeline li:first-child,.links li:first-child{border-top:0}.timeline time{font:11.5px/1.5 var(--font-code);color:var(--signal);display:block}.timeline time:before{content:"["}.timeline time:after{content:"]"}.links a{text-decoration:none}.links a:hover{color:var(--signal);text-decoration:underline}.links li>span:last-child{font:11.5px/1.5 var(--font-code);color:var(--fg-3);margin-top:2px;display:block}.links .ev{margin-right:8px}.presets{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.presets a{border:1px solid var(--line-2);font:13px/1.6 var(--font-ui);color:var(--fg-2);border-radius:999px;padding:4px 12px;text-decoration:none;transition:color .15s,border-color .15s}.presets a:hover{border-color:var(--signal);color:var(--signal)}.presets a[aria-current]{border-color:var(--signal);background:var(--signal);color:var(--signal-ink);font-weight:600}.vendors-page .lead{color:var(--fg-2);margin:4px 0 18px}.vendors-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;display:flex}.vendors-bar .total{font:12.5px/1.5 var(--font-code);color:var(--fg-3)}.vd-wrap{overflow-x:auto}.vd{border-collapse:collapse;width:100%;font-size:14.5px}.vd th{border-bottom:1px solid var(--line-2);font:500 12px/1.4 var(--font-code);text-align:left;color:var(--fg-3);white-space:nowrap;padding:10px 14px 10px 0}.vd td{border-bottom:1px solid var(--line);vertical-align:baseline;padding:13px 14px 13px 0}.vd td[data-c=vendor] a{font-weight:600;text-decoration:none}.vd td[data-c=vendor] a:hover{color:var(--signal)}.vd td small{font:12px/1.5 var(--font-ui);color:var(--fg-3);margin-top:2px;display:block}.vd td[data-c=deals],.vd td[data-c=low],.vd td[data-c=latest]{font-family:var(--font-code);white-space:nowrap}.vd td[data-c=deals]{color:var(--signal)}.vd td[data-c=deals].none{color:var(--fg-3);font-family:var(--font-ui);font-size:13px}.vd td[data-c=regions]{color:var(--fg-2)}.codes-page .lead{color:var(--fg-2);margin:4px 0 6px}.codes-page .total{font:12.5px/1.5 var(--font-code);color:var(--fg-3);margin-bottom:6px}.cd .code-list{flex-wrap:wrap;gap:6px;display:flex}.cd .code-list .code{border:1px dashed var(--signal);border-radius:3px;padding:2px 2px 2px 8px;font-size:13px}.cd td[data-c=discount],.cd td[data-c=recurring],.cd td[data-c=expiry]{white-space:nowrap;font-size:13.5px}.cd tr.is-ended{opacity:.55}.cd tr.is-ended:hover,.cd tr.is-ended:focus-within{opacity:1}.cd td[data-c=detail]{text-align:right}.cd td .detail-link{white-space:nowrap;margin-left:0}@media (width<=700px){.vd thead{display:none}.vd,.vd tbody,.vd tr,.vd td{display:block}.vd tr{border-bottom:1px solid var(--line);padding:12px 0}.vd td{border:0;padding:2px 0}.vd td[data-l]:before{content:attr(data-l) "  ";font:11.5px/1.6 var(--font-code);color:var(--fg-3)}.vd td[data-c=regions]:empty{display:none}}.filter-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 14px;display:grid}.filter-field{font:11.5px/1.4 var(--font-code);color:var(--fg-3);gap:5px;display:grid}.filter-price{white-space:nowrap;align-items:center;gap:6px;display:flex}.pv-wrap{padding:0;overflow-x:auto}@media (width>=1100px){.pv-wrap{overflow:visible}.pv th{z-index:2;position:sticky;top:0}.pv thead tr:first-child th:first-child{border-top-left-radius:var(--radius)}.pv thead tr:first-child th:last-child{border-top-right-radius:var(--radius)}}.filter-top{border-top:0;border-bottom:1px dashed var(--line);padding-top:0;padding-bottom:12px}@media (width>=1100px){.plans-page .filter-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}.filter-top .filter-products{margin-right:auto}.pv{border-collapse:collapse;width:100%;font:12.5px/1.5 var(--font-code)}.pv th{border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--fg-3);text-align:left;white-space:nowrap;padding:10px;font-size:11.5px;font-weight:500}.pv td{border-bottom:1px dashed var(--line);white-space:nowrap;padding:8px 10px}.pv tbody tr:hover td{background:var(--signal-dim)}.pv tr:last-child td{border-bottom:0}.pv td[data-c=vendor]{font-weight:700}.pv td[data-c=vendor] a{color:var(--fg)}.pv td[data-c=vendor] a,.pv td[data-c=deal] a,.pv td[data-c=order] a{text-decoration:none}.pv td[data-c=vendor] a:hover,.pv td[data-c=deal] a:hover,.pv td[data-c=order] a:hover{color:var(--signal);text-decoration:underline}.pv td[data-c=order] a:after{content:" ↗"}.pv td[data-c=name],.pv td[data-c=loc]{white-space:normal;min-width:7em}.pv td[data-c=loc][title]{cursor:help}.pv td[data-l]:empty:before{content:"—";color:var(--line-2)}.pv td b{color:var(--signal);font-size:13.5px;font-weight:700}.status-page .lead{font:13px/1.6 var(--font-code);color:var(--fg-2)}.status-page .facts dd{font-weight:500}.facts dd .note{font:400 11.5px/1.5 var(--font-code);color:var(--fg-3);margin-top:2px;display:block}.run-meta{font:12px/1.5 var(--font-code);color:var(--fg-3);flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;display:flex}.run-meta .failing,.runs tr.bad td{color:var(--critical)}.runs .result{white-space:normal;overflow-wrap:anywhere;min-width:12em}.prose{max-width:820px;margin:0 auto;padding:8px 0 24px;line-height:1.85}.prose .page-title{letter-spacing:-.02em;font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.3}.prose .lead{color:var(--fg-2);margin-top:16px;font-size:17px}.prose h2{border-bottom:1px solid var(--line);font:700 22px/1.4 var(--font-ui);color:var(--fg);margin:44px 0 14px;padding-bottom:8px}.prose p{margin:12px 0}.prose ul{margin:12px 0;padding-left:1.5em;list-style:outside}.prose li{margin:6px 0}.prose li::marker{color:var(--signal)}.prose a{color:var(--signal);text-underline-offset:3px}.prose code{border:1px solid var(--line);background:var(--panel-2);font:12.5px/1.6 var(--font-code);overflow-wrap:anywhere;border-radius:3px;padding:1px 6px}.intervals{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px;line-height:1.6}.intervals th,.intervals td{border:1px solid var(--line);text-align:left;padding:9px 14px}.intervals thead th{background:var(--panel-2);color:var(--fg);font-weight:700}.intervals tbody th{font:600 13px/1.6 var(--font-code)}.intervals tbody tr:nth-child(2n){background:var(--panel)}.terms{grid-template-columns:max-content 1fr;gap:10px 22px;margin:14px 0;display:grid}.terms dt{color:var(--signal);font-weight:700}.terms dd{margin:0}@media (prefers-reduced-motion:reduce){.brand-mark .sweep,.radar-sweep,.radar .blips circle,.rail h2:after,.board>.page-title:after{animation:none}.radar .blips circle{opacity:.8}}@media (width>=701px){.masthead{position:sticky;top:0}}@media (width>=1100px){.board-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:40px}.rail{border-top:0;border-left:1px solid var(--line);overscroll-behavior:contain;max-height:calc(100vh - 92px);padding:4px 0 6px 32px;position:sticky;top:76px;overflow-y:auto}.detail-layout.has-side{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}}@media (width<=1099px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail .facts>div:last-child:nth-child(odd){grid-column:span 2}.detail .facts>div:last-child:nth-child(4n+2){grid-column:auto}}@media (width<=700px){.masthead-inner{gap:8px 14px;padding:8px 16px}.masthead-tools{order:1}.sections{order:2;align-self:auto}.sections a{padding:6px 10px 6px 0}.sections a[aria-current]:after{bottom:0;left:0;right:10px}.freshness{flex-basis:100%;order:4}.page{--gut:16px}.page>:not(.countdown-block){padding-top:18px}.colophon-inner{padding:20px 16px 32px}.countdown-block{--cd-size:clamp(40px, 13.4vw, 64px);--rs:130vw}.cd-inner{padding:26px 16px 0}.cd-cell{margin-right:10px;padding-right:10px}.cd-cell small{letter-spacing:.2em}.stats{margin-top:22px;padding-inline:16px}.stats>div{padding:12px 10px}.stats dt{font-size:11px}.stats dd{font-size:19px}.deal{grid-template-columns:minmax(0,1fr);padding:16px 14px 0}.more{margin:0 -14px}.deal-bottom:not(.solo) .deal-foot{height:auto;margin-bottom:8px;position:static}.more summary{padding:0 14px}.more>:not(summary){margin-left:14px;margin-right:14px}.deal-price{text-align:left;flex-flow:wrap;grid-area:auto/1;align-items:baseline;gap:0 10px}.deal-price strong{font-size:30px}.total{margin-left:0}.page-title{font-size:21px}.hero{padding:22px 16px}.hero.has-price{grid-template-columns:minmax(0,1fr);gap:16px}.hero-price{border-top:1px solid var(--line-2);border-left:0;padding:14px 0 0}.hero-price strong{font-size:28px}.status-page .facts{grid-template-columns:minmax(0,1fr)}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prose{padding:0 0 16px}.prose h2{margin-top:34px;font-size:20px}.intervals th,.intervals td{padding:8px 10px}.pv-wrap{padding:0 14px}.pv thead{display:none}.pv tr{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:12px 0;display:flex}.pv tr:last-child{border-bottom:0}.pv tbody tr:hover td{background:0 0}.pv tr:before{content:"";flex-basis:100%;order:4}.pv td{white-space:normal;border:0;padding:0}.pv td[data-c=vendor]{order:1}.pv td[data-c=name]{order:2}.pv td[data-c=price]{order:3;margin-left:auto}.pv td[data-l]{color:var(--fg-2);order:6}.pv td[data-l]:empty{display:none}.pv td[data-l]:before{content:attr(data-l) " ";color:var(--fg-3)}.pv td[data-c=cny]{order:5}.pv td[data-c=deal]{flex:60%;order:7}.pv td[data-c=order]{order:8;margin-left:auto}.pv td[data-l]:empty:before{content:none}.pt thead{display:none}.pt tr{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:9px 0;display:flex}.pt tr:last-child{border-bottom:0}.pt tbody tr:hover td{background:0 0}.pt tr:before{content:"";flex-basis:100%;order:3}.pt td{white-space:normal;color:var(--fg-2);border:0;order:4;padding:0}.pt td:empty{display:none}.pt td[data-c=name]{color:var(--fg);flex:50%;order:1;font-weight:600}.pt td[data-c=price]{text-align:right;order:2;margin-left:auto}.pt td[data-c=price] .code{justify-content:flex-end}.pt td[data-c=cny]:before{content:"≈"}.pt td[data-l]:before{content:attr(data-l) " ";color:var(--fg-3)}.pt td[data-c=order]{order:5;margin-left:auto}}.pt-wrap{container:pt/inline-size}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-2\.5{right:calc(var(--spacing) * 2.5)}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[Canvas\]{background-color:canvas}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:var(--spacing)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-\[CanvasText\]{color:canvastext}.text-destructive{color:var(--destructive)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.data-\[size\=sm\]\:py-0\.5[data-size=sm]{padding-block:calc(var(--spacing) * .5)}@media (width>=43.75rem){.tab\:w-60{width:calc(var(--spacing) * 60)}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:where([data-theme=dark],[data-theme=dark] *){border-color:var(--input)}@media (prefers-color-scheme:dark){.dark\:border-input:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){border-color:var(--input)}}.dark\:bg-destructive\/20:where([data-theme=dark],[data-theme=dark] *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}@media (prefers-color-scheme:dark){.dark\:bg-destructive\/20:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}}.dark\:bg-input\/30:where([data-theme=dark],[data-theme=dark] *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (prefers-color-scheme:dark){.dark\:bg-input\/30:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}}@media (prefers-color-scheme:dark){@media (hover:hover){.dark\:hover\:bg-destructive\/30:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}}}@media (hover:hover){.dark\:hover\:bg-input\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}@media (prefers-color-scheme:dark){@media (hover:hover){.dark\:hover\:bg-input\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}}@media (hover:hover){.dark\:hover\:bg-muted\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}@media (prefers-color-scheme:dark){@media (hover:hover){.dark\:hover\:bg-muted\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}}.dark\:focus-visible\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}@media (prefers-color-scheme:dark){.dark\:focus-visible\:ring-destructive\/40:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.dark\:disabled\:bg-input\/80:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}@media (prefers-color-scheme:dark){.dark\:disabled\:bg-input\/80:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}}.dark\:aria-invalid\:border-destructive\/50:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}@media (prefers-color-scheme:dark){.dark\:aria-invalid\:border-destructive\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}}.dark\:aria-invalid\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}@media (prefers-color-scheme:dark){.dark\:aria-invalid\:ring-destructive\/40:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root{--font-ui:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;--font-code:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf1ef;--grid:#e1e7e4;--glow:#d6ece3;--bar:#edf1efe6;--panel:#fbfcfb;--panel-2:#f2f6f4;--line:#d3ddd8;--line-2:#b6c5be;--fg:#0c1914;--fg-2:#354840;--fg-3:#5a6d64;--signal:#08785d;--signal-dim:#dbf0e8;--signal-ink:#fff;--sweep:#08785d40;--good:#0a8f6d;--warning:#c88700;--critical:#d43c3c;--price-glow:none;--hero-bg:#f4f8f6;--digit-a:#0c1914;--digit-b:#08785d;--digit-glow:none;--ring-line:#08785d38;--hero-grid:#08785d12;--background:var(--bg);--foreground:var(--fg);--card:var(--panel);--card-foreground:var(--fg);--popover:var(--panel);--popover-foreground:var(--fg);--primary:var(--signal);--primary-foreground:var(--signal-ink);--secondary:var(--panel-2);--secondary-foreground:var(--fg);--muted:var(--panel-2);--muted-foreground:var(--fg-3);--accent:var(--panel-2);--accent-foreground:var(--fg);--destructive:var(--critical);--border:var(--line);--input:var(--line-2);--ring:var(--signal);--radius:.3125rem}:root:where([data-theme=dark],[data-theme=dark] *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050908;--grid:#0b1512;--glow:#0a221b;--bar:#050908e0;--panel:#09110f;--panel-2:#0d1815;--line:#172923;--line-2:#234037;--fg:#d5e6df;--fg-2:#9ab4aa;--fg-3:#6b857b;--signal:#2ee6b6;--signal-dim:#0b2a22;--signal-ink:#03120d;--sweep:#2ee6b655;--good:#2ee6b6;--warning:#ffb547;--critical:#ff6161;--price-glow:0 0 14px #2ee6b659;--hero-bg:#030706;--digit-a:#fff;--digit-b:#2ee6b6;--digit-glow:drop-shadow(0 0 18px #2ee6b640);--ring-line:#2ee6b629;--hero-grid:#2ee6b610}@media (prefers-color-scheme:dark){:root:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050908;--grid:#0b1512;--glow:#0a221b;--bar:#050908e0;--panel:#09110f;--panel-2:#0d1815;--line:#172923;--line-2:#234037;--fg:#d5e6df;--fg-2:#9ab4aa;--fg-3:#6b857b;--signal:#2ee6b6;--signal-dim:#0b2a22;--signal-ink:#03120d;--sweep:#2ee6b655;--good:#2ee6b6;--warning:#ffb547;--critical:#ff6161;--price-glow:0 0 14px #2ee6b659;--hero-bg:#030706;--digit-a:#fff;--digit-b:#2ee6b6;--digit-glow:drop-shadow(0 0 18px #2ee6b640);--ring-line:#2ee6b629;--hero-grid:#2ee6b610}}:root:lang(en){--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}@container pt (width<=800px){.pt thead{display:none}.pt tr{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:9px 0;display:flex}.pt tr:last-child{border-bottom:0}.pt tbody tr:hover td{background:0 0}.pt tr:before{content:"";flex-basis:100%;order:3}.pt td{white-space:normal;color:var(--fg-2);border:0;order:4;padding:0}.pt td:empty{display:none}.pt td[data-c=name]{color:var(--fg);flex:50%;order:1;font-weight:600}.pt td[data-c=price]{text-align:right;order:2;margin-left:auto}.pt td[data-c=price] .code{justify-content:flex-end}.pt td[data-c=cny]:before{content:"≈"}.pt td[data-l]:before{content:attr(data-l) " ";color:var(--fg-3)}.pt td[data-c=order]{order:5;margin-left:auto}}:root[data-js] .filter-submit:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root:not([data-hydrated]) .theme-toggle{visibility:hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
