/* v55: React illustrations on the approved neutral and woodblock art system. */
.site-page {min-height:100vh;}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
 .shimmer {background:linear-gradient(100deg,currentColor 25%,#a5a7b7 46%,currentColor 65%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:status-light-pass 2.6s linear infinite;}
}
@keyframes status-light-pass {from{background-position:140% 0;}to{background-position:-100% 0;}}
/* Native readable text is the reduced-motion and older-browser fallback. */
@media(prefers-reduced-motion:reduce){.shimmer{animation:none;background:none;-webkit-text-fill-color:currentColor;}}
.trace {list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.trace .case-step button {gap:11px;min-height:48px;}
.trace-title {flex:1;}
.trace-status-icon {flex-shrink:0;color:#898c9a;stroke-width:1.6;}
.trace-step[data-state=done] .trace-status-icon {color:#686c80;}
.trace-step[data-state=pending] .trace-status-icon {opacity:.45;}
.trace-chevron {flex-shrink:0;color:#888b99;transition:transform .2s;}
.trace-step button[aria-expanded=true] .trace-chevron {transform:rotate(180deg);}
.js-enabled .trace-detail[data-selected=false] {display:none;}
.trace-detail p {margin:0;}
.case-card .ui-card-title {font:450 16px/1.4 Inter,sans-serif;letter-spacing:-.025em;color:#4b4b60;margin:25px 0 24px;}
.review-issue .ui-card-title {font-size:13px;margin:16px 0 12px;}
.quote-result .ui-card-title {font-size:15px;margin:0 0 15px;}
.case-playback .playback-control-icon {display:block;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;}
.case-scene .case-diagram {padding-bottom:107px;}
.case-progress-caption {position:absolute;left:23px;right:20px;bottom:47px;font-size:11px;line-height:1.6;}
.trace-status-line {display:flex;align-items:center;gap:7px;color:#6d7082;}
.trace-status-dot {width:4px;height:4px;background:#9a9db1;border-radius:50%;flex-shrink:0;}
.trace-status-line[data-active=true] .trace-status-dot {background:#859ac3;box-shadow:0 0 0 3px #8e9ab510;}
.source-citation {display:inline-flex;align-items:center;gap:6px;min-height:30px;max-width:100%;padding:4px 0;border:0;background:none;font:inherit;text-align:left;color:#656b83;cursor:pointer;}
.source-citation > svg {flex-shrink:0;}
.source-citation > span {text-decoration:underline;text-decoration-color:#a2a5b04d;text-underline-offset:3px;}
.source-citation:hover {color:#383e57;}
.source-citation:focus-visible,.review-decision:focus-visible {outline:2px solid #626575;outline-offset:3px;border-radius:4px;}
.case-source:has(.source-citation) {padding-top:8px;}
.source-popover {z-index:80;width:320px;max-width:calc(100vw - 32px);padding:18px;border:1px solid #dcdde5;border-radius:14px;background:#fefeff;color:#484a59;box-shadow:0 5px 10px #25253506,0 18px 55px -12px #25253526,inset 0 1px #fff;animation:source-reveal .15s ease-out;}
.source-popover-heading {display:flex;justify-content:space-between;gap:10px;align-items:center;font:500 12px/1.5 Inter,sans-serif;}
.source-popover-heading > span {display:flex;align-items:center;gap:7px;}
.source-popover-heading button {width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;color:#777b8f;background:#f2f2f6;}
.source-popover .source-reference {font:11px/1.6 Inter,sans-serif;color:#818596;margin-top:6px;}
.source-popover blockquote {margin:14px 0 12px;padding-left:12px;border-left:2px solid #c6c9d6;font:12px/1.8 Inter,sans-serif;color:#545868;}
.source-example-note {font:10px/1.6 Inter,sans-serif;color:#888c9b;}
.source-popover-arrow {fill:#fefeff;}
@keyframes source-reveal {from{opacity:0;transform:translateY(3px);}to{opacity:1;transform:translateY(0);}}
.review-decision {display:block;width:100%;min-height:32px;margin-top:12px;border:1px solid #dcdde7;background:linear-gradient(#fff,#f8f8fb);color:#64697d;border-radius:7px;font:11px/1.4 Inter,sans-serif;box-shadow:0 1px 2px #24243506;}
.review-decision:hover {background:#f1f2f7;border-color:#c7cbd9;}
.review-decision:disabled {opacity:.45;cursor:default;}
.decision-dialog {position:fixed;width:430px;max-width:calc(100% - 32px);max-height:calc(100% - 40px);margin:auto;overflow:auto;border:1px solid #d9dbe5;border-radius:22px;padding:26px;background:#fdfdff;color:#434655;box-shadow:0 30px 90px #171b3530;}
.decision-dialog::backdrop {background:#23263735;backdrop-filter:blur(5px);}
.decision-dialog-top {display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7b7f92;}
.decision-dialog-top button {width:32px;height:32px;border:1px solid #e1e2e9;border-radius:9px;background:#f8f8fb;color:#6e7386;display:grid;place-items:center;}
.decision-icon {display:grid;place-items:center;width:48px;height:48px;margin:15px 0 20px;border:1px solid #e0dccc;border-radius:14px;background:linear-gradient(150deg,#fffef9,#f7f4ec);color:#99805c;box-shadow:0 3px 6px #413b2d08,inset 0 1px #fff;}
.decision-dialog h2 {font:400 28px/1.18 'Geist Pixel Square',monospace;letter-spacing:-.025em;margin:0 0 18px;}
.decision-dialog > p {font-size:13px;line-height:1.8;color:#717588;}
.decision-dialog dl {margin:20px 0;padding-block:5px;border-block:1px solid #e9eaf0;}
.decision-dialog dl > div {display:flex;justify-content:space-between;gap:25px;margin:12px 0;font-size:11px;line-height:1.7;}
.decision-dialog dt {color:#848899;flex-shrink:0;}
.decision-dialog dd {margin:0;text-align:right;color:#585e73;}
.decision-dialog .decision-example-note {font-size:11px;}
.decision-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:23px;}
.decision-actions button {min-height:42px;padding:10px 14px;border:1px solid #d9dce6;border-radius:9px;background:#f9f9fc;font-size:11px;color:#697084;}
.decision-actions .button {background:linear-gradient(155deg,#464b5e,#303445);border-color:#34394b;color:#fff;}
/* The scene titles are UI labels. Editorial headings retain the pixel font. */
.js-enabled .case-deck:not([data-ready=true]) .use-case:not([hidden]) ~ .use-case:not([hidden]) {display:none;}
.js-enabled .canvas-workflow:not([data-ready=true]) .story-pane:not(:first-child) {display:none;}
html:not(.js-enabled) .trace-detail {display:block!important;}
html:not(.js-enabled) .review-decision {display:none;}
@media(max-width:1100px) and (min-width:901px){.case-card .ui-card-title{font-size:14px;}.review-issue .ui-card-title{font-size:13px;}}
@media(max-width:900px) and (min-width:641px){.case-card .ui-card-title{font-size:17px;}}
@media(max-width:640px){
 .case-card .ui-card-title {font-size:17px;}
 .review-issue .ui-card-title {font-size:14px;}
 .quote-result .ui-card-title {font-size:18px;}
 .case-scene .case-diagram {padding-bottom:115px;}
 .case-progress-caption {left:18px;right:18px;bottom:47px;font-size:11px;}
 .case-source:has(.source-citation) {padding-top:8px;}
 .source-citation {min-height:36px;line-height:1.6;}
 .review-decision {min-height:36px;}
 .trace .case-step button {gap:8px;padding-right:12px;}
 .trace-status-icon {width:13px;height:13px;}
 .trace-chevron {width:11px;height:11px;}
 .decision-dialog {padding:22px;}
 .decision-actions button {min-height:44px;}
}
@media(prefers-reduced-motion:reduce){.source-popover,.trace-chevron{animation:none;transition:none;}}
@media(max-width:640px){
 /* Reserve both lines for the unrecorded and provisional allowance labels. */
 .case-decision small {min-height:30px;}
}
