/* Extensão isolada do Caso Ω-02. style.css e a plataforma original permanecem intactos. */
#case02-overlay[hidden], #case02-resume[hidden] { display:none !important; }
#case02-overlay { padding:20px; background:rgba(3,3,5,.96); transition:none; }
#case02-overlay #case02-panel { display:block; width:min(900px,100%); max-height:calc(100dvh - 40px); max-height:calc(100svh - 40px); padding:0; text-align:left; border-radius:16px; border-color:rgba(170,120,255,.3); color:#e8e5ed; background:linear-gradient(145deg,#121015,#080809); animation:none; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
#case02-overlay button, #case02-overlay input, #case02-overlay summary { font-family:inherit; font-size:14px; }
#case02-overlay button { min-height:44px; padding:12px 17px; color:#e0d6ed; background:#17121f; border:1px solid #4e3a67; border-radius:7px; cursor:pointer; letter-spacing:.065em; line-height:1.5; transition:background .15s,border-color .15s; }
#case02-overlay button:hover { background:#281c39; border-color:#ac80df; }
#case02-overlay button:disabled { cursor:default; color:#8c8795; background:#0e0d11; border-color:#29252f; }
#case02-overlay :is(button,input,summary,[tabindex]):focus-visible, #case02-resume:focus-visible, #case02-enter:focus-visible, #case02-original:focus-visible { outline:2px solid #c3a0f7; outline-offset:4px; }
#case02-overlay button.c2-primary { background:#472075; border-color:#8962bd; width:100%; margin-top:18px; font-weight:600; }
#case02-overlay button.c2-primary:hover {background:#58298d;}
#case02-overlay h2 { font-family:'Cinzel',serif; font-size:clamp(23px,3.5vw,34px); letter-spacing:.12em; margin:12px 0 18px; color:#f4effa; line-height:1.35; }
#case02-overlay h3 {font-size:13px;letter-spacing:.12em;line-height:1.7;margin:16px 0;}
#case02-overlay p {font-size:15px;line-height:1.85;margin:12px 0;color:#c0b9ca;}
#case02-overlay .case02-label { color:#ba98ea;font-size:11px;letter-spacing:.2em;margin:0; }
#case02-overlay .case02-untitled {color:#8d829a;font-size:12px;margin-top:-8px;}
.c2-body {padding:30px 36px 36px;}
.c2-toolbar {position:sticky;top:0;z-index:4;background:rgba(12,10,15,.98);border-bottom:1px solid #292130;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;}
#case02-overlay .c2-toolbar button {background:transparent;border-color:transparent;font-size:11px;}
.c2-toolbar>span {font-family:monospace;color:#c4a4ef;font-size:12px;letter-spacing:.1em;}
.c2-status {display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;padding:15px 36px;border-bottom:1px solid #241d2c;font-family:monospace;font-size:11px;color:#a99fb7;letter-spacing:.07em;}
.c2-status b {color:#e5d6fa;margin-left:8px;font-size:14px;}
.c2-saved {margin-left:auto;color:#aaa0b4;font-size:10px;}
.c2-investigator {display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:24px 0;padding:14px 0;border-block:1px solid #2d2238;}
.c2-investigator>span {font-family:monospace;color:#b5a4c8;font-size:10px;letter-spacing:.09em;}
.c2-investigator>span:last-child {margin-left:auto;}
#case02-overlay .c2-investigator button {color:#dbc2fe;border-color:#9f7ace;display:flex;align-items:center;gap:15px;}
.c2-signal {color:#d9b9ff;animation:c2Signal 2s ease-in-out infinite;}
@keyframes c2Signal {50% {opacity:.35;}}
.c2-objective {border-left:2px solid #9165c9;background:#15101d;padding:18px 22px;margin:20px 0;}
.c2-section-label {font-size:10px;font-family:monospace;letter-spacing:.1em;color:#bf9fe8;line-height:1.8;}
.c2-tabs {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:26px 0;}
#case02-overlay .c2-tabs button {font-size:11px;padding:12px 7px;}
.c2-inventory {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 26px;}
#case02-overlay .c2-record {display:flex;align-items:center;gap:13px;padding:18px 15px;text-align:left;letter-spacing:0;min-height:99px;background:#100d15;}
#case02-overlay .c2-record.is-recovered {border-color:#604278;}
.c2-record-number {font-family:monospace;font-size:21px;color:#b594dd;}
.c2-record strong {display:block;font-size:11px;line-height:1.6;letter-spacing:.05em;}
.c2-record small {display:block;font-size:10px;line-height:1.65;color:#a79cb4;margin-top:5px;}
.c2-record>span:last-child {margin-left:auto;color:#c7a9ec;}
#case02-overlay .c2-record:disabled .c2-record-number {color:#756c80;}
.c2-hints {margin-top:28px;padding-top:22px;border-top:1px solid #31273d;}
#case02-overlay .c2-hints p,#case02-overlay .c2-hints li {font-size:13px;line-height:1.85;color:#bdb2ca;}
.c2-hints ol {padding-left:22px;margin:12px 0 18px;}
.c2-hints li {padding:5px 0 5px 6px;}
#case02-overlay .c2-hints button {font-size:11px;}
.c2-hint-live {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
#case02-overlay p.c2-muted {font-size:12px;color:#a79caf;}
.c2-connections {display:grid;gap:16px;margin:24px 0;}
.c2-connection {border:1px dashed #43344f;border-radius:8px;padding:20px;}
.c2-connection.confirmed {border-style:solid;border-color:#60407e;background:#15101d;}
.c2-pair {font-family:monospace;font-size:13px;border-bottom:1px solid #473258;padding-bottom:12px;color:#d3b6f0;}
.c2-locations {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0;}
#case02-overlay .c2-locations button {display:flex;flex-direction:column;align-items:flex-start;gap:13px;text-align:left;letter-spacing:.05em;min-height:185px;padding:20px;}
.c2-location-mark {font-size:30px;line-height:1.4;font-family:monospace;color:#c3a2ee;}
.c2-locations strong {font-size:11px;}
.c2-locations small {font-size:11px;line-height:1.7;color:#b4a5c2;letter-spacing:0;}
.c2-observation {background:radial-gradient(ellipse at center,#251534,#0c0a10 75%);border:1px solid #4a315b;border-radius:12px;text-align:center;padding:40px 20px;margin:25px 0;}
.c2-observation>span {font-size:10px;letter-spacing:.15em;color:#c4b3d2;}
#case02-overlay .c2-observation h3 {font-family:'Cinzel',serif;font-size:38px;letter-spacing:.2em;color:#d4b3ff;}
#case02-overlay .c2-anomaly-target {min-width:60px;min-height:60px;font-family:serif;font-size:25px;margin-top:20px;border-color:#b089da;box-shadow:0 0 25px #6d319733;}
#case02-overlay .case02-evidence {text-align:left;}
#case02-overlay .case02-evidence-header {font-size:10px;letter-spacing:.2em;color:#b190da;margin:0 0 10px;}
#case02-overlay .case02-evidence-number {font-size:12px;color:#b7a2cb;letter-spacing:.12em;margin:0;}
#case02-overlay .case02-system-text {font-family:monospace;font-size:11px;line-height:1.7;color:#b0a2bc;}
#case02-overlay .case02-evidence-message {margin:22px 0;line-height:1.9;}
#case02-overlay .case02-code {text-align:left;background:#0b090f;border:1px solid #362642;border-radius:7px;padding:22px;line-height:1.8;color:#c5b5d8;font-family:monospace;font-size:13px;letter-spacing:.03em;overflow-wrap:anywhere;}
#case02-overlay .case02-divider {margin:24px 0;background:#3b2851;}
#case02-overlay .case02-hint {font-size:12px;color:#bfa3d8;margin:18px 0;}
#case02-overlay .case02-scan-result {color:#ddc0f7;padding:15px 20px;background:#1c1325;border-radius:6px;transform:none;}
#case02-overlay .case02-scan-result strong {color:#ddc0f7;}
.c2-note {border-left:2px solid #8256a8;padding:5px 18px;background:#1b1422;margin:22px 0;}
.c2-confirmation {background:#191026;border:1px solid #735097;padding:24px;border-radius:9px;margin:24px 0;line-height:1.8;color:#e4cdfb;}
#case02-overlay form {margin:26px 0;}
#case02-overlay label {display:block;font-size:13px;line-height:1.7;color:#cdb9df;margin-bottom:12px;}
#case02-overlay input {display:block;width:100%;min-height:48px;padding:14px 15px;background:#09070d;border:1px solid #694685;border-radius:7px;color:#f2e6ff;font-size:16px;letter-spacing:.08em;margin:0;}
#case02-overlay form button[type=submit] {min-height:48px;}
.c2-form-row {display:flex;gap:10px;align-items:stretch;}
#case02-overlay [role=status] {color:#dbc0f4;overflow-wrap:anywhere;}
.c2-comparison {display:grid;gap:10px;margin:25px 0;}
.c2-comparison details {border:1px solid #473154;border-radius:8px;}
#case02-overlay .c2-comparison summary {padding:17px;cursor:pointer;min-height:48px;font-size:12px;line-height:1.7;color:#d4bae8;}
.c2-comparison details>div {padding:10px 22px;}
#case02-overlay .c2-comparison h2 {font-size:22px;}
.c2-notice {padding:14px 24px;background:#392919;color:#f2d1a5;font-size:12px;line-height:1.8;}
.c2-terminal {border:1px solid #523367;background:#08060b;border-radius:9px;overflow:hidden;}
.c2-terminal-bar {display:flex;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid #362640;font-family:monospace;color:#c9a8e5;font-size:11px;letter-spacing:.08em;}
#case02-log {height:calc(100svh - 310px);min-height:200px;max-height:630px;overflow:auto;padding:22px;font-family:monospace;font-size:14px;line-height:1.8;color:#cbb8dc;scroll-behavior:auto;overscroll-behavior:contain;position:relative;}
#case02-log p {font-family:monospace;font-size:14px;line-height:1.8;color:#cbb8dc;margin:0 0 12px;}
.c2-log-entry {margin-bottom:22px;overflow-wrap:anywhere;}
.c2-log-entry strong {color:#efe2fb;}
.c2-log-entry.c2-solved {text-align:center;padding:30px 10px;border-block:1px solid #604277;margin:26px 0;font-size:17px;color:#e5d5f4;}
.c2-integrity-error {border-color:#986166;}
.c2-integrity-error .c2-terminal-bar {color:#f1b8b8;border-color:#744b53;}
.c2-terminal-controls {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
#case02-overlay .c2-terminal-controls button {font-size:10px;padding:10px 13px;}
.c2-progress {display:flex;align-items:center;gap:12px;}
#case02-overlay progress {appearance:none;width:100%;height:8px;border:none;border-radius:10px;overflow:hidden;background:#211629;accent-color:#b189df;}
#case02-overlay progress::-webkit-progress-bar {background:#211629;}
#case02-overlay progress::-webkit-progress-value {background:#b189df;}
#case02-overlay progress::-moz-progress-bar {background:#b189df;}
.c2-progress output {min-width:40px;font-size:11px;color:#caade9;}
.c2-photo {margin:14px 0 8px;text-align:center;opacity:0;transition:opacity .7s ease;}
.c2-photo-revealed .c2-photo {opacity:1;}
.c2-photo img {display:block;width:auto;max-width:100%;height:auto;max-height:min(380px,calc(100svh - 425px));object-fit:contain;margin:0 auto;border:1px solid #694c75;border-radius:4px;}
.c2-photo figcaption {font-size:10px;letter-spacing:.05em;line-height:1.6;margin-top:12px;color:#beabc9;}
.c2-closed .c2-terminal-bar {color:#d7b9ec;}
#case02-overlay.c2-finished .c2-body {padding-top:30px;}
#case02-resume {position:fixed;right:18px;top:18px;bottom:auto;z-index:1000000;display:flex;gap:14px;align-items:center;min-height:44px;padding:10px 15px;background:rgba(13,9,18,.96);border:1px solid #72518e;border-radius:7px;color:#dac4ed;font-family:monospace;font-size:11px;letter-spacing:.05em;box-shadow:0 8px 20px #0007;}
#case02-resume strong {font-size:11px;color:#bda5d0;}
#case02-record button {font-family:inherit;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;min-height:44px;max-width:100%;line-height:1.7;}
#case02-record #case02-original {display:block;font-size:10px;letter-spacing:.1em;border-bottom:1px solid #493558;margin-top:12px;color:#b59dc5;}
#case02-evidence-03-secondary {display:none;}
#case02-evidence-03-secondary.case02-unlocked {display:block;max-width:100%;min-height:44px;text-align:center;color:#bc9bda;border:1px solid #65457c;padding:12px;cursor:pointer;}
#case02-evidence-03-trigger.case02-unlocked {max-width:100%;min-height:44px;width:fit-content;flex-wrap:wrap;padding:10px;}
#moon[role=button]:focus-visible, #case02-evidence-03-trigger:focus-visible, #case02-evidence-03-secondary:focus-visible {outline:2px solid #bd99ef;outline-offset:5px;}
@media(max-width:600px) {
 #case02-overlay {padding:8px;}
 #case02-overlay #case02-panel {max-height:calc(100svh - 16px);border-radius:10px;scrollbar-gutter:auto;}
 .c2-toolbar {padding:5px 9px;}
 .c2-body {padding:25px 19px;}
 .c2-status {padding:13px 19px;gap:8px 18px;}
 .c2-saved {width:100%;margin:0;font-size:9px;}
 .c2-inventory {grid-template-columns:1fr;}
 #case02-overlay .c2-record {min-height:84px;}
 .c2-investigator {gap:10px;}
 .c2-investigator>span:last-child {width:100%;margin:0;}
 .c2-objective {padding:16px;}
 .c2-locations {grid-template-columns:1fr;}
 #case02-overlay .c2-locations button {min-height:100px;display:grid;grid-template-columns:65px 1fr;gap:5px 12px;align-items:center;}
 .c2-location-mark {grid-row:span 2;font-size:25px;}
 .c2-form-row {flex-direction:column;}
 #case02-overlay .case02-code {padding:18px;font-size:12px;}
 #case02-overlay h2 {letter-spacing:.08em;}
 #case02-log {padding:16px;height:calc(100svh - 280px);min-height:180px;font-size:12px;}
 #case02-log p {font-size:12px;}
 .c2-terminal-bar {padding:12px;font-size:9px;}
 .c2-photo img {max-height:calc(100svh - 390px);max-height:max(100px,calc(100svh - 390px));}
 .c2-photo figcaption {font-size:9px;}
 #case02-resume {top:10px;right:10px;font-size:10px;gap:10px;padding:8px 12px;}
}
@media(max-height:520px) {
 #case02-log {height:210px;}
 .c2-photo img {max-height:120px;}
}
@media(prefers-reduced-motion:reduce) {
 #case02-overlay *, #case02-resume, #case02-record, #case02-record * {animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}

body:has(#final-scene.active) #case02-resume {top:86px;}
@media(max-width:360px) {
 .c2-tabs {grid-template-columns:repeat(3,minmax(0,1fr));}
 #case02-overlay .c2-tabs button {min-width:0;font-size:10px;letter-spacing:0;padding-inline:4px;}
}
