@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap";.sponsor-slot[data-astro-cid-fxpisvfz]{display:grid;gap:5px}.sponsor-links[data-astro-cid-fxpisvfz]{display:flex;flex-wrap:wrap;gap:4px}.sponsor-btn[data-astro-cid-fxpisvfz]{height:32px;padding:0 8px;border:0;border-radius:var(--pill-radius);background:color-mix(in srgb,var(--white) 5%,transparent);color:var(--muted);display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-compact);text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease}.sponsor-btn[data-astro-cid-fxpisvfz]:hover{color:var(--white);background:color-mix(in srgb,var(--accent) 18%,transparent)}.sponsor-btn[data-astro-cid-fxpisvfz]:active{color:var(--white);background:color-mix(in srgb,var(--accent) 28%,transparent)}.sponsor-btn[data-astro-cid-fxpisvfz] .is-donate[data-astro-cid-fxpisvfz]{width:18px;height:18px;flex:0 0 auto}.sponsor-btn-label[data-astro-cid-fxpisvfz]{font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-mid);text-transform:var(--text-transform-uppercase);line-height:var(--line-height-compact);white-space:nowrap}:root{--bg-step-0: #06090e;--bg-step-1: #080b10;--bg-step-2: #0c1016;--bg-step-3: #0e141c;--bg-step-4: #121a24;--bg-step-5: #141b27;--body-bg: var(--bg-step-0);--bg: var(--bg-step-1);--panel3: var(--bg-step-1);--mini-graph-bg: var(--bg-step-1);--mini-card-bg: var(--bg-step-2);--panel: var(--bg-step-3);--panel2: var(--bg-step-4);--popover: var(--bg-step-5);--curve: #ff9b45;--curve2: #78c5d2;--axis: 214, 225, 242;--zero: 214, 225, 242;--grid: 214, 225, 242;--subgrid: 214, 225, 242;--effect-glow-color: color-mix(in srgb, var(--curve2) 55%, transparent);--effect-shadow-color: color-mix(in srgb, var(--black) 50%, transparent);--effect-line-glow-color: color-mix(in srgb, var(--curve) 35%, transparent);--effect-vignette-color: var(--black);--text-label-alpha: 78%}:root{--font-family: Roboto, sans-serif;--font-size-tiny: 9px;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-lg: 14px;--font-size-xl: 16px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-thin: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 600;--font-weight-black: 700;--letter-spacing-tight: .04em;--letter-spacing-normal: .06em;--letter-spacing-mid: .08em;--letter-spacing-wide: .1em;--text-transform-uppercase: uppercase;--text-transform-lowercase: lowercase;--text-transform-none: none;--line-height-compact: 1;--line-height-tight: 1.1;--line-height-normal: 1.3;--line-height-relaxed: 1.5;--font-weight-default: var(--font-weight-regular);--letter-spacing-default: var(--letter-spacing-normal)}body{font-family:var(--font-family);font-weight:var(--font-weight-default);letter-spacing:var(--letter-spacing-default)}.card-title{font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:1.2;letter-spacing:var(--letter-spacing-normal);text-transform:var(--text-transform-uppercase);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;align-self:center}.meta-target{font-family:var(--font-family);font-size:var(--font-size-tiny);font-weight:var(--font-weight-black);line-height:1;letter-spacing:var(--letter-spacing-tight)}:root{color-scheme:dark;@property --card-min-w-min{syntax: "<length>"; inherits: true; initial-value: 182px;}@property --card-min-w-max{syntax: "<length>"; inherits: true; initial-value: 378px;}@property --card-row-h-min{syntax: "<length>"; inherits: true; initial-value: 130px;}@property --card-row-h-max{syntax: "<length>"; inherits: true; initial-value: 270px;}@property --card-wheel-step{syntax: "<length>"; inherits: true; initial-value: 8px;}--line: rgba(178, 195, 222, .08);--line-soft: rgba(178, 195, 222, .055);--line2: rgba(178, 195, 222, .14);--line3: #b2c3de;--text: #eff5ff;--text-strong: #e1e8f4;--text-soft: #d6e1f2;--text-card: #a8b1c2;--muted: #8995a6;--soft: #5d6878;--accent: #8f70c3;--accent2: #56c8d6;--accent3: #6fcf5a;--fav: #f5d547;--danger: #ff7878;--target-equation: #a98bff;--target-vex: #ff9c77;--black: #000;--white: #fff;--card-min-w: 240px;--card-row-h: 170px;--card-head-h: 24px;--card-ratio: 1.4;--card-min-w-min: 182px;--card-min-w-max: 378px;--card-row-h-min: 130px;--card-row-h-max: 270px;--card-min-w-min-loose: 280px;--card-min-w-max-loose: 546px;--card-row-h-min-loose: 200px;--card-row-h-max-loose: 390px;--card-wheel-step: 8px;--card-atlas-w: 160px;--card-atlas-h: 120px;--card-browse-w: 240px;--card-browse-h: 170px;--card-radius: 1.5px;--pill-height: 26px;--pill-radius: 3px;--pill-padding-x: 12px;--pill-bg-alpha: 5%;--chip-padding-x: 7px;--chip-gap: 4px;--info-label-color: var(--muted);--info-label-opacity: 1;--info-key-color: var(--soft)}*{box-sizing:border-box}html,body,.app,.bar,.rail,.wall,.tray,.card,.related-card,.detail-wall,.detail-panel,.detail-grid,.detail-pager,.pager,.layout-note,.detail-related-block{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true],code,pre,kbd,samp,var,.detail-snippet-code,.detail-formula,.is-selectable,.allow-select{-webkit-user-select:text;user-select:text}html,body{margin:0;height:100%;overflow:hidden;background:var(--body-bg);color:var(--text)}h1,h2,h3,p{margin:0}.app{height:100vh;display:grid;grid-template-columns:max-content minmax(0,1fr) 134px;grid-template-rows:auto minmax(0,1fr) 66px;gap:6px;padding:6px;background:var(--bg)}.tray{border:0;background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(12px)}.bar{grid-column:1 / 4;border-radius:3px;display:grid;grid-template-columns:112px minmax(160px,1fr) auto auto;align-items:center;gap:7px;padding:12px 6px}.brand{display:flex;align-items:center;min-width:0;margin-left:8px;color:inherit;text-decoration:none}.brand-mark{width:14px;height:14px;margin-right:8px}.brand h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);line-height:1;letter-spacing:var(--letter-spacing-normal);text-transform:none}.micro{display:inline;color:var(--muted);font-size:var(--font-size-xs);line-height:1.1;letter-spacing:var(--letter-spacing-normal);text-transform:var(--text-transform-uppercase)}.micro:before{content:" / ";color:var(--soft)}.search{height:var(--pill-height);display:flex;align-items:center;gap:6px;border:0;border-radius:var(--pill-radius);background:color-mix(in srgb,var(--white) var(--pill-bg-alpha),transparent);color:var(--muted);padding:0 var(--pill-padding-x);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.search-hint{color:var(--soft);font-size:var(--font-size-sm)}.search-icon{flex:0 0 auto;color:var(--soft);opacity:.7}.search input{flex:1 1 auto;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit;padding:0}.search input::placeholder{color:var(--soft)}.chip{cursor:pointer}.layout-count{display:inline-flex;align-items:baseline;gap:3px;color:var(--muted)}.layout-count b{color:var(--text);font-weight:var(--font-weight-bold)}.layout-status{display:inline-flex;align-items:center;gap:4px;height:var(--pill-height);padding:0 var(--pill-padding-x);border-radius:var(--pill-radius);background:color-mix(in srgb,var(--white) var(--pill-bg-alpha),transparent);color:var(--info-label-color);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-transform:var(--text-transform-none);opacity:var(--info-label-opacity)}.layout-status b{color:var(--info-label-color);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);line-height:1}.status-key{color:var(--info-key-color);opacity:var(--info-label-opacity);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.app.is-tray-collapsed .tray{display:none}.app.is-tray-collapsed{grid-template-rows:auto minmax(0,1fr) 0;grid-template-rows:auto minmax(0,1fr)}.app.is-tray-collapsed .tray,.app.is-tray-collapsed .tray-placeholder{display:none}.is-hidden{display:none!important}.chips,.tools,.icons{display:flex;align-items:center;gap:3px}.chip,.icon,.pill{height:var(--pill-height);min-width:var(--pill-height);border:0;border-radius:var(--pill-radius);background:color-mix(in srgb,var(--white) var(--pill-bg-alpha),transparent);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-transform:var(--text-transform-none);line-height:1;text-decoration:none}.chip{padding:0 var(--chip-padding-x);min-width:0;gap:var(--chip-gap);text-transform:none}.active{color:var(--white);background:color-mix(in srgb,var(--accent) 18%,transparent)}.rail{grid-column:1;grid-row:2 / 4;border-radius:3px;padding:5px;display:grid;align-content:start;gap:8px}.rail .icon{width:32px;height:32px;font-size:var(--font-size-sm)}.wall{position:relative;border-radius:3px;padding:8px;min-width:0;min-height:0;overflow:auto;cursor:grab;user-select:none;flex:1 1 auto}.bar .search{transition:background .12s ease,box-shadow .12s ease;box-shadow:inset 0 0 0 1px transparent}.rail .icon[aria-pressed=true]{color:var(--white);background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.link-toggle{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 5px;border:0;border-radius:2px;background:color-mix(in srgb,var(--white) 4.5%,transparent);color:var(--muted);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.2;letter-spacing:var(--letter-spacing-mid);text-transform:var(--text-transform-uppercase);cursor:pointer;margin-left:auto;align-self:center;transition:background .12s ease,color .12s ease}.link-toggle:hover{color:var(--white);background:color-mix(in srgb,var(--accent) 12%,transparent)}.link-toggle[aria-pressed=true]{color:var(--white);background:color-mix(in srgb,var(--accent) 18%,transparent)}.link-toggle-state,.link-toggle[aria-pressed=false] .link-toggle-state{color:inherit}.app.is-tray-focus .tray{box-shadow:0 14px 42px color-mix(in srgb,var(--black) var(--fx-mid),transparent),inset 0 1px color-mix(in srgb,var(--white) 3.5%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent);transition:box-shadow .18s ease}.tray.is-empty .tray-head strong{color:var(--muted)}.tray{grid-column:2 / 4;grid-row:3;border-radius:3px;padding:5px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:5px;min-width:0}.tray-head{display:flex;align-items:baseline;gap:5px;min-width:0}.tray-count{color:var(--soft);font-family:var(--font-family);font-size:var(--font-size-xs)}.tray-body{position:relative;min-width:0;min-height:0}.tray-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 6px;color:var(--soft);pointer-events:none}.tray-empty-hint b{color:var(--muted);font-weight:var(--font-weight-bold);padding:0 3px;border-radius:2px;background:color-mix(in srgb,var(--white) 5%,transparent)}.tray-tools{align-self:center}.tray-item{position:relative;text-decoration:none;color:inherit;min-width:0}.tray-item .mini-graph{margin-top:4px}.tray-item-x{position:absolute;top:3px;right:3px;width:16px;height:16px;font-size:var(--font-size-xs);opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease}.tray-item:hover .tray-item-x,.tray-item:focus-within .tray-item-x{opacity:1;transform:translateY(0)}.compare-btn.is-on{opacity:1;color:color-mix(in srgb,var(--accent) 90%,transparent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.fav-btn.is-on{opacity:1;color:color-mix(in srgb,var(--fav) 90%,transparent);background:color-mix(in srgb,var(--fav) 15%,transparent)}.strip{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:5px}.mini-card{border:0;border-radius:3px;background:var(--mini-card-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line2) 39%,transparent);padding:5px;min-width:0}.mini-card span{display:block;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1120px){.app{grid-template-columns:max-content minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 76px}.bar,.tray{grid-column:1 / 3}.dock{display:none}.wall-area{grid-column:2}}@media(max-width:760px){body{overflow:auto}.app{height:auto;min-height:100vh;display:block}.bar,.rail,.wall,.tray{margin-bottom:6px}.bar{display:grid;grid-template-columns:1fr}.rail{display:flex;overflow:auto}.grid,.strip,.wall .grid{grid-template-columns:1fr}}.rail{display:flex;flex-direction:column;align-items:stretch;gap:8px}.rail .icon{display:grid;grid-template-columns:28px 1fr;align-items:center;justify-items:center;gap:5px;width:100%;height:28px;padding:0 21px 0 0;border-radius:0;color:var(--muted);border:0;outline:1px solid transparent;outline-offset:-1px;text-decoration:none;cursor:pointer;overflow:hidden;transition:background .12s ease,color .12s ease,outline-color .12s ease}.rail .icon:hover,.rail .icon:focus-visible{width:100%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--white)}.rail .icon.active,.rail .icon[aria-pressed=true]{width:100%;color:var(--white);background:color-mix(in srgb,var(--accent) 20%,transparent)}.rail .icon[aria-pressed=false]{color:var(--muted);box-shadow:inset 0 0 0 1px transparent}.rail .icon svg,.rail .icon .rail-glyph{width:18px;height:18px;display:inline-grid;place-items:center;font-size:var(--font-size-md);transform-origin:center;transform-box:fill-box}.rail .icon svg.is-gallery{transform:scale(.92)}.rail .icon svg.is-star{transform:scale(.94)}.rail .icon svg.is-compare{transform:scale(.95)}.rail .icon svg.is-donate{filter:url(#icon-morph-erode)}.rail .icon svg.is-info{filter:url(#icon-morph-erode)}.rail-label{justify-self:start;font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-mid);white-space:nowrap;opacity:1;text-transform:var(--text-transform-uppercase)}.rail .icon:disabled,.rail .icon[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}:root{--fx-tiny: 8%;--fx-sml: 16%;--fx-mid: 24%;--fx-lg: 32%;--fx-avg: 40%;--fx-half: 50%;--fx-strong: 75%;--fx-full: 100%;--glow-blur-sm: 4px;--glow-blur-md: 8px;--glow-blur-lg: 14px;--glow-blur-xl: 22px;--glow-spread: 0px;--shadow-sm: 0 1px 2px color-mix(in srgb, var(--black) var(--fx-sml), transparent);--shadow-md: 0 4px 12px color-mix(in srgb, var(--black) var(--fx-mid), transparent);--shadow-lg: 0 14px 42px color-mix(in srgb, var(--black) var(--fx-mid), transparent);--shadow-inset-line: inset 0 0 0 1px var(--line2);--shadow-inset-line-strong: inset 0 0 0 1px color-mix(in srgb, var(--line2) var(--fx-full), transparent);--shadow-card: 0 0 var(--glow-blur-md) var(--glow-spread) color-mix(in srgb, var(--curve2) var(--fx-sml), transparent), 0 0 0 1px var(--line), 0 3px 18px color-mix(in srgb, var(--black) var(--fx-lg), transparent);--shadow-panel: 0 2px 6px color-mix(in srgb, var(--black) var(--fx-lg), transparent), 0 12px 32px color-mix(in srgb, var(--black) var(--fx-mid), transparent);--shadow-card-drop: 0 0 0 1px var(--line);--shadow-card-glow-accent: 0 0 var(--glow-blur-sm) var(--glow-spread) color-mix(in srgb, var(--accent) var(--fx-mid), transparent), var(--shadow-card-drop);--shadow-card-glow-curve: 0 0 var(--glow-blur-sm) var(--glow-spread) color-mix(in srgb, var(--curve) var(--fx-mid), transparent), var(--shadow-card-drop);--shadow-card-glow-curve2: 0 0 var(--glow-blur-sm) var(--glow-spread) color-mix(in srgb, var(--curve2) var(--fx-mid), transparent), var(--shadow-card-drop);--outline-accent: 0 0 0 1px color-mix(in srgb, var(--accent) var(--fx-lg), var(--line));--outline-curve: 0 0 0 1px color-mix(in srgb, var(--curve) var(--fx-lg), var(--line));--outline-curve2: 0 0 0 1px color-mix(in srgb, var(--curve2) var(--fx-avg), var(--line));--fx-ring-accent: inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);--fade-out-top: linear-gradient( to bottom, transparent 0%, color-mix(in srgb, var(--black) var(--fx-full), transparent) 24px, color-mix(in srgb, var(--black) var(--fx-full), transparent) 100% );--fade-out-bottom: linear-gradient( to top, transparent 0%, color-mix(in srgb, var(--black) var(--fx-full), transparent) 24px, color-mix(in srgb, var(--black) var(--fx-full), transparent) 100% );--fade-out-x: linear-gradient( to right, transparent 0%, color-mix(in srgb, var(--black) var(--fx-full), transparent) 18px, color-mix(in srgb, var(--black) var(--fx-full), transparent) calc(100% - 18px) , transparent 100% );--fade-out-y: linear-gradient( to bottom, transparent 0%, color-mix(in srgb, var(--black) var(--fx-full), transparent) 18px, color-mix(in srgb, var(--black) var(--fx-full), transparent) calc(100% - 18px) , transparent 100% )}.glow,.glow-sm,.glow-md,.glow-lg,.glow-xl{transition:box-shadow .18s ease}.glow-sm{box-shadow:0 0 var(--glow-blur-sm) var(--glow-spread) color-mix(in srgb,var(--accent) var(--fx-sml),transparent)}.glow,.glow-md{box-shadow:0 0 var(--glow-blur-md) var(--glow-spread) color-mix(in srgb,var(--accent) var(--fx-mid),transparent)}.glow-lg{box-shadow:0 0 var(--glow-blur-lg) var(--glow-spread) color-mix(in srgb,var(--accent) var(--fx-lg),transparent)}.glow-xl{box-shadow:0 0 var(--glow-blur-xl) var(--glow-spread) color-mix(in srgb,var(--accent) var(--fx-lg),transparent)}.glow-curve{box-shadow:0 0 var(--glow-blur-md) var(--glow-spread) color-mix(in srgb,var(--curve) var(--fx-mid),transparent)}.glow-curve2{box-shadow:0 0 var(--glow-blur-md) var(--glow-spread) color-mix(in srgb,var(--curve2) var(--fx-mid),transparent)}.glow-accent:hover,.glow:hover{box-shadow:0 0 var(--glow-blur-lg) var(--glow-spread) color-mix(in srgb,var(--accent) var(--fx-lg),transparent)}.dot-glow{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) var(--fx-lg),transparent),0 0 8px 2px color-mix(in srgb,var(--accent) var(--fx-half),transparent)}.text-glow{text-shadow:0 0 8px color-mix(in srgb,currentColor var(--fx-half),transparent)}.text-glow-sm{text-shadow:0 0 4px color-mix(in srgb,currentColor var(--fx-half),transparent)}.text-glow-lg{text-shadow:0 0 10px color-mix(in srgb,currentColor var(--fx-strong),transparent),0 0 20px color-mix(in srgb,currentColor var(--fx-avg),transparent)}.outline-accent{box-shadow:var(--outline-accent)}.outline-curve{box-shadow:var(--outline-curve)}.outline-curve2{box-shadow:var(--outline-curve2)}.outline-line{box-shadow:var(--shadow-inset-line)}.outline-line-strong{box-shadow:var(--shadow-inset-line-strong)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.fade-out-top{mask-image:var(--fade-out-top);-webkit-mask-image:var(--fade-out-top)}.fade-out-bottom{mask-image:var(--fade-out-bottom);-webkit-mask-image:var(--fade-out-bottom)}.fade-out-x{mask-image:var(--fade-out-x);-webkit-mask-image:var(--fade-out-x)}.fade-out-y{mask-image:var(--fade-out-y);-webkit-mask-image:var(--fade-out-y)}.vignette{position:relative}.vignette:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,color-mix(in srgb,var(--black) var(--fx-lg),transparent) 100%)}.vignette-glow-tl{position:relative}.vignette-glow-tl:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--accent) var(--fx-sml),transparent) 0%,transparent 55%)}.vignette-glow-br{position:relative}.vignette-glow-br:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--accent) var(--fx-sml),transparent) 0%,transparent 55%)}.card{box-shadow:var(--shadow-card-drop);transition:box-shadow .18s ease,transform .18s ease}:root{--text-label-inset-x: 12px;--text-label-inset-y: 8px;--card-bg-gradient: radial-gradient( circle at 18% 0%, color-mix(in srgb, var(--curve2) 5%, transparent), transparent 40% ), radial-gradient( circle at 90% 115%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 44% )}.grid{display:grid;grid-template-columns:var(--grid-cols);grid-auto-rows:var(--card-row-h);gap:8px;align-content:start}.card{position:relative;contain:content;border:0;border-radius:var(--card-radius);background:var(--layer-body, none),var(--card-bg-gradient),var(--panel2);display:grid;grid-template-rows:var(--card-head-h) 1fr;align-items:stretch;gap:0;min-width:0;min-height:var(--card-row-h);overflow:hidden;cursor:pointer}.card{--layer-body: none;--layer-head: none;--layer-title: var(--text-card)}.card.is-fav{--layer-title: color-mix(in srgb, var(--fav) 92%, transparent);--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--fav) 26%, transparent) 0%, color-mix(in srgb, var(--fav) 18%, transparent) 18%, color-mix(in srgb, var(--fav) 8%, transparent) 45%, color-mix(in srgb, var(--fav) 3%, transparent) 70%, transparent 100% )}.card:has(.compare-btn.is-on){--layer-title: color-mix(in srgb, var(--accent3) 92%, transparent);--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent3) 26%, transparent) 0%, color-mix(in srgb, var(--accent3) 18%, transparent) 18%, color-mix(in srgb, var(--accent3) 8%, transparent) 45%, color-mix(in srgb, var(--accent3) 3%, transparent) 70%, transparent 100% )}.card.is-fav:hover,.card.is-fav:focus-within,.card.is-fav.is-selected,.card.is-fav.is-selected:hover,.card.is-fav.is-selected:focus-within{--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent2) 18%, transparent) 0%, color-mix(in srgb, var(--accent2) 10%, transparent) 25%, color-mix(in srgb, var(--accent2) 4%, transparent) 60%, transparent 100% ), radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--fav) 26%, transparent) 0%, color-mix(in srgb, var(--fav) 18%, transparent) 18%, color-mix(in srgb, var(--fav) 8%, transparent) 45%, color-mix(in srgb, var(--fav) 3%, transparent) 70%, transparent 100% )}.card:has(.compare-btn.is-on):hover,.card:has(.compare-btn.is-on):focus-within,.card:has(.compare-btn.is-on).is-selected,.card:has(.compare-btn.is-on).is-selected:hover,.card:has(.compare-btn.is-on).is-selected:focus-within{--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent2) 18%, transparent) 0%, color-mix(in srgb, var(--accent2) 10%, transparent) 25%, color-mix(in srgb, var(--accent2) 4%, transparent) 60%, transparent 100% ), radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent3) 26%, transparent) 0%, color-mix(in srgb, var(--accent3) 18%, transparent) 18%, color-mix(in srgb, var(--accent3) 8%, transparent) 45%, color-mix(in srgb, var(--accent3) 3%, transparent) 70%, transparent 100% )}.card.is-selected:focus-within,.card.is-selected:hover{--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent) 18%, transparent) 0%, color-mix(in srgb, var(--accent) 10%, transparent) 25%, color-mix(in srgb, var(--accent) 4%, transparent) 60%, transparent 100% ), radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--curve2) 22%, transparent) 0%, color-mix(in srgb, var(--curve2) 14%, transparent) 18%, color-mix(in srgb, var(--curve2) 6%, transparent) 45%, color-mix(in srgb, var(--curve2) 2%, transparent) 70%, transparent 100% )}.card.is-selected{--layer-body: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--curve2) 14%, transparent) 0%, color-mix(in srgb, var(--curve2) 8%, transparent) 25%, color-mix(in srgb, var(--curve2) 3%, transparent) 60%, transparent 100% );--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--curve2) 24%, transparent) 0%, color-mix(in srgb, var(--curve2) 14%, transparent) 25%, color-mix(in srgb, var(--curve2) 6%, transparent) 60%, transparent 100% );--layer-title: var(--curve2)}.card.is-fav.is-selected{--layer-title: color-mix(in srgb, var(--fav) 92%, transparent)}.card:hover{--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--accent2) 10%, transparent) 0%, color-mix(in srgb, var(--accent2) 5%, transparent) 25%, color-mix(in srgb, var(--accent2) 2%, transparent) 60%, transparent 100% )}.actions .icon.is-on{color:var(--fav)}.actions .icon.compare-btn.is-on{color:var(--accent3)}.card.is-selected{box-shadow:0 0 var(--glow-blur-sm) var(--glow-spread) color-mix(in srgb,var(--curve2) var(--fx-mid),transparent)}.card:focus-within{--layer-body: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--curve2) 10%, transparent) 0%, color-mix(in srgb, var(--curve2) 6%, transparent) 25%, color-mix(in srgb, var(--curve2) 2%, transparent) 60%, transparent 100% )}.card:active{--layer-head: radial-gradient( ellipse 80% 130% at 50% 100%, color-mix(in srgb, var(--black) 10%, transparent) 0%, color-mix(in srgb, var(--black) 5%, transparent) 25%, color-mix(in srgb, var(--black) 2%, transparent) 60%, transparent 100% )}.card-head{z-index:8;display:flex;align-items:center;justify-content:space-between;gap:0;height:var(--card-head-h);padding:0;min-width:0;flex:0 0 auto;background:var(--layer-head, none)}.card-title{flex:1 1 auto;min-width:0;margin:2px 0 1px 8px;color:var(--layer-title);text-decoration:none;display:flex;align-items:center;padding-right:60px}.card p{display:inline;margin-top:0;margin-left:4px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.1;letter-spacing:var(--letter-spacing-tight)}.actions{position:absolute;top:0;right:0;height:var(--card-head-h);display:flex;justify-content:flex-end;gap:0;z-index:9}.actions .action{display:flex;align-items:center;justify-content:center;height:100%;aspect-ratio:1;padding:3px}.grid[data-cols="4"] .card,.grid[data-cols="5"] .card,.grid[data-cols="6"] .card,.grid[data-cols="7"] .card,.grid[data-cols="8"] .card{--card-head-h: 19.2px}.grid[data-cols="4"] .actions .action{padding:2.4px}.grid[data-cols="5"] .actions .action,.grid[data-cols="6"] .actions .action{padding:1.8px}.grid[data-cols="7"] .actions .action,.grid[data-cols="8"] .actions .action{padding:1.2px}.grid[data-cols="4"] .card-title,.grid[data-cols="5"] .card-title,.grid[data-cols="6"] .card-title,.grid[data-cols="7"] .card-title,.grid[data-cols="8"] .card-title{letter-spacing:calc(var(--letter-spacing-normal) + .01em)}.actions .icon{display:inline-grid;place-items:center;width:100%;height:100%;border:none;border-radius:0;padding:0;margin:0;background:transparent;color:inherit;cursor:pointer;font-size:0;line-height:0;opacity:.3;transition:background .12s ease,color .12s ease,opacity .12s ease}.card-head:hover .actions .icon,.card-head:focus-within .actions .icon,.card:hover .actions .icon,.card:focus-within .actions .icon{opacity:.6}.actions .action+.action{border-left:1px solid color-mix(in srgb,var(--white) 8%,transparent)}#copy-popover{position:fixed;z-index:100;display:none;min-width:120px;padding:4px;border-radius:4px;background:var(--popover);box-shadow:0 8px 32px color-mix(in srgb,var(--black) 60%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--line3) 12%,transparent)}#copy-popover.is-open{display:grid;gap:1px}#copy-popover .copy-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border:none;border-radius:3px;background:transparent;color:color-mix(in srgb,var(--text-soft) 70%,transparent);font-family:inherit;font-size:var(--font-size-md);line-height:1;letter-spacing:var(--letter-spacing-tight);text-transform:var(--text-transform-uppercase);cursor:pointer;white-space:nowrap;transition:background .1s ease,color .1s ease}#copy-popover .copy-item:hover{background:color-mix(in srgb,var(--white) 8%,transparent);color:var(--white)}.actions .icon svg{width:100%;height:100%}.actions .icon:hover{background:color-mix(in srgb,var(--white) 12%,transparent);color:var(--text)}.actions .icon.is-copied{opacity:1;color:var(--white);background:color-mix(in srgb,var(--curve2) 22%,transparent)}.graph,.mini-graph{border:0;border-radius:3px 3px 4px 4px;background:var(--bg);overflow:hidden;position:relative;flex:1 1 auto;min-height:0;align-self:stretch}.graph{min-height:62px}.card>.graph{margin:0 2px 2px}.mini-graph{margin-top:4px;height:25px;background:var(--mini-graph-bg)}.curve-view-screen-probe{position:absolute;z-index:2;pointer-events:none;opacity:0}.curve-view-screen-probe--v{top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--curve2) 42%,transparent);transform:translate(-.5px)}.curve-view-screen-probe--h{left:0;right:0;height:1px;background:color-mix(in srgb,var(--curve2) 42%,transparent);transform:translateY(-.5px)}.curve-view.is-probe-near .curve-view-screen-probe{opacity:.52}.curve-view-probe-readout{position:absolute;left:50%;bottom:var(--text-label-inset-y);z-index:5;color:var(--muted);font-family:var(--font-family);font-size:var(--font-size-tiny);line-height:1;letter-spacing:var(--letter-spacing-normal);pointer-events:none;opacity:0;transform:translate(-50%);transition:opacity .18s ease}.curve-view-axis-label{display:none}.curve-view-axis-label--x{bottom:3px}.curve-view-axis-label--y{left:3px;transform:translateY(-50%)}.curve-view-snap{position:absolute;right:var(--text-label-inset-x);top:var(--text-label-inset-y);z-index:5;color:var(--curve2);font-family:var(--font-family);font-size:var(--font-size-tiny);line-height:1;letter-spacing:var(--letter-spacing-normal);pointer-events:none;opacity:0;transition:opacity .18s ease}.curve-view-snap-sep{margin:0 2px;color:var(--soft)}.curve-view.has-probe .curve-view-probe-readout,.curve-view:hover .curve-view-snap,.curve-view.has-zoom .curve-view-snap,.curve-view.is-curve-drag .curve-view-snap{opacity:.9}.curve-view-probe-readout-sep{margin:0 2px;color:var(--soft)}.meta{position:absolute;inset:0;z-index:4;color:var(--soft);font-size:var(--font-size-xs);line-height:1.1;letter-spacing:var(--letter-spacing-normal);text-transform:var(--text-transform-uppercase);overflow:hidden;pointer-events:none}.meta-summary{position:absolute;left:var(--text-label-inset-x);bottom:var(--text-label-inset-y);max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--curve2) var(--text-label-alpha),transparent);opacity:0;transition:opacity .18s ease}.card:hover .meta-summary,.card:focus-within .meta-summary{opacity:1;color:color-mix(in srgb,var(--curve2) var(--text-label-alpha),transparent)}.wall-empty{margin-top:4px;color:var(--soft)}.wall-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px 4px 4px;flex:0 0 auto}.wall-head .search{flex:1 1 auto;min-width:0;margin:0 4px}.wall-area{grid-column:2 / 4;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px}.wall-head h2{display:inline;font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase);line-height:1.05}.layout-note{display:flex;gap:6px;align-items:center;color:var(--soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-transform:var(--text-transform-none)}.layout-note .grid-mode.is-flash b{color:var(--white)}.layout-note .grid-mode{display:none}.filter-state{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--font-size-sm);padding:3px 3px 3px 6px;border-radius:2px;background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:var(--fx-ring-accent)}.filter-state-key{color:var(--soft);letter-spacing:var(--letter-spacing-normal);text-transform:var(--text-transform-uppercase);font-size:var(--font-size-xs)}.filter-state-val{color:var(--white);font-weight:var(--font-weight-bold);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-state-clear{width:16px;height:16px;min-width:16px;font-size:var(--font-size-xs);background:color-mix(in srgb,var(--black) 25%,transparent);color:var(--muted)}.filter-state-clear:hover{color:var(--white);background:color-mix(in srgb,var(--accent) 25%,transparent)}.wall .grid{min-height:100%;transition:none;--grid-cols: repeat(auto-fill, minmax(var(--card-min-w), 1fr))}.wall.is-mode-focus{display:flex;flex-direction:column;overflow:hidden}.wall.is-mode-focus .grid{flex:1 1 auto;min-height:0;height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.wall .grid.is-mode-focus .card{display:none}.wall .grid.is-mode-focus .card.is-focus{display:grid;height:100%;min-height:0}.wall .grid.is-mode-focus .card.is-focus .graph{aspect-ratio:auto;height:100%;min-height:0}.wall.is-mode-focus .grid>*{transition:transform .18s ease,box-shadow .18s ease}.wall.is-mode-focus .grid.is-mode-focus .card.is-focus{--layer-body: linear-gradient( 180deg, color-mix(in srgb, var(--curve2) 10%, transparent), color-mix(in srgb, var(--curve2) 1%, transparent) )}.curve-view{position:relative;overflow:hidden;cursor:none;--curve-line-width: 1.45;--viewport-quad-alpha: .35;--tile-margin-factor: .25;--dpr-min: 1;--dpr-max: 2}.curve-view .curve-view-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block}.curve-view-readout{position:absolute;right:var(--text-label-inset-x);bottom:var(--text-label-inset-y);z-index:5;display:inline-flex;align-items:center;gap:3px;color:color-mix(in srgb,var(--curve2) var(--text-label-alpha),transparent);font-family:var(--font-family);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-normal);opacity:0;transition:opacity .18s ease}.curve-view-fit-icon{width:10px;height:10px;color:inherit}.card:hover .curve-view-readout,.card:focus-within .curve-view-readout{opacity:1}.detail-curve-view:hover .curve-view-readout,.detail-curve-view:focus-within .curve-view-readout{opacity:1}.wall.is-dragging{cursor:grabbing}.wall.is-dragging *{cursor:grabbing!important;pointer-events:none}.wall.is-curve-drag .card,.wall.is-curve-drag .mini-card{pointer-events:none}.wall.is-curve-drag .card .curve-view,.wall.is-curve-drag .mini-card .curve-view{pointer-events:auto}.wall::-webkit-scrollbar{width:6px;height:6px}.wall::-webkit-scrollbar-track{background:transparent}.wall::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--line2) var(--fx-sml),transparent);border-radius:3px}.wall::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--line2) var(--fx-lg),transparent)}.wall{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--line2) var(--fx-sml),transparent) transparent}.pager{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:30;display:inline-flex;align-items:center;gap:8px;padding:4px 6px;border-radius:5px;background:var(--card-bg-gradient),color-mix(in srgb,var(--panel2) 94%,transparent);box-shadow:var(--shadow-panel);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);user-select:none}.pager-cluster{display:inline-flex;align-items:center;gap:6px}.pager-btn{width:26px;height:26px;min-width:26px;font-size:var(--font-size-xl);line-height:1;color:var(--muted)}.pager-btn:hover:not([disabled]){color:var(--white);background:color-mix(in srgb,var(--accent) 18%,transparent)}.pager-btn[disabled]{opacity:.35;cursor:not-allowed}.pager-compare{height:26px;padding:0 8px}.pager-compare[aria-pressed=true]{color:var(--white);background:color-mix(in srgb,var(--accent) 18%,transparent)}.pager-state{display:inline-flex;align-items:baseline;gap:8px;padding:0 4px;color:var(--muted);justify-content:center;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.2;letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase)}.pager-state b{color:inherit;font-weight:inherit}.pager-sep{color:inherit;opacity:.55;margin:0 3px}.pager-size{height:26px;padding:0 8px;gap:4px;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.2;letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase)}.pager-wrap{height:26px;padding:0 8px}.is-paged-out{display:none!important}#view-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}#view-overlay[aria-hidden=true]{display:none}.view-overlay-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--black) 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.view-overlay-box{position:relative;z-index:1;max-width:660px;width:90%;max-height:80vh;overflow-y:auto;padding:24px;border-radius:6px;background:var(--panel2);box-shadow:0 24px 64px color-mix(in srgb,var(--black) 55%,transparent);display:grid;gap:16px}.view-overlay-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:3px;background:color-mix(in srgb,var(--white) 6%,transparent);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .1s ease,color .1s ease}.view-overlay-close:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--white)}.view-overlay-box h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase);color:var(--text);margin:0}.view-overlay-content{display:grid;gap:14px}.view-overlay-content[aria-hidden=true]{display:none}.view-overlay-content p{margin:0;color:var(--text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-thin);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal)}.view-overlay-content .micro{color:var(--muted);font-size:var(--font-size-xs);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-normal);text-transform:var(--text-transform-uppercase)}.view-overlay-content .micro:before{content:none}.view-overlay-content .note{color:var(--soft);line-height:var(--line-height-normal)}.view-overlay-content a{color:var(--accent);text-decoration:underline}.view-overlay-content a:hover{color:var(--white)}.section-label{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase);color:var(--muted)}.sponsor-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.sponsor-list li{position:relative;padding-left:14px;color:var(--text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-thin);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-normal)}.sponsor-list li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:1px;background:var(--accent);opacity:.5}.pix-qr-wrap{display:grid;place-items:center;gap:6px}.pix-qr{display:block;border-radius:var(--pill-radius);max-width:100%;height:auto}.pix-qr[hidden]{display:none}.qr-link{font-size:var(--font-size-xs);color:var(--accent);text-decoration:underline}.qr-link[hidden]{display:none}#view-overlay.is-detail .view-overlay-box{max-width:75vw;max-height:none;overflow:visible;width:auto;height:auto;padding:8px}.view-overlay-content[data-overlay-content=detail]{display:grid;gap:10px;height:100%}.view-overlay-content[data-overlay-content=detail][aria-hidden=true]{display:none}.detail-row1{display:grid;grid-template-columns:1fr 240px;gap:10px;min-height:0}.detail-viewport-col{display:flex;flex-direction:column;min-height:200px}.detail-curve-view{flex:1;aspect-ratio:16 / 9;min-height:420px;max-height:75vh;width:100%}.detail-info-col h2{margin:0 0 6px;font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-wide);text-transform:var(--text-transform-uppercase);color:var(--text)}.detail-overlay-summary{margin:0;color:var(--text-soft);font-size:var(--font-size-sm);line-height:1.4}.detail-tabs-row{display:flex;flex-wrap:wrap;gap:4px}.detail-tab{height:24px;padding:0 8px;border:0;border-radius:3px;background:color-mix(in srgb,var(--white) 5%,transparent);color:var(--muted);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-mid);text-transform:var(--text-transform-uppercase);cursor:pointer;transition:background .1s,color .1s}.detail-tab:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--white)}.detail-tab.active{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--white)}.detail-code-row{display:flex;gap:6px;align-items:flex-start}.detail-code-copy{flex-shrink:0;width:26px;height:26px;margin-top:2px;border:0;border-radius:3px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .12s ease,color .12s ease;position:relative}.detail-code-copy:hover{background:color-mix(in srgb,var(--white) 8%,transparent);color:var(--text)}.detail-code-copy:active{background:color-mix(in srgb,var(--white) 14%,transparent);color:var(--text)}.detail-code-copy:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.detail-code-copy .copy-feedback{display:none;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-mid);white-space:nowrap}.detail-code-copy.is-copied{width:auto;height:26px;padding:0 8px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-radius:3px;pointer-events:none}.detail-code-copy.is-copied .copy-icon-wrap{display:none}.detail-code-copy.is-copied .copy-feedback{display:inline}.detail-overlay-code{flex:1;min-width:0;margin:0;padding:12px;border:0;border-radius:3px;background:var(--bg-step-1);box-shadow:inset 0 0 0 1px var(--line-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-soft);font-size:var(--font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-y:auto;max-height:40vh}@media(max-width:660px){.detail-overlay-body{grid-template-columns:minmax(0,1fr)}}.lang-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 0;padding:0}.lang-list li{height:var(--pill-height);padding:0 var(--chip-padding-x);border-radius:var(--pill-radius);background:color-mix(in srgb,var(--white) var(--pill-bg-alpha),transparent);color:var(--muted);display:inline-flex;align-items:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-mid);text-transform:var(--text-transform-uppercase);line-height:var(--line-height-compact);white-space:nowrap}
