html,body{margin:0;padding:0;overflow-x:hidden}:root{--color-bg:#fff9f0;--color-surface:#fff;--color-border:#eadfcb;--color-text:#22313f;--color-text-secondary:#5b6b77;--color-accent:#ffc53d;--color-accent-text:#8a5a00;--color-code-bg:#fff1dc;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-12:12px;--font-size-14:14px;--font-size-16:16px;--font-size-body:17px;--font-size-20:20px;--font-size-24:24px;--font-size-30:30px;--font-size-36:36px;--font-size-48:48px;--line-height-body:1.7;--line-height-heading:1.35;--letter-spacing-body:.02em;--letter-spacing-display:0;--letter-spacing-label:.08em;--font-size-body-en:16px;--line-height-body-en:1.55;--line-height-heading-en:1.2;--letter-spacing-body-en:0;--letter-spacing-display-en:-.02em;--container-text-max-en:66ch;--container-max:1280px;--container-text-max:800px;--gutter-desktop:32px;--gutter-mobile:24px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--space-96:96px;--space-128:128px;--section-padding-block:clamp(64px, 8vw, 96px);--radius-badge:4px;--radius-control:8px;--radius-card:12px;--radius-large:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #22313f14;--shadow-md:0 4px 12px #22313f1f;--shadow-lg:0 8px 24px #22313f29;--motion-ui:.15s ease-out;--motion-page:.6s cubic-bezier(.16, 1, .3, 1);--motion-stagger-step:50ms;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--focus-ring:2px solid var(--color-accent-text);--focus-offset:2px;--table-font-size:var(--font-size-14);--table-line-height:1.5;--table-header-bg:var(--color-code-bg);--table-header-font-size:var(--font-size-12);--table-header-font-weight:var(--font-weight-medium);--table-header-letter-spacing:var(--letter-spacing-label);--table-header-color:var(--color-text-secondary);--table-cell-padding-block:var(--space-8);--table-cell-padding-inline:var(--space-12);--table-row-border:1px solid var(--color-border);--table-row-hover-bg:#faf0da;--table-zebra-bg:#fffcf6;--table-numeric-font:var(--font-mono);--table-sticky-shadow:var(--shadow-sm);--chart-1:#e69f00;--chart-2:#0072b2;--chart-3:#009e73;--chart-4:#d55e00;--chart-5:#cc79a7;--chart-6:#56b4e9;--chart-7:#173;--chart-8:#328;--chart-9:#a49;--chart-10:#825;--chart-11:#993;--chart-12:var(--color-text-secondary);--chart-rise:#d55e00;--chart-fall:#0072b2;--chart-grid:var(--color-border);--chart-axis-text:var(--color-text-secondary);--status-success:#1b7a43;--status-success-bg:#e7f4ec;--status-warning:var(--color-accent-text);--status-warning-bg:var(--color-code-bg);--status-danger:#b3261e;--status-danger-bg:#fbeae8}html[lang=en]{--font-size-body:var(--font-size-body-en);--line-height-body:var(--line-height-body-en);--line-height-heading:var(--line-height-heading-en);--letter-spacing-body:var(--letter-spacing-body-en);--letter-spacing-display:var(--letter-spacing-display-en);--container-text-max:var(--container-text-max-en)}@media (prefers-reduced-motion:reduce){:root{--motion-ui:0s;--motion-page:0s;--motion-stagger-step:0s}}:root{--table-font-size:var(--font-size-14);--table-line-height:1.5;--table-header-bg:var(--color-code-bg);--table-header-font-size:var(--font-size-12);--table-header-font-weight:var(--font-weight-medium);--table-header-letter-spacing:var(--letter-spacing-label);--table-header-color:var(--color-text-secondary);--table-cell-padding-block:var(--space-8);--table-cell-padding-inline:var(--space-12);--table-row-border:1px solid var(--color-border);--table-row-hover-bg:#faf0da;--table-zebra-bg:#fffcf6;--table-numeric-font:var(--font-mono);--table-sticky-shadow:var(--shadow-sm);--chart-1:#e69f00;--chart-2:#0072b2;--chart-3:#009e73;--chart-4:#d55e00;--chart-5:#cc79a7;--chart-6:#56b4e9;--chart-7:#173;--chart-8:#328;--chart-9:#a49;--chart-10:#825;--chart-11:#993;--chart-12:var(--color-text-secondary);--chart-rise:#d55e00;--chart-fall:#0072b2;--chart-grid:var(--color-border);--chart-axis-text:var(--color-text-secondary);--status-success:#1b7a43;--status-success-bg:#e7f4ec;--status-warning:var(--color-accent-text);--status-warning-bg:var(--color-code-bg);--status-danger:#b3261e;--status-danger-bg:#fbeae8;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--color-bg);--bg-elev:var(--color-surface);--bg-soft:var(--table-zebra-bg);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-secondary);--accent:var(--color-accent-text);--accent-2:var(--chart-8);--danger:var(--status-danger);--radius:12px;font-family:var(--font-sans);line-height:var(--line-height-body);color:var(--text);background:var(--bg);font-weight:400}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{overscroll-behavior-y:contain;background:var(--bg);min-height:100dvh;margin:0;overflow-x:hidden}#root{min-height:100dvh;overflow-x:hidden}.app{max-width:1440px;padding:.75rem 1rem 2rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));width:100%;margin:0 auto}.topbar{z-index:40;padding:.65rem 1rem;padding-top:max(.65rem, env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fff9f0e0;justify-content:space-between;align-items:center;gap:.75rem;margin:0 -1rem .85rem;display:flex;position:sticky;top:0}.topbar-brand{min-width:0}.topbar h1{letter-spacing:.02em;background:linear-gradient(90deg, var(--color-text), var(--color-accent-text));color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem}.hero-value{color:var(--text);margin:0 0 .85rem;font-size:1.05rem;font-weight:600;line-height:1.5}.top-meta{color:var(--muted);text-align:right;flex-shrink:0;max-width:45%;font-size:.75rem}.err{color:var(--danger)}.recommendation{border-color:color-mix(in srgb, var(--color-accent) 55%, var(--color-border));background:var(--color-surface);margin-bottom:1rem}.rec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.rec-head h2{color:var(--color-accent-text);margin:0;font-size:1.1rem}.rec-asof{font-size:.75rem}.history-coverage{color:var(--color-text-secondary);background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;margin:0 0 .75rem;padding:.45rem .65rem;font-size:.82rem;line-height:1.45}.history-coverage strong{color:var(--color-accent-text);margin-right:.35rem;font-weight:600}.rec-card-primary{border:1px solid color-mix(in srgb, var(--color-accent-text) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent-text) 18%, transparent)}.rec-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.rec-card h3{color:var(--accent);margin:0 0 .35rem;font-size:.9rem}.rec-card p{color:var(--text);margin:0;font-size:.85rem;line-height:1.55}.layout{grid-template-columns:300px 1fr;align-items:start;gap:1rem;display:grid}.main{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.panel{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1rem 1.1rem}.filters-shell{min-width:0}.filters-toggle{background:var(--bg-elev);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .95rem;font-size:.9rem;display:none}.filters-toggle-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;font-size:.75rem;display:flex;overflow:hidden}.chevron{flex-shrink:0;transition:transform .15s;display:inline-block}.chevron.open{transform:rotate(180deg)}.filters{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(100dvh - 5rem);position:sticky;top:4.25rem;overflow:auto}.filters-desktop-title{margin:0 0 .75rem;font-size:1.05rem}.filters section{border-bottom:1px solid var(--border);margin-bottom:1.1rem;padding-bottom:1rem}.filters section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filters h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.section-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chip-actions{gap:.5rem;display:flex}.linkish{color:var(--accent);cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0;font-size:.75rem}.linkish:hover{text-decoration:underline}.linkish-primary{color:var(--color-accent-text);font-weight:600}.check-grid,.sku-list{flex-direction:column;gap:.35rem;display:flex}.sku-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:220px;padding-right:.25rem;overflow:auto}.check{cursor:pointer;align-items:flex-start;gap:.45rem;font-size:.85rem;display:flex}.check input{accent-color:var(--accent);flex-shrink:0;margin-top:.2rem}.check.chip{white-space:nowrap;border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.8rem}.check.chip input{margin-top:0}.check.chip.on{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.select{background:var(--bg-soft);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;font-size:1rem}.preset-row{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:.4rem;margin-bottom:.65rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.preset{background:var(--bg-soft);color:var(--muted);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:999px;flex-shrink:0;padding:.3rem .7rem;font-size:.8rem}.preset.active{color:var(--color-bg);background:var(--color-text);border-color:var(--color-text)}.preset:hover{color:var(--color-text);background:var(--color-code-bg);border-color:var(--color-border)}.view-mode-row{flex-wrap:wrap;overflow-x:visible}.view-mode-chip{white-space:normal;text-align:center;max-width:100%;padding:.35rem .65rem;font-size:.72rem;line-height:1.25}.chart-empty-msg{text-align:center;padding:1.25rem .5rem .75rem}.chart-unit-error{background:var(--status-danger-bg);border:1px dashed #b3261e73;border-radius:8px;margin-top:.5rem}.chart-unit-error p{margin:.35rem 0}.chart-unit-error strong{color:var(--danger)}.date-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.date-row label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.date-row input{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:8px;min-width:0;padding:.4rem .5rem;font-size:1rem}.date-row input:disabled{opacity:.55}.panel-title{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.panel-title h2{margin:0;font-size:1.05rem}.muted{color:var(--muted);font-size:.8rem}.chart{overflow:visible}.chart.empty{height:auto;min-height:200px;color:var(--muted);place-items:center;display:grid}.chart-body{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:360px;max-height:360px;overflow:visible}.chart-body .recharts-wrapper,.chart-body .recharts-surface{touch-action:pan-y!important}.table-panel{min-width:0;overflow:hidden}.table-wrap{border:1px solid var(--border);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;border-radius:8px;width:100%;max-height:480px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px;font-size:var(--table-font-size);line-height:var(--table-line-height)}th,td{padding:var(--table-cell-padding-block) var(--table-cell-padding-inline);border-bottom:var(--table-row-border);text-align:left;white-space:nowrap}thead th{background:var(--table-header-bg);color:var(--table-header-color);font-size:var(--table-header-font-size);font-weight:var(--table-header-font-weight);letter-spacing:var(--table-header-letter-spacing);z-index:1;position:sticky;top:0}tbody tr:hover{background:var(--table-row-hover-bg)}.th-btn{color:var(--muted);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}.th-btn:hover{color:var(--text)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.empty-cell{text-align:center;color:var(--muted);padding:1.5rem!important}.table-note{margin:.5rem 0 0}.app-footer{text-align:center;padding-bottom:env(safe-area-inset-bottom);margin-top:1.5rem}@media (width<=960px){.app{padding:.5rem .75rem 2rem}.topbar{margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.topbar h1{font-size:1.1rem}.subtitle{display:none}.rec-grid,.layout{grid-template-columns:1fr}.filters-toggle{margin-bottom:.5rem;display:flex}.filters-panel{display:none}.filters-panel.open{display:block}.filters{max-height:none;margin-bottom:.25rem;position:static;overflow:visible}.filters-desktop-title{display:none}.check-grid-chips{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;flex-flow:row;gap:.4rem;padding-bottom:.25rem;overflow-x:auto}.check-grid-chips .check.chip input{width:.9rem;height:.9rem}.sku-list{max-height:160px}.chart-body{height:300px;max-height:300px}.chart-legend-scroll{max-height:264px;padding:.55rem .65rem .65rem;display:block}.chart-legend-item{border-radius:10px;gap:.5rem;width:100%;min-height:44px;margin:0 0 .4rem;padding:.5rem .7rem;font-size:.8rem;display:flex}.chart-legend-scroll .chart-legend-item:last-child{margin-bottom:0}.chart-legend-name{flex:auto;max-width:none}.chart-legend-swatch{width:.7rem;height:.7rem}.table-wrap{max-height:360px}}@media (width<=480px){.top-meta{max-width:50%;font-size:.7rem}.chart-body{height:240px;max-height:240px}.panel{padding:.85rem .9rem}}.data-notice{background:var(--status-warning-bg);color:var(--color-accent-text);border:1px solid #8a5a0059;border-radius:8px;margin:0 0 .85rem;padding:.65rem .85rem;font-size:.8rem;line-height:1.5}.data-notice code{color:var(--color-accent-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.filter-hint{margin:.4rem 0 0;font-size:.72rem;line-height:1.4}.filter-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.toggle-row{align-items:center;padding:.35rem 0}.chart-title-row{align-items:center}.chart-title-left{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;min-width:0;display:flex}.fs-btn{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:8px;flex-shrink:0;padding:.35rem .75rem;font-size:.8rem}.fs-btn:hover,.fs-btn[aria-pressed=true]{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.chart-fs-native{background:var(--bg);width:100%;height:100%;max-height:100%;padding:1rem 1.25rem;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));border-radius:0;flex-direction:column;display:flex}.chart-fs-native .chart-body,.chart-fs-overlay-mode .chart-body,.chart-body-fs{flex:auto;height:calc(100dvh - 5.5rem)!important;min-height:280px!important;max-height:none!important}.chart-fs-overlay{z-index:1000;background:var(--color-surface);padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));flex-direction:column;display:flex;position:fixed;inset:0}.chart-fs-overlay-inner{border-radius:12px;flex-direction:column;flex:auto;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.chart-fs-overlay-inner .chart-body{flex:auto;min-height:200px;height:auto!important;max-height:none!important}.notes-cell{white-space:nowrap}.notes-text{margin-right:.4rem}.badge{letter-spacing:.02em;vertical-align:middle;border-radius:999px;margin-left:.25rem;padding:.1rem .45rem;font-size:.68rem;font-weight:600;display:inline-block}.badge-synth{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid #b3261e59}.badge-base{background:var(--status-success-bg);color:var(--status-success);border:1px solid #1b7a4359}.badge-speculative{background:var(--status-warning-bg);color:var(--color-accent-text);border:1px solid #8a5a0066}.badge-fail{color:var(--color-text-secondary);background:#5b6b771a;border:1px solid #5b6b7759}.cq-tooltip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.5rem .65rem;font-size:12px}.cq-tooltip-label{margin:0 0 .35rem;font-weight:600}.cq-tooltip-list{margin:0;padding:0;list-style:none}.cq-tooltip-list li{margin:.15rem 0}.cq-tooltip-fail{color:var(--color-text-secondary);font-style:italic}.cq-pinned{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;margin-top:.65rem;overflow:hidden}.cq-pinned-head{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem .7rem;display:flex}.cq-pinned-head strong{font-size:.88rem}.cq-pinned-head .fs-btn{min-height:36px;margin-left:auto}.cq-pinned-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;max-height:min(38vh,300px);overflow-y:auto}.cq-pinned-table{table-layout:fixed;font-size:.82rem}.cq-pinned-table th:last-child,.cq-pinned-table td:last-child{width:7.5rem}.cq-pinned-table td:first-child{overflow:hidden}.cq-pinned-table td .chart-legend-swatch{flex-shrink:0;margin-right:.45rem}.cq-pinned-sku{align-items:center;min-width:0;display:flex}.cq-pinned-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chart.empty{flex-direction:column;justify-content:center;align-items:stretch;gap:.5rem}.chart.empty .panel-title{margin-bottom:0}.chart.empty p{text-align:center;margin:0}.chart-fs-overlay-mode{z-index:1000;background:var(--bg);width:100%;height:100%;max-height:100%;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));box-shadow:none;border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;inset:0}.chart-fs-overlay-mode .chart-body{flex:auto;height:calc(100dvh - 5.5rem)!important;min-height:280px!important;max-height:none!important}.value-calc{border-color:color-mix(in srgb, var(--color-accent-text) 40%, transparent);background:var(--color-surface);margin-bottom:1rem}.vc-intro{color:var(--text,var(--color-text));margin:0 0 .75rem;font-size:.95rem;line-height:1.5}.vc-disclaimer{border:1px solid var(--color-border);background:var(--color-code-bg);color:var(--muted);border-radius:8px;margin:0 0 .85rem;padding:.55rem .75rem;font-size:.78rem;line-height:1.5}.vc-disclaimer strong{color:var(--color-accent-text)}.vc-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.vc-col h3{color:var(--accent);margin:0 0 .65rem;font-size:.95rem}.vc-field{color:var(--muted);flex-direction:column;gap:.25rem;margin-bottom:.55rem;font-size:.75rem;display:flex}.vc-input{background:var(--bg-soft);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;min-width:0;padding:.45rem .6rem;font-size:1rem}.vc-row2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.vc-src,.vc-hint{margin:-.25rem 0 .5rem;font-size:.7rem}.vc-result{border:1px solid var(--border);background:#22313f73;border-radius:10px;padding:.85rem 1rem}.vc-result>h3{color:var(--chart-9);margin:0 0 .65rem;font-size:.95rem}.vc-metrics{grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:.75rem;display:grid}.vc-metric{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;flex-direction:column;gap:.2rem;padding:.55rem .65rem;display:flex}.vc-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.vc-metric-val{color:var(--color-text);font-size:1.15rem;font-weight:600}.vc-metric-sub{font-size:.7rem}.vc-verdict{border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem .85rem;margin-bottom:.85rem;padding:.65rem .85rem;font-size:.9rem;display:flex}.vc-verdict.local-wins{color:var(--status-success);background:#34d3991f;border:1px solid #1b7a4359}.vc-verdict.cloud-wins{background:var(--color-code-bg);border:1px solid color-mix(in srgb, var(--color-accent) 55%, var(--color-border));color:var(--chart-2)}.vc-suggest h4{color:var(--color-accent-text);margin:0 0 .5rem;font-size:.9rem}.vc-suggest-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.vc-suggest-card{border:1px solid var(--border);background:var(--table-zebra-bg);border-radius:8px;padding:.65rem .75rem}.vc-suggest-body{margin:.35rem 0 0;font-size:.85rem;line-height:1.5}.vc-be-tabs{gap:.35rem;margin-bottom:.45rem;display:flex}.vc-assumptions{margin:.75rem 0 0;font-size:.68rem;line-height:1.45}@media (width<=960px){.vc-grid,.vc-metrics,.vc-suggest-grid{grid-template-columns:1fr}}.chart-legend-ext{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;margin:0 0 .65rem;overflow:hidden}.chart-legend-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;padding:.45rem .65rem;font-size:.75rem;display:flex}.chart-legend-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-wrap:wrap;gap:.35rem;max-height:min(40vh,200px);padding:.5rem .65rem .6rem;display:flex;overflow-y:auto}.chart-legend-item{border:1px solid var(--border);max-width:100%;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.chart-legend-item.on{color:var(--text);background:#94a3b81f;border-color:#94a3b873}.chart-legend-swatch{flex-shrink:0;justify-content:center;align-items:center;width:.85rem;height:.85rem;display:inline-flex}.series-symbol{display:block}.chart-legend-name{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.chart-legend-val{font-variant-numeric:tabular-nums;flex-shrink:0}.chart-fs-native .chart-legend-scroll,.chart-fs-overlay-mode .chart-legend-scroll{max-height:min(40vh,240px)}.chart-legend-group-head{color:var(--muted);padding:.45rem .1rem .15rem;font-size:.72rem;font-weight:600}.chart-legend-group+.chart-legend-group .chart-legend-group-head{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.45rem}.fixed-compare{min-width:0}.fixed-compare-hint{margin:0 0 .75rem;font-size:.78rem;line-height:1.45}.fixed-bar-list{overscroll-behavior:contain;flex-direction:column;gap:.45rem;max-height:min(28rem,70vh);padding-right:.15rem;display:flex;overflow-y:auto}.fixed-bar-row{grid-template-columns:minmax(7rem,1.4fr) minmax(4rem,2fr) auto;align-items:center;gap:.5rem .65rem;display:grid}.fixed-bar-label{flex-direction:column;gap:.1rem;min-width:0;display:flex}.fixed-bar-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.fixed-bar-meta{font-size:.68rem}.fixed-bar-track{background:#94a3b826;border-radius:999px;height:.55rem;overflow:hidden}.fixed-bar-fill{border-radius:999px;min-width:4px;height:100%}.fixed-bar-fill.c0{background:var(--chart-1)}.fixed-bar-fill.c1{background:var(--chart-2)}.fixed-bar-fill.c2{background:var(--chart-3)}.fixed-bar-fill.c3{background:var(--chart-4)}.fixed-bar-fill.c4{background:var(--chart-5)}.fixed-bar-fill.c5{background:var(--chart-6)}.fixed-bar-fill.c6{background:var(--chart-7)}.fixed-bar-fill.c7{background:var(--chart-8)}.fixed-bar-fill.c8{background:var(--chart-9)}.fixed-bar-fill.c9{background:var(--chart-10)}.fixed-bar-fill.c10{background:var(--chart-11)}.fixed-bar-fill.c11{background:var(--chart-12)}.fixed-bar-value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.8rem}@media (width<=720px){.fixed-bar-row{grid-template-columns:1fr auto;grid-template-areas:"label value""bar bar"}.fixed-bar-label{grid-area:label}.fixed-bar-track{grid-area:bar}.fixed-bar-value{grid-area:value}}.fixed-bar-chart-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;width:100%;min-height:240px;margin-bottom:.75rem}.fixed-price-table-wrap{border:1px solid var(--border);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:8px;max-height:min(40vh,280px);overflow:auto}.fixed-price-table{border-collapse:collapse;width:100%;font-size:.78rem}.fixed-price-table th,.fixed-price-table td{border-bottom:1px solid var(--border);text-align:left;padding:.35rem .55rem}.fixed-price-table th{background:var(--bg-elev);z-index:1;position:sticky;top:0}.fixed-price-table .num{font-variant-numeric:tabular-nums;text-align:right}.fixed-summary{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.65rem}.fixed-summary-title{margin:0 0 .45rem;font-size:.85rem;font-weight:600}.fixed-summary-list{flex-wrap:wrap;gap:.4rem;max-height:120px;display:flex;overflow-y:auto}.fixed-summary-card{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;align-items:baseline;gap:.45rem;padding:.25rem .55rem;font-size:.72rem;display:inline-flex}.fixed-summary-name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.fixed-summary-val{font-variant-numeric:tabular-nums;color:var(--muted)}.sku-drilldown{border-top:1px solid var(--border);margin-top:.25rem;padding:.75rem .25rem .25rem}.sku-drilldown-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.sku-drilldown-head h3{margin:0 0 .2rem;font-size:1rem}.sku-drilldown-chart{width:100%;min-height:260px;margin-bottom:.75rem}.sku-drilldown-table{max-height:min(36vh,260px)}.clickable-row{cursor:pointer}.clickable-row:hover,.clickable-row:focus-visible{background:#60a5fa14;outline:none}.pct-up{color:var(--status-danger);font-variant-numeric:tabular-nums}.pct-down{color:var(--status-success);font-variant-numeric:tabular-nums}.pct-flat{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.topbar-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;min-width:0;display:flex}.currency-toggle{background:var(--color-code-bg);border:1px solid var(--border);border-radius:999px;gap:.25rem;padding:.15rem;display:inline-flex}.currency-btn{appearance:none;color:var(--muted);cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:none;border-radius:999px;min-height:28px;padding:.28rem .55rem;font-size:.72rem;font-weight:600}.currency-btn.active{background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-accent-text)}.currency-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fx-note{text-align:right;max-width:220px;margin:0;font-size:.65rem;line-height:1.3}@media (width<=960px){.topbar{flex-wrap:wrap;align-items:flex-start}.topbar-right{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.35rem;width:100%}.fx-note{text-align:left;flex:100%;order:3;max-width:none}.top-meta{text-align:left;max-width:none}.table-wrap,.fixed-price-table-wrap,.sku-drilldown-table{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.fixed-price-table{min-width:520px}.chart .recharts-cartesian-axis-tick text,.fixed-compare .recharts-cartesian-axis-tick text{font-size:10px!important}.cq-tooltip{pointer-events:none;max-width:min(280px,85vw);padding:.4rem .5rem;font-size:11px}.cq-tooltip-list li{word-break:break-word;white-space:normal}.recharts-tooltip-wrapper{max-width:90vw!important}.filters-toggle{min-height:44px;padding:.55rem .75rem}.preset,.check.chip,.chart-legend-item,.fs-btn,.currency-btn{min-height:36px}.check.chip{padding:.35rem .55rem}.sku-list .check{min-height:36px;padding:.3rem .25rem}}@media (width<=480px){.currency-btn{padding:.25rem .45rem;font-size:.68rem}.chart-body{height:300px;max-height:300px}.fixed-bar-chart-wrap{max-height:420px}.cq-tooltip{max-width:min(240px,82vw);font-size:10px}}.stale-banner{border-radius:8px;margin:12px 16px 0;padding:10px 14px;font-size:14px;line-height:1.55}.stale-banner p{margin:0}.stale-banner-l1{background:var(--status-warning-bg);border:1px solid var(--color-border);color:var(--status-warning)}.stale-banner-l2{background:var(--status-danger-bg);border:1px solid var(--color-border);color:var(--status-danger)}.stale-banner-en{opacity:.85;font-size:12.5px;margin-top:4px!important}.rec-best-value{margin:.25rem 0;font-size:1.6rem}.rec-best-value .muted{font-size:.95rem}.rec-runners{margin-top:.35rem;line-height:1.5}details.data-notice{margin-top:.75rem}details.data-notice summary{cursor:pointer}details.data-notice p{margin:.5rem 0 0}.below-fold{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.below-fold-heading{color:var(--muted);margin:0;font-size:.95rem;font-weight:600}.below-fold>.recommendation,.below-fold>.value-calc,.below-fold>.table-panel{margin-bottom:0}@media (width<=480px){.hero-value{margin-bottom:.65rem;font-size:.98rem}.preset,.check.chip,.sku-list .check,.chart-legend-item,.fs-btn,.currency-btn,.select,.date-row input{min-height:44px}}.feedback-link{color:var(--accent,var(--color-accent-text));white-space:nowrap;margin-left:.75rem;font-size:.8rem;font-weight:600;text-decoration:none}.feedback-link:hover{text-decoration:underline}@media (width<=480px){.feedback-link{align-items:center;min-height:44px;display:inline-flex}}.rec-card{min-width:0}.rec-bw-table{border-collapse:collapse;width:100%;min-width:0;font-size:.85rem}.rec-bw-table th,.rec-bw-table td{text-align:right;padding:.2rem .35rem}.rec-bw-table th:first-child,.rec-bw-table td:first-child{text-align:left}.rec-bw-table td:first-child{overflow-wrap:break-word}.rec-bw-table td:not(:first-child){white-space:nowrap}.rec-bw-table th{color:var(--accent);font-size:.8rem}.rec-bw-top td{font-weight:700}.rec-attribution{margin-top:.5rem;font-size:.8rem}.aff-links{margin:.75rem 0 0}.aff-links a{white-space:nowrap;margin:0 .15rem}.aff-disclosure{margin-top:.35rem;display:block}.tok-cta{font-weight:600}.daily-changes{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);margin:0 0 .85rem;padding:.75rem .9rem}.daily-changes-head{flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;display:flex}.daily-changes-title{margin:0;font-size:.95rem}.daily-changes-range{font-size:.8rem}.daily-changes-list{flex-wrap:wrap;gap:.5rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.daily-changes-item{border:1px solid var(--border);background:var(--bg-elev);overflow-wrap:break-word;border-radius:999px;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;min-width:0;padding:.4rem .6rem;font-size:.85rem;display:flex}.daily-changes-name{overflow-wrap:break-word;font-weight:600}.daily-changes-pct{font-variant-numeric:tabular-nums;white-space:nowrap}.daily-changes-values{font-variant-numeric:tabular-nums;overflow-wrap:break-word}.daily-changes-date{white-space:nowrap;font-size:.8rem}.change-events{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);margin-top:1rem;padding:.75rem 1rem}.change-events-summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;min-height:44px;display:flex}.change-events-empty{margin:.5rem 0 0}.change-events-wrap{max-width:100%;margin-top:.5rem;overflow-x:auto}.change-events-table{min-width:0}.change-events-table td{white-space:normal;overflow-wrap:break-word}.change-events-table td:first-child,.change-events-table td:last-child{white-space:nowrap}.change-events-retail{margin-left:.35rem}@media (width<=480px){.daily-changes-item{flex:100%}}.fresh-badge{white-space:nowrap;border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.fresh-badge-fresh{color:var(--text)}.fresh-badge-warn{color:var(--status-warning);border-color:var(--status-warning);background:var(--status-warning-bg)}.fresh-badge-stale{color:var(--status-danger);border-color:var(--status-danger);background:var(--status-danger-bg)}.collecting-flag{white-space:nowrap;border:1px dashed var(--border);color:var(--muted);border-radius:999px;flex-shrink:0;margin-left:.35rem;padding:.05rem .35rem;font-size:.7rem;font-weight:600;display:inline-block}.table-title-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:inline-flex}.cheapest-cell{color:var(--status-success);background:var(--status-success-bg);font-weight:700}.cheapest-badge{color:var(--status-success);letter-spacing:.02em;font-size:.68rem;font-weight:600;display:block}.cheapest-thin-flag{border:1px solid var(--status-warning);color:var(--status-warning);background:var(--status-warning-bg);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:.35rem;padding:0 .35rem;font-size:.68rem;font-weight:600;line-height:1.5;display:inline-block}.rec-bw-table td.rec-range-cell{font-size:.8rem}.rec-bw-table td.rec-range-cell .range-swing{font-size:.75rem;display:block}.per-gb-hour-cell{white-space:nowrap}.how-to-read{border:1px solid var(--border);border-radius:var(--radius);min-width:0;max-width:100%;margin-top:.75rem;padding:0 .9rem}.how-to-read-summary{cursor:pointer;overflow-wrap:break-word;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;font-size:.9rem;font-weight:600;display:flex}.how-to-read-chevron{color:var(--muted);flex-shrink:0}.how-to-read[open] .how-to-read-chevron{transform:rotate(180deg)}.how-to-read-body{padding-bottom:.75rem}.how-to-read-body p{overflow-wrap:break-word;margin:.45rem 0 0;font-size:.88rem;line-height:1.6}.how-to-read-plain{color:var(--text)}
