.small{font-size:.9rem}h3.sub{margin-top:1.8em;color:var(--text-dim);font-weight:400;font-style:italic}.toc{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.95rem}.toc a{color:var(--text-dim)}section{scroll-margin-top:16px}.btn{font:inherit;font-size:.9rem;color:var(--text);background:var(--bg-raise);cursor:pointer;border:1px solid var(--rule-strong);border-radius:4px;padding:6px 12px}.btn:hover{border-color:var(--text-dim)}.btn-sm{font-size:.8rem;padding:3px 8px}.px-input{display:grid;gap:8px}.px-input textarea{width:100%;resize:vertical;min-height:3.2em;background:var(--bg-raise);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:12px 14px;font:400 1.15rem/1.5 var(--mono);letter-spacing:.03em}.px-input textarea:focus{outline:none;border-color:var(--hypha)}.px-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.9rem;color:var(--text-dim)}.px-tools label{display:flex;gap:8px;align-items:center;min-width:0;flex:1 1 260px}.px-tools select,.wb select{font:.95rem var(--serif);color:var(--text);background:var(--bg-sunk);border:1px solid var(--rule-strong);border-radius:4px;padding:6px 8px;min-width:0;width:100%}.px-whole{margin-top:20px;padding:14px 16px;background:var(--bg-raise);border-radius:var(--radius)}.px-whole p{margin:6px 0 0}.lint{list-style:none;margin:0;padding:0;display:grid;gap:6px}.lint li{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:10px;align-items:baseline;padding:8px 12px;border-radius:4px;background:var(--bg-raise);border-left:2px solid var(--rule-strong);font-size:.95rem}.lint-level{font:.72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.lint-error{border-left-color:#d9604e!important}.lint-error .lint-level{color:#e88a7b}.lint-warn{border-left-color:var(--o)!important}.lint-warn .lint-level{color:var(--o)}.lint .btn{margin-left:6px}.lint-ok{color:var(--text-dim)}@media(max-width:520px){.lint li{grid-template-columns:1fr;gap:2px}}.flow,.fl-clause{display:grid;gap:4px}.fl-n{font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.fl-row{border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;display:grid;gap:8px}.fl-track{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.2fr) 28px minmax(0,1fr);align-items:stretch}.fl-col{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:4px;background:var(--bg-raise);min-width:0}.fl-h{font:.66rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.fl-word{display:grid;font-size:1.02rem}.fl-word .na{font-size:1.02rem}.fl-gloss{font-size:.78rem;color:var(--text-dim);line-height:1.3}.fl-empty{color:var(--text-faint)}.fl-arrow{position:relative}.fl-arrow:before{content:"";position:absolute;left:4px;right:6px;top:50%;border-top:1.5px solid var(--hypha);opacity:.6}.fl-arrow:after{content:"";position:absolute;right:5px;top:calc(50% - 4px);width:7px;height:7px;border-top:1.5px solid var(--hypha);border-right:1.5px solid var(--hypha);transform:rotate(45deg);opacity:.6}.fl-route{font-size:.85rem;color:var(--text-dim);padding-left:14px;position:relative}.fl-route:before{content:"";position:absolute;left:0;width:9px;height:9px;border:1.5px solid currentColor;opacity:.7}.fl-route-y:before{top:8px;border-radius:0 0 0 9px;border-top:0;border-right:0}.fl-route-o:before{top:0;border-radius:9px 0 0;border-bottom:0;border-right:0}.fl-route-u:before{top:4px;border-radius:50%}.fl-note{font-size:.85rem;color:var(--text-faint);font-style:italic}.fl-tail{font-size:.9rem;border-top:1px dashed var(--rule);padding-top:6px}.fl-join{padding:4px 0 4px 14px;color:var(--text-dim);font-size:.9rem}.fl-join .na{font-size:1.15rem;margin-right:6px}@media(max-width:600px){.fl-track{grid-template-columns:1fr}.fl-arrow{height:18px}.fl-arrow:before{left:50%;right:auto;top:2px;bottom:4px;border-top:0;border-left:1.5px solid var(--hypha)}.fl-arrow:after{left:calc(50% - 3px);right:auto;top:auto;bottom:4px;transform:rotate(135deg)}}.px-tokens{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.px-tok{--fn: var(--rule-strong);display:grid;gap:2px;align-content:start;padding:7px 10px 8px;min-width:6em;max-width:100%;background:var(--bg-raise);border:1px solid var(--rule);border-top:2px solid var(--fn);border-radius:4px}.px-source{--fn: #b98a5e}.px-sink{--fn: #7e9bb3}.px-root{--fn: #8f897e}.px-tail{--fn: #a58bb8;border-top-style:dotted}.px-question{--fn: #c4b56a}.px-number,.px-stars{--fn: #6b655c}.px-join{--fn: #6b655c;border-top-style:dashed}.px-tok.has-error{box-shadow:inset 0 0 0 1px #d9604e}.px-tok.has-warn{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--o) 70%,transparent)}.px-label{font:.64rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.px-rec{font-size:1.1rem}.px-gloss{font-size:.82rem;color:var(--text-dim);line-height:1.3}.px-composed{font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border:1px solid var(--rule-strong);border-radius:3px;padding:0 3px}.px-bits{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:2px}.px-bit,.px-route{font-size:.74rem;color:var(--text-faint)}.formula{font-size:.9rem}.wb{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:16px 0}.slot{display:grid;gap:4px;align-content:start;border:0;margin:0;padding:0;min-width:0;font-size:.9rem}.slot>span:first-child,.slot>legend{font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0}.chk{display:flex;align-items:center;gap:8px;min-height:34px;color:var(--text-dim)}.slot-check input{accent-color:var(--hypha)}.seg{display:flex;flex-wrap:wrap;gap:4px}.seg label{cursor:pointer}.seg input{position:absolute;opacity:0;pointer-events:none}.seg span{display:inline-block;border:1px solid var(--rule-strong);border-radius:999px;padding:2px 9px;font-size:.82rem;color:var(--text-dim)}.seg input:checked+span{color:var(--text);border-color:var(--hypha)}.seg input:disabled+span{opacity:.35;cursor:not-allowed}.seg input:focus-visible+span{outline:1.5px solid var(--hypha);outline-offset:2px}.wb-result{display:grid;gap:12px}.wb-built{padding:14px 16px;background:var(--bg-raise);border-radius:var(--radius);display:grid;gap:6px;justify-items:start}.wb-built .tv{width:100%}.wb-built .tv-rec{font-size:1.6rem}.wb-built p{margin:0}.wb-raw:empty{display:none}mark.drop{background:none;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#e88a7b}
