:root{--text: #000;--surface: #fff;--ink: #555;--ink-strong: #333;--ink-soft: #666;--muted: #777;--count: #aaa;--count-soft: #bbb;--faint: #d0d0d0;--band: #f2f2f2;--band-hover: #e2e2e2;--band-disabled: #f8f8f8;--rule: #ddd;--danger: #c00;--font: monospace;--font-size: 12px;--scale: 1;color-scheme:light}:root[data-theme=dark]{--text: #e8e8e8;--surface: #161616;--ink: #9a9a9a;--ink-strong: #e0e0e0;--ink-soft: #b0b0b0;--muted: #8c8c8c;--count: #6a6a6a;--count-soft: #555;--faint: #444;--band: #242424;--band-hover: #333;--band-disabled: #1c1c1c;--rule: #333;--danger: #ff6b6b;color-scheme:dark}@media(prefers-color-scheme:dark){:root[data-theme=system]{--text: #e8e8e8;--surface: #161616;--ink: #9a9a9a;--ink-strong: #e0e0e0;--ink-soft: #b0b0b0;--muted: #8c8c8c;--count: #6a6a6a;--count-soft: #555;--faint: #444;--band: #242424;--band-hover: #333;--band-disabled: #1c1c1c;--rule: #333;--danger: #ff6b6b;color-scheme:dark}}body{background:var(--surface);color:var(--text)}dialog{background:var(--surface);color:var(--text)}*{font-family:var(--font);font-size:var(--font-size);font-weight:400}label{display:flex;flex-direction:column;align-items:flex-start;gap:2px}input,textarea,select{width:100%;box-sizing:border-box}button.plain{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}button.danger{color:var(--danger)}main{max-width:1650px;margin:0 auto;position:relative}nav{position:absolute;top:8px;right:8px;z-index:1;display:flex;align-items:center;gap:4px}.description{font-style:italic;overflow-wrap:anywhere;margin:0}fieldset{border:none;background:var(--surface);padding:8px;margin:0 0 8px;min-width:0}fieldset.system{border:1px solid var(--ink);padding:8px;width:fit-content;margin:0 auto 8px;text-align:center}fieldset.system h2{margin:0 0 4px}fieldset.system h2:last-child{margin:0}legend{color:var(--muted);padding:0 4px}legend .disc{margin-left:5px}.columns{display:grid;grid-template-columns:1fr;gap:8px}.lucide{width:1em;height:1em;flex:none}.disc .lucide{width:75%;height:75%;stroke-width:2.5}.disc{flex:none;width:var(--font-size);height:var(--font-size);padding:0;border:none;border-radius:50%;background:var(--band);color:var(--ink-soft);cursor:pointer;font-size:calc(var(--font-size) - 1px);line-height:1;text-decoration:none;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center}.disc:hover,.disc:focus-visible{background:var(--band-hover);color:var(--ink-strong)}.disc:disabled{cursor:default;background:var(--band-disabled);color:var(--faint)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(170px * var(--scale)),1fr));align-items:flex-start;gap:8px}.grid.wide{grid-template-columns:repeat(auto-fill,minmax(calc(200px * var(--scale)),1fr))}.grid.full{display:flex;flex-wrap:wrap}.grid.full article{width:max-content;max-width:min(88ch,100%)}.grid.narrow{grid-template-columns:repeat(auto-fill,minmax(calc(130px * var(--scale)),1fr))}article,a.card{border:1px solid var(--ink);padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}article>*,a.card>*{margin:0}article h3,a.card h3{overflow-wrap:anywhere}article p{margin:0}a.card{color:inherit;text-decoration:none}.grid.lined article,.grid.lined a.card{padding:0;justify-content:flex-start;gap:0}.grid.lined article>h3,.grid.lined a.card>h3{align-self:stretch;padding:4px;background:var(--band);border-bottom:1px solid var(--rule)}.grid.lined .detail{box-sizing:border-box;padding:4px}.pick{cursor:pointer}.pick:hover,.pick:focus-visible{box-shadow:0 0 0 1px var(--ink)}.dragging{opacity:.4}.detail{list-style:none;padding:0;width:100%;color:var(--ink);text-align:left}.detail li{overflow-wrap:anywhere}.detail.centered{text-align:center}.detail.ordered{counter-reset:step note}.detail.ordered li{display:grid;grid-template-columns:2ch 1fr;gap:0 1ch}.detail.ordered li:before{counter-increment:step;content:counter(step);color:var(--count);text-align:right}.detail.ordered li.note{color:var(--muted)}.detail.ordered li.note:before{counter-increment:note;content:counter(note,lower-alpha);color:var(--count-soft)}.panel{border:1px solid var(--ink);width:fit-content;max-width:100%;min-width:0}.panel>p{margin:8px}.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--rule)}.tabs button{padding:4px 8px;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--text);background:var(--band)}.diagram{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;padding:8px}.diagram svg{display:block}.diagram svg *{filter:none!important}.diagram svg .entityBox,.diagram svg .node rect,.diagram svg .node circle,.diagram svg .node polygon,.diagram svg .node path{fill:var(--surface)!important;stroke:var(--ink)!important;stroke-width:1px!important}.diagram svg .edgeLabel,.diagram svg .edgeLabel text,.diagram svg .edgeLabel tspan,.diagram svg .relationshipLabel,.diagram svg .relationshipLabel tspan{font-size:calc(var(--font-size) - 1px)!important}.diagram.compact{padding:8px}.diagram.compact svg .node rect,.diagram.compact svg .node polygon,.diagram.compact svg .node circle,.diagram.compact svg .node path{fill:var(--surface);stroke:var(--text);stroke-width:1px;rx:0;ry:0}.diagram.compact svg .edgePaths path,.diagram.compact svg .flowchart-link{stroke:var(--text);stroke-width:1px;fill:none}.diagram.compact svg marker path,.diagram.compact svg .marker{fill:var(--text);stroke:var(--text)}.diagram.compact svg text,.diagram.compact svg tspan{font-family:var(--font);font-size:calc(var(--font-size) - 2px);fill:var(--text)}.diagram.compact svg foreignObject div,.diagram.compact svg foreignObject span,.diagram.compact svg foreignObject p,.diagram.compact svg .nodeLabel,.diagram.compact svg .edgeLabel{font-family:var(--font);font-size:calc(var(--font-size) - 2px);color:var(--text);background:none}dialog{border:1px solid var(--ink);padding:0 12px;max-width:min(112ch,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}dialog .bar{position:sticky;top:0;z-index:1;margin:0 -12px 12px;background:var(--band);border-bottom:1px solid var(--rule)}dialog .bar .close{position:absolute;top:calc((calc(var(--font-size) * 2.5) - var(--font-size)) / 2);right:8px}dialog .bar .copy{position:absolute;top:calc((calc(var(--font-size) * 2.5) - var(--font-size)) / 2);right:calc(8px + var(--font-size) + 4px)}dialog h3{margin:0;padding:0 calc(var(--font-size) * 2);height:calc(var(--font-size) * 2.5);display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center}dialog form{max-width:100%}dialog label{color:var(--ink)}dialog input,dialog textarea,dialog select{color:var(--text)}dialog input,dialog select{min-width:28ch}dialog input,dialog textarea{padding:2px 4px}dialog textarea{width:88ch;max-width:100%;resize:none;overflow:auto}dialog .confirm-delete{max-width:36ch;margin:0 auto 12px;text-align:center;overflow-wrap:anywhere}dialog .actions{text-align:center}dialog .empty{color:var(--muted)}dialog .field-error{color:var(--danger)}dialog [role=alert]{margin:0 0 12px;max-width:44ch;color:var(--danger);overflow-wrap:anywhere}dialog.document{max-height:min(60vh,640px)}.markdown{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}dialog .list{margin:1em 0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--ink)}dialog .list .head{display:flex;align-items:center;gap:4px}dialog .list .head .disc{margin-left:2px}dialog .list .row{align-self:stretch;display:flex;align-items:center}dialog .list .row input,dialog .list .row select,dialog .list .row span:not(.handle,.number){flex:auto;min-width:0}dialog .list .row span:not(.handle,.number,.field-error){color:var(--text);overflow-wrap:anywhere}dialog .list .row:has(.stacked){align-items:baseline}dialog .list .row .disc{margin-left:4px}dialog .list .parts{display:flex;flex-wrap:nowrap;align-items:baseline;gap:2px}dialog .list .parts select,dialog .list .parts input{flex:1 1 auto;width:auto;min-width:0}dialog .list .parts [aria-invalid=true]{outline:1px solid var(--danger)}dialog .list .stacked{display:flex;flex-direction:column;gap:2px}dialog .list .note{display:flex;align-items:center;margin-left:2ch}dialog .list .note input{flex:auto;min-width:0}dialog .list .number{flex:none;min-width:2ch;margin-right:4px;color:var(--count);text-align:right;-webkit-user-select:none;user-select:none}dialog .list .handle{display:inline-flex;flex:none;width:1em;padding:0;margin-right:2px;color:var(--count);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}dialog .list .handle:active{cursor:grabbing}dialog:has(.list .stacked){width:112ch}dialog:has(.list .stacked) label>input{max-width:44ch}dialog.settings .setting{margin:1em 0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--ink)}dialog.settings .choices{display:flex;gap:8px}dialog.settings .choices label{flex-direction:row;align-items:center;gap:4px;color:var(--text);cursor:pointer}dialog.settings .choices input{width:auto;min-width:0;margin:0}
