:root { color-scheme: dark; --carbon: #08090c; --carbon-2: #10141a; --carbon-3: #151b22; --paper: #f2e6d1; --paper-dim: #c9bdab; --muted: #8d826f; --line: #4a3f31; --brass: #c2934a; --brass-soft: rgba(194, 147, 74, 0.16); --redline: #c83f3f; --redline-soft: rgba(200, 63, 63, 0.15); --cyan: #62d6d2; --cyan-soft: rgba(98, 214, 210, 0.12); --green: #77c889; --green-soft: rgba(119, 200, 137, 0.12); --shadow: 0 22px 60px rgba(0, 0, 0, 0.42); } * { box-sizing: border-box; } html { min-height: 100%; background: var(--carbon); } body { margin: 0; min-height: 100%; color: var(--paper); font-family: Aptos, "Segoe UI", sans-serif; background: linear-gradient(90deg, rgba(194,147,74,0.04) 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(rgba(194,147,74,0.035) 1px, transparent 1px) 0 0 / 44px 44px, radial-gradient(circle at 50% 0%, rgba(98,214,210,0.08), transparent 36rem), var(--carbon); } button, select, textarea { font: inherit; } button { cursor: pointer; } a { color: var(--cyan); } .desk-shell { width: min(1480px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 34px; } .hero-grid, .workspace-grid { display: grid; gap: 18px; } .hero-grid { grid-template-columns: minmax(0, 1fr) 360px; align-items: stretch; margin-bottom: 18px; } .hero-copy, .quickstart, .panel { border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(135deg, rgba(255,255,255,0.035), transparent 30%), rgba(16, 20, 26, 0.92); box-shadow: var(--shadow); } .hero-copy { position: relative; overflow: hidden; padding: 28px; min-height: 270px; } .hero-copy::after { content: "VERBATIM"; position: absolute; right: 26px; bottom: 12px; color: rgba(194,147,74,0.1); font: 700 64px/1 Georgia, serif; letter-spacing: 0; pointer-events: none; } .brand-row { display: inline-flex; align-items: center; gap: 10px; color: var(--paper); font: 700 18px/1 Georgia, serif; margin-bottom: 28px; } .brand-row img { display: block; } .eyebrow, .panel-kicker, .section-label { margin: 0; color: var(--brass); font-size: 12px; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; } h1, h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; letter-spacing: 0; } h1 { max-width: 820px; font-size: clamp(42px, 6vw, 88px); line-height: 0.92; } h2 { font-size: 22px; line-height: 1.15; } .lede { max-width: 760px; margin: 18px 0 20px; color: var(--paper-dim); font-size: 17px; line-height: 1.6; } .proof-chips { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; } .proof-chips span, .chip { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 10px; border: 1px solid rgba(98, 214, 210, 0.35); border-radius: 999px; color: var(--cyan); background: var(--cyan-soft); font: 600 12px/1.2 "Cascadia Mono", "SFMono-Regular", monospace; } .quickstart { padding: 22px; } .quickstart-title { color: var(--paper-dim); font-size: 13px; margin-bottom: 14px; } .quickstart ol { display: grid; gap: 11px; padding: 0; margin: 0; list-style: none; } .quickstart li { display: grid; grid-template-columns: 52px 1fr; align-items: center; min-height: 52px; border: 1px solid rgba(194,147,74,0.32); border-radius: 8px; background: rgba(8, 9, 12, 0.48); } .quickstart li span { color: var(--redline); text-align: center; font: 700 13px/1 "Cascadia Mono", monospace; } .workspace-grid { grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.28fr); align-items: start; } .panel { padding: 20px; } .panel-head, .letter-head, .action-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; } .field-label { display: block; margin: 18px 0 8px; color: var(--paper-dim); font-size: 13px; } .select-control, textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; color: var(--paper); background: #090b0f; outline: none; } .select-control { height: 42px; padding: 0 12px; } textarea { resize: vertical; min-height: 350px; padding: 14px; line-height: 1.55; font-family: Georgia, "Times New Roman", serif; font-size: 14px; } textarea:focus, .select-control:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(98,214,210,0.12); } .source-slot { min-height: 0; } .source-banner { margin-top: 12px; padding: 10px 12px; border: 1px solid rgba(98,214,210,0.32); border-radius: 8px; color: var(--paper-dim); background: var(--cyan-soft); font-size: 13px; line-height: 1.45; } .source-dot { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 22px; margin-right: 8px; border-radius: 999px; color: #061112; background: var(--cyan); font: 800 11px/1 "Cascadia Mono", monospace; } .upload-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0 2px; color: var(--muted); font-size: 13px; } .upload-row input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .file-btn, .ghost-btn, .secondary-btn, .primary-btn { border-radius: 8px; border: 1px solid transparent; transition: transform .16s ease, border-color .16s ease, background .16s ease; } .file-btn, .ghost-btn, .secondary-btn { color: var(--paper); background: rgba(255,255,255,0.04); border-color: var(--line); } .file-btn, .ghost-btn { padding: 9px 12px; } .secondary-btn { padding: 11px 14px; color: var(--cyan); border-color: rgba(98,214,210,0.35); } .primary-btn { display: grid; gap: 2px; min-width: 210px; padding: 13px 16px; color: #130d08; background: var(--brass); border-color: #e6c37d; text-align: left; } .btn-main { font-weight: 800; } .btn-sub { font-size: 11px; opacity: .75; } button:hover, .file-btn:hover { transform: translateY(-1px); } button:disabled { cursor: wait; opacity: .68; transform: none; } .run-state { color: var(--muted); font: 600 12px/1.4 "Cascadia Mono", monospace; } .empty-state { display: grid; place-items: center; min-height: 560px; text-align: center; color: var(--paper-dim); border: 1px dashed rgba(194,147,74,0.28); border-radius: 8px; padding: 32px; } .empty-state h2 { margin-top: 14px; color: var(--paper); } .empty-state p { max-width: 420px; line-height: 1.6; } .stamp { display: grid; place-items: center; width: 116px; aspect-ratio: 1; border: 2px solid var(--brass); border-radius: 50%; color: var(--brass); font: 800 14px/1 "Cascadia Mono", monospace; text-transform: uppercase; transform: rotate(-8deg); } .hidden { display: none !important; } .docket-summary { display: grid; grid-template-columns: 112px 1fr; gap: 18px; align-items: center; margin-bottom: 18px; } .score-seal { display: grid; place-items: center; width: 112px; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--green); color: var(--green); background: var(--green-soft); } .score-seal.high { color: var(--redline); border-color: var(--redline); background: var(--redline-soft); } .score-seal.med { color: var(--brass); border-color: var(--brass); background: var(--brass-soft); } .score-seal span { font: 700 42px/1 Georgia, serif; } .score-seal small { margin-top: -20px; color: var(--paper-dim); } .summary-text, .coverage-note { color: var(--paper-dim); line-height: 1.5; } .result-split { display: grid; grid-template-columns: minmax(280px, .92fr) minmax(320px, 1.08fr); gap: 16px; } .section-label { margin-bottom: 10px; } .finding-stack { display: grid; gap: 10px; } .finding-card { border: 1px solid var(--line); border-left: 4px solid var(--brass); border-radius: 8px; background: rgba(8, 9, 12, 0.52); padding: 13px; } .finding-card.high { border-left-color: var(--redline); } .finding-card h3 { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 10px; color: var(--paper); font-size: 15px; } .risk-pill { flex: 0 0 auto; align-self: start; border-radius: 999px; padding: 4px 8px; color: var(--brass); border: 1px solid currentColor; font: 800 10px/1 "Cascadia Mono", monospace; text-transform: uppercase; } .finding-card.high .risk-pill { color: var(--redline); } .quote { margin: 0 0 10px; padding: 10px; border-radius: 6px; color: #efe3d0; background: #07080b; white-space: pre-wrap; font: 13px/1.55 "Cascadia Mono", "SFMono-Regular", monospace; } .finding-card p { margin: 7px 0 0; color: var(--paper-dim); line-height: 1.45; font-size: 13px; } .finding-card p b { color: var(--cyan); } .document-view { min-height: 540px; max-height: 680px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #0a0b0e; } .contract-page { white-space: pre-wrap; color: #eadfce; padding: 18px; font: 14px/1.75 Georgia, "Times New Roman", serif; } .contract-page mark { background: #f0ce73; color: #11100e; border-radius: 3px; padding: 0 2px; } .coverage-note { margin-top: 12px; font-size: 13px; } .letter-panel { margin-top: 18px; border: 1px solid var(--line); border-radius: 8px; background: rgba(242,230,209,0.035); padding: 16px; } .letter-panel textarea { min-height: 210px; margin-top: 14px; background: #11100d; color: var(--paper); } @media (max-width: 1120px) { .hero-grid, .workspace-grid, .result-split { grid-template-columns: 1fr; } .empty-state { min-height: 360px; } } @media (max-width: 620px) { .desk-shell { width: min(100% - 18px, 1480px); padding-top: 10px; } .hero-copy, .quickstart, .panel { padding: 14px; } h1 { font-size: 42px; } .panel-head, .letter-head, .action-row, .docket-summary { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; } .score-seal { width: 96px; } textarea { min-height: 300px; } }