:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172b2a;background:#eeeae1;font-synthesis:none;font-size:14px;--ink:#172b2a;--muted:#626b63;--line:#d5d7cb;--paper:#f8f6ef;--acid:#d9ed8a}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);padding:10px 13px;border-radius:5px}button:hover{background:#e5e9d9}button:disabled{cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #6087d5;outline-offset:3px}input,textarea,select{background:#fffefa;border:1px solid #ccd1c5;color:var(--ink);padding:9px;border-radius:4px;max-width:100%;width:100%}input[type=checkbox]{width:auto;accent-color:var(--ink)}input[type=range]{accent-color:#d9ed8a;border:0;padding:0;width:100%;cursor:ew-resize}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}p{line-height:1.6}h1,h2,h3,p{margin-top:0}header{height:76px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 36px;background:var(--paper)}.brand{color:inherit;text-decoration:none;font-weight:800;letter-spacing:1px;display:flex;gap:13px;align-items:center}.brand-mark{font-size:34px}.brand small{font:10px monospace;letter-spacing:1px;color:var(--muted);border-left:1px solid var(--line);padding-left:15px}.header-actions{display:flex;align-items:center;gap:8px}.local{font:10px monospace;margin-right:20px;letter-spacing:1px}.intro{display:flex;justify-content:space-between;align-items:center;padding:36px 40px 24px}.eyebrow,.section-label{font:10px monospace;letter-spacing:1.5px;font-weight:600}.eyebrow{margin-bottom:12px}h1{font-size:clamp(32px,3.5vw,55px);line-height:1.1;letter-spacing:-2px;margin-bottom:12px}h2{font-size:23px;letter-spacing:-.8px;margin:9px 0 20px}h3{font-size:17px;letter-spacing:-.3px;margin:7px 0 12px}.intro p:last-child{color:var(--muted);margin:0}.edition{font:12px monospace;display:flex;align-items:center;gap:12px}.edition b{font-size:32px;font-weight:400}.edition span{padding:0 10px;color:#999}.families{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 40px;background:#f5f3eb}.families button{border:0;border-right:1px solid var(--line);border-radius:0;padding:17px 22px;font-weight:600;display:flex;gap:22px}.families span{font:10px monospace;color:#6e776a}.families .chosen{background:var(--ink);color:var(--acid)}.families .chosen span{color:var(--acid)}main{display:grid;grid-template-columns:330px 1fr;max-width:1800px;margin:auto}.grammar{padding:28px 24px;border-right:1px solid var(--line);background:#f4f2e9}.grammar>label{margin:17px 0}.primitive-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:24px 0 16px}.primitive-tabs button{padding:9px 6px;background:#e5e8da;display:flex;flex-direction:column;align-items:center;gap:5px}.primitive-tabs button[aria-pressed=true]{background:var(--ink);color:var(--acid);border-color:var(--ink)}.primitive-tabs svg{width:24px;height:24px;fill:currentColor}.primitive-tabs span{font:9px monospace}.shape-editor{padding-bottom:20px;border-bottom:1px solid var(--line)}.shape-editor p{font-size:12px;color:var(--muted)}.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}.pixel-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;max-width:196px;margin:17px auto 0;background:#e0e3d7;padding:7px;border-radius:4px}.pixel-grid button{padding:0;aspect-ratio:1;background:#f5f6ee;border:0;border-radius:1px;min-width:0}.pixel-grid .filled{background:var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.seed-row{display:flex;align-items:end;gap:8px;margin:20px 0}.seed-row label{flex:1;min-width:0}.seed-row button{white-space:nowrap;font-size:12px;padding:11px}.muted{font-size:11px;color:var(--muted)}.work{padding:28px 32px;min-width:0}.canvas-head{display:flex;justify-content:space-between;align-items:center}.chip{font:10px monospace;border:1px solid #bec7b4;border-radius:30px;padding:8px 12px;letter-spacing:1px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.badge{aspect-ratio:1.1;background:var(--paper);padding:13px 14px;display:flex;flex-direction:column;position:relative;align-items:center;justify-content:space-between;border:1px solid #d3d8c9;border-radius:3px}.badge:hover{background:#f0f3e5}.badge.selected{box-shadow:inset 0 0 0 2px var(--ink);background:#e5edce}.badge svg{width:68%;height:68%;fill:var(--ink);shape-rendering:crispEdges}.badge-id{align-self:start;font:10px monospace;color:#5a6757}.badge-caption{font:8px monospace;letter-spacing:1px;color:#626d5d}.badge.empty{background:repeating-linear-gradient(135deg,transparent,transparent 8px,#e5e4d9 8px,#e5e4d9 9px);color:#87917e}.missing{font-size:30px;display:flex;flex-direction:column;align-items:center;gap:5px}.missing small{font:9px monospace}.distance-control{background:var(--ink);color:#f4f4e9;padding:24px 26px;margin-top:22px;border-radius:5px}.distance-control .section-label{color:var(--acid)}.distance-title{display:flex;justify-content:space-between;align-items:start}.distance-title h3{font-size:23px;font-weight:500}.threshold-number input{width:90px;font:26px monospace;background:transparent;color:var(--acid);border-color:#566658;padding:6px}.range-legend{display:flex;justify-content:space-between;font:10px monospace;color:#bac6b3;margin:8px 0 17px}.distance-control p{font-size:12px;margin-bottom:6px}.distance-control small{font-size:10px;color:#bdc9bb}.unmet{background:#593b2e}.unmet .section-label,.unmet .threshold-number input{color:#ffdc9a}.inspect{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:26px 0}.inspect>div{padding:20px;background:#f5f3ec;border:1px solid var(--line)}.inspect ul{list-style:none;padding:0;margin:0}.inspect li{font-size:12px;padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.inspect li span{font:11px monospace;color:var(--muted)}.pair-art{display:flex;align-items:center;justify-content:space-around;margin:14px 0;gap:15px}.pair-art svg{width:75px;height:75px;fill:var(--ink)}.pair-art strong{font:22px monospace}.matrix-scroll{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:15px;font:10px monospace}td,th{border:1px solid var(--line);padding:9px;text-align:center}caption{text-align:left;margin:12px 0}details{border-top:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-size:12px;font-weight:600}details p{font-size:12px;color:var(--muted);margin:14px 0 0}.export-row{display:flex;align-items:center;gap:7px;padding:20px 0;border-top:1px solid var(--line);margin-top:15px;flex-wrap:wrap}.export-row>div{margin-right:auto}.export-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.export-row button{background:var(--paper);font-size:12px}.notice{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 36px;display:flex;justify-content:space-between;gap:40px;background:var(--paper)}footer>span{font:10px monospace;letter-spacing:1px}footer details{border:0;padding:0;max-width:590px}footer button{margin:12px 8px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.badge-grid{gap:18px}.badge{aspect-ratio:1.3}}@media(max-width:1050px){main{grid-template-columns:280px 1fr}.work{padding:24px 18px}.grammar{padding:25px 18px}.badge-grid{gap:7px}.badge{padding:9px 6px}.badge-caption{font-size:7px;letter-spacing:0}.inspect{gap:10px}.inspect>div{padding:12px}.edition{display:none}.families{padding:0}.families button{flex:1;gap:8px;justify-content:center}.local{display:none}}@media(max-width:740px){header{height:auto;min-height:70px;padding:15px;gap:15px}.brand{font-size:11px;gap:7px}.brand small{display:none}.brand-mark{font-size:26px}.header-actions button{padding:8px}.intro{padding:26px 20px}.intro h1{letter-spacing:-1.2px}.intro p:last-child{font-size:12px}.families{overflow-x:auto}.families button{font-size:11px;white-space:nowrap;padding:14px 11px}.families span{display:none}main{display:flex;flex-direction:column}.grammar{order:2;border-right:0;border-top:1px solid var(--line)}.work{padding:24px 14px}.badge-grid{grid-template-columns:repeat(3,1fr)}.badge{aspect-ratio:.95}.badge svg{width:80%;height:70%}.chip{font-size:8px;padding:6px}.canvas-head h2{font-size:21px}.distance-control{padding:20px 16px}.distance-title h3{font-size:20px}.threshold-number input{width:76px;font-size:23px}.inspect{grid-template-columns:1fr}.inspect>div{padding:20px}.primitive-tabs{max-width:400px}.shape-editor{display:flex;gap:20px;align-items:start}.shape-editor>div:first-child{flex:1}.pixel-grid{width:180px;flex-shrink:0;margin:0}.export-row>div{width:100%;margin-bottom:8px}.export-row button{flex:1}footer{padding:20px;flex-direction:column;gap:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.canvas-head h2{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.canvas-head>div{min-width:0}.chip{flex-shrink:0}@media(max-width:740px){.header-actions{flex-wrap:wrap;justify-content:end}.header-actions button{font-size:10px}}
