/* Reality Check: landing page + the assessment app.
   Builds on product/product.css (tokens, nav, buttons, sections). Gold accent, blue/violet scene. */
.p-rc{--accent:#eac557;--accent-soft:rgba(234,197,87,.12);--gold2:#eac557;--sheet:rgba(7,12,26,.94)}

/* ------------------------------------------------------------------ landing */
.rc-hero{position:relative;padding:clamp(104px,15vh,150px) 0 clamp(56px,8vh,90px);overflow:hidden}
.rc-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(55% 60% at 78% 50%,rgba(148,112,245,.16),transparent 70%),radial-gradient(40% 50% at 70% 85%,rgba(88,220,248,.08),transparent 70%),radial-gradient(120% 90% at 50% 10%,#07102a 0%,#03070f 60%)}
.rc-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,60px);align-items:center}
.rc-hero h1{font-size:clamp(38px,5vw,72px);line-height:1.03;text-wrap:balance}
.rc-grad{background:linear-gradient(90deg,#eac557,#f3d98a 40%,#a775d6);-webkit-background-clip:text;background-clip:text;color:transparent}
.rc-hero .lede{margin:22px 0 0;max-width:540px;font-size:clamp(17px,1.4vw,20px);font-weight:300;color:var(--body)}
.rc-hero .cta,.p-close .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.rc-note{margin:18px 0 0;font-size:13px;color:var(--muted)}
.rc-resume{margin:14px 0 0;font-size:14px;color:var(--body)}
.rc-link{background:none;border:0;padding:0;color:var(--gold2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.rc-link:hover{color:#fff}

.rc-preview{margin:0;display:grid;gap:10px}
.rc-preview-stage{position:relative;aspect-ratio:16/11;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#050a18 url(../insights/img/17-agent-tunnel-sm.jpg) center/cover;box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.02)}
.rc-preview-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.rc-preview-poster{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(3,7,15,.25),rgba(3,7,15,.6))}
.rc-preview-poster[hidden]{display:none}
.rc-play-big{width:76px;height:76px;border-radius:50%;border:1px solid rgba(234,197,87,.6);background:rgba(5,10,22,.65);backdrop-filter:blur(6px);display:grid;place-items:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
.rc-play-big svg{width:30px;height:30px;fill:var(--gold2);margin-left:4px}
.rc-play-big:hover{transform:scale(1.05);box-shadow:0 0 0 8px rgba(234,197,87,.12)}
.rc-play-big.is-loading{opacity:.6;cursor:progress}
.rc-preview-caption{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;margin:0;padding:8px 12px;border-radius:10px;background:rgba(5,10,22,.72);backdrop-filter:blur(8px);font-size:13px;color:var(--ink);border:1px solid var(--line)}
.rc-preview figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.rc-illus{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:999px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);background:rgba(5,10,22,.7);border:1px solid rgba(234,197,87,.35);pointer-events:none;z-index:3}
.rc-chip{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:rgba(5,10,22,.5);color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.rc-chip:hover,.rc-chip[aria-pressed=true]{color:var(--ink);border-color:rgba(234,197,87,.5)}

.rc-steps{list-style:none;counter-reset:s;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.rc-steps li{counter-increment:s;padding:22px;background:var(--bg);display:grid;gap:6px}
.rc-steps li::before{content:counter(s,decimal-leading-zero);font-size:12px;letter-spacing:.2em;color:var(--gold2)}
.rc-steps b{font-weight:500}
.rc-steps span{color:var(--body);font-size:14px}
.rc-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.rc-facts{list-style:none;margin:0;padding:0;display:grid;gap:18px;color:var(--body)}
.rc-facts li{padding-left:18px;border-left:2px solid rgba(234,197,87,.4)}
.rc-facts b{color:var(--ink);font-weight:500}

/* --------------------------------------------------------- registration */
.rc-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border-radius:18px;border:1px solid var(--line);background:#0a1122;color:var(--ink);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.rc-dialog::backdrop{background:rgba(2,5,12,.72);backdrop-filter:blur(4px)}
.rc-dialog form{padding:clamp(20px,4vw,32px);display:grid;gap:16px}
.rc-dialog form[hidden]{display:none}
.rc-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rc-dialog h2{font-size:clamp(22px,3vw,28px)}
.rc-dialog-lede{margin:0;color:var(--body);font-size:15px}
.rc-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}
.rc-x:hover{color:var(--ink)}
.rc-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.rc-fields label,.rc-otp-label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.rc-span2{grid-column:1/-1}
.rc-fields input,.rc-otp-input,.rc-num input,.rc-num select,.rc-as input{height:44px;padding:0 12px;border-radius:10px;border:1px solid rgba(160,185,220,.25);background:#060b18;color:var(--ink);font:inherit;font-size:15px;width:100%}
.rc-fields input:focus,.rc-otp-input:focus,.rc-num input:focus,.rc-num select:focus,.rc-as input:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:transparent}
[aria-invalid=true]{border-color:var(--risk)!important}
.req{color:var(--gold2)} .opt{font-size:11px;color:var(--faint);margin-left:4px}
.rc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rc-purpose{font-size:13px;color:var(--body);padding:12px 14px;border-radius:10px;background:rgba(88,220,248,.05);border:1px solid rgba(88,220,248,.15)}
.rc-purpose a{color:var(--cyan)}
.rc-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--body);cursor:pointer}
.rc-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold2);flex:none}
.rc-check--sm{font-size:12px;align-items:center}.rc-check--sm input{margin:0;width:16px;height:16px}
.rc-form-msg{margin:0;min-height:1.2em;font-size:14px;color:#ffb39e}
.rc-form-msg:empty{display:none}
.rc-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rc-otp-input{font-size:26px;letter-spacing:.4em;text-align:center;height:56px;max-width:260px}

/* ------------------------------------------------------------------- app */
body.rc-playing{overflow:hidden}
body.rc-playing .nav,body.rc-playing .sound-toggle{display:none}
.rc-app{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;background:#03070f;outline:none}
.rc-app[hidden]{display:none}
.rc-top{display:flex;align-items:center;gap:14px;min-width:0;padding:10px var(--gutter);border-bottom:1px solid var(--line);background:rgba(5,10,22,.9);min-height:56px}
.rc-top-brand img{width:26px;height:26px}
.rc-phases{display:flex;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;min-width:0}
.rc-phases button{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:999px;border:1px solid transparent;background:none;color:var(--muted);font-size:12px;letter-spacing:.06em;white-space:nowrap;cursor:pointer}
.rc-phases button span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);font-size:11px}
.rc-phases .is-current button{color:var(--ink);border-color:rgba(234,197,87,.45);background:rgba(234,197,87,.08)}
.rc-phases .is-current button span{border-color:var(--gold2);color:var(--gold2)}
.rc-phases .is-done button span{background:rgba(95,214,164,.15);border-color:rgba(95,214,164,.5);color:var(--ok)}
.rc-phases button:disabled{opacity:.45;cursor:default}
.rc-save{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.rc-save[data-s=saved]{color:var(--ok)}.rc-save[data-s=offline],.rc-save[data-s=local],.rc-save[data-s=error],.rc-save[data-s=conflict]{color:#f0c27a}
.rc-top-actions{display:flex;gap:6px}

.rc-metrics{display:flex;gap:8px;align-items:stretch;padding:8px var(--gutter);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;background:linear-gradient(180deg,rgba(10,16,32,.8),rgba(5,10,22,.6))}
.rc-metrics-k{display:grid;align-content:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-right:6px;white-space:nowrap}
.rc-metrics-k small{font-size:10px;letter-spacing:.1em;color:var(--gold2)}
.rc-metric{flex:1 0 140px;display:grid;gap:2px;text-align:left;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(10,16,32,.7);cursor:pointer;transition:border-color .3s,background .3s}
.rc-metric small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-metric b{font-size:clamp(17px,1.6vw,22px);font-weight:400;font-variant-numeric:tabular-nums}
.rc-metric:hover{border-color:rgba(232,238,247,.3)}
.rc-metric.is-up{border-color:rgba(234,197,87,.55);background:rgba(234,197,87,.06)}
.rc-metric--ctx{border-style:dashed}

.rc-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);min-height:0}
.rc-scene-col{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0}
.rc-stage{position:relative;min-height:0;overflow:hidden;background:#050a18}
.rc-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation}
.rc-overlay{position:absolute;inset:0;pointer-events:none}
.rc-zl{position:absolute;left:0;top:0;z-index:1;padding:2px 9px;border-radius:999px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:rgba(5,10,22,.72);border:1px solid rgba(234,197,87,.4);color:#f3dfa6;transition:opacity .3s}
.rc-zl--hidden{border-color:rgba(88,220,248,.4);color:#bfeeff}
.rc-zl--external{border-color:rgba(167,117,214,.55);color:#dcc6ff}
.rc-zl--onprem{border-color:rgba(234,197,87,.5);color:#f3dfa6}
.rc-badge{position:absolute;left:0;top:0;padding:0 6px;border-radius:999px;font-size:10px;font-weight:600;background:#eac557;color:#1a1405;font-variant-numeric:tabular-nums}
.rc-tip{position:absolute;left:0;top:0;padding:5px 10px;border-radius:8px;background:rgba(5,10,22,.92);border:1px solid var(--line);font-size:12px;pointer-events:none;white-space:nowrap;z-index:4}
.rc-caption{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:min(640px,calc(100% - 28px));margin:0;padding:9px 16px;border-radius:12px;background:rgba(5,10,22,.82);backdrop-filter:blur(8px);border:1px solid rgba(234,197,87,.4);font-size:14px;text-align:center;pointer-events:none;z-index:3}
.rc-caption:empty{display:none}
.rc-caption[data-benign="1"]{border-color:rgba(88,220,248,.35)}
.rc-caption.is-in{animation:rc-cap .45s ease}
@keyframes rc-cap{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
.rc-app .rc-illus{top:auto;bottom:6px;left:10px;right:auto;z-index:2}
/* In the app the caption has its own strip at the top of the scene (the layout reserves it), clear of platforms and labels. */
.rc-app .rc-caption{top:6px;bottom:auto;max-width:calc(100% - 20px);padding:6px 14px;font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-textview{position:absolute;inset:0;overflow:auto;padding:24px var(--gutter);background:#050a18;z-index:5}
.rc-textview h3{font-size:20px;margin-bottom:10px}
.rc-app.is-text .rc-canvas,.rc-app.is-text .rc-overlay,.rc-app.is-text .rc-caption{visibility:hidden}

.rc-transport{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--line);background:rgba(5,10,22,.9)}
.rc-transport[hidden]{display:none}
.rc-tbtn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;font-size:13px;flex:none}
.rc-tbtn:hover{border-color:rgba(234,197,87,.6)}
.rc-scrub{position:relative;flex:1;min-width:80px;display:grid;align-items:center}
.rc-scrub input{width:100%;accent-color:var(--gold2);margin:0;height:28px}
.rc-marks{position:absolute;left:8px;right:8px;top:50%;height:0;pointer-events:none}
.rc-marks i{position:absolute;top:-9px;width:2px;height:6px;border-radius:1px;background:rgba(238,122,92,.85)}
.rc-clock{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-speed{display:flex;gap:2px}
.rc-speed label{position:relative}
.rc-speed input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rc-speed span{display:block;padding:4px 8px;border-radius:999px;font-size:11px;color:var(--muted);border:1px solid transparent}
.rc-speed input:checked+span{color:var(--ink);border-color:rgba(234,197,87,.5)}
.rc-speed input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:1px}

.rc-side{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-left:1px solid var(--line);background:var(--sheet)}
.rc-sheet-handle{display:none}
.rc-panel{overflow-y:auto;padding:22px 22px 28px;overscroll-behavior:contain}
.rc-panel h2{font-size:24px;font-weight:300;outline:none}
.rc-panel-kicker{margin:0 0 6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.rc-panel-lede{margin:8px 0 18px;color:var(--body);font-size:14px}
.rc-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.rc-panel-actions .button{min-height:42px;padding:0 18px}
.rc-field{border:0;margin:0 0 16px;padding:0}
.rc-field legend,.rc-q legend{font-size:13px;color:var(--ink);margin-bottom:8px;padding:0;font-weight:500}
.rc-opts{display:flex;flex-wrap:wrap;gap:6px}
.rc-opts--grid{display:grid;grid-template-columns:1fr 1fr}
.rc-opt{position:relative;cursor:pointer}
.rc-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rc-opt span{display:grid;gap:1px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(10,16,32,.6);min-height:40px;transition:border-color .2s,background .2s}
.rc-opt b{font-weight:400;font-size:14px}
.rc-opt small{font-size:11px;color:var(--muted);line-height:1.35}
.rc-opt input:checked+span{border-color:var(--gold2);background:rgba(234,197,87,.09)}
.rc-opt input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}
.rc-opt:hover span{border-color:rgba(232,238,247,.3)}
.rc-num{display:grid;gap:6px;margin:0 0 16px;font-size:13px}
.rc-num small{color:var(--faint)}
.rc-num input,.rc-num select{max-width:220px;height:40px}

.rc-block{margin:0 0 18px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(10,16,32,.5)}
.rc-block h3{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;font-size:15px;font-weight:500;margin-bottom:12px}
.rc-block h3 small{font-size:11px;font-weight:400;color:var(--muted)}
.rc-block h3 small a{color:var(--cyan)}
.rc-block--facts{border-color:rgba(88,220,248,.28)}
.rc-block--facts h3 small{color:var(--cyan)}
.rc-block--sim{border-color:rgba(234,197,87,.3);background:repeating-linear-gradient(135deg,rgba(234,197,87,.025) 0 10px,transparent 10px 20px),rgba(10,16,32,.5)}
.rc-block--sim h3 small{color:var(--gold2)}
.rc-q{border:0;margin:0 0 14px;padding:0}
.rc-q:last-child{margin-bottom:0}
.rc-help{margin:-4px 0 8px;font-size:12px;color:var(--muted)}
.rc-seg{display:flex;flex-wrap:wrap;gap:4px}
.rc-seg-opt{position:relative}
.rc-seg-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rc-seg-opt span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--body);cursor:pointer;transition:all .2s}
.rc-seg-opt input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}
.rc-seg-opt input:checked+span{color:#06101f;font-weight:500}
.rc-v-yes input:checked+span{background:var(--ok);border-color:var(--ok)}
.rc-v-partial input:checked+span{background:#9fd8ff;border-color:#9fd8ff}
.rc-v-no input:checked+span{background:#f0a48f;border-color:#f0a48f}
.rc-v-unknown input:checked+span{background:#c6cfe0;border-color:#c6cfe0}
.rc-v-na input:checked+span{background:#5d6b80;border-color:#5d6b80;color:var(--ink)}
.rc-seg--sim input:checked+span{background:var(--gold2);border-color:var(--gold2)}
.rc-effect{margin:8px 0 0;font-size:12px;color:var(--body)}
.rc-effect b{color:var(--gold2);font-weight:500}
.rc-apply{margin-top:10px;width:100%;text-align:left;padding:9px 12px;border-radius:10px;border:1px dashed rgba(88,220,248,.5);background:rgba(88,220,248,.05);color:#bfeeff;font-size:12px;cursor:pointer}
.rc-apply:hover{background:rgba(88,220,248,.1)}
.rc-apply:disabled{opacity:.6;cursor:default}
.rc-tradeoffs{margin:12px 0 0;padding-left:18px;font-size:12px;color:var(--muted)}
.rc-more{margin-top:16px;font-size:14px}
.rc-more summary{cursor:pointer;color:var(--cyan)}
.rc-more ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}
.rc-muted{color:var(--muted)} .rc-small{font-size:12px}
.rc-conflict{margin-bottom:16px;padding:14px;border-radius:12px;border:1px solid #f0c27a;background:rgba(240,194,122,.08);display:grid;gap:10px}
.rc-conflict p{margin:0}

.rc-assume{display:grid;gap:10px}
.rc-as{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0}
.rc-as legend{font-size:13px;padding:0 4px}
.rc-as-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;gap:6px;align-items:center}
.rc-as-k{font-size:11px;color:var(--muted)}
.rc-as input{height:34px;font-size:14px;padding:0 8px;min-width:0}
.rc-as-unit{font-size:11px;color:var(--faint);white-space:nowrap}
.rc-as-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.rc-prov{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.rc-prov--visitor{color:var(--cyan);border-color:rgba(88,220,248,.4)}
.rc-prov--unknown{color:#f0c27a;border-color:rgba(240,194,122,.4)}
.rc-as.is-unknown{opacity:.75}

.rc-table{width:100%;border-collapse:collapse;font-size:13px}
.rc-table th,.rc-table td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.rc-table thead th{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.rc-table small{color:var(--muted)}
.rc-score{display:inline-block;min-width:44px;padding:1px 8px;border-radius:999px;background:linear-gradient(90deg,rgba(234,197,87,.35) calc(var(--v)*100%),rgba(160,185,220,.08) 0);font-variant-numeric:tabular-nums}
.rc-findings{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rc-f details{border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.rc-f summary{cursor:pointer;font-size:14px;display:flex;gap:8px;align-items:baseline}
.rc-sev{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:1px 7px;border-radius:999px;border:1px solid}
.rc-f--high .rc-sev{color:#f0a48f}.rc-f--medium .rc-sev{color:#f0c27a}.rc-f--low .rc-sev{color:#9fd8ff}
.rc-f dl{margin:10px 0 2px;display:grid;grid-template-columns:100px 1fr;gap:6px 10px;font-size:13px}
.rc-f dt{color:var(--muted)} .rc-f dd{margin:0;color:var(--body)} .rc-f dd ul{margin:0;padding-left:16px}
.rc-est{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rc-est li{display:grid;gap:2px}
.rc-est b{font-weight:500;font-size:14px}
.rc-est span{font-size:15px;font-variant-numeric:tabular-nums}
.rc-est small{font-size:11px;color:var(--faint)}
.rc-fit-p a{font-size:18px;color:var(--gold2)}
.rc-fit-p p{margin:2px 0 8px;font-size:13px;color:var(--body)}
.rc-fit-2{margin-top:6px}
.rc-block small{color:var(--muted)}
.rc-block ul{font-size:13px}

.rc-below{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);height:clamp(96px,18vh,170px);background:rgba(5,10,22,.95)}
.rc-below details{min-height:0;overflow:auto;padding:8px var(--gutter);border-right:1px solid var(--line)}
.rc-below summary{cursor:pointer;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:4px 0}
.rc-event-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px;font-size:13px}
.rc-ev{display:grid;grid-template-columns:44px 1fr;gap:8px;color:var(--ink)}
.rc-ev time{color:var(--faint);font-variant-numeric:tabular-nums}
.rc-ev.is-benign{color:var(--body)}
.rc-ev--profile span,.rc-ev--fact span{color:#bfeeff}.rc-ev--control span{color:#f3dfa6}
.rc-entity-list h4{margin:8px 0 4px;font-size:12px;font-weight:500;color:var(--gold2)}
.rc-el-zone{margin-bottom:6px;font-size:13px}
.rc-el-zone ul{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.rc-el-zone button{border:1px solid var(--line);background:none;border-radius:8px;padding:3px 8px;font-size:12px;cursor:pointer;color:var(--ink)}
.rc-el-zone button small{color:var(--muted)}
.rc-el-zone button:hover{border-color:rgba(232,238,247,.35)}

.rc-drawer{position:absolute;right:0;top:56px;bottom:0;width:min(400px,100%);z-index:10;background:#0a1122;border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.5);display:grid;grid-template-rows:auto 1fr;outline:none}
.rc-drawer[hidden]{display:none}
.rc-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.rc-drawer-head h3{font-size:18px;font-weight:400}
.rc-drawer-body{overflow:auto;padding:16px 18px;font-size:14px;color:var(--body);display:grid;gap:12px;align-content:start}
.rc-drawer-body ul{margin:4px 0 0;padding-left:18px}
.rc-drawer-body b{color:var(--ink);font-weight:500}
.rc-kind{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rc-state{padding:1px 8px;border-radius:999px;font-size:10px;border:1px solid}
.rc-state--fail{color:#f0a48f}.rc-state--ok{color:var(--ok)}.rc-state--focus,.rc-state--blocked{color:var(--gold2)}.rc-state--fog{color:#c6cfe0}
.rc-class{padding:1px 8px;border-radius:6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.rc-class--public{background:rgba(95,214,164,.15);color:var(--ok)}.rc-class--internal{background:rgba(88,220,248,.12);color:var(--cyan)}
.rc-class--confidential{background:rgba(234,197,87,.15);color:var(--gold2)}.rc-class--restricted{background:rgba(238,122,92,.15);color:#f0a48f}
.rc-tags{list-style:none;padding:0!important;display:flex;flex-wrap:wrap;gap:4px}
.rc-tags li{padding:2px 8px;border-radius:6px;background:rgba(148,112,245,.12);color:#dcc6ff;font-size:12px;font-family:ui-monospace,monospace}

/* ------------------------------------------------------------ responsive */
@media (max-width:980px){
  .rc-hero-grid,.rc-two{grid-template-columns:1fr}
  .rc-main{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}
  .rc-below{grid-template-columns:1fr}
  .rc-below .rc-entities{display:none}
}
/* Phones and portrait tablets: scene on top, decisions in a bottom sheet, compact metric strip. */
@media (max-width:760px){
  .rc-top{gap:8px;padding:8px 12px;flex-wrap:wrap;min-height:0}
  .rc-top-brand{display:none}
  .rc-phases{order:3;width:100%}
  .rc-phases button{height:30px;padding:0 9px;font-size:11px}
  .rc-save{margin-left:0;font-size:11px}
  .rc-top-actions{margin-left:auto}
  .rc-top-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}
  .rc-top-actions .rc-chip{height:28px;padding:0 8px;font-size:10px;letter-spacing:.06em}
  .rc-block{padding:12px}
  .rc-seg-opt span{min-height:34px;padding:0 10px}
  .rc-metrics{padding:6px 12px;gap:6px}
  .rc-metrics-k{display:none}
  .rc-metric{flex:1 0 108px;padding:5px 9px}
  .rc-metric small{font-size:10px}
  .rc-metric b{font-size:15px}
  .rc-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,40%) minmax(0,1fr);position:relative}
  .rc-app.sheet-collapsed .rc-main{grid-template-rows:minmax(0,1fr) 44px}
  .rc-side{border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -20px 50px rgba(0,0,0,.45);margin-top:-12px;z-index:2}
  .rc-sheet-handle{display:block;height:24px;border:0;background:none;cursor:pointer;position:relative}
  .rc-sheet-handle::before{content:'';position:absolute;left:50%;top:9px;width:44px;height:4px;margin-left:-22px;border-radius:2px;background:rgba(232,238,247,.3)}
  .rc-panel{padding:4px 16px 24px}
  .rc-panel h2{font-size:20px}
  .rc-opts--grid{grid-template-columns:1fr}
  .rc-transport{padding:6px 10px;gap:6px}
  .rc-speed{display:none}
  .rc-below{display:none}
  .rc-caption{font-size:12px;bottom:8px;padding:6px 10px}
  .rc-app .rc-caption{top:6px;bottom:auto;padding:5px 10px;font-size:12px}
  .rc-app .rc-illus{font-size:9px;padding:2px 7px}
  .rc-zl{font-size:10px;padding:1px 7px;letter-spacing:.08em}
  .rc-drawer{top:0;width:100%}
  .rc-fields{grid-template-columns:1fr}
  .rc-as-row{grid-template-columns:auto 1fr auto 1fr;}
  .rc-as-row .rc-as-unit{grid-column:1/-1}
  .rc-f dl{grid-template-columns:1fr}
}
@media (max-width:760px) and (orientation:landscape){
  .rc-main{grid-template-columns:minmax(0,1fr) minmax(280px,46%);grid-template-rows:1fr}
  .rc-side{margin:0;border-radius:0;border-top:0;border-left:1px solid var(--line)}
  .rc-sheet-handle{display:none}
  .rc-phases{order:0;width:auto}
}
@media (prefers-reduced-motion:reduce){
  .rc-caption.is-in{animation:none}
  .rc-play-big,.rc-metric{transition:none}
}

/* The small preview keeps only its caption; zone names would crowd it. */
.rc-preview .rc-zl{font-size:9px;padding:1px 6px;letter-spacing:.08em}
@media (max-width:760px){.rc-preview .rc-zl,.rc-preview .rc-badge{display:none}}

/* Cookie banner while the app is open: docked as a full-width bar under the app, never over the panels.
   The shared consent script is untouched; rc.js measures the bar and sets --rc-consent-h. */
body.rc-playing .tc-consent{left:0;right:0;bottom:0;width:auto;max-width:none;z-index:41;border-radius:0;border-width:1px 0 0;
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--gutter,16px);box-shadow:none;background:#070d1c}
body.rc-playing .tc-consent p{margin:0}
body.rc-playing .rc-app{bottom:var(--rc-consent-h,0px)}
@media (max-width:600px){body.rc-playing .tc-consent{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px}}
.rc-est-group + .rc-est-group{margin-top:14px}
.rc-est-group h4{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);font-weight:500}
.rc-est-group h4 small{margin-left:8px;letter-spacing:0;text-transform:none;color:var(--faint);font-size:11px}
.rc-before-after{font-size:13px!important;color:#9fe6c9}
.rc-before-after small{color:var(--faint)}

/* Short landscape screens: the scene needs the height more than the event log does. */
@media (max-height:520px) and (orientation:landscape){
  .rc-below{display:none}
  .rc-top{min-height:44px;padding-top:6px;padding-bottom:6px}
  .rc-metrics{padding:5px var(--gutter)}
  .rc-metrics-k{display:none}
  .rc-metric{padding:4px 9px}
  .rc-metric small{font-size:10px}
  .rc-metric b{font-size:15px}
}
