:root{--ink: #0b0b0c;--paper: #fafaf7;--panel: #ffffff;--hair: #e4e4de;--graphite: #6c6c71;--volt: #ffde16;--radius: 10px;--chip-h: 112px;--font-ui: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}body[data-theme=dark]{--ink: #f2f2ef;--paper: #0d0d0e;--panel: #181819;--hair: #2a2a2c;--graphite: #8e8e94}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--volt);outline-offset:2px;border-radius:4px}.muted{color:var(--graphite)}.rail{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:20px;padding:12px 20px;background:#0b0b0c;color:#fff}.rail__mark{flex:none;font-weight:800;font-size:26px;line-height:1;letter-spacing:-.045em;color:var(--volt)}.rail__right{display:flex;align-items:center;gap:8px;flex:none}.rail__count{font-family:var(--font-mono);font-size:12px;color:#8e8e94}.search{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:9px 16px;background:#1b1b1d;border:1px solid #2c2c2f;border-radius:999px;transition:border-color .15s,background .15s}.search:focus-within{border-color:var(--volt);background:#212124}.search svg{flex:none;opacity:.5}.search input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-family:var(--font-mono);font-size:14px}.search input::placeholder{color:#6c6c71}.search kbd{flex:none;font-family:var(--font-mono);font-size:11px;color:#6c6c71;border:1px solid #2c2c2f;border-radius:5px;padding:2px 6px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2c2c2f;border-radius:8px;color:#b9b9bd}.icon-btn:hover{background:#1b1b1d;color:#fff}.icon-btn[aria-pressed=true]{background:var(--volt);color:#0b0b0c;border-color:var(--volt)}.controls{position:sticky;top:59px;z-index:30;display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--paper);border-bottom:1px solid var(--hair)}.tags{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.tags::-webkit-scrollbar{display:none}.tag{flex:none;padding:6px 13px;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--graphite);border:1px solid var(--hair);border-radius:999px;transition:all .12s}.tag:hover{color:var(--ink);border-color:var(--graphite)}.tag[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tag__dot{display:inline-block;width:7px;height:7px;margin-right:6px;vertical-align:1px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.density{flex:none;display:flex;gap:2px;padding:2px;border:1px solid var(--hair);border-radius:8px}.density button{display:grid;place-items:center;padding:5px 9px;border-radius:6px;color:var(--graphite)}.density button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.nearest{display:flex;align-items:center;gap:16px;margin:20px 20px 0;padding:14px 16px;background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius)}.nearest__ref{flex:none;width:56px;height:56px;border-radius:8px;box-shadow:inset 0 0 0 1px #00000014}.nearest h2{margin:0 0 2px;font-size:15px;font-weight:600;letter-spacing:-.01em}.nearest p{margin:0;font-size:13px;line-height:1.45;color:var(--graphite)}.nearest code{font-family:var(--font-mono);color:var(--ink)}.grid{display:grid;gap:14px;padding:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}body[data-density=compact] .grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;--chip-h: 72px}body[data-density=list] .grid{grid-template-columns:1fr;gap:0;padding:8px 20px 40px}.chip{position:relative;background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s}.chip:hover{transform:translateY(-2px);box-shadow:0 8px 22px -12px #00000059;border-color:var(--graphite)}.chip__swatch{position:relative;width:100%;height:var(--chip-h);box-shadow:inset 0 0 0 1px #00000012}.chip__label{padding:10px 12px 11px}.chip__name{display:block;font-size:14px;font-weight:600;line-height:1.25;letter-spacing:-.012em}.chip__alias{display:block;margin-top:1px;font-size:11.5px;line-height:1.3;color:var(--graphite)}.chip__meta{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}.chip__hex{flex:none;font-family:var(--font-mono);font-size:12px;color:var(--graphite)}.chip__tags{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 100%}.pill{padding:1px 5px;font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--graphite);border:1px solid var(--hair);border-radius:4px}.chip__de{position:absolute;top:8px;left:8px;padding:2px 6px;font-family:var(--font-mono);font-size:10px;font-weight:600;background:#0b0b0cc7;color:#fff;border-radius:5px}.chip__info{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:26px;height:26px;background:#ffffffe6;color:#0b0b0c;border-radius:7px;box-shadow:0 2px 6px #0000002e;opacity:0;transform:scale(.9);transition:all .12s}.chip:hover .chip__info,.chip__info:focus-visible{opacity:1;transform:scale(1)}.chip__copied{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0b0b0cdb;color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .1s}.chip.is-copied .chip__copied{opacity:1}body[data-density=compact] .chip__name{font-size:12.5px}body[data-density=compact] .chip__alias,body[data-density=compact] .chip__tags{display:none}body[data-density=compact] .chip__label{padding:8px 9px 9px}body[data-density=list] .chip{display:flex;align-items:center;gap:14px;padding:0;background:none;border:none;border-bottom:1px solid var(--hair);border-radius:0}body[data-density=list] .chip:hover{transform:none;box-shadow:none;background:var(--panel)}body[data-density=list] .chip__swatch{flex:none;width:44px;height:44px;margin:8px 0 8px 8px;border-radius:6px}body[data-density=list] .chip__label{flex:1;display:flex;align-items:center;gap:16px;padding:8px 12px 8px 0}body[data-density=list] .chip__meta{flex:none;margin:0;gap:14px;flex-wrap:nowrap}body[data-density=list] .chip__tags{flex:none}body[data-density=list] .chip__info{position:static;opacity:1;transform:none;background:none;box-shadow:none;color:var(--graphite)}body[data-density=list] .chip__de{position:static;padding:0;background:none;color:var(--graphite)}.empty{grid-column:1 / -1;padding:70px 20px;text-align:center}.empty h3{margin:0 0 6px;font-size:17px;font-weight:600;letter-spacing:-.015em}.empty p{margin:0;font-size:14px;color:var(--graphite)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0b0b0c6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s}.scrim.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;inset:0 0 0 auto;z-index:60;width:min(420px,100%);overflow-y:auto;background:var(--panel);border-left:1px solid var(--hair);transform:translate(100%);transition:transform .26s cubic-bezier(.32,.72,0,1)}.drawer.is-open{transform:none}.drawer__hero{position:relative;height:150px}.drawer__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;background:#ffffffeb;color:#0b0b0c;border-radius:8px;box-shadow:0 2px 8px #0003}.drawer__body{padding:20px}.drawer__body h2{margin:0;font-size:24px;font-weight:800;line-height:1.15;letter-spacing:-.03em}.drawer__also{margin:6px 0 0;font-size:13px;color:var(--graphite)}.drawer__also b{color:var(--ink);font-weight:600}.drawer__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.sec{margin-top:24px}.sec h3{margin:0 0 9px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite)}.vals{display:grid;gap:6px}.val{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 11px;font-family:var(--font-mono);font-size:12.5px;text-align:left;border:1px solid var(--hair);border-radius:8px;transition:border-color .12s}.val:hover{border-color:var(--graphite)}.val__label{flex:none;font-size:11px;color:var(--graphite)}.val__value{flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.val__copy{flex:none;color:var(--graphite)}.val:hover .val__copy{color:var(--ink)}.ramp{display:flex;border:1px solid var(--hair);border-radius:8px;overflow:hidden}.ramp button{position:relative;flex:1;height:46px}.ramp button:after{content:attr(data-step);position:absolute;inset:auto 0 3px;text-align:center;font-family:var(--font-mono);font-size:9px;color:var(--step-ink);opacity:0;transition:opacity .12s}.ramp button:hover:after{opacity:1}.contrast{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ct{padding:11px;text-align:center;border:1px solid var(--hair);border-radius:8px}.ct__ratio{font-family:var(--font-mono);font-size:17px;font-weight:600;letter-spacing:-.02em}.ct__on{margin-top:2px;font-size:11px;color:var(--graphite)}.ct__badge{display:inline-block;margin-top:7px;padding:2px 6px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:4px}.ct__badge.is-pass{background:var(--ink);color:var(--volt)}.ct__badge.is-fail{color:var(--graphite);border:1px solid var(--hair)}.toast{position:fixed;bottom:22px;left:50%;z-index:80;display:flex;align-items:center;gap:9px;padding:10px 18px;background:#0b0b0c;color:#fff;border-radius:999px;box-shadow:0 12px 30px -10px #00000080;font-family:var(--font-mono);font-size:12.5px;opacity:0;transform:translate(-50%,80px);transition:all .22s cubic-bezier(.32,.72,0,1)}.toast.is-open{opacity:1;transform:translate(-50%)}.toast__sw{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff40}.hints{display:flex;flex-wrap:wrap;gap:16px;padding:0 20px 34px;font-size:12px;color:var(--graphite)}.hints code{padding:1px 5px;font-family:var(--font-mono);border:1px solid var(--hair);border-radius:4px}@media(max-width:640px){.rail{gap:12px;padding:10px 14px}.rail__mark{font-size:22px}.rail__count,.search kbd{display:none}.controls{top:55px;padding:10px 14px}.density{display:none}.grid{padding:14px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
