:root{--ink:#293247;--navy:#273450;--cream:#fffaf2;--paper:#fffdf7;--coral:#dc7087;--turq:#68bdc1;--gold:#d2a13a;--lav:#887bb8;--line:#ded4c8}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 8%,rgba(255,220,225,.68),transparent 26%),radial-gradient(circle at 92% 4%,rgba(202,241,242,.68),transparent 27%),#fffaf8;color:var(--ink);font-family:"Source Sans 3",sans-serif;margin:0}main{margin:0 auto;max-width:1230px;padding:clamp(30px,5vw,66px) clamp(12px,3vw,32px) 40px}.hero{text-align:center}.eyebrow{color:#776aad;display:inline-block;font:900 .76rem "Nunito",sans-serif;letter-spacing:.14em;text-transform:uppercase}.hero h1{font:900 clamp(2.45rem,6vw,5.1rem)/.98 "Nunito",sans-serif;letter-spacing:-.055em;margin:10px 0 14px}.hero h1 em{color:var(--coral);font-style:normal}.hero>p{color:#626775;font:600 clamp(1rem,2vw,1.17rem)/1.55 "Nunito",sans-serif;margin:0 auto;max-width:750px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:19px 0 30px}.hero-pills span{background:rgba(255,255,255,.84);border:1px solid #e5dce1;border-radius:999px;box-shadow:0 5px 14px rgba(42,48,62,.04);font:800 .82rem "Nunito",sans-serif;padding:8px 12px}.game-shell{background:#fff;border:1px solid #d9d2e7;border-radius:27px;box-shadow:0 24px 65px rgba(39,52,80,.13);overflow:hidden;position:relative}.toolbar{align-items:center;background:rgba(255,255,255,.97);display:flex;gap:16px;justify-content:space-between;padding:13px 16px}.stats{display:flex;gap:8px}.stats span{background:#f5f2f5;border-radius:11px;color:#7a7b84;font:900 .64rem "Nunito",sans-serif;letter-spacing:.08em;min-width:82px;padding:7px 11px;text-align:center}.stats strong{color:var(--ink);display:block;font-size:1rem;letter-spacing:0;margin-top:1px}.tools{display:flex;gap:7px}.tools button{background:#fff;border:1px solid #ddd3d8;border-radius:10px;color:var(--ink);cursor:pointer;font:900 .78rem "Nunito",sans-serif;padding:9px 11px}.tools button:hover,.tools button:focus-visible{background:#fff0d1;border-color:#deb75c;outline:none}.progress-track{background:#ece7eb;height:5px}.progress-track i{background:linear-gradient(90deg,var(--turq),var(--lav),var(--coral));display:block;height:100%;transition:width .35s;width:0}.case-stages{background:#f8f5f4;border-bottom:1px solid #e4dcdd;display:grid;grid-template-columns:repeat(4,1fr);padding:0 15px}.case-stages span{color:#8b8990;font:900 .69rem "Nunito",sans-serif;padding:11px 6px;text-align:center}.case-stages span.active{color:var(--navy);position:relative}.case-stages span.active::after{background:var(--coral);border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:18%;position:absolute;width:64%}.case-stages span.done{color:#56a5aa}.detective-room{min-height:650px;overflow:hidden;position:relative}.room-art{background-image:linear-gradient(rgba(25,33,50,.19),rgba(25,33,50,.28)),url("assets/games/prime-detectives/detective-archive-background.png");background-position:center;background-size:cover;inset:0;position:absolute}.case-workspace{align-items:stretch;display:grid;gap:22px;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);min-height:650px;padding:clamp(20px,4vw,42px);position:relative;z-index:1}.evidence-board,.case-file{backdrop-filter:blur(8px);border-radius:20px;box-shadow:0 19px 45px rgba(24,31,47,.2);position:relative}.evidence-board{align-items:center;background:rgba(245,225,190,.89);border:7px solid rgba(102,65,38,.78);display:flex;justify-content:center;min-height:480px;padding:45px 24px 25px}.evidence-board::before{background:radial-gradient(circle,rgba(112,76,48,.15) 1px,transparent 1.5px);background-size:12px 12px;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.board-label{background:#2f3c58;border-radius:5px;color:#fff;left:18px;letter-spacing:.12em;padding:7px 11px;position:absolute;top:15px;transform:rotate(-1deg);font:900 .67rem "Nunito",sans-serif}.evidence-board>div{position:relative;width:100%;z-index:1}.case-file{background:rgba(255,253,247,.95);border:1px solid rgba(255,255,255,.9);padding:24px}.file-head{align-items:center;border-bottom:1px dashed #d8cfc8;display:flex;justify-content:space-between;padding-bottom:10px}.file-head span{color:var(--coral);font:900 .72rem "Nunito",sans-serif;letter-spacing:.12em}.file-head b{color:#797383;font:900 .72rem "Nunito",sans-serif}.mission-icon{font-size:2rem;margin:18px 0 4px}.case-file h2{font:900 clamp(1.35rem,2.6vw,1.9rem)/1.12 "Nunito",sans-serif;margin:0 0 9px}.case-file>p{color:#656a76;font:600 .96rem/1.5 "Nunito",sans-serif;margin:0 0 15px}.choice-list{display:grid;gap:8px}.choice{background:#fff;border:1px solid #dfd8d5;border-radius:13px;color:#3f4350;cursor:pointer;font:700 .9rem/1.35 "Nunito",sans-serif;padding:11px 12px;text-align:left;transition:.14s}.choice::before{background:#f1edf0;border:1px solid #dcd3d8;border-radius:50%;content:"";display:inline-block;height:15px;margin-right:9px;vertical-align:-2px;width:15px}.choice:hover,.choice:focus-visible{border-color:#ada2d3;outline:none;transform:translateX(2px)}.choice.selected{background:#f1eefb;border-color:#8a7ec0}.choice.selected::before{background:#8a7ec0;border:4px solid #e9e4fa}.choice.correct{background:#e6f5ef;border-color:#68ae94}.choice.wrong{background:#fff0f2;border-color:#db8193}.check-btn,.next-btn,.start-btn{border:0;border-radius:12px;color:#fff;cursor:pointer;font:900 .88rem "Nunito",sans-serif;padding:11px 16px}.check-btn{background:#303a52;margin-top:13px;width:100%}.check-btn:disabled{cursor:not-allowed;opacity:.42}.next-btn{background:linear-gradient(135deg,#cd6d83,#e58ba0);display:none;margin-top:11px;width:100%}.next-btn.show{display:block}.feedback{align-items:flex-start;background:#f7f3ee;border:1px solid #e4dbd2;border-radius:12px;display:flex;gap:8px;margin-top:12px;padding:10px}.feedback span{font-size:1rem}.feedback p{color:#666a73;font:700 .82rem/1.4 "Nunito",sans-serif;margin:0}.feedback.good{background:#eaf7f2;border-color:#91c8b2}.feedback.bad{background:#fff0f2;border-color:#e3a4b0}.evidence-card{background:#fffdf7;border:1px solid rgba(121,82,51,.2);box-shadow:0 7px 16px rgba(72,50,32,.12);margin:0 auto;max-width:460px;padding:18px;transform:rotate(-.5deg)}.evidence-card h3{font:900 1rem "Nunito",sans-serif;margin:0 0 12px}.target-seal{align-items:center;background:#2e3a55;border:6px double #d6b35c;border-radius:50%;box-shadow:0 7px 18px rgba(40,46,61,.2);color:#fff;display:flex;font:900 clamp(2.7rem,8vw,5rem) "Nunito",sans-serif;height:145px;justify-content:center;margin:4px auto 17px;width:145px}.factor-pairs,.prime-strip,.clue-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.factor-pairs span,.prime-chip,.clue{background:#eef7f5;border:1px solid #a8d1cb;border-radius:9px;color:#36484d;font:900 .91rem "Nunito",sans-serif;padding:8px 11px}.pin-note{background:#fff2b9;box-shadow:0 5px 9px rgba(72,50,32,.12);font:800 .84rem/1.35 "Nunito",sans-serif;margin:13px auto 0;max-width:370px;padding:10px 13px;transform:rotate(1deg)}.tree{align-items:center;display:flex;flex-direction:column;gap:7px}.tree-row{display:flex;gap:12px;justify-content:center}.node{align-items:center;background:#fff;border:2px solid #8b7bb7;border-radius:50%;box-shadow:0 4px 9px rgba(62,52,92,.13);display:flex;font:900 1rem "Nunito",sans-serif;height:50px;justify-content:center;width:50px}.node.root{background:#2e3a55;border-color:#d9b75e;color:#fff;height:64px;width:64px}.node.suspect{background:#fff0bf;border-color:#d39c32}.tree-arrow{color:#846f5b;font:900 1rem "Nunito",sans-serif}.tree-caption{color:#6c675f;font:800 .78rem/1.35 "Nunito",sans-serif;margin-top:9px;text-align:center}.double-tree{display:grid;gap:14px;grid-template-columns:1fr 1fr}.mini-tree{background:rgba(255,255,255,.7);border:1px dashed #a98c6e;border-radius:12px;padding:12px}.mini-tree h4{font:900 .78rem "Nunito",sans-serif;margin:0 0 7px;text-align:center}.equation-file{background:#fff;border:1px dashed #b79a7c;border-radius:12px;font:900 clamp(1.25rem,3vw,1.65rem) "Nunito",sans-serif;margin:12px auto;padding:15px;text-align:center}.mystery-number{color:#c36b7f;font-size:3.4rem}.layer{align-items:center;background:rgba(25,32,49,.58);display:flex;inset:0;justify-content:center;opacity:0;padding:18px;pointer-events:none;position:absolute;transition:.2s;z-index:8}.layer.show{opacity:1;pointer-events:auto}.modal{background:rgba(255,253,247,.98);border:1px solid rgba(255,255,255,.9);border-radius:23px;box-shadow:0 28px 75px rgba(21,28,43,.3);max-width:590px;padding:clamp(25px,5vw,40px);text-align:center;width:100%}.modal-icon{font-size:2.8rem}.modal-kicker{color:#7d70ad;display:block;font:900 .71rem "Nunito",sans-serif;letter-spacing:.13em;margin:7px 0;text-transform:uppercase}.modal h2{font:900 clamp(1.55rem,4vw,2.25rem)/1.1 "Nunito",sans-serif;margin:0 0 10px}.modal p{color:#656a76;font:600 1rem/1.55 "Nunito",sans-serif;margin:0 auto 17px;max-width:510px}.modal-steps{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:17px 0}.modal-steps span{background:#f5f1ee;border:1px solid #e6ddd5;border-radius:12px;font:800 .78rem/1.3 "Nunito",sans-serif;padding:10px}.modal-steps b{color:#c56c80;display:block;font-size:1.25rem}.start-btn{background:linear-gradient(135deg,#2d3851,#4d5870)}.final-score{align-items:baseline;color:#c96b80;display:flex;gap:7px;justify-content:center}.final-score strong{font:900 3.5rem "Nunito",sans-serif}.final-score span{font:800 .95rem "Nunito",sans-serif}footer{align-items:center;color:#777b85;display:flex;flex-wrap:wrap;font-size:.9rem;gap:14px;justify-content:center;padding:28px 16px 36px}footer a{color:inherit}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:850px){.case-workspace{grid-template-columns:1fr}.evidence-board{min-height:370px}.detective-room,.case-workspace{min-height:980px}}@media(max-width:620px){main{padding-left:9px;padding-right:9px}.game-shell{border-radius:18px}.toolbar{align-items:stretch;flex-direction:column}.stats{display:grid;grid-template-columns:repeat(3,1fr)}.stats span{min-width:0}.tools button{flex:1}.case-stages{font-size:.62rem;padding:0}.case-workspace{padding:13px}.evidence-board{border-width:5px;padding:43px 10px 18px}.case-file{padding:18px 14px}.double-tree{grid-template-columns:1fr}.modal-steps{grid-template-columns:1fr}.modal-steps span{align-items:center;display:flex;gap:8px;text-align:left}.modal-steps b{display:inline}.hero-pills span:nth-child(3){display:none}}
