:root{--chrome:#e3e5e9;--panel:#f1f2f4;--bg:#fbfbfc;--field:#fff;--ink:#1d2127;--muted:#69707b;--line:#d2d5db;--line2:#c2c6cd;--accent:#2563d9;--focus:#f0a000;--mark:#ffe25a;--mark-current:#ff9d2e;--lane:#141e3209;--hover:#141e320f;--blk:52%;--note:#fff6d6;--note-line:#e2c560;--sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--brand:#006271;font-family:var(--sans)}:root[data-theme=dark]{--chrome:#17191c;--panel:#1f2125;--bg:#1a1c1f;--field:#131417;--ink:#d9dce1;--muted:#888e98;--line:#2f3238;--line2:#3d4148;--accent:#5c9af7;--focus:#ffc23d;--lane:#ffffff08;--hover:#ffffff0f;--blk:20%;--note:#3a3220;--note-line:#7a6326;--brand:#71cfd9}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.small{color:var(--muted);font-size:12px}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}.btn{border:1px solid var(--line2);background:var(--field);height:30px;color:var(--ink);cursor:pointer;white-space:nowrap;font:13px var(--sans);border-radius:3px;align-items:center;gap:6px;padding:0 11px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.on{background:color-mix(in srgb, var(--accent) 16%, var(--field));border-color:color-mix(in srgb, var(--accent) 60%, var(--line2));font-weight:600}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--bg);font-weight:600}.btn.primary:hover{filter:brightness(1.1)}.btn.big{height:38px;padding:0 16px;font-size:14px}.btn svg{flex:none;width:15px;height:15px}.gh{gap:0;padding:0;overflow:hidden}.gh .lbl{align-items:center;gap:6px;height:100%;padding:0 10px;display:inline-flex}.gh .n{border-left:1px solid var(--line2);background:var(--panel);align-items:center;height:100%;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.gh .n:empty{display:none}.gh:hover .n{border-left-color:var(--muted)}.tagpill{background:var(--tc,var(--ink));color:#fff;white-space:nowrap;border-radius:2px;padding:0 6px;font-size:11px;font-weight:600;line-height:17px;display:inline-block}.top{z-index:10;background:var(--chrome);border-bottom:1px solid var(--line);align-items:center;gap:18px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:8px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.brand img{width:28px;height:28px}.logo-dark,:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}.nav{gap:2px;display:flex}.nav a{color:var(--muted);border-radius:3px;padding:5px 9px;font-size:13.5px;text-decoration:none}.nav a:hover{color:var(--ink);background:var(--hover)}.nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--brand);border-radius:0}.top .right{align-items:center;gap:8px;margin-left:auto;display:flex}#theme{justify-content:center;width:30px;padding:0}@media (width<=720px){.top{gap:8px;padding:0 10px}.top .hide-sm{display:none}.nav a{padding:5px 6px}}.strip{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:52px;padding:8px 16px;display:flex}.strip .what{flex:1;min-width:0}.strip h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.strip .meta{color:var(--muted);font-size:12px}.strip .cite{color:var(--ink);margin-top:1px;font-size:12px}.strip .cite a{color:var(--accent)}.strip .acts{flex:none;gap:8px;display:flex}.viewer{background:var(--bg);border:0;width:100%;height:calc(100dvh - 104px);min-height:360px;display:block}@media (width<=720px){.strip{flex-wrap:wrap}.strip h1{white-space:normal}.strip .acts{width:100%}}.band{border-top:1px solid var(--line);background:var(--panel);padding:40px 0}.band .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;display:flex}.band h2{margin:0 0 4px;font-size:18px;font-weight:600}.band p{color:var(--muted);max-width:60ch;margin:0}.band .acts{flex-wrap:wrap;gap:10px;display:flex}.foot{border-top:1px solid var(--line);background:var(--chrome);color:var(--muted);padding:18px 0;font-size:12px}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:6px 18px;display:flex}.foot a{color:var(--muted)}.foot .tribute{flex-basis:100%}.intro{padding:40px 0 20px}.intro h1{letter-spacing:-.01em;margin:0 0 6px;font-size:26px;font-weight:600}.intro p{color:var(--muted);max-width:64ch;margin:0;font-size:15px}.grid{grid-template-columns:1fr;gap:14px;padding-bottom:56px;display:grid}@media (width>=600px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.grid{grid-template-columns:repeat(3,1fr)}}.card{border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:4px;flex-direction:column;gap:8px;padding:14px 16px;text-decoration:none;transition:border-color .1s;display:flex}.card:hover{border-color:var(--accent)}.card .sketch{background:var(--panel);border:1px solid var(--line);border-radius:3px;width:100%;height:88px;margin-bottom:2px;display:block}.card .sketch .lane{fill:#0000}.card .sketch .lane:nth-child(odd){fill:var(--lane)}.card .sketch .ev{fill:var(--line2)}.card .sketch .pin{fill:var(--brand)}.card:hover .sketch{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.card h2{margin:0;font-size:15px;font-weight:600;line-height:1.35}.card p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.card .meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px;font-size:11.5px;display:flex}.card .go{color:var(--accent);font-weight:600}.card.add{border:1px dashed var(--line2);text-align:center;min-height:220px;color:var(--accent);background:0 0;justify-content:center;align-items:center}.card.add:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent)}.card.add .plus{font-size:28px;font-weight:400;line-height:1}.card.add h2{color:var(--accent)}.card.add p{-webkit-line-clamp:unset}.card.add.soon{cursor:default;color:var(--muted)}.card.add.soon h2{color:var(--muted)}.card.add.soon:hover{border-color:var(--line2);background:0 0}.thanks{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 112px);padding:48px 16px;display:flex}.thanks h1{letter-spacing:-.01em;margin:18px 0 8px;font-size:26px;font-weight:600}.thanks p{color:var(--muted);max-width:46ch;margin:0 0 24px;font-size:15px}.thanks .acts{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}
