:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}body{margin:0;padding:0;background:canvas;color:canvastext}main{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}header h1{margin:0 0 .25rem;font-size:1.5rem}.hint{margin-top:0;color:color-mix(in oklch,canvastext 60%,canvas 40%);font-size:.9rem}.info{display:grid;gap:.35rem;margin:1.5rem 0;padding:1rem 1.25rem;border:1px solid color-mix(in oklch,canvastext 15%,canvas 85%);border-radius:8px;font-size:.95rem}.info>div{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.info span:first-child{min-width:4.5rem;color:color-mix(in oklch,canvastext 60%,canvas 40%)}.mode-links{margin-left:auto;font-size:.85rem;display:flex;align-items:center;gap:.25rem}.mode-links button{font:inherit;font-size:inherit;background:transparent;border:none;padding:.1rem .25rem;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;opacity:.65}.mode-links button.active{font-weight:600;opacity:1}code{font-family:ui-monospace,SF Mono,Menlo,monospace;background:color-mix(in oklch,canvastext 8%,canvas 92%);padding:.15rem .4rem;border-radius:4px;font-size:.9em}.counter{margin:1.5rem 0;padding:1.25rem;border:1px solid color-mix(in oklch,canvastext 15%,canvas 85%);border-radius:8px;text-align:center}.counter h2{margin:0 0 .75rem;font-size:1.5rem}.counter span{font-variant-numeric:tabular-nums}button{font:inherit;padding:.5rem 1.25rem;border-radius:6px;border:1px solid color-mix(in oklch,canvastext 40%,canvas 60%);background:color-mix(in oklch,canvastext 5%,canvas 95%);color:inherit;cursor:pointer}button:hover{background:color-mix(in oklch,canvastext 12%,canvas 88%)}.bench{margin:1.5rem 0;padding:1.25rem;border:1px solid color-mix(in oklch,canvastext 15%,canvas 85%);border-radius:8px}.bench h3{margin:0 0 .75rem;font-size:1rem;color:color-mix(in oklch,canvastext 60%,canvas 40%)}.bench-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.bench-controls label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:color-mix(in oklch,canvastext 70%,canvas 30%)}.bench-controls input{font:inherit;width:6rem;padding:.35rem .5rem;border:1px solid color-mix(in oklch,canvastext 25%,canvas 75%);border-radius:4px;background:canvas;color:inherit}.bench-result{margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem 1rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.bench-result>div{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .75rem;background:color-mix(in oklch,canvastext 5%,canvas 95%);border-radius:6px}.bench-result dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in oklch,canvastext 55%,canvas 45%)}.bench-result dd{margin:0;font-variant-numeric:tabular-nums}.bench-clear{margin-left:auto;padding:.35rem .75rem;font-size:.85rem}.bench-chart-wrap{margin:1rem 0 0}.bench-chart{width:100%;height:auto;display:block;background:color-mix(in oklch,canvastext 3%,canvas 97%);border-radius:6px}.bench-chart-grid{stroke:color-mix(in oklch,canvastext 10%,canvas 90%);stroke-width:1}.bench-chart-axis{stroke:color-mix(in oklch,canvastext 30%,canvas 70%);stroke-width:1}.bench-chart-tick{fill:color-mix(in oklch,canvastext 55%,canvas 45%);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.bench-chart-label{fill:color-mix(in oklch,canvastext 65%,canvas 35%);font-size:11px}.bench-legend{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem;color:color-mix(in oklch,canvastext 70%,canvas 30%)}.bench-legend>span{display:inline-flex;align-items:center;gap:.4rem}.bench-swatch{display:inline-block;width:.75rem;height:.75rem;border-radius:2px}.log h3{margin:0 0 .5rem;font-size:1rem;color:color-mix(in oklch,canvastext 60%,canvas 40%)}.log ul{list-style:none;margin:0;padding:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem;max-height:320px;overflow-y:auto;border:1px solid color-mix(in oklch,canvastext 10%,canvas 90%);border-radius:6px}.log li{padding:.35rem .75rem;border-bottom:1px solid color-mix(in oklch,canvastext 8%,canvas 92%)}.log li:last-child{border-bottom:none}
