/* Mystery Logic — ML-2317 premium two-player case */
.coop-hero{padding:54px 0 28px}
.coop-hero-grid{display:grid;gap:30px;align-items:center}
.coop-hero-copy{max-width:760px}
.coop-hero h1{max-width:760px;margin:12px 0 0;font-size:clamp(2.8rem,7vw,6.2rem);line-height:.9;letter-spacing:-.055em}
.coop-lead{max-width:720px;margin:24px 0 0;color:#c0cbd6;font-size:1.05rem;line-height:1.7}
.coop-lead strong{color:#f4eee3}
.coop-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.coop-primary,.coop-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;border-radius:14px;font-weight:900;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.coop-primary{border:1px solid rgba(223,190,126,.54);background:linear-gradient(145deg,#dcb66d,#b8863b);color:#10202a;box-shadow:0 12px 34px rgba(184,134,59,.18)}
.coop-secondary{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#d7e0e7}
.coop-primary:hover,.coop-secondary:hover{transform:translateY(-1px)}
.coop-hero-scene{position:relative;min-height:390px;border:1px solid rgba(224,192,132,.16);border-radius:30px;background:radial-gradient(circle at 28% 22%,rgba(191,143,70,.16),transparent 28%),radial-gradient(circle at 76% 72%,rgba(62,114,132,.22),transparent 31%),linear-gradient(145deg,#0d1c28,#07111b);overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.34)}
.coop-hero-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.025) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(255,255,255,.02) 50%,transparent 50.5%);background-size:42px 42px;opacity:.55}
.coop-phone{position:absolute;left:50%;top:51%;z-index:2;width:190px;height:330px;padding:26px 18px;border:1px solid rgba(255,255,255,.12);border-radius:31px;background:linear-gradient(165deg,#101821,#05090d);box-shadow:0 28px 68px rgba(0,0,0,.52);transform:translate(-50%,-50%) rotate(-5deg);text-align:center}
.coop-phone-speaker{width:54px;height:5px;margin:0 auto 52px;border-radius:99px;background:#222b32}
.coop-phone small{display:block;color:#9daab5;font-size:.58rem;font-weight:900;letter-spacing:.16em}
.coop-phone strong{display:block;margin-top:10px;color:#f3eee5;font-family:Georgia,serif;font-size:3.4rem;font-weight:500;letter-spacing:-.06em}
.coop-phone span{display:block;margin-top:17px;color:#9eacb6;font-size:.68rem}
.coop-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:44px;margin-top:12px}
.coop-wave i{display:block;width:3px;border-radius:9px;background:#caa258}
.coop-wave i:nth-child(1),.coop-wave i:nth-child(9){height:9px}.coop-wave i:nth-child(2),.coop-wave i:nth-child(8){height:19px}.coop-wave i:nth-child(3),.coop-wave i:nth-child(7){height:31px}.coop-wave i:nth-child(4),.coop-wave i:nth-child(6){height:22px}.coop-wave i:nth-child(5){height:39px}
.coop-file-card{position:absolute;z-index:1;width:170px;padding:18px;border:1px solid rgba(229,210,170,.16);border-radius:8px;background:#d8cfbb;color:#202525;box-shadow:0 24px 52px rgba(0,0,0,.33)}
.coop-file-card small{display:block;color:#735f3e;font-size:.56rem;font-weight:950;letter-spacing:.12em}
.coop-file-card b{display:block;margin-top:18px;font-family:Georgia,serif;font-size:1.05rem}.coop-file-card span{display:block;margin-top:8px;color:#6b665d;font-size:.7rem}
.coop-file-a{left:7%;top:11%;transform:rotate(-9deg)}.coop-file-b{right:5%;bottom:12%;transform:rotate(8deg)}
.coop-scene-stamp{position:absolute;right:8%;top:11%;padding:9px 12px;border:2px solid rgba(206,132,100,.36);color:rgba(220,147,116,.48);font-size:.85rem;font-weight:950;line-height:.9;letter-spacing:.13em;transform:rotate(8deg)}

.coop-case-feature{margin:32px 0;padding:clamp(24px,5vw,48px);border:1px solid rgba(217,181,111,.2);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(188,140,68,.12),transparent 23rem),linear-gradient(155deg,#122737,#091723 70%);box-shadow:0 30px 86px rgba(0,0,0,.28)}
.coop-case-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.coop-case-head h2{max-width:680px;margin:10px 0 0;font-size:clamp(2.25rem,5vw,4.3rem);line-height:.96;letter-spacing:-.045em}.coop-case-number{min-width:72px;color:#83919a;text-align:right;font-size:.65rem;font-weight:900;letter-spacing:.12em}.coop-case-number strong{display:block;color:#d4b069;font-family:Georgia,serif;font-size:2.1rem;font-weight:500;letter-spacing:-.04em}
.coop-case-setup{max-width:850px;margin:26px 0 0;color:#c3ced6;font-size:1.05rem;line-height:1.75}.coop-case-question{margin-top:20px;padding:18px 20px;border-left:2px solid #c49a51;background:rgba(255,255,255,.025);color:#eef1f2;font-family:Georgia,serif;font-size:1.15rem}
.coop-role-grid{display:grid;gap:16px;margin-top:32px}.coop-role-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;padding:20px;border:1px solid rgba(198,164,99,.18);border-radius:20px;background:rgba(255,255,255,.035)}.coop-role-card.is-analyst{border-color:rgba(112,169,184,.2)}.coop-role-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(222,188,122,.28);border-radius:14px;background:rgba(197,153,76,.1);color:#d8b56f;font-weight:950}.is-analyst .coop-role-mark{border-color:rgba(115,173,189,.28);background:rgba(80,135,151,.1);color:#9ec7d0}.coop-role-card small{color:#8e9ca7;font-size:.62rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.coop-role-card h3{margin:5px 0 0;font-size:1.32rem}.coop-role-card p{margin:7px 0 0;color:#aab7c0;font-size:.84rem;line-height:1.55}.coop-role-bridge{display:none}
.coop-evidence-strip{display:grid;gap:12px;margin-top:26px}.coop-evidence-paper,.coop-evidence-map,.coop-evidence-chat{min-height:158px;padding:19px;border-radius:18px;overflow:hidden;position:relative}.coop-evidence-paper{background:#d6cdb8;color:#202526;transform:rotate(-1deg)}.coop-evidence-paper small,.coop-evidence-chat small{font-size:.58rem;font-weight:950;letter-spacing:.1em}.coop-evidence-paper strong{display:block;margin-top:28px;font-family:Georgia,serif;font-size:1.05rem}.coop-evidence-paper span,.coop-evidence-chat span,.coop-evidence-map span{position:absolute;left:19px;bottom:16px;font-size:.64rem;opacity:.65}.coop-evidence-map{background:radial-gradient(circle at 72% 34%,rgba(210,172,97,.2),transparent 10%),linear-gradient(145deg,#102b35,#0b1a25);border:1px solid rgba(107,160,177,.2)}.coop-evidence-map:before{content:"";position:absolute;left:24px;right:34px;top:78px;height:1px;background:linear-gradient(90deg,#728b94,#c8a45d)}.coop-evidence-map i{position:absolute;top:73px;width:11px;height:11px;border-radius:50%;background:#b9c8cc;box-shadow:0 0 0 4px rgba(185,200,204,.07)}.coop-evidence-map i:nth-child(1){left:24px}.coop-evidence-map i:nth-child(2){left:47%}.coop-evidence-map i:nth-child(3){right:34px;background:#d0aa61}.coop-evidence-map b{position:absolute;right:22px;top:27px;color:#dec17e;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.coop-evidence-chat{background:linear-gradient(150deg,#182a33,#101b23);border:1px solid rgba(255,255,255,.08)}.coop-evidence-chat p{margin:20px 0 0;padding:11px 13px;border-radius:14px 14px 14px 3px;background:#243d47;color:#e0e7e9;font-size:.88rem;line-height:1.5}
.coop-case-footer{display:grid;gap:18px;align-items:center;margin-top:30px;padding-top:25px;border-top:1px solid rgba(255,255,255,.08)}.coop-case-footer strong,.coop-case-footer span{display:block}.coop-case-footer span{margin-top:5px;color:#9eabb5;font-size:.82rem}
.coop-how{padding:40px 0 12px}.coop-how-grid{display:grid;gap:12px;margin-top:18px}.coop-how-grid article{padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025)}.coop-how-grid span{color:#d1ac64;font-size:.66rem;font-weight:950;letter-spacing:.12em}.coop-how-grid h3{margin:16px 0 0;font-size:1.16rem}.coop-how-grid p{margin:8px 0 0;color:#98a7b1;font-size:.82rem;line-height:1.55}
.coop-duel-intro{display:grid;gap:14px;margin:48px 0 18px;padding:25px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.025)}.coop-duel-intro h2{margin:7px 0 0;font-size:clamp(1.7rem,4vw,2.5rem)}.coop-duel-intro>p{max-width:720px;margin:0;color:#a8b5be;line-height:1.65}

.case2317-body{background:#07111b;color:#eef2f3}.case2317-header{position:relative;z-index:4}.case2317-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 72px}.case2317-boot,.case2317-cover{display:grid;gap:28px;align-items:center;min-height:68vh;padding:clamp(24px,5vw,54px);border:1px solid rgba(221,185,115,.16);border-radius:30px;background:radial-gradient(circle at 80% 15%,rgba(188,140,68,.16),transparent 23rem),linear-gradient(145deg,#102333,#07131e);box-shadow:0 34px 100px rgba(0,0,0,.34);overflow:hidden}.case2317-boot-copy h1,.case2317-cover h1{margin:12px 0 0;font-size:clamp(3rem,8vw,6.6rem);line-height:.86;letter-spacing:-.06em}.case2317-boot-copy h1 em,.case2317-cover h1 em{color:#d6b169;font-family:Georgia,serif;font-weight:500}.case2317-boot-copy p,.case2317-cover p{max-width:650px;color:#aebbc4;line-height:1.7}.case2317-eyebrow{color:#d6b169!important;font-size:.67rem!important;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.case2317-clock{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:9px;min-height:230px;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:linear-gradient(155deg,#070b0f,#101820);box-shadow:inset 0 0 80px rgba(0,0,0,.4),0 24px 60px rgba(0,0,0,.3)}.case2317-clock span{font-family:Georgia,serif;font-size:clamp(3rem,9vw,5.4rem);font-weight:500}.case2317-clock i{color:#c69b4e;font-size:2.4rem;font-style:normal}.case2317-clock small{grid-column:1/-1;text-align:center;color:#74828c;font-size:.58rem;font-weight:900;letter-spacing:.15em}
.case2317-app{display:grid;gap:18px}.case2317-panel{padding:clamp(20px,4vw,34px);border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(150deg,rgba(18,39,54,.97),rgba(7,19,29,.99));box-shadow:0 24px 70px rgba(0,0,0,.25)}.case2317-panel h2{margin:8px 0 0;font-size:clamp(1.75rem,4vw,2.65rem);line-height:1}.case2317-panel>p{color:#aab7c0;line-height:1.65}.case2317-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.case2317-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04);color:#e7ecee;font:inherit;font-weight:900;cursor:pointer}.case2317-button.is-primary{border-color:rgba(214,177,105,.45);background:linear-gradient(145deg,#d9b568,#b98538);color:#10202a}.case2317-button:disabled{opacity:.45;cursor:not-allowed}.case2317-field{display:grid;gap:7px;margin-top:16px}.case2317-field span{color:#9aa8b2;font-size:.72rem;font-weight:850}.case2317-field input,.case2317-field select{width:100%;min-height:48px;padding:12px 13px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#0b1721;color:#eef2f3;font:inherit;outline:none}.case2317-field input:focus{border-color:rgba(214,177,105,.5)}
.case2317-room{display:grid;gap:17px}.case2317-room-code{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px;border:1px dashed rgba(214,177,105,.35);border-radius:16px;background:rgba(214,177,105,.05)}.case2317-room-code small{color:#8f9ca6}.case2317-room-code strong{font-family:Georgia,serif;font-size:1.8rem;letter-spacing:.08em}.case2317-role-pair{display:grid;gap:10px}.case2317-role-slot{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.025)}.case2317-role-slot i{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(214,177,105,.25);border-radius:13px;color:#d8b46d;font-style:normal;font-weight:950}.case2317-role-slot.is-analyst i{border-color:rgba(105,165,183,.28);color:#98c4d0}.case2317-role-slot small,.case2317-role-slot strong,.case2317-role-slot span{display:block}.case2317-role-slot small{color:#87949e;font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.case2317-role-slot span{margin-top:3px;color:#91a0aa;font-size:.75rem}.case2317-wait{padding:12px 14px;border-radius:13px;background:rgba(93,144,158,.08);color:#a9c4cb;font-size:.8rem}
.case2317-topbar{position:sticky;top:0;z-index:6;display:grid;gap:10px;margin-bottom:15px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(6,16,24,.92);backdrop-filter:blur(18px)}.case2317-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;align-items:center}.case2317-role-label{display:flex;gap:8px;align-items:center}.case2317-role-label b{color:#d6b169}.case2317-stage-tabs{display:flex;gap:6px;overflow:auto}.case2317-stage-tabs button{white-space:nowrap;padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:transparent;color:#7f8e98;font-size:.68rem;font-weight:850}.case2317-stage-tabs button.is-active{border-color:rgba(214,177,105,.3);background:rgba(214,177,105,.08);color:#e4c781}.case2317-stage-tabs button:disabled{opacity:.35}
.case2317-brief{padding:clamp(22px,4vw,34px);border:1px solid rgba(214,177,105,.18);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(183,137,65,.12),transparent 20rem),#0e202e}.case2317-brief h2{margin:9px 0 0;font-size:clamp(2rem,5vw,3.2rem)}.case2317-brief p{max-width:840px;color:#acb9c2;line-height:1.7}.case2317-mission{margin-top:17px;padding:15px 17px;border-left:2px solid #d0a656;background:rgba(255,255,255,.025);color:#e6ebed;font-family:Georgia,serif}
.case2317-stage-head{margin:28px 0 15px}.case2317-stage-head small{color:#d0a656;font-size:.64rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.case2317-stage-head h2{margin:7px 0 0;font-size:clamp(1.85rem,4vw,2.8rem)}.case2317-stage-head p{max-width:860px;margin:10px 0 0;color:#98a7b1;line-height:1.65}.case2317-evidence-grid{display:grid;gap:13px}.case2317-evidence{position:relative;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(155deg,#112838,#0b1924);overflow:hidden}.case2317-evidence:after{content:attr(data-index);position:absolute;right:15px;top:11px;color:rgba(255,255,255,.055);font-family:Georgia,serif;font-size:3.4rem}.case2317-evidence .tag{display:block;color:#d2ad64;font-size:.59rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.case2317-evidence h3{max-width:80%;margin:10px 0 0;font-size:1.25rem;line-height:1.12}.case2317-evidence p{margin:10px 0 0;color:#aebbc3;font-size:.85rem;line-height:1.65}.case2317-evidence blockquote{margin:15px 0 0;padding:12px 14px;border-left:2px solid rgba(213,176,104,.5);background:rgba(255,255,255,.025);color:#e5e9e8;font-family:Georgia,serif;font-size:.96rem;line-height:1.55}.case2317-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.case2317-facts span{padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#aebdc5;font-size:.64rem}.case2317-messages{display:grid;gap:7px;margin-top:14px}.case2317-message{max-width:88%;padding:10px 12px;border-radius:14px 14px 14px 4px;background:#1d3946;color:#dfe6e8;font-size:.82rem;line-height:1.45}.case2317-message:nth-child(even){justify-self:end;border-radius:14px 14px 4px 14px;background:#3a3529}.case2317-message b{display:block;margin-bottom:3px;color:#9ebbc4;font-size:.63rem}.case2317-message:nth-child(even) b{color:#d4bd88}.case2317-stamp{display:inline-block;margin-top:15px;padding:6px 8px;border:2px solid rgba(203,122,93,.35);color:#c8856c;font-size:.58rem;font-weight:950;letter-spacing:.1em;transform:rotate(-2deg)}
.case2317-crosscheck{margin-top:18px;padding:16px;border:1px solid rgba(106,164,181,.16);border-radius:17px;background:rgba(77,132,149,.07)}.case2317-crosscheck strong{color:#b8d2d8}.case2317-crosscheck p{margin:5px 0 0;color:#91a9b1;font-size:.78rem;line-height:1.55}.case2317-stage-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px}.case2317-hint{margin-top:12px;padding:13px 15px;border:1px solid rgba(214,177,105,.16);border-radius:14px;background:rgba(214,177,105,.05);color:#c7b486;font-size:.78rem;line-height:1.55}
.case2317-final{margin-top:28px;padding:clamp(22px,5vw,40px);border:1px solid rgba(214,177,105,.2);border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(190,142,69,.12),transparent 22rem),linear-gradient(150deg,#12293a,#071721)}.case2317-final h2{margin:8px 0 0;font-size:clamp(2rem,5vw,3.5rem)}.case2317-question{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.case2317-question h3{font-size:1.05rem}.case2317-options{display:grid;gap:8px;margin-top:10px}.case2317-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.02);cursor:pointer}.case2317-option:has(input:checked){border-color:rgba(214,177,105,.36);background:rgba(214,177,105,.07)}.case2317-option input{margin-top:3px}.case2317-option span{font-size:.82rem;line-height:1.5}.case2317-feedback{margin-top:15px;padding:13px 15px;border-radius:14px;font-size:.8rem;line-height:1.55}.case2317-feedback.is-wrong{border:1px solid rgba(204,117,91,.26);background:rgba(168,73,48,.1);color:#e1b3a4}.case2317-feedback.is-right{border:1px solid rgba(113,171,135,.26);background:rgba(70,126,91,.1);color:#b7d5c1}.case2317-wait-final{margin-top:17px;padding:16px;border:1px dashed rgba(214,177,105,.25);border-radius:15px;color:#b7a77f;text-align:center}.case2317-reveal{margin-top:25px;padding:clamp(24px,5vw,42px);border:1px solid rgba(128,185,149,.2);border-radius:26px;background:radial-gradient(circle at 90% 0,rgba(100,167,126,.11),transparent 22rem),linear-gradient(150deg,#102c30,#081a22)}.case2317-reveal h2{margin:8px 0 0;font-size:clamp(2.2rem,5vw,3.7rem)}.case2317-reveal p{max-width:900px;color:#b1c4c4;line-height:1.72}.case2317-closing{margin-top:22px;padding:17px;border-left:2px solid #80b496;background:rgba(255,255,255,.025);color:#dce6e1;font-family:Georgia,serif}.case2317-error{padding:13px 15px;border:1px solid rgba(201,112,86,.25);border-radius:14px;background:rgba(159,65,44,.1);color:#e0ae9f;font-size:.8rem}

@media(min-width:760px){.coop-role-grid{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:stretch}.coop-role-bridge{display:grid;place-items:center;align-content:center;color:#d0ad68}.coop-role-bridge span{font-family:Georgia,serif;font-size:2rem}.coop-role-bridge small{margin-top:5px;color:#76858f;text-align:center;font-size:.58rem}.coop-evidence-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.coop-how-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.coop-case-footer{grid-template-columns:minmax(0,1fr) auto}.coop-duel-intro{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}.case2317-role-pair{grid-template-columns:1fr 1fr}.case2317-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case2317-options{grid-template-columns:1fr 1fr}}
@media(min-width:940px){.coop-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr)}.case2317-boot,.case2317-cover{grid-template-columns:minmax(0,1fr) minmax(320px,.62fr)}.case2317-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case2317-topbar{grid-template-columns:auto 1fr;align-items:center}.case2317-stage-tabs{justify-content:flex-end}}
@media(max-width:600px){.coop-hero-scene{min-height:300px}.coop-phone{width:158px;height:270px}.coop-phone-speaker{margin-bottom:36px}.coop-phone strong{font-size:2.8rem}.coop-file-card{width:132px;padding:13px}.coop-file-a{left:1%;top:7%}.coop-file-b{right:0;bottom:7%}.coop-scene-stamp{display:none}.coop-case-head{display:block}.coop-case-number{margin-top:14px;text-align:left}.coop-primary,.coop-secondary{width:100%}.case2317-shell{width:min(100% - 20px,1180px)}.case2317-boot,.case2317-cover,.case2317-panel,.case2317-brief,.case2317-final,.case2317-reveal{border-radius:20px}.case2317-clock{min-height:180px}.case2317-topbar{top:6px}.case2317-evidence h3{max-width:88%}}
