:root{--ink:#1c2229;--paper:#fbfaf7;--paper-raised:#fff;--line:#e3e0d8;--muted:#6b7280;--accent:#7c3aed;--danger:#b91c1c;--reach-red-1:#fde8e8;--reach-red-2:#fbd5d5;--reach-red-3:#f5b5b5;--radius:10px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:Georgia, "Times New Roman", serif;font-family:var(--sans)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--paper);color:var(--ink)}button{font:inherit;cursor:pointer}a{color:var(--accent)}.topbar{border-bottom:1px solid var(--line);background:var(--paper-raised);z-index:30;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:.2px;font-size:18px;font-weight:700}.topbar .brand-home{color:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}.topbar .brand-home:hover{text-decoration:underline}.topbar .brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.topbar .brand .thin{color:var(--muted);font-weight:400}.topbar .spacer{flex:1}.tabbar{gap:4px;display:flex}.tabbar button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 14px}.tabbar button[aria-selected=true]{color:var(--ink);background:#efece5;font-weight:600}.toggle{color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.home-shell{isolation:isolate;min-height:max(827px,100svh - 43px);position:relative}.home-content{z-index:2;pointer-events:none;position:relative}.home-content .hero,.home-content .or-divider,.home-content .home-opening{background:var(--paper)}.home-content .hero,.home-content .or-divider,.home-content .panel,.home-content .error-banner,.home-content .btn,.home-content input,.home-content .suggestions-popover{pointer-events:auto}.home-opening{color:var(--muted);text-align:center;font-size:13px}.floating-company-layer{z-index:0;transform-origin:0 0;position:absolute;bottom:56px;left:0;right:0;overflow:hidden}.floating-company-layer.is-off{visibility:hidden}.floating-company{background:var(--paper-raised);color:#24392d;width:80px;height:65px;opacity:var(--logo-opacity,.48);will-change:transform;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #ebece6;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 3px;display:flex;position:absolute;top:0;left:0;box-shadow:0 3px 12px #152b2510}.floating-company.dragging{cursor:grabbing;opacity:1;z-index:1;box-shadow:0 10px 28px #152b2540}.floating-company:disabled{cursor:default}.floating-company img{object-fit:contain;width:28px;height:28px}.floating-company span{text-overflow:ellipsis;white-space:nowrap;max-width:76px;font-size:11px;line-height:1.15;overflow:hidden}.floating-company:hover,.floating-company:focus-visible{opacity:1;box-shadow:0 4px 18px #152b252d}.floating-company:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.logo-controls{z-index:3;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:14px;right:20px}.logo-switch,.logo-mode{border:1px solid var(--line);background:var(--paper-raised);color:var(--muted);border-radius:999px;align-items:center;min-height:30px;display:inline-flex}.logo-switch{letter-spacing:.2px;gap:7px;padding:0 12px 0 10px}.logo-switch[aria-checked=true]{color:var(--ink)}.logo-switch-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;transition:background .2s,box-shadow .2s;box-shadow:0 0 0 3px #7c3aed22}.logo-switch[aria-checked=false] .logo-switch-dot{box-shadow:none;background:#cfcbc2}.logo-mode{gap:2px;padding:3px}.logo-mode button{min-height:22px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 11px;font-size:12px}.logo-mode button[aria-pressed=true]{color:var(--ink);background:#efece5;font-weight:600}.logo-mode button:disabled{opacity:.45;cursor:default}.logo-switch:focus-visible,.logo-mode button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=559px){.home-shell{min-height:max(900px,100svh - 65px)}.home-content .fallbacks{grid-template-columns:1fr}}.center-narrow{max-width:640px;margin:0 auto;padding:40px 20px 80px}.hero{text-align:center;margin-bottom:28px}.hero h1{margin:0 0 6px;font-size:30px}.hero p{color:var(--muted);margin:0}.search-row{gap:8px;display:flex}.search-row input{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);flex:1;padding:12px 14px;font-size:16px}.search-combobox{align-items:flex-start}.combobox-wrap{flex:1;min-width:0;position:relative}.combobox-wrap>input{width:100%}.suggestions-popover{z-index:35;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #1c222924}.suggestion-status{color:var(--muted);padding:12px 14px;font-size:14px;line-height:1.45}.suggestion-status.error{color:var(--danger);background:#fff8f8}.btn{border:1px solid var(--line);background:var(--paper-raised);border-radius:var(--radius);padding:10px 16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.5;cursor:default}.or-divider{text-align:center;color:var(--muted);margin:24px 0;font-size:13px}.fallbacks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fallbacks .btn{width:100%}textarea.import{width:100%;min-height:120px;font:13px var(--sans);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.error-banner{color:var(--danger);border-radius:var(--radius);background:#fdecec;border:1px solid #f5c2c2;margin:12px 0;padding:10px 14px}.service-list{max-height:min(360px,55vh);margin:0;padding:0;list-style:none;overflow-y:auto}.service-list li{border-bottom:1px solid var(--line);background:var(--paper-raised)}.service-list li:last-child{border-bottom:0}.service-list button{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.service-list button:hover,.service-list button.active,.service-list button[aria-selected=true]{background:#f3f0fa;outline:none}.service-list .name{font-weight:600}.service-list .meta{color:var(--muted);margin-top:2px;font-size:13px;display:block}.grade-chip{text-align:center;border-radius:6px;min-width:34px;padding:2px 8px;font-size:12px;font-weight:700}.doc-list{margin:12px 0;padding:0;list-style:none}.doc-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin-bottom:8px}.doc-list button{text-align:left;background:0 0;border:none;width:100%;padding:12px 14px}.doc-list button+.snapshot-choice{border-top:1px solid var(--line)}.doc-list .snapshot-choice{color:var(--muted);font-size:13px}.doc-list .name{font-weight:600}.doc-list .meta{color:var(--muted);margin-top:2px;font-size:13px}.doc-list .company-source-link{margin:0 14px 12px;font-size:13px;display:inline-block}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin:16px 0;padding:16px}.panel h3{margin-top:0}.attribution{color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:8px;font-size:12px}.point-list{margin:8px 0 0;padding-left:18px}.point-list li{margin-bottom:6px;font-size:14px}.point-status{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;margin-right:6px;padding:1px 6px;font-size:11px;font-weight:700}.point-status.approved{color:#256029;background:#e1f0e1}.point-status.rejected{color:var(--danger);background:#fdecec}.region-list button{text-align:left;width:100%;margin-bottom:6px;display:block}.analysis-disclosure{border-radius:var(--radius);background:#fff8e1;border:1px solid #f0d98c;margin-top:14px;padding:12px 14px;font-size:14px;line-height:1.5}.analysis-disclosure .btn{margin-left:4px;padding:4px 9px}.reader-analysis-action{border-bottom:1px solid var(--line);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:13px;display:flex}.reader-analysis-action .btn{white-space:nowrap;padding:6px 10px}.notice{border-radius:var(--radius);background:#fff8e1;border:1px solid #f0d98c;margin:16px 0;padding:14px;font-size:14px}.progress-outer{background:#ece9e2;border-radius:4px;height:8px;margin:10px 0;overflow:hidden}.progress-inner{background:var(--accent);height:100%;transition:width .4s}.reader-shell{grid-template-columns:minmax(0,1fr) 400px;height:calc(100vh - 57px);display:grid}.reader-scroll{padding:32px 24px 40vh;overflow-y:auto}.reader-main{max-width:720px;margin:0 auto}.rail{border-left:1px solid var(--line);background:#f6f4ef;padding:18px 16px 120px;overflow-y:auto}.rail-empty{color:var(--muted);padding:20px 8px;font-size:14px;line-height:1.6}.rail-heading{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 10px;font-size:12px}.doc-title{font-family:var(--serif);margin:0 0 4px;font-size:26px}.doc-meta{color:var(--muted);margin-bottom:8px;font-size:13px;line-height:1.7}.doc-meta .warn{color:#92600a}.doc-block{font-family:var(--serif);color:var(--ink);margin:0 0 14px;font-size:17px;line-height:1.75}h1.doc-block{margin:28px 0 12px;font-size:24px;line-height:1.4}h2.doc-block{margin:26px 0 10px;font-size:20px}h3.doc-block{margin:22px 0 8px;font-size:17px}li.doc-block{margin-bottom:6px}blockquote.doc-block{border-left:3px solid var(--line);color:#444;padding-left:14px}.clause{cursor:pointer;border-radius:4px;padding:1px 0;transition:background-color .15s,box-shadow .15s}.clause:hover,.clause:focus-visible{outline:none;box-shadow:0 0 0 2px #7c3aed59}.clause.active{box-shadow:0 0 0 2px #7c3aed99}.clause.pinned{box-shadow:0 0 0 2px var(--accent)}.color-cues .clause{background:var(--span-tint)}.color-cues .clause:hover,.color-cues .clause:focus-visible{background:var(--span-tint-strong)}body:not(.color-cues) .clause{text-underline-offset:3px;background:0 0;-webkit-text-decoration:underline dotted #9ca3af;text-decoration:underline dotted #9ca3af}.clause-flash{animation:1.6s flash}@keyframes flash{0%{background:#fde68a}to{background:var(--span-tint)}}.thic-card{border:1px solid var(--card-border);background:var(--card-tint);color:var(--card-on);border-radius:var(--radius);overflow-wrap:anywhere;min-width:0;margin-bottom:14px;padding:14px 16px}.thic-card.neutral{--card-tint:#f4f4f5;--card-border:#d4d4d8;--card-on:#27272a;--card-heading:#3f3f46}.thic-card h4{color:var(--card-heading);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 6px;font-size:15px;display:flex}.thic-card .badge-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.badge{color:var(--card-on);white-space:nowrap;background:#ffffffb3;border:1px solid #0000002e;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.badge.cat{border:none}.thic-card .explain{margin:0 0 10px;font-size:14px;line-height:1.6}.thic-card .section-label{text-transform:uppercase;letter-spacing:.7px;color:var(--card-heading);opacity:.75;margin:10px 0 4px;font-size:11px;font-weight:700}.thic-card ul{margin:4px 0;padding-left:18px}.thic-card li{margin-bottom:3px;font-size:13px;line-height:1.55}.thic-card .quote-jump{color:var(--card-on);background:#0000000f;border:none;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:13px}.thic-card .quote-jump:hover{background:#0000001a}.thic-card details{margin-top:10px;font-size:13px}.thic-card summary{cursor:pointer;color:var(--card-heading);font-weight:600}.provenance{color:var(--card-on);opacity:.7;margin-top:8px;font-size:12px}.origin-tag{background:#00000014;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.origin-tag.demo{color:#713f12;background:#fff3c4;border:1px solid #f0d98c}.inferred-relations{background:#00000008;border:1px solid #0000001a;border-radius:6px;margin-top:12px;padding:10px 12px}.inferred-label{font-size:11px;font-style:italic;line-height:1.4;text-transform:none!important;color:#52525b!important;opacity:1!important;margin:0 0 8px!important}.relations-list{flex-direction:column;gap:8px;display:flex}.relation-item{color:#18181b;background:#fff;border:1px solid #00000014;border-radius:6px;padding:8px 10px;font-size:13px}.relation-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.relation-verb.badge{color:#3f3f46;text-transform:lowercase;background:#f4f4f5;border:1px solid #d4d4d8;font-size:11px;font-weight:700}.relation-target{color:#18181b;font-weight:600}.relation-note{color:#3f3f46;margin:4px 0 6px;font-size:13px;line-height:1.4}.relation-jump{cursor:pointer;color:#27272a;background:#0000000d;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.relation-jump:hover{background:#0000001a}.structural-relations{margin-top:10px;font-size:13px}.structural-relations summary{cursor:pointer;color:var(--card-heading);opacity:.85;font-weight:600}.structural-relations ul{margin:6px 0 2px;padding-left:18px}.structural-relations .btn-link{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.structural-relations .btn-link:hover{color:var(--accent)}.reach-row{flex-direction:column;gap:6px;margin:8px 0;display:flex}.reach-item{align-items:baseline;gap:8px;font-size:13px;display:flex}.reach-pip{text-align:center;box-sizing:border-box;border-radius:5px;flex-shrink:0;min-width:44px;padding:2px 6px;font-size:11px;font-weight:700}.reach-pip.unspecified,.reach-pip.not_applicable{color:#525252;background:#ececec;border:1px dashed #a3a3a3}.reach-pip.narrow{background:var(--reach-red-1);color:#7f1d1d}.reach-pip.moderate{background:var(--reach-red-2);color:#7f1d1d}.reach-pip.broad{background:var(--reach-red-3);color:#7f1d1d}.reach-name{font-weight:600}.reach-reason{opacity:.8}.cat-key{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:10px 12px;display:flex}.cat-key button{border:1px solid var(--line);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.cat-key .swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.cat-key button.on{outline:2px solid var(--accent)}.outline{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin:0 0 24px;padding:10px 14px;font-size:13px}.outline summary{cursor:pointer;color:var(--muted);font-weight:600}.outline ul{margin:8px 0 2px;padding-left:18px}.outline li{margin:3px 0}.outline button{color:var(--accent);background:0 0;border:none;padding:0;font-size:13px}.outline button:hover{text-decoration:underline}.cards-view{max-width:860px;margin:0 auto;padding:24px 20px 80px}.cards-toolbar{background:var(--paper);z-index:20;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:10px 0;display:flex;position:sticky;top:57px}.cards-toolbar input,.cards-toolbar select{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;padding:8px 10px;font-size:14px}.cards-toolbar input{flex:1;min-width:180px}.cards-count{color:var(--muted);margin-bottom:12px;font-size:13px}.journey-wrap{max-width:920px;margin:0 auto;padding:20px 20px 100px}.journey-banner{color:#2e1f47;border-radius:var(--radius);background:#efe9fb;border:1px solid #d4c2ef;align-items:baseline;gap:10px;padding:12px 16px;font-size:14px;display:flex}.journey-banner strong{text-transform:uppercase;letter-spacing:.6px;flex-shrink:0;font-size:12px}.journey-head{margin:22px 0 6px}.journey-head h2{margin:0 0 6px}.journey-head p{color:var(--ink);font-size:14px;line-height:1.6}.journey-provenance{color:var(--muted);font-size:12px}.journey-context{margin:26px 0}.journey-context>h3{border-bottom:2px solid var(--line);padding-bottom:6px;font-size:18px}.journey-empty{color:var(--muted);font-size:14px;font-style:italic}.journey-module{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin:14px 0;padding:16px 18px}.journey-module-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.journey-module-head h4{flex:1;min-width:200px;margin:0;font-size:16px}.signup-chip{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.signup-chip.info{color:#1c4e80;background:#e8f0fe;border:1px solid #b7d3ee}.signup-chip.neutral{color:#52525b;background:#f4f4f5;border:1px dashed #a1a1aa}.journey-reason{color:var(--muted);margin:6px 0 0;font-size:13px}.journey-cols{grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;display:grid}.journey-source{border-right:1px solid var(--line);padding-right:14px}.journey-statement{margin-bottom:12px}.journey-statement p{margin:0 0 6px;font-size:14px;line-height:1.55}.journey-quote{color:#444;border-left:3px solid var(--line);margin:0 0 6px;padding:2px 0 2px 10px;font-size:13px;font-style:italic}.journey-proposal .section-label{color:#5b3a8e}.journey-proposal{border-radius:var(--radius);background:#faf8fe;border:2px dashed #b8a3e0;padding:12px 14px}.journey-proposal p{margin:6px 0 0;font-size:14px;line-height:1.6}.journey-cards{margin-top:14px}.journey-card-chips{flex-wrap:wrap;gap:8px;display:flex}.journey-card-chips>div{width:100%}.journey-chip{border:1px solid var(--line);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:13px;display:inline-flex}.journey-chip.on{outline:2px solid var(--accent)}.journey-chip .swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.journey-card-detail{margin:8px 0 4px}.journey-sim{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.sim-control{background:#f1efe9;border-radius:8px;gap:4px;margin-top:8px;padding:3px;display:inline-flex}.sim-control button{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.sim-control button.on{background:var(--paper-raised);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #0000001f}.journey-sim-note{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}@media (width<=760px){.journey-cols{grid-template-columns:1fr}.journey-source{border-right:none;border-bottom:1px solid var(--line);padding-bottom:12px;padding-right:0}}.sheet-backdrop{z-index:50;background:#00000059;position:fixed;inset:0}.sheet{z-index:51;background:var(--paper);padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:72vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #0003}.sheet .grab{background:#d4d4d8;border-radius:2px;width:44px;height:4px;margin:6px auto 10px}.sheet-close{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;padding:4px 10px;position:absolute;top:10px;right:12px}.demo-banner{color:#713f12;background:#fff3c4;border:1px solid #f0d98c;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.demo-banner strong{text-transform:uppercase;letter-spacing:.6px;font-size:12px}.coverage-note{border:1px solid var(--line);border-radius:var(--radius);background:#f4f4f5;margin:0 0 20px;padding:10px 14px;font-size:13px}.coverage-note ul{margin:6px 0 0;padding-left:18px}.hidden-file{display:none}@media (width<=900px){.reader-shell{grid-template-columns:1fr;height:auto}.rail{display:none}.rail.has-explanation{z-index:45;border-left:0;border-top:1px solid var(--line);max-height:58vh;padding:14px 16px calc(18px + env(safe-area-inset-bottom));display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #0000002e}.reader-scroll{padding-bottom:120px}}.doc-list .open-explanations{color:var(--accent);margin-top:8px;font-weight:600;display:inline-block}.doc-list .document-versions{border-top:1px solid var(--line)}.doc-list .document-versions summary{cursor:pointer;color:var(--muted);padding:10px 14px;font-size:13px}.agreement-source{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:-4px 0 16px;font-size:13px;line-height:1.5;display:flex}.saved-evidence summary{cursor:pointer}.saved-evidence blockquote{border-left:3px solid var(--card-border,#d4d4d8);overflow-wrap:anywhere;margin:10px 0;padding-left:12px}
