:root { color-scheme: light; --ink:#172c39; --muted:#536879; --line:#c5d4db; --accent:#006b70; --paper:#f5f8f9; } * { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } header,main,footer { max-width:1440px; margin:auto; padding:24px 40px; } header { padding-bottom:8px; } h1 { font:600 42px/1.15 Georgia,serif; margin:16px 0 8px; } h2 { font:600 27px/1.25 Georgia,serif; overflow-wrap:anywhere; } h3 { font-size:15px; margin:18px 0 10px; overflow-wrap:anywhere; } p { max-width:100ch; } a { color:var(--accent); } .subtitle { font-size:18px; color:var(--muted); } .notice { background:#fff6e7; border-left:3px solid #af7720; padding:12px 16px; font-size:14px; } .controls { display:flex; flex-wrap:wrap; gap:14px; align-items:end; } .controls label { display:flex; flex-direction:column; gap:4px; font-size:13px; } .controls label:has(input[type=checkbox]) { flex-direction:row; align-items:center; padding:9px; } button,select,input { font:inherit; } button,select,input[type=search] { border:1px solid var(--line); border-radius:7px; padding:9px 12px; background:white; color:var(--ink); } select { max-width:min(560px,80vw); } button { cursor:pointer; } button:hover { border-color:var(--accent); background:#edf7f7; } button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #da952c; outline-offset:3px; } button:disabled { opacity:.45; cursor:default; } #scope,#graph-explanation { color:var(--muted); font-size:14px; } .tabs { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; } .tabs button[aria-pressed=true] { color:white; background:var(--accent); border-color:var(--accent); } #diagram { position:relative; border:1px solid var(--line); border-radius:12px; background:white; padding:18px; overflow:hidden; } #diagram svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; } #diagram path { fill:none; stroke:#93afb9; stroke-width:1.4; } #diagram .arrow-tip { fill:#93afb9; stroke:none; } .graph-grid { position:relative; display:grid; grid-template-columns:1fr 1.12fr 1fr; gap:44px; align-items:start; } .column { min-width:0; display:flex; flex-direction:column; gap:10px; } .column h3 { text-align:center; margin-top:0; color:var(--muted); } .node { text-align:left; width:100%; min-width:0; padding:12px; background:#fff; border:1px solid var(--line); border-radius:8px; display:flex; flex-direction:column; gap:6px; overflow-wrap:anywhere; } .node small { text-transform:uppercase; letter-spacing:.07em; font-size:10px; color:var(--muted); } .node strong { font-size:14px; line-height:1.35; } .node .preview { font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; max-height:4.35em; overflow:hidden; } .node.selected { background:#e8f5f4; border:2px solid var(--accent); } .node.external { border-style:dashed; background:#faf9f5; } .node.hypothesis { background:#f4f3fb; } .node.conclusion { border-color:var(--accent); } .node pre { padding:0; border:0; background:none; margin:0; } .more { font-size:12px; background:#f2f6f8; } .review-exercise + .review-exercise { border-top:1px solid var(--line); margin-top:20px; } .exercise-controls { display:flex; flex-wrap:wrap; gap:10px; } .review-exercise button { max-width:100%; overflow-wrap:anywhere; text-align:left; } #detail { margin:24px 0; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; } .full-name,.fingerprint,footer code { overflow-wrap:anywhere; font-size:12px; } pre { font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; background:#f3f6f8; border:1px solid #e0e8ec; padding:14px; border-radius:6px; } .review-status { font-weight:650; } .pending,.stale { color:#8b580d; } .reviewed { color:#0d6552; } .muted { color:var(--muted); font-size:13px; overflow-wrap:anywhere; } details { margin:16px 0; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:white; } summary { cursor:pointer; font-weight:600; } details[open] summary { margin-bottom:14px; } table { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; } th,td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; } th:first-child { width:21%; } th:nth-child(2) { width:19%; } td pre { margin:0; } .reference-list,#inventory-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; } .field-link,.parent-link,.context-constructor { font-family:ui-monospace,monospace; font-size:12px; max-width:100%; overflow-wrap:anywhere; } .field-metadata,.parent-kind { overflow-wrap:anywhere; } .parent-entry { margin:16px 0; } .parent-link { margin:0 6px 6px 0; text-align:left; } .structure-field { scroll-margin-top:20px; } .structure-fields th:first-child { width:28%; } .structure-fields th:nth-child(2) { width:auto; } .structure-fields td { padding:10px 8px; } .structure-fields .field-link { padding:5px 8px; text-align:left; } .structure-fields .field-metadata,.context-restriction { margin:5px 0 0; font-size:12px; } .structure-fields .context-type { padding:0; border:0; background:none; border-radius:0; } .field-tools { display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:7px; } .field-tools details,.structure-parameters .context-references { margin:4px 0; padding:0; border:0; border-radius:0; background:none; min-width:0; } .field-tools details[open] { flex-basis:100%; } .field-tools summary,.structure-parameters .context-references summary { font-size:12px; } .field-tools details[open] summary,.structure-parameters .context-references[open] summary { margin-bottom:8px; } .projection-name { display:block; margin:8px 0; overflow-wrap:anywhere; font-size:12px; } .context-name { font-size:13px; overflow-wrap:anywhere; } .context-locals,.context-declarations { display:flex; flex-wrap:wrap; gap:8px; } .context-locals button,.context-declarations button { font-size:12px; max-width:100%; overflow-wrap:anywhere; text-align:left; } .context-declarations button[data-boundary=true] { border-style:dashed; background:#faf9f5; } [data-context-binder]:focus { outline:3px solid #da952c; outline-offset:4px; } #comparison-panel input { max-width:100%; min-width:0; } #comparison-panel .controls label { max-width:100%; } #inspection-panel input,#inspection-panel .controls label { max-width:100%; min-width:0; } #note-form > label { display:block; margin:12px 0 6px; } #note-text { display:block; width:100%; resize:vertical; font:inherit; padding:10px; color:var(--ink); background:white; border:1px solid var(--line); border-radius:7px; } #note-text:focus-visible { outline:3px solid #da952c; outline-offset:3px; } .notebook-transfer { margin-top:20px; } .notebook-entry summary,.notebook-entry button { overflow-wrap:anywhere; max-width:100%; } .note-content { white-space:pre-wrap; overflow-wrap:anywhere; } .notebook-entry[data-attachment=stale] > summary { color:#8b580d; } .write-inspection-note { margin-top:10px; } .meaning-path ol { padding-left:22px; } .meaning-path li { margin:12px 0; overflow-wrap:anywhere; } .meaning-path li p { margin:0 0 5px; } .meaning-path-link { max-width:100%; text-align:left; overflow-wrap:anywhere; font:13px/1.6 ui-monospace,monospace; } .meaning-path li[data-boundary=true] button { border-style:dashed; background:#faf9f5; } .comparison-change summary,.comparison-sources li { overflow-wrap:anywhere; } .comparison-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; } .comparison-pair > div { min-width:0; } .comparison-path { overflow-wrap:anywhere; font-family:ui-monospace,monospace; } #argument-comparison-target { display:block; width:100%; max-width:100%; margin-top:8px; } .argument-comparison-statement { min-width:0; } .argument-comparison-statement button { max-width:100%; } .argument-partition ul { padding:0; list-style:none; } .argument-partition button { max-width:100%; overflow-wrap:anywhere; text-align:left; font-family:ui-monospace,monospace; margin:4px 0; } .specification-group { margin:28px 0; } .specification-group > h2 { font-size:18px; color:var(--muted); } .specification-declaration { margin:16px 0; padding:24px; border:1px solid var(--line); border-radius:8px; background:white; scroll-margin-top:20px; } .specification-declaration > h2 { font-size:21px; overflow-wrap:anywhere; } .specification-declaration[data-boundary=true] { border-style:dashed; background:#faf9f5; } .specification-contents li,.specification-dependencies li { overflow-wrap:anywhere; font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; } .specification-inspect { margin-top:12px; } .statement-part { padding:12px 0; scroll-margin-top:20px; } .statement-part + .statement-part { border-top:1px solid var(--line); } .statement-part h4 { margin:8px 0; overflow-wrap:anywhere; } .part-binders,.part-declarations { display:flex; flex-wrap:wrap; gap:8px; } .part-binders button,.part-declarations button,.inspect-statement-part { font-size:12px; max-width:100%; overflow-wrap:anywhere; text-align:left; } .part-declarations button[data-boundary=true] { border-style:dashed; background:#faf9f5; } .statement-part:focus { outline:3px solid #da952c; outline-offset:4px; } .applied-predicate { padding:12px 0; } .applied-predicate + .applied-predicate { border-top:1px solid var(--line); } .applied-predicate h4 { overflow-wrap:anywhere; } .predicate-definition { max-width:100%; overflow-wrap:anywhere; text-align:left; font:13px/1.6 ui-monospace,monospace; } .local-statement-entry,.local-statement-conclusion { padding:12px 0; scroll-margin-top:20px; } .local-statement-entry + .local-statement-entry { border-top:1px solid var(--line); } .local-name,.local-kind,.inspect-local-entry { overflow-wrap:anywhere; max-width:100%; } .local-statement-entry:focus,.local-statement-conclusion:focus { outline:3px solid #da952c; outline-offset:4px; } footer { font-size:12px; color:var(--muted); padding-top:0; } @media (max-width:760px) { .comparison-pair { grid-template-columns:1fr; gap:0; } header,main,footer { padding:20px 16px; } h1 { font-size:34px; } .graph-grid { grid-template-columns:1fr; gap:24px; } #diagram svg { display:none; } .column:not(:last-child)::after { content:"↓"; text-align:center; color:var(--accent); font-size:24px; } #detail { padding:16px; } .reference-list,#inventory-list { grid-template-columns:1fr; } table { display:block; font-size:13px; } table tr { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); } table tr:first-child { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); } td { display:block; min-width:0; padding:8px 4px; border:0; } td:last-child { grid-column:1 / -1; } td::before { content:attr(data-label); display:block; font-size:11px; color:var(--muted); margin-bottom:3px; } td pre { padding:8px; font-size:13px; } .structure-fields tr { grid-template-columns:1fr; } .structure-fields td { padding:8px 4px; } .structure-fields td:first-child::before { display:none; } .structure-fields .field-link { padding:9px 10px; } .field-tools { gap:4px 14px; } .field-tools summary,.structure-parameters .context-references summary { padding:9px 0; } .specification-declaration { padding:14px; } }