.rv-shell{max-width:1220px;margin:0 auto;padding:26px 20px 72px;color:#e7edf7}
.rv-shell *{box-sizing:border-box}.rv-shell a{color:#a8d4ff}.rv-back{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#9cabc2;font-size:13px;margin-bottom:25px}.rv-back a{text-decoration:none}.rv-hero{background:linear-gradient(125deg,#111b2d,#1d2940);border:1px solid #34435b;border-radius:14px;padding:30px 32px;margin-bottom:18px}.rv-kicker{color:#e4b64c!important;font-size:11px;font-weight:800;letter-spacing:.16em}.rv-hero h1{color:#f5f8ff;font-size:clamp(30px,5vw,50px);margin:6px 0 10px}.rv-hero p{max-width:760px;color:#c2ccdc;line-height:1.65;margin:0}.rv-session,.rv-panel,.rv-reference{background:#111b2b;border:1px solid #34435b;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.rv-session{padding:16px 20px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.rv-session strong,.rv-session span{display:block}.rv-session span{font:12px ui-monospace,Consolas,monospace;color:#a9bdd6;margin-top:4px}.rv-actions{display:flex;gap:9px;flex-wrap:wrap}.rv-shell button,.rv-sign-in{border:1px solid #556b87;border-radius:7px;background:#26354b;color:#f7faff;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}.rv-shell button:hover,.rv-sign-in:hover{background:#34506d}.rv-shell button:disabled{opacity:.45;cursor:not-allowed}.rv-shell .rv-primary{background:#dba939;color:#17202d;border-color:#e6b64e}.rv-shell .rv-primary:hover{background:#f0c15d}.rv-grid{display:grid;grid-template-columns:minmax(290px,460px) minmax(0,1fr);gap:18px}.rv-panel{padding:22px;min-width:0}.rv-panel h2,.rv-reference h2{color:#f4f7fc;font-size:19px;margin:0 0 10px}.rv-panel p,.rv-reference p{color:#b6c4d8;font-size:13px;line-height:1.6}.rv-panel label{display:block;color:#cbd8e9;font-size:12px;font-weight:700;margin:16px 0 6px}.rv-panel select,.rv-panel input,.rv-panel textarea{display:block;width:100%;background:#0b1422;border:1px solid #475e78;border-radius:6px;color:#e8f3ff;font:13px ui-monospace,Consolas,monospace;padding:10px;min-width:0}.rv-panel textarea{resize:vertical;overflow-wrap:anywhere}.rv-fields [data-op][hidden]{display:none!important}.rv-panel #rv-build,.rv-panel #rv-send{margin-top:15px}.rv-panel #rv-error{min-height:20px;color:#ff9898}.rv-monitor{display:flex;flex-direction:column;min-height:540px}.rv-monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.rv-log{background:#080e18;border:1px solid #304159;border-radius:7px;padding:16px;flex:1;max-height:850px;overflow:auto;font:12px/1.6 ui-monospace,Consolas,monospace;color:#c7d6ec}.rv-entry{padding:12px 0;border-bottom:1px solid #24334a}.rv-entry:last-child{border:0}.rv-entry h3{font-size:12px;color:#e3b955;margin:0 0 7px}.rv-entry .rv-meta{color:#9eb4cf;margin:0 0 8px}.rv-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#d5e5fa;margin:5px 0}.rv-entry .rv-bad{color:#ff9999}.rv-reference{margin-top:18px;padding:20px 24px}.rv-reference code{font:12px ui-monospace,Consolas,monospace;overflow-wrap:anywhere;color:#e8cf7a}@media(max-width:800px){.rv-grid{grid-template-columns:1fr}.rv-session{align-items:flex-start;flex-direction:column}.rv-monitor{min-height:360px}.rv-shell{padding:18px 12px 55px}.rv-hero{padding:22px}}
/* Keep the lab hero identical in both site themes. */
body.ctf-page.relay-vault-page header.rv-hero{background:#151e29!important;border-color:#354252!important;color:#edf2f7!important}
body.ctf-page.relay-vault-page header.rv-hero h1{color:#edf2f7!important}
body.ctf-page.relay-vault-page header.rv-hero p{color:#b7c4d2!important}
body.ctf-page.relay-vault-page header.rv-hero .rv-kicker{color:#e4b64c!important}
/* The site-wide section rule adds 72px below every panel; this lab uses 18px gaps. */
body.relay-vault-page .rv-grid > .rv-panel,
body.relay-vault-page .rv-reference{margin-bottom:0}

/* Keep the lab canvas aligned with the dark site palette in both themes. */
body.ctf-page.relay-vault-page,body.ctf-page.relay-vault-page main{background:#101720!important;color:#d6dfe8!important}
