@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--blush:#fbf3ee;--cherry:#b73759;--lavender:#e7def2;--ink:#482d38;--muted:#806a73;--line:#dfccc8}*{box-sizing:border-box}body{margin:0;background:var(--blush);color:var(--ink);font-family:'DM Sans',sans-serif;background-image:radial-gradient(ellipse at 90% 40%,#efdce280,transparent 55%);min-height:100svh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8e69ac;outline-offset:5px}header{max-width:1260px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:12px;align-items:center;color:var(--cherry);text-decoration:none;font-size:29px}.brand span{font-size:10px;letter-spacing:2px;font-weight:700}.small{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 17px;color:var(--ink);font-size:12px}main{max-width:1100px;padding:30px 40px 55px;margin:auto;min-height:76svh}footer{border-top:1px solid var(--line);padding:23px;text-align:center;font-size:9px;letter-spacing:2.3px;color:var(--muted)}footer span{margin:0 22px;color:var(--cherry)}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(56px,6.7vw,88px);line-height:1.03;letter-spacing:-3px;margin:22px 0}h1 em,h2 em{color:var(--cherry);font-weight:400}h2{font-size:clamp(34px,5vw,54px);line-height:1.12;margin:13px 0 20px}h3{font-size:26px}.eyebrow{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:var(--cherry);font-weight:700}.pill{display:inline-block;border:1px solid #cda1a7;padding:9px 14px;transform:rotate(-3deg);font-size:10px;letter-spacing:2px;color:var(--cherry)}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding:30px 0 55px}.intro p{max-width:420px;line-height:1.8;font-size:14px;color:var(--muted)}.intro .greeting{font-size:17px;color:var(--ink);margin-top:26px}.primary{border:0;background:var(--cherry);color:white;padding:17px 27px;border-radius:5px;box-shadow:0 6px 0 #82274118;transition:transform .2s,box-shadow .2s;font-size:13px;letter-spacing:.4px}.primary:hover{transform:translateY(-2px);box-shadow:0 9px 20px #b7375924}.intro .primary{margin-top:16px}.tiny{font-size:11px!important;line-height:1.7;color:var(--muted)}.dossier{position:relative;background:#eee2d4;padding:22px 24px 26px;transform:rotate(4deg);box-shadow:10px 22px 50px #6f3b4420;border-radius:4px}.dossier:before{content:'CASE FILE Nº 001';position:absolute;top:-24px;left:0;background:#eee2d4;padding:10px 23px;border-radius:8px 8px 0 0;font-size:9px;letter-spacing:2px}.paper{background:#fffaf3;padding:28px 25px 20px;text-align:center;border:1px solid #dacbb9}.paper .eyebrow{font-size:9px}.heart-art{height:200px;display:grid;place-items:center;position:relative}.heart-art svg{width:155px;filter:drop-shadow(0 15px 10px #b7375930);animation:breathe 3s infinite}.heart-art:after{content:'✧';position:absolute;right:35px;top:30px;color:#b98761;font-size:40px}.evidence-title{font-size:36px;margin:5px 0 15px}.evidence-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;border-top:1px solid var(--line);padding:13px 0;text-align:left}.evidence-row b{font-weight:500}.stamp{position:absolute;bottom:38px;right:-18px;border:2px solid var(--cherry);padding:11px;color:var(--cherry);font-size:15px;letter-spacing:2px;transform:rotate(-15deg);background:#fff4ebdd}.note{font-family:Georgia,serif;font-style:italic;font-size:13px;transform:rotate(-4deg);margin:25px 0 0;text-align:center;color:#8a5a64}.mission-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:10px}.mission-strip div{font-size:10px;color:var(--muted);line-height:1.8}.mission-strip b{display:block;font-size:9px;letter-spacing:2px;color:var(--cherry)}.mission-strip .active{color:var(--cherry);font-weight:700}.stage{max-width:730px;margin:40px auto 0;text-align:center;animation:arrive .5s ease both}.lead{font-size:14px;line-height:1.8;color:var(--muted)}.panel{background:#fffaf6;border:1px solid var(--line);padding:32px;margin:25px 0;border-radius:10px;box-shadow:0 15px 45px #79445708}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.option{border:1px solid #dfccd1;background:#fffaf6;color:var(--ink);padding:18px;text-align:left;border-radius:6px;font-size:14px;min-height:65px}.option:hover:not(:disabled),.option.selected{background:#f2dfe5;border-color:var(--cherry)}.option .number{font-size:10px;margin-right:12px;color:var(--cherry)}.reaction{padding:20px;background:var(--lavender);border-radius:8px;line-height:1.7;margin:22px 0;animation:arrive .4s}.clue{margin:25px auto;background:#fff8ec;border:1px dashed #b88f70;max-width:350px;padding:27px;transform:rotate(-2deg)}.clue strong{display:block;font-family:Georgia,serif;font-size:32px;color:var(--cherry);letter-spacing:4px;margin:14px}.status{display:flex;justify-content:space-between;font-size:12px;margin:18px 0}.status b{font-size:24px;color:var(--cherry)}.arena{height:360px;position:relative;background:radial-gradient(ellipse,#fffaf6,#f0dee7);border:1px solid #d5bbc6;border-radius:16px;overflow:hidden;touch-action:manipulation}.target{position:absolute;background:#fff8f4;border:1px solid #d7a6b6;border-radius:50%;width:58px;height:58px;font-size:28px;box-shadow:0 4px 8px #b7375918;animation:pop .25s}.arena-overlay{position:absolute;inset:0;display:grid;place-content:center;padding:30px;gap:18px}.lock{font-size:55px;margin:25px}.code-input{width:100%;max-width:300px;padding:16px;text-align:center;font-size:24px;letter-spacing:5px;border:1px solid #cda1a7;border-radius:8px;background:#fffaf6;color:var(--cherry);text-transform:uppercase;margin-bottom:20px}.hint{margin:20px;font-size:13px;color:var(--muted)}.vault{position:relative;margin:30px auto;width:240px;height:225px;display:grid;place-items:center;filter:drop-shadow(0 15px 20px #9f375c28)}.vault svg{position:absolute;inset:0;width:100%;height:100%}.vault .keyhole{position:relative;font-size:45px;color:#fff3df}.vault.unlocked{animation:unlock 1.3s both}.slots{display:flex;justify-content:center;gap:8px;margin:24px 0;flex-wrap:wrap}.slot{border:1px dashed #cda1a7;border-radius:6px;min-height:48px;padding:14px 12px;font-size:11px;letter-spacing:1px;background:#fffaf6;color:var(--cherry)}button.slot:hover{background:var(--lavender)}.failure{color:var(--cherry);letter-spacing:4px;font-family:monospace;font-size:30px}.letter{text-align:left;white-space:pre-line;font-family:Georgia,serif;font-size:17px;line-height:1.9;padding:35px;background:#fffaf3;border:1px solid #e1d2bd;box-shadow:0 12px 35px #89513a10}.signature{font-family:Georgia,serif;font-style:italic}.certificate{margin:30px 0;padding:30px 16px;border:5px double #b99167;background:#fff9ec}.certificate h3{color:var(--cherry);font-size:30px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:25px 0}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1}.ambient span{position:absolute;color:#b7375925;font-size:40px;animation:float 7s infinite}.ambient span:nth-child(1){left:4%;top:25%}.ambient span:nth-child(2){right:3%;top:70%}.ambient span:nth-child(3){left:9%;top:85%}.ambient span:nth-child(4){right:20%;top:12%}.particle{position:fixed;top:-30px;z-index:20;pointer-events:none;animation:fall 3s ease-in forwards}.photos{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.photos img{width:160px;height:180px;object-fit:cover;border:8px solid white;box-shadow:0 5px 15px #0001}.error{color:#a32e4c;font-size:13px;min-height:22px}.shake{animation:shake .4s} @keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{50%{transform:scale(1.05) rotate(-4deg)}}@keyframes float{50%{transform:translateY(-20px) rotate(12deg)}}@keyframes pop{from{transform:scale(.3)}to{transform:scale(1)}}@keyframes fall{to{transform:translateY(105vh) rotate(320deg);opacity:0}}@keyframes shake{25%,75%{transform:translateX(-7px)}50%{transform:translateX(7px)}}@keyframes unlock{40%{transform:rotate(-8deg)}70%{transform:rotate(8deg)}100%{transform:scale(1.1)}}@media(max-width:700px){header{padding:20px}.brand span{font-size:8px;letter-spacing:1px;max-width:155px}.small{padding:9px 11px}main{padding:20px 22px 40px}.intro{grid-template-columns:1fr;gap:65px;padding-top:5px}.intro p{max-width:none}.dossier{max-width:350px;width:90%;margin:auto}.intro h1{font-size:64px}.mission-strip{gap:8px}.mission-strip div{font-size:8px}.mission-strip b{font-size:8px;letter-spacing:1px}.stage{margin-top:30px}.options{grid-template-columns:1fr}.panel{padding:20px}.letter{padding:24px}.arena{height:350px}footer{font-size:8px;letter-spacing:1px}footer span{margin:0 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.particle{display:none}}
