:root{--color-primary:#00a9ff;--color-primary-soft:#89cff3;--color-accent:#a0e9ff;--color-surface:#cdf5fd;--color-ink:#172033;--color-muted:#526176;--color-border:#314158;--color-panel:#f7fcff;--manual-selection-highlight:#17203314;--manual-selection-halo:#31415833;--manual-selection-underline:#314158a6;--traceability-highlight-saturation:72%;--traceability-highlight-lightness:84%;--traceability-highlight-hover-lightness:77%;--traceability-highlight-selected-lightness:69%;--traceability-highlight-border-lightness:42%;--font-ui:"Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:var(--color-ink);background:var(--color-surface);font-family:var(--font-ui);font-synthesis:none}*{box-sizing:border-box}body{min-width:20rem;margin:0}a{color:inherit}button{border:.125rem solid var(--color-border);background:var(--color-primary);color:var(--color-ink);cursor:pointer;font:inherit;margin:.5rem .5rem .5rem 0;padding:.75rem 1rem;font-weight:700}button:hover{background:var(--color-accent);text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.6;text-decoration:none}button:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}button.secondary{background:var(--color-primary-soft)}textarea,input:not([type=radio]):not([type=file]),select{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);font:inherit;width:100%;max-width:100%;min-height:2.75rem;margin-top:.5rem;padding:.625rem .75rem;display:block}textarea{resize:none;min-height:auto;padding:.75rem}.textarea--resizable{resize:both}input[type=radio]{accent-color:var(--color-primary);vertical-align:-.1rem;block-size:1.1rem;inline-size:1.1rem;margin:0 .35rem 0 0}textarea:focus-visible,input:focus-visible,select:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.specification-code-editor{background:var(--color-panel);border:.125rem solid var(--color-border);flex:auto;min-block-size:0;min-inline-size:0;margin-block-start:.5rem;display:flex}.specification-code-editor .cm-editor{block-size:100%;font:inherit;inline-size:100%}.specification-code-editor .cm-scroller{scrollbar-gutter:stable;font-family:inherit;overflow:auto}.specification-code-editor .cm-content{caret-color:var(--color-ink);padding:.75rem}.specification-code-editor .cm-editor.cm-focused{outline:.25rem solid var(--color-primary);outline-offset:0}.specification-code-editor .cm-finding-anchor{background:var(--color-accent);border-block-end:.1875rem solid var(--color-primary);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-ink);padding-inline:.1rem}.specification-code-editor .cm-mapping-anchor{--traceability-highlight-hue:196;background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-lightness));border-block-end:.1875rem solid hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-border-lightness));-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.1rem}.specification-code-editor .cm-mapping-anchor-dimmed{filter:grayscale(.85);opacity:.3}.specification-code-editor .cm-mapping-anchor-blank{background:#ffadadb3;border-block-end:0;outline:.125rem solid #a11f1f}.specification-code-editor .cm-mapping-stranded{-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:help;background:#ffd69980;padding-inline:.05rem;-webkit-text-decoration:underline wavy #b26a00;text-decoration:underline wavy #b26a00;text-decoration-thickness:.12em}.cm-mapping-stranded-tooltip{gap:.375rem;max-inline-size:22rem;padding:.5rem .625rem;display:grid}.cm-mapping-stranded-tooltip p{margin:0}.specification-stranded-panel{background:#ffd69938;border:.125rem solid #b26a00;border-radius:.375rem;gap:.5rem;padding:.75rem .875rem;display:grid}.specification-stranded-panel h3{margin:0}.specification-stranded-panel ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.specification-stranded-panel li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.specification-stranded-label{font-weight:600}.specification-stranded-text{color:var(--color-muted)}.specification-editor-workspace{flex:auto;gap:.75rem;min-block-size:0;min-inline-size:0;display:flex}.specification-mapping-popover{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);flex-direction:column;flex:none;gap:.75rem;inline-size:min(24rem,40%);margin-block-start:.5rem;padding:.75rem;display:flex;overflow:hidden}.mapping-code-revisions{flex-direction:column;gap:.35rem;display:flex}.mapping-code-revisions-location{margin:0;font-weight:700}.mapping-code-revisions pre{background:var(--color-surface);border:.0625rem solid var(--color-border);white-space:pre;max-block-size:12rem;margin:0;padding:.5rem;overflow:auto}.specification-range-edit{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block-start:.5rem;display:flex}fieldset{border:.125rem solid var(--color-border);background:#a0e9ff38;max-width:38rem;margin:1rem 0;padding:1rem}legend{background:var(--color-panel);border:.125rem solid var(--color-border);padding:.3rem .55rem;font-weight:700}fieldset>label{margin-top:.85rem;font-size:.8rem;font-weight:700;display:block}fieldset>label:has(input[type=radio]){align-items:center;margin:0 1rem .25rem 0;font-weight:400;display:inline-flex}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-ink) 50%), linear-gradient(135deg, var(--color-ink) 50%, transparent 50%);background-position:calc(100% - 1.15rem) 1.15rem,calc(100% - .85rem) 1.15rem;background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;padding-inline-end:2.5rem}.app-shell{max-width:100rem;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.auth-status{align-content:center;max-width:42rem;min-height:100vh;display:grid}article{border:.125rem solid var(--color-border);background:#ffffff8c;margin-block:1rem;padding:1rem}.auth-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:1rem;min-height:100vh;display:grid}.auth-layout article,.auth-layout aside{margin-block:1rem}.project-overview{background:var(--color-accent);border:.125rem solid var(--color-border);padding:1rem}.text-manager{border-top:.125rem solid var(--color-border);margin-top:2rem;padding-top:1rem}.text-list{margin:1rem 0 0;padding:0;list-style:none}.text-list li{border:.125rem solid var(--color-border);margin-top:1rem;padding:1rem}.text-list p{white-space:pre-wrap}.workspace-layout{background:var(--color-panel);border:.125rem solid var(--color-border);grid-template-rows:auto minmax(36rem,1fr);grid-template-columns:15rem minmax(0,1fr);min-height:calc(100vh - clamp(2rem,6vw,5rem));display:grid}.workspace-header{border-block-end:.125rem solid var(--color-border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.brand{align-items:center;gap:.65rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:focus-visible,.sidebar-link:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.brand-mark{background:var(--color-primary);border:.125rem solid var(--color-border);justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.workspace-header-actions{align-items:center;gap:1rem;min-width:0;display:flex}.account-name{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}button.sign-out-button{background:0 0;margin:0;padding:.5rem .75rem}.workspace-sidebar{background:var(--color-surface);border-inline-end:.125rem solid var(--color-border);flex-direction:column;gap:.75rem;padding:1.25rem .75rem;display:flex}.workspace-sidebar nav{gap:.25rem;display:grid}.sidebar-link{border-inline-start:.25rem solid #0000;padding:.75rem .5rem;font-size:.8rem;font-weight:700;text-decoration:none}.nav-count{background:var(--color-primary);border:.0625rem solid var(--color-border);float:inline-end;text-align:center;min-inline-size:1.4rem;padding:.1rem .3rem}.sidebar-link:hover{background:#00a9ff1f;text-decoration:underline}.sidebar-link.is-active{background:var(--color-accent);border-inline-start-color:var(--color-primary);text-decoration:underline}.sidebar-footer{border-block-start:.0625rem solid var(--color-border);color:var(--color-muted);margin-block-start:auto;padding:1rem .5rem 0;font-size:.72rem}.sidebar-footer p{margin:0 0 .3rem}.sidebar-footer strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-content{min-width:0;padding:clamp(1.5rem,4vw,3rem)}.route-page{max-width:68rem;margin:0 auto}.route-page--resolve{max-width:none}.project-detail-summary{column-count:2;column-gap:1rem}.project-detail-summary>.project-detail-section{break-inside:avoid;min-inline-size:0;margin-block-end:1rem}.project-detail-section{border:.125rem solid var(--color-border);min-inline-size:0;margin-block:0;padding:1rem 1.25rem 1.25rem}.project-repository-actions{flex-wrap:wrap;gap:.75rem;display:flex}.project-detail-section>legend{padding-inline:.375rem;font-size:1.125rem;font-weight:600}.project-authorization-panel{min-inline-size:0}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:2rem;display:flex}.page-heading h1{max-width:38rem;margin:0;font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}.page-intro{color:var(--color-muted);max-width:48rem;margin:-1rem 0 2rem;line-height:1.65}.page-heading h1+.page-intro{margin-block:1rem 0}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.overview-card,.empty-state{border:.125rem solid var(--color-border);background:#cdf5fd59}.overview-card{flex-direction:column;gap:.8rem;min-height:15rem;padding:1.25rem;text-decoration:none;display:flex}.overview-card:hover{background:var(--color-accent);text-decoration:none;transform:translateY(-.125rem)}.overview-card:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.overview-card h2,.empty-state h2{margin:0;font-size:1.05rem}.overview-card p,.empty-state p{color:var(--color-muted);margin:0;font-size:.85rem;line-height:1.65}.overview-card span{margin-top:auto;font-size:.75rem;font-weight:700;text-decoration:underline}.empty-state{flex-direction:column;align-items:flex-start;gap:.85rem;max-width:42rem;padding:1.5rem;display:flex}.status-badge{background:var(--color-accent);border:.0625rem solid var(--color-border);white-space:nowrap;padding:.4rem .6rem;font-size:.72rem;font-weight:700}.status-badge--current{background:var(--color-primary-soft)}.status-badge--drifted{background:var(--color-surface);border-style:dashed;text-decoration:underline}.button-link{background:var(--color-primary);border:.125rem solid var(--color-border);padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.button-link:hover{background:var(--color-accent);text-decoration:underline}.button-link:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.button-link--disabled{cursor:not-allowed;opacity:.55}.wizard{max-width:68rem}.wizard>fieldset,.update-specifications{box-sizing:border-box;inline-size:100%;max-inline-size:none}.wizard input:not(.file-upload-input),.wizard textarea{inline-size:min(100%,52rem)}.wizard-steps{gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.wizard-steps li{border:.125rem solid var(--color-border);color:var(--color-muted);padding:.5rem;font-size:.8rem}.wizard-steps .is-current{background:var(--color-accent);color:var(--color-ink);font-weight:700}.file-upload{margin-block:1rem}.file-upload-label{margin-block-end:.5rem;font-size:.8rem;font-weight:700;display:block}.file-upload-control{background:var(--color-panel);border:.125rem dashed var(--color-border);cursor:pointer;text-align:center;align-items:center;gap:.35rem;min-height:7.5rem;padding:1rem;display:grid}.file-upload-control:before{background:var(--color-primary);border:.125rem solid var(--color-border);content:"+";justify-self:center;width:2rem;font-size:1.5rem;font-weight:700;line-height:1.75rem}.file-upload-control:hover{background:var(--color-accent);text-decoration:underline}.file-upload-control[aria-disabled=true]{cursor:progress;opacity:.65;text-decoration:none}.file-upload-action{font-weight:700}.file-upload-prompt,.file-upload-help,.file-upload-status{color:var(--color-muted);font-size:.75rem;line-height:1.6}.file-upload-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:.0625rem;inline-size:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.file-upload:has(.file-upload-input:focus-visible) .file-upload-control{outline:.25rem solid var(--color-primary);outline-offset:0}.file-upload-help{margin:.6rem 0 0}.file-upload-status{margin:.35rem 0 0;font-weight:700}.file-tree,.project-list{padding:0;list-style:none}.file-tree li,.project-list li{border:.125rem solid var(--color-border);margin-block:.75rem;padding:.75rem}.file-tree li.is-queued-for-removal{background:#17203314}.file-tree li.is-queued-for-removal>.file-preview-header>strong,.file-tree li.is-queued-for-removal>.file-path,.file-tree li.is-queued-for-removal>.content-preview-card{filter:blur(.1rem);opacity:.55}.removal-status{color:var(--color-muted);margin:.75rem 0;font-size:.75rem;font-weight:700}.file-preview-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.file-preview-actions{flex-wrap:wrap;gap:.5rem;margin-block-start:.75rem;display:flex}.file-preview-actions button{width:auto;margin:0}.content-preview-card{background:var(--color-panel);text-align:start;min-inline-size:0;width:100%;margin:0;padding:.75rem;display:block}.content-preview-card-excerpt{display:block}.file-preview-header+.content-preview-card{margin-block-start:.75rem}.content-preview-card-excerpt{-webkit-line-clamp:5;white-space:pre-wrap;-webkit-box-orient:vertical;margin-block-start:.5rem;line-height:1.5;display:-webkit-box;overflow:hidden}.content-preview-dialog{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);max-block-size:calc(100dvh - 2rem);max-inline-size:min(52rem,100vw - 2rem);width:min(52rem,100vw - 2rem);padding:0}.content-preview-dialog--traceability[open]{flex-direction:column;block-size:min(70dvh,38rem);display:flex}.specification-editor[open]{block-size:min(82dvh,46rem);max-inline-size:min(72rem,100vw - 2rem);flex-direction:column;width:min(72rem,100vw - 2rem);display:flex}.content-preview-dialog::backdrop{background:#17203394}.content-preview-dialog-header{background:var(--color-surface);border-block-end:.125rem solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.content-preview-dialog-header h2{overflow-wrap:anywhere;margin:0;font-size:1rem}.content-preview-dialog-header button{flex:none;margin:0}.content-preview-dialog-body{scrollbar-gutter:stable;max-block-size:min(70dvh,38rem);padding:1rem;overflow:auto}.content-preview-dialog--traceability[open] .content-preview-dialog-body{flex:auto;min-block-size:0;max-block-size:none}.specification-editor[open] .content-preview-dialog-body{flex-direction:column;flex:auto;min-block-size:0;max-block-size:none;display:flex;overflow:hidden}.content-preview-dialog--traceability[open] .content-preview-dialog-body.traceability-scroll-locked{overflow:hidden}.content-preview-dialog-content{background:var(--color-surface);border:.125rem solid var(--color-border);padding:1rem}.content-preview-dialog-content pre{white-space:pre-wrap;margin:0}.content-preview-dialog-content .markdown-preview>:first-child{margin-block-start:0}.content-preview-dialog-content .markdown-preview>:last-child{margin-block-end:0}.project-authorization-dialog{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);max-block-size:calc(100dvh - 2rem);max-inline-size:min(46rem,100vw - 2rem);width:min(46rem,100vw - 2rem);padding:0}.project-authorization-dialog::backdrop{background:#17203394}.project-authorization-dialog-header{background:var(--color-surface);border-block-end:.125rem solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.project-authorization-dialog-header p,.project-authorization-dialog-header h2{margin:0}.project-authorization-dialog-header p,.authorization-owner,.authorization-assignment-list span,.authorization-transfer p{color:var(--color-muted);font-size:.75rem}.project-authorization-dialog-header button{flex:none;margin:0}.project-authorization-dialog-body{max-block-size:min(70dvh,38rem);padding:1rem;overflow:auto}.authorization-owner{border-block-end:.0625rem solid var(--color-border);overflow-wrap:anywhere;margin:0;padding-block-end:1rem}.authorization-owner strong{color:var(--color-ink)}.authorization-assignment-list{margin:1rem 0;padding:0;list-style:none}.authorization-assignment-list li{border:.125rem solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(8rem,10rem) auto;align-items:center;gap:.75rem;margin-block:.5rem;padding:.75rem;display:grid}.authorization-assignment-list strong,.authorization-assignment-list span{overflow-wrap:anywhere;display:block}.authorization-assignment-list select,.authorization-assignment-list button{margin:0}.authorization-transfer{background:#17203314}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;block-size:.0625rem;inline-size:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.file-remove{flex:none}.project-list h2,.project-list p{margin:0 0 .5rem}.drift-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1rem;display:flex}.drift-actions button{width:auto;margin:0}.drift-actions .button-link{margin:0}.drift-group{margin-block:2rem}.drift-finding-list{margin:0;padding:0;list-style:none}.drift-finding-list li{border:.125rem solid var(--color-border);background:#a0e9ff38;margin-block:.75rem;padding:.75rem}.drift-finding-list li>div:first-child{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-badge--open{background:var(--color-accent)}.status-badge--resolved{opacity:.7}.resolve-reasoning,.resolve-steps{max-width:none}.resolve-summary{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.resolve-summary .status-badge{flex-shrink:0}.resolve-evidence-section{max-width:none}.resolve-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.resolve-actions button,.resolve-actions .button-link{width:auto;margin:0}@media (width<=48rem){.workspace-layout{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.workspace-sidebar{border-block-end:.125rem solid var(--color-border);border-inline-end:0;padding:.75rem 1rem}.workspace-sidebar nav{gap:.25rem;display:flex;overflow-x:auto}.sidebar-link{white-space:nowrap}.sidebar-footer{display:none}.workspace-content{padding:1.5rem}.overview-grid{grid-template-columns:1fr}.project-detail-summary{column-count:1}.authorization-assignment-list li{grid-template-columns:1fr;align-items:stretch}.overview-card{min-height:auto}}@media (width<=34rem){.workspace-header{flex-direction:column;align-items:flex-start}.workspace-header-actions{justify-content:space-between;width:100%}.page-heading{flex-direction:column}}@media (width<=52rem){.auth-layout{grid-template-columns:1fr}}.file-tree ul{padding:0;list-style:none}.file-tree>ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,30rem),1fr));gap:.75rem;display:grid}.file-tree>ul>li{margin-block:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition:none!important}}.project-list-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mapping-workbench{border:.125rem solid var(--color-border);background:#cdf5fd59;margin-block:2rem;padding:1.5rem}.mapping-workbench,.mapping-ai-annotation{max-width:none}.mapping-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;min-inline-size:0;display:grid}.mapping-panel{min-inline-size:0}.mapping-source-control{margin-block-end:1rem}.mapping-code-heading{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-block:1em;display:flex}.mapping-code-heading h3{margin-block:0}.mapping-workbench .mapping-specification-panel>h3{align-items:center;min-block-size:2rem;display:flex}.mapping-revision-badges{margin-inline-start:auto}.mapping-revision-badges [role=group]{flex-wrap:wrap;gap:.5rem;display:flex}.mapping-revision-badge{background:var(--color-panel);border:.125rem solid var(--color-border);align-items:center;gap:.4rem;min-block-size:2rem;padding:.25rem .5rem;display:inline-flex}.mapping-revision-badge--recorded{border-style:dashed}.mapping-revision-badge--synced{border-color:var(--color-primary)}.mapping-revision-badge code{color:var(--color-ink);font-size:.85rem;font-weight:700}.mapping-revision-badge__label{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.mapping-revision-badge__latest{background:var(--color-primary);color:var(--color-ink);letter-spacing:.04em;text-transform:uppercase;padding:.15rem .3rem;font-size:.65rem;font-weight:700}.mapping-code-actions{gap:.5rem;margin-block:0 1rem;display:flex}.mapping-revision-diff{border:.125rem solid var(--color-border);box-sizing:border-box;scrollbar-gutter:stable;block-size:20rem;margin:0;overflow:auto}.mapping-revision-diff__headings,.mapping-revision-diff__row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mapping-revision-diff__headings{background:var(--color-panel);border-block-end:.125rem solid var(--color-border);z-index:1;padding:.5rem .75rem;position:sticky;inset-block-start:0}.mapping-revision-diff__headings>div{justify-content:flex-start;align-items:center;display:flex}.mapping-revision-diff__headings>div+div,.mapping-revision-diff__pane+.mapping-revision-diff__pane{border-inline-start:.125rem solid var(--color-border);padding-inline-start:.75rem}.mapping-revision-diff__headings>div:first-child,.mapping-revision-diff__pane:first-child{padding-inline-end:.875rem}.mapping-revision-diff__pane{min-inline-size:0}.mapping-revision-diff__pane code{white-space:pre-wrap;min-block-size:1.8rem;min-inline-size:0;padding:.15rem .5rem;display:block}.mapping-revision-diff__row--added .mapping-revision-diff__pane{background:#2f9e4412}.mapping-revision-diff__row--added .mapping-revision-diff__pane:last-child{background:#2f9e442e}.mapping-revision-diff__row--removed .mapping-revision-diff__pane{background:#e0313112}.mapping-revision-diff__row--removed .mapping-revision-diff__pane:first-child{background:#e031312e}.mapping-revision-diff__pane--empty code{color:#0000}.mapping-source-control label{font-size:.8rem;font-weight:700;display:block}.mapping-source-control select{margin-block-start:.35rem}.mapping-source-viewer{background:var(--color-panel);border:.125rem solid var(--color-border);box-sizing:border-box;white-space:pre-wrap;block-size:20rem;inline-size:100%;margin:0;padding:.75rem;overflow:auto}.mapping-source-viewer[contenteditable=true]{cursor:text}.mapping-source-viewer--selection-disabled{-webkit-user-select:none;user-select:none}.mapping-source-viewer:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.mapping-source-highlight{background:var(--color-accent);border-block-end:.1875rem solid var(--color-primary);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-ink);padding-inline:.1rem}.mapping-draft-selection{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-ink);text-underline-offset:.12em;background:#17203314;padding-inline:.1rem;-webkit-text-decoration:underline dashed #314158a6;text-decoration:underline dashed #314158a6;text-decoration-thickness:.12em}.mapping-manual-selection{background:var(--manual-selection-highlight);-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 0 .25rem var(--manual-selection-halo);color:var(--color-ink);-webkit-text-decoration-color:var(--manual-selection-underline);text-decoration-color:var(--manual-selection-underline);text-underline-offset:.12em;padding-inline:.1rem;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:.12em}.mapping-confirmed-selection{background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-selected-lightness));border-block-end:.3125rem solid hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-border-lightness));-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-ink);padding-inline:.1rem}.mapping-inline-highlight{background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-lightness));border-block-end:.1875rem solid hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-border-lightness));-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.1rem;display:inline}.mapping-source-choices{background:var(--color-panel);border:.125rem dashed var(--color-border);margin-block-start:.75rem;padding:.75rem}.mapping-source-choices p{color:var(--color-muted);margin-block:0;font-size:.8rem}.mapping-selection-status{color:var(--color-muted);font-size:.75rem;line-height:1.5}.mapping-panel-tabs{display:none}.mapping-actions{flex-wrap:wrap;align-items:end;gap:.5rem;margin-block-start:1.5rem;display:flex}.mapping-actions--footer{justify-content:space-between;align-items:flex-start}.mapping-actions-group{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.mapping-actions-group--selection{justify-content:flex-start}.mapping-actions-group--authoring{justify-content:flex-end;margin-inline-start:auto}.mapping-ai-scan-scope{margin:0}.mapping-ai-annotation-actions{justify-content:flex-start}.mapping-actions button{width:auto;margin:0}.mapping-confirmation-dialog{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);max-block-size:calc(100dvh - 2rem);max-inline-size:min(36rem,100vw - 2rem);width:min(36rem,100vw - 2rem);padding:0}.mapping-diff-dialog{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);max-inline-size:calc(100vw - 2rem);width:min(90rem,100vw - 2rem);padding:0}.mapping-diff-dialog::backdrop{background:#17203394}.mapping-diff-dialog-body{padding:1rem}.mapping-diff-dialog .mapping-revision-diff{block-size:min(60dvh,38rem)}.mapping-confirmation-dialog::backdrop{background:#17203394}.mapping-confirmation-dialog-header{background:var(--color-surface);border-block-end:.125rem solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.mapping-confirmation-dialog-header p,.mapping-confirmation-dialog-header h2{margin:0}.mapping-confirmation-dialog-header p{color:var(--color-muted);font-size:.75rem}.mapping-confirmation-dialog-header button{flex:none;margin:0}.mapping-confirmation-dialog-body{max-block-size:min(70dvh,38rem);padding:1rem;overflow:auto}.mapping-confirmation-dialog-body code{overflow-wrap:anywhere}.mapping-confirmation-dialog-actions{flex-wrap:wrap;gap:.5rem;margin-block-start:1rem;display:flex}.mapping-confirmation-dialog-actions button{width:auto;margin:0}.traceability-description{color:var(--color-muted);font-size:.8rem}.traceability-code-context{background:var(--color-panel);border:.125rem solid var(--color-border);white-space:pre-wrap;max-block-size:26rem;margin:0;padding:.75rem;overflow:auto}.traceability-highlight{--traceability-highlight-hue:196;background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-lightness));border:0;border-block-end:.1875rem solid hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-border-lightness));color:var(--color-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;font:inherit;margin:0;padding:0;text-decoration:underline;display:inline}.traceability-highlight,.traceability-highlight *{color:var(--color-ink)!important;text-decoration:underline!important}.traceability-highlight:hover{background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-hover-lightness))}.traceability-highlight[aria-pressed=true]{background:hsl(var(--traceability-highlight-hue) var(--traceability-highlight-saturation) var(--traceability-highlight-selected-lightness));border-block-end-width:.3125rem}.traceability-highlight:focus-visible{outline:.25rem solid var(--color-primary);outline-offset:0}.traceability-highlight.mapping-ai-candidate-highlight,.mapping-confirmed-selection.mapping-ai-candidate-highlight{border-block-end-style:dashed}.traceability-code-preview{border-block-start:.125rem solid var(--color-border);margin:0;padding-block-start:.75rem}.traceability-preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.traceability-preview-heading .status-badge--current{margin-block-end:.25rem}.traceability-code-context{margin-block:.75rem;font-size:.8rem}.traceability-code-line{padding-inline:.25rem;display:block}.traceability-code-line.is-selected{background:var(--color-accent);border-inline-start:.1875rem solid var(--color-primary)}.traceability-line-number{color:var(--color-muted);-webkit-user-select:none;user-select:none;inline-size:3rem;display:inline-block}.traceability-dialog-content{position:relative}.traceability-dialog-content .traceability-description{margin-block:0 1rem}.traceability-document{min-block-size:8rem;position:relative}.traceability-document>pre{white-space:pre-wrap;margin:0}.traceability-context-menu{background:var(--color-panel);border:.125rem solid var(--color-border);z-index:1;max-block-size:min(32rem,60dvh);max-inline-size:min(32rem,100% - 1.5rem);padding:0;position:fixed;inset-block-start:var(--traceability-context-block-start,.75rem);inset-inline-start:var(--traceability-context-inline-start,auto);inset-inline-end:var(--traceability-context-inline-end,.75rem);overflow:auto}.traceability-context-menu-content{gap:.75rem;padding:.875rem;display:grid}.drift-dialog{background:var(--color-panel);border:.125rem solid var(--color-border);color:var(--color-ink);max-block-size:calc(100dvh - 2rem);padding:0}.drift-evidence-dialog{max-inline-size:min(64rem,100vw - 2rem);width:min(64rem,100vw - 2rem)}.drift-confirmation-dialog{max-inline-size:min(36rem,100vw - 2rem);width:min(36rem,100vw - 2rem)}.drift-dialog::backdrop{background:#17203394}.drift-dialog-header{background:var(--color-surface);border-block-end:.125rem solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.drift-dialog-header h2,.drift-dialog-header p{margin:0}.drift-dialog-header p{color:var(--color-muted);font-size:.75rem}.drift-dialog-header button{flex:none;margin:0}.drift-dialog-body{max-block-size:min(75dvh,46rem);padding:1rem;overflow:auto}.drift-dialog-actions{flex-wrap:wrap;gap:.5rem;margin-block-start:1rem;display:flex}.drift-dialog-actions button{width:auto;margin:0}.drift-diff{background:var(--color-panel);padding:.75rem;overflow:auto}.drift-diff-line{display:block}.drift-diff-line.is-added{background:color-mix(in srgb, var(--color-accent) 55%, transparent)}.drift-diff-line.is-removed{background:color-mix(in srgb, var(--color-danger) 20%, transparent)}.drift-specification-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.drift-specification-evidence pre,.specification-anchor-preview{background:var(--color-panel);white-space:pre-wrap;margin:0;padding:.75rem;overflow:auto}.specification-anchor-preview mark{background:var(--color-accent)}@media (width<=48rem){.mapping-revision-badges{flex-basis:100%;margin-inline-start:0}.mapping-panel-tabs{gap:.25rem;margin-block-end:1rem;display:flex}.mapping-panel-tabs [role=tab]{background:var(--color-primary-soft);margin:0}.mapping-panel-tabs [role=tab][aria-selected=true]{background:var(--color-primary);text-decoration:underline}.mapping-source-grid{display:block}.mapping-source-grid[data-active-tab=specification] .mapping-code-panel,.mapping-source-grid[data-active-tab=code] .mapping-specification-panel{display:none}.traceability-context-menu{max-inline-size:none;inset-block-start:.5rem;inset-inline:.5rem}.drift-specification-evidence{grid-template-columns:1fr}}
