:root{color-scheme:dark;--accent:#2dd4bf;--grad:linear-gradient(92deg,#2ee6a6,#38bdf8 60%,#818cf8);--good:#34d399;--warn:#fbbf24;--bad:#f87171;--write:#2dd4bf;--read:#818cf8;--over:#fbbf24}*{box-sizing:border-box}body{background:radial-gradient(1100px 700px at 50% -10%,#0c1320 0,transparent 55%),#05070a;color:#e8edf1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}.ql{margin:0 auto;max-width:1040px;padding:26px 18px 56px}.ql__bar{align-items:center;display:flex;gap:14px;margin-bottom:16px}.ql__title{background:var(--grad);-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0;-webkit-text-fill-color:transparent}.ql__back{margin-right:auto}.ql__back,.ql__home{color:#9fb0bb;font-size:15px;font-weight:600;text-decoration:none}.ql__home{margin-left:auto}.ql__back:hover,.ql__home:hover{color:#67e8f9}.ql__lead{color:#9fb0bb;font-size:13.5px;line-height:1.65;margin:0 0 18px;max-width:820px}.ql__lead strong{color:#cdd9e1;font-weight:600}.ql__lead .em{color:#67e8f9;font-weight:600}.ql__verdict{align-items:center;background:radial-gradient(120% 160% at 0 0,rgba(52,211,153,.12),transparent 60%),hsla(0,0%,100%,.02);border:1px solid rgba(52,211,153,.4);border-radius:14px;display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;padding:15px 18px;position:relative;transition:border-color .25s ease,background .25s ease}.ql__verdict.is-unsafe{background:radial-gradient(120% 160% at 0 0,rgba(251,191,36,.13),transparent 60%),hsla(0,0%,100%,.02);border-color:rgba(251,191,36,.45)}.ql__rule{color:var(--good);font-size:20px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}.ql__verdict.is-unsafe .ql__rule{color:var(--warn)}.ql__rule-sub{color:#cdd9e1;flex:1 1 240px;font-size:13px;font-weight:600}.ql__chips{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.ql__chip{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.14);border-radius:999px;color:#cdd9e1;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em;padding:5px 11px}.ql__chip b{font-weight:800}.ql__chip--w b{color:var(--write)}.ql__chip--r b{color:var(--read)}.ql__chip--over b{color:var(--over)}.ql__controls{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.07);border-radius:14px;display:grid;gap:15px 20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px;padding:17px 18px 19px}.ctl{flex-direction:column}.ctl,.ctl__head{display:flex;gap:8px}.ctl__head{align-items:baseline;justify-content:space-between}.ctl__head>span{color:#9fb0bb;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.ctl__val{color:var(--accent);font-size:13px;font-variant-numeric:tabular-nums;font-weight:800}.ctl input[type=range]{accent-color:var(--accent);cursor:pointer;height:24px;width:100%}.ql__row{align-items:center;display:flex;flex-wrap:wrap;gap:12px 14px;grid-column:1/-1}.btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.16);border-radius:9px;color:#e8edf1;cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:9px 16px;transition:border-color .12s ease,background .12s ease,transform .12s ease,color .12s ease}.btn:hover{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.5)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.btn--write{background:linear-gradient(92deg,#2ee6a6,#38bdf8);border-color:transparent;color:#04221c}.btn--write:hover{background:linear-gradient(92deg,#41f0b4,#59c8ff)}.btn--read{background:linear-gradient(92deg,#8b96ff,#38bdf8);border-color:transparent;color:#0b1024}.btn--read:hover{background:linear-gradient(92deg,#a3acff,#59c8ff)}.btn.is-on{background:linear-gradient(92deg,#2ee6a6,#38bdf8);border-color:transparent;color:#04221c}.seg{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.14);border-radius:9px;display:inline-flex;gap:3px;padding:3px}.seg button{background:transparent;border:0;border-radius:6px;color:#9fb0bb;cursor:pointer;font:inherit;font-size:12px;font-weight:700;padding:6px 11px;transition:color .12s ease,background .12s ease}.seg button:hover{color:#e8edf1}.seg button.is-active{background:linear-gradient(92deg,#2ee6a6,#38bdf8);color:#04221c}.seg__label{color:#71808a;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.ql__row .speed{align-items:center;display:flex;gap:9px;margin-left:auto}.ql__row .speed>span{color:#71808a;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.ql__row .speed input[type=range]{accent-color:var(--accent);width:96px}.ql__row .speed b{color:var(--accent);font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:800;min-width:34px}.ql__stage{background:radial-gradient(130% 130% at 50% 0,rgba(45,212,191,.06),transparent 60%),hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;margin-bottom:12px;padding:8px;position:relative}.ql__canvas{border-radius:10px;cursor:pointer;display:block;height:440px;touch-action:manipulation;width:100%}.ql__legend{color:#9fb0bb;display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px 16px;margin:0 2px 16px}.ql__legend i{background:transparent;border:2px solid;border-radius:50%;display:inline-block;height:11px;margin-right:6px;vertical-align:-1px;width:11px}.lg-write{color:var(--write)}.lg-read{color:var(--read)}.lg-over{color:var(--over)}.lg-stale{color:var(--warn)}.lg-dead{color:var(--bad)}.ql__readouts{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));margin-bottom:14px}.metric{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:11px 12px}.metric__label{color:#71808a;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.metric__val{color:#e8edf1;font-size:20px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em}.metric__val.is-good{color:var(--good)}.metric__val.is-warn{color:var(--warn)}.metric__val.is-bad{color:var(--bad)}.metric__val.is-read{color:var(--read)}.metric__val.is-accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.metric__sub{color:#71808a;font-size:10.5px;font-variant-numeric:tabular-nums;margin-top:3px}.ql__log{background:rgba(0,0,0,.28);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.7;margin-bottom:18px;max-height:168px;min-height:92px;overflow-y:auto;padding:11px 14px}.ql__log .ln{color:#8aa0ad;white-space:pre-wrap}.ql__log .ln b{color:#cdd9e1;font-weight:600}.ql__log .ln.ok,.ql__log .ln.ok b{color:var(--good)}.ql__log .ln.warn,.ql__log .ln.warn b{color:var(--warn)}.ql__log .ln.err,.ql__log .ln.err b{color:var(--bad)}.ql__log .ln .t{color:#4f5e69}.ql__notes{display:grid;gap:16px 24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.ql__note h2{background:var(--grad);-webkit-background-clip:text;background-clip:text;font-size:12px;font-weight:800;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase;-webkit-text-fill-color:transparent}.ql__note p{color:#8395a0;font-size:12.5px;line-height:1.7;margin:0 0 9px}.ql__note strong{color:#cdd9e1;font-weight:600}.ql__note code{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:4px;color:#67e8f9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:1px 5px}@media (max-width:600px){.ql__canvas{height:360px}.ql__rule{font-size:17px}.metric__val{font-size:18px}.ql__chips{width:100%}.ql__chips,.ql__row .speed{margin-left:0}.btn,.seg button{align-items:center;display:inline-flex;justify-content:center;min-height:40px}}@media (max-width:380px){.ql__canvas{height:320px}}@media (prefers-reduced-motion:reduce){.btn,.ql__verdict,.seg button{transition:none}.btn:active{transform:none}}