:root{--bg: #f5f7f9;--surface: #ffffff;--ink: #18212b;--ink-2: #4a5866;--ink-3: #7c8894;--line: #d7dee6;--fill: #edf1f5;--fill-2: #e2e8ee;--accent: #0d6b7e;--accent-ink: #ffffff;--accent-soft: rgba(13, 107, 126, .08);--bad: #b84a3f;--bad-soft: rgba(184, 74, 63, .1);--warn: #8a6420;--warn-soft: rgba(181, 127, 46, .12);--good: #3b7f58;--good-soft: rgba(59, 127, 88, .1);--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius: 8px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(24, 33, 43, .05), 0 4px 16px rgba(24, 33, 43, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{margin:0;text-wrap:balance}p{margin:0}a{color:var(--accent)}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:16px}.topbar .brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--ink)}.topbar .brand .brand-kyri{font:700 15px/1 var(--sans);letter-spacing:-.01em}.topbar .brand .brand-sub{font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.topbar .steps{margin-left:auto;display:flex;gap:4px;align-items:center}.step-dot{font:650 10.5px/1 var(--mono);letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--surface);white-space:nowrap}.step-dot.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.step-dot.done{color:var(--good);border-color:var(--good);background:var(--good-soft)}.page{width:100%;max-width:1040px;margin:0 auto;padding:36px 28px 80px;flex:1}.page-narrow{max-width:760px}@media(max-width:960px){.topbar{padding:12px 16px}.topbar .steps{display:none}.page{padding:22px 16px 48px}}.eyebrow{font:600 11px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.page-title{font-size:clamp(24px,3.4vw,32px);font-weight:800;letter-spacing:-.015em;line-height:1.12;margin-top:8px}.page-sub{color:var(--ink-2);margin-top:8px;max-width:62ch}.section-title{font-size:18px;font-weight:750;letter-spacing:-.008em}.mono{font-family:var(--mono)}.muted{color:var(--ink-2)}.small{font-size:13px}.micro{font-size:11.5px}.num{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card-tight{padding:14px}.panel-label{font:700 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media(max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr}}.stack-8{display:flex;flex-direction:column;gap:8px}.stack-16{display:flex;flex-direction:column;gap:16px}.stack-36{display:flex;flex-direction:column;gap:36px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;font:650 14px/1 var(--sans);border-radius:var(--radius-sm);padding:12px 18px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#0a596a}.btn-primary:disabled{background:var(--fill-2);color:var(--ink-3);cursor:not-allowed}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover{border-color:var(--ink-3)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font:700 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.input,.select,.textarea{font:400 14px/1.5 var(--sans);color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;width:100%}.textarea{min-height:140px;resize:vertical;font-family:var(--mono);font-size:12.5px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.ctl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--fill-2)}.ctl-row:last-child{border-bottom:none}.ctl-name{font-size:13.5px;color:var(--ink)}.ctl-hint{font-size:11.5px;color:var(--ink-3);display:block}.tri{display:inline-flex;gap:4px;flex:none}.tri label{position:relative;display:inline-flex}.tri input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.tri span{font:700 10px/1 var(--mono);letter-spacing:.04em;border:1.5px solid var(--line);border-radius:5px;padding:5px 9px;color:var(--ink-3);background:var(--surface);cursor:pointer}.tri input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.tri input:checked+span{font-weight:700}.tri .tri-yes input:checked+span{background:var(--good-soft);border-color:var(--good);color:var(--good)}.tri .tri-partial input:checked+span{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.tri .tri-no input:checked+span{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.chip{display:inline-flex;align-items:center;gap:6px;font:650 11px/1.4 var(--mono);border-radius:999px;padding:3px 10px;border:1px solid var(--line);color:var(--ink-2);background:var(--surface);white-space:nowrap}.chip-accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip-bad{border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}.chip-warn{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.chip-good{border-color:var(--good);color:var(--good);background:var(--good-soft)}.chip-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-choice{position:relative;cursor:pointer}.chip-choice input{position:absolute;width:1px;height:1px;opacity:0}.chip-choice input:focus-visible+.chip{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}.score-hero{font:700 52px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.score-hero.bad{color:var(--bad)}.score-hero.warn{color:var(--warn)}.score-hero.good{color:var(--good)}.meter{display:flex;gap:3px}.meter i{height:12px;flex:1;border-radius:2px;background:var(--fill-2)}.meter i.on-bad{background:var(--bad)}.meter i.on-warn{background:var(--warn)}.meter i.on-good{background:var(--good)}.hbar-row{display:grid;grid-template-columns:minmax(140px,190px) 1fr 44px;align-items:center;gap:12px;padding:6px 0;font-size:12.5px}.hbar{height:10px;border-radius:3px;background:var(--fill-2);position:relative;overflow:hidden}.hbar i{position:absolute;inset:0 auto 0 0;border-radius:3px}.hbar-val{font:650 11.5px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}.matrix-scroll{overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:680px}.matrix th{font:650 9.5px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:6px 4px;vertical-align:bottom}.matrix th.rowhead{text-align:left}.matrix td{padding:3px}.matrix td.rowname{font-size:12.5px;color:var(--ink-2);white-space:nowrap;padding-right:12px}.cell{height:20px;border-radius:3px;border:1px solid var(--line);background:var(--surface);position:relative}.cell.have{background:var(--good);border-color:var(--good);opacity:.72}.cell.part{background:var(--warn);border-color:var(--warn);opacity:.6}.cell.miss{background:var(--bad-soft);border-color:var(--bad);border-style:dashed}.cell.na{border-style:dotted;opacity:.45}.case-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:8px}.case-card.classifying{border-color:var(--accent)}.case-card.error{border-color:var(--bad)}.case-title{font:650 12px/1.4 var(--mono);color:var(--ink-2)}.case-excerpt{font-size:12.5px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tl{display:flex;flex-direction:column}.tl-step{display:grid;grid-template-columns:22px 1fr;gap:10px}.tl-rail{display:flex;flex-direction:column;align-items:center}.tl-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--accent);background:var(--surface);flex:none;margin-top:5px}.tl-line{width:2px;flex:1;background:var(--line);min-height:12px}.tl-step:last-child .tl-line{display:none}.tl-body{padding-bottom:12px}.tl-step:last-child .tl-body{padding-bottom:0}.tl-k{display:block;font:700 10px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}.tl-t{font-size:13px;color:var(--ink-2);line-height:1.5}.decision{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:5px 10px;border:1.5px solid var(--line);color:var(--ink-2)}.decision:before{content:"";width:7px;height:7px;border-radius:2px;background:currentColor}.decision.d-pass{border-color:var(--good);color:var(--good);background:var(--good-soft)}.decision.d-pass_with_consent{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.decision.d-send_to_review,.decision.d-reject{border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}.note{font:500 12px/1.6 var(--mono);color:var(--accent)}.note:before{content:"◂ "}.banner{border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius);padding:14px 16px;font-size:13.5px;color:var(--ink)}.banner-warn{border-color:var(--warn);background:var(--warn-soft)}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--fill);padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font:650 10.5px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}.table td{padding:10px 12px;border-bottom:1px solid var(--fill-2);vertical-align:top}.table td.num,.table th.num{text-align:right}.report-header{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding-bottom:22px}.footer{border-top:1px solid var(--line);padding:14px 28px;font:500 11px/1.6 var(--mono);color:var(--ink-3);display:flex;gap:18px;flex-wrap:wrap}.footer-brand{display:inline-flex;align-items:center;gap:6px}.footer-brand-mark{display:block;width:14px;height:14px;object-fit:contain;opacity:.72}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}.action-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.btn-link{background:none;border:none;padding:0;color:var(--ink-2);font:500 13px/1.4 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.btn-link:hover{color:var(--ink)}.btn-link:disabled{color:var(--ink-3);cursor:not-allowed}.next-hint{font:500 12px/1.5 var(--mono);color:var(--ink-3);max-width:42ch}.journey{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:18px}.j-step{font:650 11px/1.4 var(--mono);color:var(--ink-2);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;white-space:nowrap}.j-arrow{color:var(--ink-3);font:600 11px/1 var(--mono)}.blurred-name{display:inline-block;filter:blur(3.5px);opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none}a.step-dot{text-decoration:none}a.step-dot:hover{border-color:var(--accent);color:var(--accent)}.done-banner{border:1px solid var(--good);background:var(--good-soft);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}@media print{.topbar,.footer,.no-print{display:none!important}body{background:#fff}.page{max-width:none;padding:0}.card{break-inside:avoid;box-shadow:none}a{text-decoration:none;color:inherit}}
