:root { color-scheme: light; --bg: #f3f5f2; --paper: #fffef8; --surface: #ffffff; --surface-2: #eef3f4; --ink: #10251f; --muted: #66746f; --faint: #899892; --line: #cbd8d2; --line-dark: #27443a; --green: #135d46; --blue: #245d89; --red: #9d332a; --amber: #9f681e; --shadow: 0 18px 48px rgba(16, 37, 31, 0.1); --radius: 8px; --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace; --serif: Georgia, "Times New Roman", serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-width: 320px; background: linear-gradient(90deg, rgba(36, 93, 137, 0.05), transparent 34%, rgba(157, 51, 42, 0.04)), var(--bg); color: var(--ink); font-family: var(--sans); } button, textarea, select { font: inherit; } button { cursor: pointer; } button:disabled { cursor: wait; opacity: 0.62; } .masthead { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 62px; padding: 12px clamp(18px, 4vw, 56px); border-bottom: 2px solid var(--line-dark); background: rgba(243, 245, 242, 0.94); backdrop-filter: blur(14px); } .wordmark { color: var(--ink); font-family: var(--mono); font-size: 1.24rem; font-weight: 800; letter-spacing: 0.28em; margin-right: -0.28em; text-decoration: none; } .topnav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; } .topnav a { color: var(--muted); padding: 8px 10px; font-family: var(--mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; } .topnav a:hover { color: var(--green); } .sheet { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: clamp(22px, 4vw, 48px) 0 56px; } .record-line { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } .input-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.68fr); gap: 18px; align-items: stretch; } .input-pane, .purpose-pane, .panel, .verdict-card, .record-item, .subpanel, .gate-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); } .input-pane, .purpose-pane, .panel, .verdict-card { padding: clamp(20px, 3vw, 30px); } .purpose-pane { display: flex; flex-direction: column; justify-content: space-between; background: var(--paper); } .purpose-pane > p:not(.kicker) { color: var(--ink); font-family: var(--serif); font-size: 1.18rem; line-height: 1.58; } .kicker, .field-label, .select-wrap span { display: block; margin: 0 0 8px; color: var(--green); font-family: var(--mono); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } h1, h2, h3, p { margin-top: 0; } h1 { max-width: 780px; margin-bottom: 20px; font-family: var(--serif); font-size: clamp(2rem, 5vw, 4.45rem); font-weight: 500; line-height: 1; letter-spacing: 0; } h2 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(1.28rem, 2.4vw, 2rem); font-weight: 500; line-height: 1.15; letter-spacing: 0; } h3 { margin-bottom: 8px; font-size: 1rem; } textarea { display: block; width: 100%; min-height: 170px; resize: vertical; padding: 16px; border: 1px solid var(--line-dark); border-radius: var(--radius); background: #fffefb; color: var(--ink); font-family: var(--serif); font-size: 1.04rem; font-style: italic; line-height: 1.6; outline: none; } textarea:focus, select:focus, button:focus-visible, summary:focus-visible { outline: 3px solid rgba(36, 93, 137, 0.24); outline-offset: 2px; } .dataset-upload { margin-top: 16px; } .file-row, .control-row, .button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; } .file-row, .control-row { margin-top: 8px; } .button-row { margin-top: 18px; } input[type="file"] { max-width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfcfb; color: var(--ink); } .helper-text { margin: 8px 0 0; color: var(--muted); font-size: 0.9rem; } .select-wrap { flex: 1 1 220px; } select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius); background: white; color: var(--ink); } .segmented { display: inline-grid; grid-template-columns: repeat(2, minmax(96px, 1fr)); min-height: 44px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; } .segment { border: 0; background: transparent; color: var(--muted); font-weight: 800; } .segment.active { background: var(--green); color: white; } .primary-action, .secondary-action { min-height: 44px; border-radius: var(--radius); font-family: var(--mono); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .primary-action { flex: 1 1 220px; padding: 0 18px; border: 1px solid var(--line-dark); background: var(--ink); color: white; } .secondary-action { padding: 0 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); } .primary-action:hover, .secondary-action:hover { transform: translateY(-1px); } .signal-list { display: grid; gap: 10px; margin: 26px 0 0; } .signal-list div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); } .signal-list dt { color: var(--muted); font-family: var(--mono); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .signal-list dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-family: var(--mono); } .verdict-section, .narrative-grid, .gate-section, .record-section { margin-top: clamp(22px, 4vw, 42px); } .verdict-card { position: relative; border-left: 5px solid var(--green); background: var(--paper); } .verdict-card.needs-resolution { border-left-color: var(--red); } .verdict-status { margin-bottom: 12px; color: var(--green); font-family: var(--mono); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; } .verdict-card.needs-resolution .verdict-status { color: var(--red); } .verdict-finding { max-width: 820px; margin: 14px 0 8px; font-family: var(--serif); font-size: clamp(1.3rem, 2.5vw, 2rem); line-height: 1.35; } .verdict-basis { max-width: 900px; margin: 0; color: var(--muted); line-height: 1.55; } .blocking-band { display: grid; gap: 10px; margin-top: 14px; padding: 16px; border: 1px solid rgba(157, 51, 42, 0.35); border-radius: var(--radius); background: rgba(157, 51, 42, 0.06); } .blocking-band[hidden] { display: none; } .blocking-band h3 { margin: 0; color: var(--red); font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; } .blocking-band ul { margin: 0; padding-left: 18px; line-height: 1.45; } .narrative-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr); gap: 18px; } .section-heading { margin-bottom: 16px; } .protocol { margin: 0; padding: 0; list-style: none; counter-reset: step; border-top: 1px solid var(--line); } .protocol li { counter-increment: step; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); line-height: 1.5; } .protocol li::before { content: counter(step, decimal-leading-zero); color: var(--faint); font-family: var(--mono); font-size: 0.78rem; padding-top: 2px; } .protocol strong, .decision-table th { color: var(--green); font-family: var(--mono); font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; } .protocol .computed { display: block; margin-top: 4px; color: var(--muted); font-family: var(--mono); font-size: 0.82rem; } .decision-table { width: 100%; border-collapse: collapse; } .decision-table th, .decision-table td { padding: 12px 0; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; } .decision-table th { width: 34%; padding-right: 16px; } .decision-value { font-family: var(--mono); overflow-wrap: anywhere; } .decision-note { display: block; margin-top: 5px; color: var(--muted); font-size: 0.88rem; line-height: 1.45; } .struck { margin-right: 0.6em; color: var(--faint); text-decoration: line-through; text-decoration-color: var(--red); text-decoration-thickness: 1.5px; } .corrected { color: var(--ink); font-weight: 800; } .gate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .gate-resolution { margin-bottom: 16px; } .gate-answer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .gate-answer-field { display: grid; gap: 7px; } .gate-answer-field.wide { grid-column: 1 / -1; } .gate-answer-field input, .gate-answer-field select { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); } .gate-answer-field label, .gate-answer-group legend { color: var(--green); font-family: var(--mono); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .gate-answer-help { margin: 0; color: var(--muted); font-size: 0.86rem; line-height: 1.45; } .gate-answer-group { grid-column: 1 / -1; display: grid; gap: 9px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); } .gate-answer-option { display: flex; gap: 9px; align-items: flex-start; color: var(--ink); line-height: 1.4; } .gate-answer-option input { margin-top: 3px; } .gate-answer-actions { margin-top: 14px; } .gate-card.resolved { border-color: rgba(19, 93, 70, 0.45); background: #fbfffc; } .gate-card.accepted { border-color: rgba(36, 93, 137, 0.45); } .gate-card { padding: 18px; box-shadow: none; } .gate-card.block { border-color: rgba(157, 51, 42, 0.5); } .gate-card.warn { border-color: rgba(159, 104, 30, 0.45); } .gate-name { margin-bottom: 10px; font-family: var(--mono); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; } .severity { display: inline-flex; margin-left: 8px; padding: 2px 7px; border: 1px solid currentColor; color: var(--red); font-size: 0.68rem; text-transform: uppercase; } .gate-card.warn .severity { color: var(--amber); } .gate-card:not(.block):not(.warn) .severity { color: var(--green); } .gate-card.accepted .severity { color: var(--blue); } .gate-card p { color: var(--muted); line-height: 1.5; } .gate-card ul { margin: 10px 0 0; padding-left: 20px; color: var(--ink); line-height: 1.5; } .record-stack { display: grid; gap: 12px; } .record-item { overflow: hidden; box-shadow: none; } .record-item summary { display: flex; justify-content: space-between; gap: 16px; padding: 16px 18px; color: var(--ink); font-weight: 800; cursor: pointer; } .record-item summary span { color: var(--muted); font-family: var(--mono); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; } .record-item > :not(summary) { margin: 0 18px 18px; } .compact-list, .model-path { margin: 0; padding-left: 20px; line-height: 1.55; } .compact-list li, .model-path li { margin-bottom: 8px; } .dataset-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .subpanel, .formula-card, .knowledge-card, .ai-grid section { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfcfb; } .dataset-card dl { display: grid; gap: 8px; margin: 0; } .dataset-card dt { color: var(--green); font-weight: 800; } .dataset-card dd { margin: 0 0 6px; color: var(--muted); overflow-wrap: anywhere; } .dataset-card ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.45; } .dataset-card.wide { grid-column: 1 / -1; } .column-table { display: grid; gap: 8px; } .column-table div { display: grid; grid-template-columns: minmax(140px, 1fr) repeat(3, minmax(90px, auto)); gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: white; } .column-table span { color: var(--muted); font-size: 0.88rem; } .formula-grid, .knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .knowledge-grid { margin-top: 14px; } .formula-card .tag, .knowledge-meta span { display: inline-flex; min-height: 24px; align-items: center; margin-bottom: 10px; padding: 0 8px; border-radius: 999px; background: var(--surface-2); color: var(--green); font-family: var(--mono); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; } .formula, .knowledge-formula, pre { overflow: auto; border-radius: var(--radius); background: #101917; color: #edf8f2; font-family: var(--mono); line-height: 1.55; } .formula, .knowledge-formula { margin: 10px 0; padding: 12px; font-size: 0.82rem; } .formula-card p, .knowledge-card p, .knowledge-card dd, .ai-summary, .empty-state { color: var(--muted); line-height: 1.5; } .knowledge-card { display: flex; flex-direction: column; gap: 9px; } .knowledge-meta { display: flex; flex-wrap: wrap; gap: 7px; } .knowledge-card dl { display: grid; gap: 6px; margin: 0; } .knowledge-card dt { color: var(--ink); font-weight: 800; } .knowledge-card dd { margin: 0; } .knowledge-card a { margin-top: auto; color: var(--blue); font-weight: 800; text-decoration: none; } .knowledge-card a:hover { text-decoration: underline; } .ai-header, .code-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; } .ai-header strong { color: var(--green); } .ai-header span { color: var(--muted); font-family: var(--mono); font-size: 0.84rem; } .ai-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 14px; } .ai-grid h3 { color: var(--green); font-size: 0.94rem; } .ai-grid ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.45; } .code-layout { display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); gap: 14px; } pre { max-height: 520px; margin: 0; padding: 16px; font-size: 0.84rem; } code { font-family: inherit; } .duality { max-width: 760px; margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.55; } .legacy-output { display: none; } .footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 18px clamp(18px, 4vw, 56px); border-top: 2px solid var(--line-dark); color: var(--muted); font-family: var(--mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } @media (max-width: 1020px) { .input-grid, .narrative-grid, .code-layout { grid-template-columns: 1fr; } .dataset-grid, .formula-grid, .knowledge-grid, .ai-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gate-grid { grid-template-columns: 1fr; } .gate-answer-grid { grid-template-columns: 1fr; } .column-table div { grid-template-columns: 1fr; } } @media (max-width: 640px) { .masthead { align-items: flex-start; flex-direction: column; } .topnav { justify-content: flex-start; } .sheet { width: min(100% - 24px, 1180px); } h1 { font-size: 2.25rem; } .signal-list div, .decision-table th, .decision-table td { display: block; width: 100%; } .decision-table th { padding-bottom: 4px; } .dataset-grid, .formula-grid, .knowledge-grid, .ai-grid { grid-template-columns: 1fr; } .record-item summary { align-items: flex-start; flex-direction: column; } }