@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@700;800;900&display=swap');
:root{--navy:#082d45;--amber:#ffc83d;--paper:#fffdf2;--ink:#143348}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Nunito,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 5%,#1b7895 0,transparent 32%),linear-gradient(135deg,#061f35,#0b4664 58%,#073149);touch-action:manipulation}.app{height:100dvh;min-height:500px;display:flex;flex-direction:column;padding:clamp(7px,1vw,13px);gap:clamp(7px,1vw,11px);position:relative}.app:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#ffffff24 1.4px,transparent 1.4px);background-size:28px 28px;mask-image:linear-gradient(#000,transparent 80%)}
button,a{-webkit-tap-highlight-color:transparent}.topbar{height:58px;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 10px;color:white}.home{justify-self:start;text-decoration:none;color:white;background:#ffffff16;border:1px solid #ffffff38;border-radius:16px;padding:10px 15px;font-weight:900;backdrop-filter:blur(12px)}.title{text-align:center;line-height:1.02}.title small{display:block;color:var(--amber);font-size:10px;letter-spacing:2.2px}.title strong{font-family:"Baloo 2";font-size:clamp(20px,2.25vw,30px)}.top-actions{justify-self:end;display:flex;gap:8px}.score-pill,.icon-btn{height:43px;border:1px solid #ffffff38;background:#ffffff16;color:white;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;backdrop-filter:blur(12px)}.score-pill{padding:0 14px}.icon-btn{width:45px;cursor:pointer}
.screen{position:relative;flex:1;min-height:0;width:min(1240px,100%);margin:auto;border-radius:26px;overflow:hidden;box-shadow:0 25px 70px #00121f88;border:1px solid #ffffff48}.hidden{display:none!important}.start-screen{display:grid;grid-template-columns:49% 51%;background:#fffaf0}.start-art{position:relative;min-width:0;overflow:hidden}.room-preview{width:100%;height:100%;object-fit:cover}.start-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061f3333 40%,#fffaf0 100%)}.detective{position:absolute;height:93%;left:3%;bottom:-4%;filter:drop-shadow(0 18px 22px #001b2c88)}.case-stamp{position:absolute;top:20px;right:20px;transform:rotate(7deg);border:3px solid #ffdc64;color:#fff0aa;background:#081f38cc;border-radius:13px;padding:8px 13px;text-align:center;font-size:11px;letter-spacing:1.4px;box-shadow:0 6px 18px #00182777}.case-stamp b{font-size:19px}.start-copy{padding:clamp(18px,3vw,42px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0;color:#0c7894;font-size:12px;letter-spacing:2px;font-weight:900}.start-copy h1{font:800 clamp(32px,4vw,56px)/.94 "Baloo 2";margin:8px 0 10px;color:#0a324d}.start-copy h1 span{color:#e55c48}.intro{font-size:clamp(14px,1.45vw,18px);line-height:1.38;margin:0 0 12px;color:#456274;max-width:590px}.feature-row{display:flex;gap:8px;flex-wrap:wrap}.feature-row span{background:#e9f9f7;border:1px solid #b9e9e2;border-radius:99px;padding:6px 11px;font-size:12px;font-weight:900}.difficulty-title{display:flex;justify-content:space-between;align-items:end;margin:16px 0 7px;text-transform:uppercase;font-size:12px;letter-spacing:.8px}.difficulty-title span{font-size:11px;color:#577080}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.level{min-height:87px;border:0;border-radius:18px;padding:8px 7px;background:#fff;box-shadow:0 8px 0 #d8ded8,0 10px 22px #10394c16;cursor:pointer;color:var(--ink);font-family:inherit;transition:.18s}.level:hover,.level:focus-visible{transform:translateY(-3px);box-shadow:0 11px 0 #d8ded8,0 15px 25px #10394c24;outline:3px solid var(--amber)}.level i{display:block;font-style:normal;font-size:25px}.level b{display:block;font-size:17px}.level small{display:block;color:#637987;font-weight:800;font-size:10px}.level.easy{border-top:5px solid #36c996}.level.medium{border-top:5px solid #31aee5}.level.hard{border-top:5px solid #ff735e}
.game-screen{display:flex;flex-direction:column;background:#eff9f8}.mission-bar{height:66px;flex:none;display:grid;grid-template-columns:1fr minmax(200px,1.5fr) .55fr;align-items:center;gap:15px;padding:7px 14px;background:linear-gradient(90deg,#fffaf0,#fff);border-bottom:1px solid #d5e7e7}.target-card{display:flex;align-items:center;gap:9px}.target-card>span{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:linear-gradient(145deg,#ffd95c,#ff9a4b);font-size:27px;box-shadow:0 5px 12px #f37c3850}.target-card small,.target-card b{display:block}.target-card small{font-size:9px;letter-spacing:1.5px;color:#758895}.target-card b{font:800 18px "Baloo 2"}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:#56707d}.progress{height:11px;background:#dce9e8;border-radius:99px;overflow:hidden;margin-top:3px}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2bc797,#42dce8);border-radius:inherit;transition:.45s}.streak{justify-self:end;border-radius:16px;background:#fff0db;padding:8px 12px;font-size:20px}.streak span{font-size:10px;text-transform:uppercase;color:#8a604a}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(235px,29%) 1fr;gap:10px;padding:10px}.clue-panel{min-height:0;border-radius:19px;background:linear-gradient(#fffdf5,#fff9e8);border:1px solid #e6d8ad;padding:12px;display:flex;flex-direction:column;box-shadow:0 7px 20px #173a4815}.panel-head{display:flex;align-items:center;gap:8px;border-bottom:2px dashed #e6d59f;padding-bottom:8px}.panel-head>span{font-size:28px}.panel-head small,.panel-head b{display:block}.panel-head small{font-size:9px;letter-spacing:1.4px;color:#9b7b4f}.panel-head b{font:800 17px "Baloo 2"}.clue-list{margin:8px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;min-height:0}.clue-list li{position:relative;padding:8px 8px 8px 34px;background:white;border:1px solid #eadfbe;border-radius:12px;font-size:clamp(11px,1.15vw,14px);line-height:1.2;font-weight:900;box-shadow:0 3px 8px #44330b0a}.clue-list li:before{content:counter(list-item);position:absolute;left:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;background:#0f6a86;color:white;border-radius:50%;font-size:11px}.feedback{margin-top:auto;display:flex;gap:7px;align-items:center;min-height:48px;padding:8px;border-radius:12px;background:#e7f7f5;color:#226170;border-left:4px solid #29baaa}.feedback span{font-size:19px}.feedback p{margin:0;font-size:11px;line-height:1.25;font-weight:800}.feedback.wrong{background:#fff0ed;color:#8e3f37;border-color:#ff735e}.feedback.correct{background:#e5fbef;color:#187050;border-color:#25bb7d}
.scene-wrap{position:relative;min-width:0;min-height:0;border-radius:20px;overflow:hidden;background:#09283e;box-shadow:inset 0 0 0 1px #ffffff66}.scene{width:100%;height:100%;display:block;object-fit:cover}.scene-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 45px #001b2c66}.hotspots{position:absolute;inset:0;z-index:2}.spot{position:absolute;transform:translate(-50%,-50%);width:15%;height:43%;border:2px solid #ffffffb8;border-radius:18px;background:#ffffff08;cursor:pointer;transition:.18s;box-shadow:inset 0 0 20px #ffffff14}.spot:after{content:attr(data-label);position:absolute;left:50%;bottom:4px;transform:translateX(-50%);white-space:nowrap;background:#082d45e8;color:white;border:1px solid #ffffff6b;border-radius:99px;padding:5px 8px;font:900 clamp(8px,.8vw,11px) Nunito}.spot:hover,.spot:focus-visible{outline:0;border-color:#ffe063;background:#ffd94d35;box-shadow:0 0 0 5px #ffe06336,inset 0 0 30px #fff3a52e}.spot.disabled{opacity:.22;pointer-events:none}.spot.wrong{animation:shake .36s;background:#ff594d66;border-color:#fff}.spot.correct{background:#58e5a56b;border-color:#fff176;box-shadow:0 0 0 8px #fff17644,0 0 40px #46e9ad}.found-item{position:absolute;z-index:4;transform:translate(-50%,-50%) scale(0);display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,#fff,#fff2a8 48%,#ffc331 72%,transparent 74%);font-size:42px;filter:drop-shadow(0 6px 8px #00344d);transition:.35s}.found-item.show{transform:translate(-50%,-50%) scale(1);animation:found 1s ease-in-out infinite alternate}.scan-line{position:absolute;z-index:1;left:0;right:0;height:2px;top:0;background:linear-gradient(90deg,transparent,#78efff,transparent);box-shadow:0 0 12px #66eeff;opacity:.6;animation:scan 4.5s linear infinite;pointer-events:none}
.end-screen{display:grid;grid-template-columns:40% 60%;background:linear-gradient(135deg,#06334d,#0e7190);color:white}.end-screen>img{height:94%;align-self:end;justify-self:center;filter:drop-shadow(0 20px 25px #00172488)}.end-card{align-self:center;text-align:center;padding:25px}.end-card .eyebrow{color:#ffe16a}.end-card h2{font:800 clamp(35px,5vw,64px)/1 "Baloo 2";margin:8px}.big-stars{font-size:clamp(35px,5vw,58px);filter:drop-shadow(0 6px 8px #001b2a)}.end-card>p{font-size:17px}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.results div{background:#ffffff14;border:1px solid #ffffff33;padding:10px;border-radius:16px}.results small,.results b{display:block}.results small{font-size:9px;letter-spacing:1.5px}.results b{font-size:25px;color:#ffe063}.end-actions{display:flex;gap:10px;justify-content:center}.end-actions button,.end-actions a{border:0;border-radius:15px;padding:12px 20px;font:900 15px Nunito;text-decoration:none;cursor:pointer}.end-actions .primary{background:#ffd447;color:#153849;box-shadow:0 6px 0 #d99722}.end-actions a{background:white;color:#17455c}.confetti{position:absolute;left:0;right:0;top:10%;font-size:28px;color:#ffe168;animation:float 2s ease-in-out infinite alternate;text-align:center}
@keyframes scan{to{top:100%}}@keyframes shake{25%{transform:translate(-54%,-50%)}75%{transform:translate(-46%,-50%)}}@keyframes found{to{filter:drop-shadow(0 9px 13px #00344d) brightness(1.15)}}@keyframes float{to{transform:translateY(12px)}}
@media(max-width:760px){.app{padding:5px;gap:5px;min-height:460px}.topbar{height:48px;padding:0 3px;grid-template-columns:auto 1fr auto}.home{padding:8px 10px}.home span{display:none}.title strong{font-size:16px}.title small{font-size:7px}.score-pill{height:37px;padding:0 9px}.icon-btn{height:37px;width:38px}.screen{border-radius:19px}.start-screen{grid-template-columns:42% 58%}.start-copy{padding:12px}.start-art .detective{height:82%;left:-22%}.case-stamp{top:10px;right:7px;padding:5px;font-size:7px}.start-copy h1{font-size:clamp(24px,7vw,34px)}.intro{font-size:11px;margin-bottom:6px}.feature-row{gap:4px}.feature-row span{font-size:9px;padding:4px 6px}.difficulty-title{margin:8px 0 4px;font-size:9px}.levels{grid-template-columns:1fr;gap:5px}.level{min-height:47px;padding:4px 7px;display:grid;grid-template-columns:31px 1fr;grid-template-rows:1fr 1fr;text-align:left}.level i{grid-row:1/3;font-size:22px;align-self:center}.level b{font-size:14px}.level small{font-size:8px}.mission-bar{height:57px;grid-template-columns:1.2fr 1fr auto;gap:5px;padding:5px}.target-card>span{width:38px;height:38px;font-size:22px}.target-card b{font-size:13px}.target-card small{font-size:7px}.streak{padding:5px;font-size:17px}.streak span{display:none}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(190px,58%) 1fr;padding:6px;gap:6px}.scene-wrap{grid-row:1}.clue-panel{grid-row:2;padding:7px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:7px}.panel-head{grid-column:1;padding:0 0 4px}.panel-head>span{font-size:20px}.panel-head b{font-size:13px}.clue-list{grid-column:1;margin:4px 0;gap:3px}.clue-list li{padding:4px 5px 4px 28px;font-size:9px}.clue-list li:before{width:17px;height:17px}.feedback{grid-column:2;grid-row:1/3;margin:0;align-self:stretch}.spot{height:52%;width:16%;border-radius:11px}.spot:after{padding:3px 5px;font-size:7px}.found-item{width:52px;height:52px;font-size:30px}.end-screen{grid-template-columns:35% 65%}.end-screen>img{height:75%;margin-left:-25%}.end-card{padding:12px}.end-card h2{font-size:28px}.end-card>p{font-size:11px}.results{gap:5px;margin:8px 0}.results div{padding:6px}.results b{font-size:18px}.end-actions button,.end-actions a{padding:9px;font-size:11px}}
@media(max-width:520px) and (orientation:portrait){.start-screen{grid-template-columns:1fr;grid-template-rows:31% 69%}.start-art{height:auto;min-height:120px}.start-art .detective{height:145%;left:3%;bottom:-55%}.start-shade{background:linear-gradient(180deg,#061f3311,#fffaf0)}.start-copy{justify-content:flex-start}.start-copy h1{margin:3px 0}.intro{line-height:1.15}.feature-row{display:none}.levels{grid-template-columns:repeat(3,1fr)}.level{display:block;text-align:center;min-height:62px}.level i{font-size:18px}.level b{font-size:12px}.level small{font-size:7px}.workspace{grid-template-rows:minmax(180px,52%) 1fr}.clue-panel{grid-template-columns:1.25fr .75fr}}
@media(max-height:610px){.topbar{height:43px}.start-copy{padding-top:8px;padding-bottom:8px}.start-copy h1{font-size:30px}.intro{font-size:11px}.level{min-height:58px}.mission-bar{height:53px}.clue-list li{padding-top:5px;padding-bottom:5px}.workspace{padding:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

