.detective-shell{max-width:900px;margin:0 auto;padding:24px 16px 54px;color:#17324a}.detective-shell *{box-sizing:border-box}.detective-intro,.detective-finish{max-width:720px;margin:0 auto;background:#fff;border:1px solid rgba(7,95,140,.15);border-radius:26px;padding:clamp(24px,5vw,42px);text-align:center;box-shadow:0 16px 42px rgba(17,50,72,.1)}.detective-logo{width:92px;height:92px;object-fit:contain;margin:0 auto 15px;background:#fff;border-radius:18px}.eyebrow{display:inline-block;color:#075f8c;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900}.detective-intro h1,.detective-finish h2{margin:8px 0 12px;color:#10264f;font-size:clamp(2rem,7vw,3.35rem);line-height:1}.detective-intro>p,.detective-finish>p{font-size:1.06rem;line-height:1.6;color:#475569}.detective-rule{margin:20px auto;padding:14px 16px;max-width:520px;background:#eef8fc;border-radius:16px;color:#19445f}.privacy-note{font-size:.88rem!important;color:#6b7b89!important;margin-bottom:0}.btn-primary,.btn-secondary,.link-button{min-height:50px;border-radius:999px;padding:0 22px;font:inherit;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-primary{border:0;background:#075f8c;color:#fff;box-shadow:0 8px 20px rgba(7,95,140,.18)}.btn-primary:hover{background:#064f75}.btn-primary:focus-visible,.btn-secondary:focus-visible,.answer-button:focus-visible{outline:3px solid #f7a11b;outline-offset:3px}.btn-secondary{border:1px solid rgba(7,95,140,.25);background:#fff;color:#075f8c}.detective-topbar{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}.back-link{color:#075f8c;text-decoration:none;font-weight:800}.mission-counter{font-weight:900;color:#10264f;background:#fff;border:1px solid rgba(7,95,140,.15);border-radius:999px;padding:7px 12px}.progress-track{height:8px;background:#dfeaf0;border-radius:999px;overflow:hidden;margin-bottom:16px}.progress-track span{display:block;height:100%;width:20%;background:#f29b19;border-radius:inherit;transition:width .28s ease}.mission-card{background:#fff;border:1px solid rgba(7,95,140,.15);border-radius:24px;padding:clamp(18px,4vw,30px);box-shadow:0 14px 38px rgba(17,50,72,.09)}.mission-card h2{margin:7px 0 8px;color:#10264f;font-size:clamp(1.65rem,5vw,2.35rem)}.mission-instruction{margin:0 0 18px;color:#526577;line-height:1.55}.clue-frame{position:relative;width:100%;aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#dfe8ec;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.clue-photo{width:100%;height:100%;background-repeat:no-repeat;background-color:#dfe8ec;transition:filter .25s ease}.clue-badge{position:absolute;left:12px;bottom:12px;background:rgba(16,38,79,.9);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.1em;border-radius:999px;padding:7px 10px}.mission-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.mission-actions .btn-primary{flex:1 1 240px}.mission-actions .btn-secondary{flex:0 1 auto}.hint-box{flex-basis:100%;margin:0;padding:12px 14px;border-radius:14px;background:#fff7e7;color:#684510;border:1px solid #f4d79c}.question-panel{margin-top:20px;padding:20px;border-radius:18px;background:#f5f9fb;border:1px solid #dce9ef}.question-kicker{margin:0 0 5px;color:#075f8c;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.question-panel h3{margin:0 0 15px;color:#10264f;font-size:1.25rem}.answer-grid{display:grid;gap:10px}.answer-button{width:100%;min-height:50px;border:1px solid #cddde5;border-radius:15px;background:#fff;color:#17324a;padding:11px 14px;text-align:left;font:inherit;font-weight:750;cursor:pointer}.answer-button:hover{border-color:#6da8c3}.answer-button.wrong{border-color:#d75b5b;background:#fff0f0;animation:detective-shake .25s linear}.answer-feedback{min-height:1.5em;margin:10px 2px 0;color:#a13c3c;font-weight:750}.success-panel{margin-top:20px;padding:18px;border-radius:18px;background:#edf9f1;border:1px solid #bfdfc8;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:start}.success-panel[hidden]{display:none}.success-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#24864a;color:#fff;font-size:1.2rem;font-weight:900}.success-panel strong{color:#185e34;font-size:1.1rem}.success-panel p{margin:4px 0 0;color:#365d45;line-height:1.5}.success-panel .btn-primary{grid-column:1/-1;justify-self:start}.finish-icon{font-size:3.2rem}.finish-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}@keyframes detective-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media(max-width:600px){.detective-shell{padding:14px 12px 38px}.mission-card{border-radius:20px}.clue-frame{aspect-ratio:4/3}.mission-actions .btn-secondary{flex:1 1 100%}.success-panel .btn-primary{width:100%}.finish-actions>*{width:100%}}@media(prefers-reduced-motion:reduce){.progress-track span,.clue-photo{transition:none}.answer-button.wrong{animation:none}}

.mission-location{max-width:100%;white-space:normal;line-height:1.35}

.detective-player-form{max-width:520px;margin:18px auto 16px;text-align:left;display:grid;gap:7px}.detective-player-form label{font-size:.9rem;font-weight:850;color:#17324a}.detective-player-form label span{font-weight:650;color:#6b7b89}.detective-player-form input{width:100%;min-height:48px;border:1px solid #cddde5;border-radius:14px;background:#fff;color:#17324a;padding:10px 13px;font:inherit;outline:none}.detective-player-form input:focus{border-color:#075f8c;box-shadow:0 0 0 3px rgba(7,95,140,.12)}.detective-form-error{margin:2px 0 0;color:#a13c3c;font-size:.88rem;font-weight:800}.detective-town-message{margin:8px auto 0!important;color:#075f8c!important;font-weight:850}.detective-player-form+.btn-primary{margin-top:2px}
