/* ROSA NEGRA — CHAPTERS II-IV / COMPLETE EXPERIENCE, 2D RESPONSIVE ENGINE */
#rn-ext[hidden]{display:none!important}
#rn-ext{--rn-gold:#e1b681;--rn-paper:#f0dfc3;--rn-scarlet:#a7434c;position:fixed;inset:0;z-index:1000;background:#080a10;color:var(--rn-paper);font-family:Georgia,'Times New Roman',serif;overflow:hidden;isolation:isolate}
#rn-ext *,#rn-ext *::before,#rn-ext *::after{box-sizing:border-box}
#rn-ext button,#rn-ext a{font:inherit}
#rn-ext button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#rn-ext button:focus-visible,#rn-ext a:focus-visible{outline:2px solid #ffdaaa;outline-offset:3px}
#rn-ext .rn-art{position:absolute;inset:0;z-index:-2;overflow:hidden}
#rn-ext .rn-art picture,#rn-ext .rn-art img{position:absolute;inset:0;width:100%;height:100%}
#rn-ext .rn-art img{object-fit:cover;object-position:center 46%;animation:rn-drift 28s ease-in-out alternate infinite;filter:saturate(.97)}
#rn-ext .rn-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#060710cc 0%,transparent 21%,#07090e20 47%,#06070cdb 96%),linear-gradient(90deg,#06070c80,transparent 58%,#06070b4a);pointer-events:none}
#rn-ext .rn-fog{position:absolute;z-index:-1;width:90%;height:18%;top:35%;left:3%;background:radial-gradient(ellipse,#cad8db24,transparent 65%);filter:blur(18px);animation:rn-fog 20s ease-in-out infinite alternate;pointer-events:none}
#rn-ext .rn-header{position:absolute;inset:0 0 auto;min-height:91px;padding:calc(12px + env(safe-area-inset-top,0px)) max(19px,env(safe-area-inset-right,0px)) 15px max(19px,env(safe-area-inset-left,0px));display:flex;align-items:flex-start;justify-content:space-between;gap:10px;z-index:7;background:linear-gradient(#05060ade,#05060a00)}
#rn-ext .rn-brand{display:grid;gap:2px;color:#f8e5cc;font-size:clamp(18px,2.2vw,29px);letter-spacing:.06em;text-shadow:0 2px 7px #000b}
#rn-ext .rn-brand small{font:10px/1.3 Arial,sans-serif;letter-spacing:.19em;color:#d5a0a0}
#rn-ext .rn-nav{display:flex;gap:7px}
#rn-ext .rn-ico{border:1px solid #caa27691;background:#080a0bd9;color:#f2d4b5;min-width:45px;min-height:45px;border-radius:8px;font:18px Georgia,serif;padding:4px 7px}
#rn-ext .rn-ico small{font:8px Arial;display:block;letter-spacing:.05em}
#rn-ext .rn-tag{position:absolute;z-index:4;top:calc(101px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);padding:9px 15px;background:#070912c9;border:1px solid #d4a67070;border-radius:4px;text-align:center;min-width:min(400px,90vw);box-shadow:0 5px 25px #0008}
#rn-ext .rn-tag small{font:9px Arial;color:#e1aa93;letter-spacing:.15em;display:block}
#rn-ext .rn-tag b{font-size:clamp(13px,2vw,19px);font-weight:normal;letter-spacing:.06em}
#rn-ext .rn-progress{position:absolute;z-index:5;left:16px;top:calc(178px + env(safe-area-inset-top,0px));width:clamp(190px,18vw,265px);background:#0a0b11da;border:1px solid #9c6b5970;border-radius:6px;padding:14px;box-shadow:0 10px 30px #000b;backdrop-filter:blur(5px)}
#rn-ext .rn-progress h3{font:11px Arial;letter-spacing:.18em;color:#dcac8d;margin:0 0 9px}
#rn-ext .rn-progress p{font:12px/1.5 Georgia;margin:0 0 7px}
#rn-ext .rn-progress .rn-mini{font:9px/1.5 Arial;color:#beada3;margin-top:8px}
#rn-ext .rn-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}
#rn-ext .rn-hot{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:grid;place-items:center;gap:3px;min-width:85px;border:0;background:transparent;color:#ffdfb9;text-shadow:0 2px 7px #000,0 0 10px #000;font-size:12px;text-align:center}
#rn-ext .rn-hot .rn-ring{display:grid;place-items:center;border:1px solid #f8c78f;background:#0b0b0da8;width:47px;height:47px;border-radius:50%;font-size:23px;box-shadow:0 0 0 6px #f0be8030,0 0 21px #f3b56e80;animation:rn-pulse 2.9s ease-in-out infinite}
#rn-ext .rn-hot.rn-done .rn-ring{box-shadow:0 0 0 4px #76a79533;background:#284037c9;color:#c4eddb}
#rn-ext .rn-hot:nth-child(1){left:29%;top:44%}#rn-ext .rn-hot:nth-child(2){left:65%;top:47%}#rn-ext .rn-hot:nth-child(3){left:46%;top:67%}
#rn-ext .rn-desk{position:absolute;z-index:5;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(680px,65vw);min-height:160px;display:flex;gap:16px;padding:18px;background:linear-gradient(135deg,#1b1518ef,#080a0fed);border:1px solid #bf865c9a;border-radius:9px;box-shadow:0 18px 60px #000e,0 0 0 5px #160d1090;backdrop-filter:blur(9px)}
#rn-ext .rn-cat{width:88px;flex:none;align-self:center;filter:drop-shadow(0 4px 15px #000)}
#rn-ext .rn-cat img{display:block;width:100%;border-radius:5px;object-fit:cover;object-position:center 35%;height:110px}
#rn-ext .rn-cat span{font:9px Arial;color:#e9b98b;letter-spacing:.12em;display:block;text-align:center;margin-top:4px}
#rn-ext .rn-dialog{flex:1;min-width:0;align-self:center}
#rn-ext .rn-dialog p{font:clamp(14px,1.35vw,18px)/1.52 Georgia,serif;margin:0 0 12px;color:#f8e8d3}
#rn-ext .rn-line{font:10px Arial;letter-spacing:.12em;color:#ce987e;margin-bottom:7px}
#rn-ext .rn-btn{border:1px solid #d9ad7c;background:linear-gradient(180deg,#81343f,#59232b);color:#fff1dc;min-height:43px;padding:10px 16px;font:700 11px Arial,sans-serif!important;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;box-shadow:0 3px 0 #2b1318}
#rn-ext .rn-btn:disabled{opacity:.5;cursor:default;filter:grayscale(.75)}
#rn-ext .rn-btn.rn-secondary{background:#141018d9;border-color:#987665;color:#edcfb0;box-shadow:none}
#rn-ext .rn-actions{display:flex;flex-wrap:wrap;gap:8px}
#rn-ext .rn-modal-wrap{position:absolute;z-index:12;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(64px + env(safe-area-inset-top,0px)) 16px calc(40px + env(safe-area-inset-bottom,0px));background:#04050bd9;backdrop-filter:blur(9px)}
#rn-ext .rn-modal-wrap[hidden]{display:none!important}
#rn-ext .rn-sheet{position:relative;width:min(690px,100%);max-height:100%;overflow:auto;background:linear-gradient(130deg,#f3e0bc,#d8b98b);color:#31231f;border:1px solid #f5debc;box-shadow:0 0 0 5px #251b1c,0 20px 65px #000c;padding:clamp(21px,4vw,34px);border-radius:5px;scrollbar-color:#a47452 transparent}
#rn-ext .rn-sheet::before{content:"";position:absolute;inset:8px;border:1px solid #b68d61;pointer-events:none}
#rn-ext .rn-sheet h2{font-size:clamp(25px,5vw,39px);line-height:1.05;margin:8px 0 11px;font-weight:normal;color:#422525}
#rn-ext .rn-sheet p,#rn-ext .rn-sheet li{font-size:clamp(14px,2vw,17px);line-height:1.52}
#rn-ext .rn-sheet p{margin:9px 0}
#rn-ext .rn-sheet .rn-label{font:700 10px Arial;letter-spacing:.17em;color:#804342}
#rn-ext .rn-sheet .rn-sub{color:#775b4b;font-size:13px;font-style:italic}
#rn-ext .rn-sheet .rn-divider{height:1px;background:linear-gradient(90deg,#885c48,transparent);margin:15px 0}
#rn-ext .rn-sheet .rn-answer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}
#rn-ext .rn-sheet .rn-option{background:#f7e9d1;border:1px solid #b58a67;box-shadow:0 3px 0 #a9805d;color:#412c25;padding:13px 10px;min-height:56px;border-radius:3px;font-size:14px;line-height:1.3}
#rn-ext .rn-sheet .rn-option[aria-pressed="true"]{background:#7b3940;color:#fff1e0;border-color:#59272d}
#rn-ext .rn-sheet .rn-btn{margin:5px 5px 5px 0}
#rn-ext .rn-sheet select{font:15px Georgia;width:100%;min-height:47px;border:1px solid #a37955;background:#fff3e0;color:#382722;padding:9px;margin:7px 0 12px}
#rn-ext .rn-sheet a{color:#6b2932;text-underline-offset:3px;font-weight:bold}
#rn-ext .rn-sheet .rn-proof{padding:12px;border-left:3px solid #a05354;background:#ebd0acaa;margin:10px 0}
#rn-ext .rn-sheet .rn-proof b{display:block;color:#783b3b;margin-bottom:4px}
#rn-ext .rn-sheet .rn-result{padding:12px;margin:13px 0;background:#e6caaa;border:1px solid #bb916c}
#rn-ext .rn-sheet .rn-x{position:sticky;float:right;top:0;background:#532b30;border:1px solid #e9c296;color:white;width:36px;height:36px;border-radius:50%;font-size:18px;z-index:1}
#rn-ext .rn-sheet .rn-steps{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.rn-steps span{font:10px Arial;padding:7px 9px;background:#ead1ab;border:1px solid #c59b71;color:#65463a}
#rn-ext .rn-solved{position:relative;text-align:center;padding:16px 5px}
#rn-ext .rn-rose-stage{position:relative;width:min(580px,90vw);height:min(650px,65dvh);margin:8px auto;border:1px solid #bb8b75;border-radius:12px;overflow:hidden;background:#0b090f;box-shadow:0 15px 50px #000c}
#rn-ext .rn-rose-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:blur(11px) brightness(.5);transform:scale(1.5);transition:opacity 2s,filter 2.8s,transform 7s;pointer-events:none}
#rn-ext .rn-rose-stage[data-phase="bloom"] .rn-rose-img{opacity:.95;filter:blur(3px) brightness(.8);transform:scale(1.2)}
#rn-ext .rn-rose-stage[data-phase="dome"] .rn-rose-img{opacity:1;filter:blur(0) brightness(1);transform:scale(1)}
#rn-ext .rn-paper-petal{position:absolute;left:50%;top:38%;width:125px;height:155px;transform:translate(-50%,20%) rotate(-65deg) scale(.1);opacity:0;transition:transform 3s,opacity 1s,filter 2s;filter:drop-shadow(0 7px 19px #0009)}
#rn-ext .rn-paper-petal svg{width:100%;height:100%}
#rn-ext .rn-rose-stage[data-phase="fold"] .rn-paper-petal,#rn-ext .rn-rose-stage[data-phase="burn"] .rn-paper-petal{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(1.25)}
#rn-ext .rn-rose-stage[data-phase="burn"] .rn-paper-petal{opacity:.65;filter:drop-shadow(0 0 22px #f33) sepia(1) saturate(2)}
#rn-ext .rn-rose-stage[data-phase="bloom"] .rn-paper-petal,#rn-ext .rn-rose-stage[data-phase="dome"] .rn-paper-petal{opacity:0;transform:translate(-50%,-50%) scale(1.6)}
#rn-ext .rn-pages{position:absolute;inset:0;pointer-events:none}
#rn-ext .rn-pages i{position:absolute;left:50%;top:70%;width:57px;height:80px;background:repeating-linear-gradient(0deg,#ceb896 0 5px,#ae9371 6px,#dbc5a2 8px);border:1px solid #b39a7e;opacity:0;transition:transform 3s ease,opacity 1s}
#rn-ext .rn-rose-stage[data-phase="pages"] .rn-pages i{opacity:1}
#rn-ext .rn-rose-stage[data-phase="pages"] .rn-pages i:nth-child(1){transform:translate(-140px,-190px) rotate(-28deg)}
#rn-ext .rn-rose-stage[data-phase="pages"] .rn-pages i:nth-child(2){transform:translate(75px,-205px) rotate(24deg)}
#rn-ext .rn-rose-stage[data-phase="pages"] .rn-pages i:nth-child(3){transform:translate(-80px,10px) rotate(-13deg)}
#rn-ext .rn-rose-stage[data-phase="pages"] .rn-pages i:nth-child(4){transform:translate(105px,10px) rotate(33deg)}
#rn-ext .rn-rose-stage[data-phase="fold"] .rn-pages i,#rn-ext .rn-rose-stage[data-phase="burn"] .rn-pages i{transform:translate(-30px,-155px) scale(.03) rotate(140deg);opacity:0}
#rn-ext .rn-embers{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s}
#rn-ext .rn-rose-stage[data-phase="burn"] .rn-embers,#rn-ext .rn-rose-stage[data-phase="bloom"] .rn-embers,#rn-ext .rn-rose-stage[data-phase="dome"] .rn-embers{opacity:1}
#rn-ext .rn-embers i{position:absolute;bottom:8%;left:calc(10% + var(--k)*8%);width:4px;height:4px;background:#f89a54;box-shadow:0 0 16px 3px #c43420;animation:rn-ember calc(3s + var(--k)*.21s) ease-in-out infinite;animation-delay:calc(var(--k)*-.35s)}
#rn-ext .rn-rose-touch{position:absolute;inset:0;border:0;background:transparent;z-index:3;opacity:0;pointer-events:none}
#rn-ext .rn-rose-stage[data-phase="dome"] .rn-rose-touch{opacity:1;pointer-events:auto}
#rn-ext .rn-rose-stage.touched .rn-rose-img{filter:brightness(1.2) saturate(1.25);transform:scale(1.055)}
#rn-ext .rn-rose-inscription{position:absolute;z-index:4;left:5%;right:5%;bottom:12px;text-align:center;text-shadow:0 2px 8px #000;color:#fff0dc;font:italic 14px Georgia;opacity:0;pointer-events:none;transition:opacity .8s}
#rn-ext .rn-rose-stage.show-message .rn-rose-inscription{opacity:1}
#rn-ext .rn-final-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:10px auto 20px}
#rn-ext .rn-final-controls .rn-btn{min-width:128px}
#rn-ext .rn-reward-heading{text-align:center;text-shadow:0 2px 7px black;padding-top:calc(100px + env(safe-area-inset-top,0px));font-size:clamp(22px,4vw,40px);color:#ffdac4}
#rn-ext .rn-reward-heading small{display:block;font:10px Arial;letter-spacing:.16em;color:#d4b099}
@keyframes rn-drift{0%{transform:scale(1.025) translateX(-.4%)}100%{transform:scale(1.06) translateX(.4%)}}
@keyframes rn-fog{0%{transform:translateX(-8%)}100%{transform:translateX(12%)}}
@keyframes rn-pulse{50%{box-shadow:0 0 0 12px #dfa76a00,0 0 21px #f3b56e44}}
@keyframes rn-ember{0%{transform:translateY(0);opacity:0}45%{opacity:1}100%{transform:translateY(-240px) translateX(20px);opacity:0}}
@media(max-width:800px){
#rn-ext .rn-art img{object-position:center 36%}
#rn-ext .rn-header{min-height:69px;padding-top:calc(9px + env(safe-area-inset-top,0px))}
#rn-ext .rn-brand{font-size:19px;line-height:1.1}#rn-ext .rn-brand small{font-size:8px}
#rn-ext .rn-ico{min-width:38px;min-height:38px;font-size:16px}#rn-ext .rn-ico small{font-size:7px}
#rn-ext .rn-tag{top:calc(77px + env(safe-area-inset-top,0px));min-width:245px;padding:7px 12px}#rn-ext .rn-tag b{font-size:14px}
#rn-ext .rn-progress{top:calc(125px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);width:auto;min-width:min(330px,94vw);padding:7px 10px;text-align:center;background:#090911ae}
#rn-ext .rn-progress h3{display:none}#rn-ext .rn-progress p{font-size:11px;margin:0}#rn-ext .rn-progress .rn-mini{display:none}
#rn-ext .rn-hot:nth-child(1){left:25%;top:30%}#rn-ext .rn-hot:nth-child(2){left:76%;top:36%}#rn-ext .rn-hot:nth-child(3){left:52%;top:52%}
#rn-ext .rn-hot .rn-ring{width:43px;height:43px;font-size:19px}
#rn-ext .rn-desk{width:calc(100% - 18px);left:9px;transform:none;bottom:calc(8px + env(safe-area-inset-bottom,0px));min-height:144px;padding:12px;gap:10px}
#rn-ext .rn-cat{width:65px}#rn-ext .rn-cat img{height:83px}
#rn-ext .rn-dialog p{font-size:14px;margin-bottom:8px}
#rn-ext .rn-actions .rn-btn{font-size:10px!important;min-height:39px;padding:7px 10px}
#rn-ext .rn-modal-wrap{padding:calc(72px + env(safe-area-inset-top,0px)) 12px calc(40px + env(safe-area-inset-bottom,0px))}
#rn-ext .rn-sheet .rn-answer{grid-template-columns:1fr}
#rn-ext .rn-sheet .rn-option{min-height:47px}
#rn-ext .rn-reward-heading{padding-top:calc(85px + env(safe-area-inset-top,0px))}
#rn-ext .rn-rose-stage{height:min(62dvh,600px)}
}
@media(max-width:360px){#rn-ext .rn-desk{padding:8px;gap:7px}#rn-ext .rn-dialog p{font-size:12px}#rn-ext .rn-cat{width:51px}#rn-ext .rn-cat img{height:70px}#rn-ext .rn-hot{font-size:10px}}
@media(max-height:540px) and (orientation:landscape){#rn-ext{overflow-y:auto}#rn-ext .rn-header,#rn-ext .rn-tag,#rn-ext .rn-progress,#rn-ext .rn-hotspots,#rn-ext .rn-desk{position:relative;inset:auto;transform:none}#rn-ext .rn-hotspots{height:200px}#rn-ext .rn-desk{width:95%;margin:20px auto}#rn-ext .rn-modal-wrap{position:fixed}#rn-ext .rn-tag{margin:4px auto;width:60%}#rn-ext .rn-progress{margin:8px auto;min-width:0;width:65%}#rn-ext .rn-reward-heading{padding-top:20px}}
@media(prefers-reduced-motion:reduce){#rn-ext *,#rn-ext *::before,#rn-ext *::after{animation-duration:.001s!important;transition-duration:.001s!important}}
/* Compact phones: keep investigative hotspots clear of the objective banner. */
#rn-ext .rn-progress{pointer-events:none}
@media(max-width:800px){#rn-ext .rn-hot:nth-child(1){top:38%}#rn-ext .rn-hot:nth-child(2){top:45%}#rn-ext .rn-hot:nth-child(3){top:57%}}
