.camohunter{width:100%;max-width:540px;margin:auto;min-width:0}.cam-options,.cam-heading,.cam-round-status{display:flex;justify-content:space-between;align-items:center;gap:12px}.cam-options{margin-bottom:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}.cam-options label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cam-chapter{max-width:100%;min-height:36px;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.cam-heading{margin:0 auto 10px;max-width:420px}.cam-progress{font-size:11px;color:var(--muted)}.cam-target{font-size:20px;letter-spacing:-.5px}.cam-clock{display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.cam-clock strong{font-size:24px}.cam-clock small{font-size:12px;color:var(--muted)}.cam-clock.is-urgent{color:#d76035}.cam-scene{position:relative;width:100%;max-width:420px;margin:auto;overflow:hidden;border-radius:8px;background:var(--surface);touch-action:manipulation;cursor:crosshair}.cam-photo{display:block;width:100%;height:auto;pointer-events:none;user-select:none}.cam-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cam-answer,.cam-answer-shadow,.cam-hint-ring,.cam-cursor{display:none;fill:none;vector-effect:non-scaling-stroke}.cam-answer-shadow{stroke:#182e1d;stroke-width:8;rx:2}.cam-answer{stroke:#fff580;stroke-width:4;rx:2}.cam-scene[data-revealed="true"] .cam-answer,.cam-scene[data-revealed="true"] .cam-answer-shadow{display:block}.cam-hint-ring{stroke:#fff8a4;stroke-width:3;stroke-dasharray:9 6;fill:#fff9ad1a}.cam-scene[data-hinted="true"] .cam-hint-ring{display:block}.cam-cursor{stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2px #000)}.cam-scene[data-cursor="true"] .cam-cursor{display:block}.cam-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;color:#fff;background:#12231b;pointer-events:none}.cam-cover-title{font-size:24px}.cam-cover-detail{font-size:13px;color:#e2e9df}.camohunter[data-phase="countdown"] .cam-cover-title{font-size:54px}.cam-round-status{max-width:420px;margin:9px auto;font-size:12px;color:var(--muted)}.cam-feedback{min-height:40px;font-size:13px;text-align:center;margin:8px 0;overflow-wrap:anywhere}.cam-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.cam-actions button{min-height:44px}.cam-rules{margin-top:14px;font-size:12px;color:var(--muted)}.cam-rules summary{cursor:pointer;padding:8px 0}.cam-rules p{margin:8px 0;line-height:1.65}.mini-view .cam-options{gap:5px;margin-bottom:7px}.mini-view .cam-target{font-size:17px}.mini-view .cam-feedback{font-size:12px;min-height:30px}.mini-view .cam-actions{gap:5px}.mini-view .cam-rules{font-size:11px}@media(max-width:420px){.cam-options>span{display:none}.cam-options label{width:100%;justify-content:space-between}.cam-target{font-size:18px}.cam-clock strong{font-size:21px}.cam-actions .button{padding:9px 10px}}
.cam-scene.is-concealed .cam-photo,.cam-scene.is-concealed .cam-marks{visibility:hidden}.cam-cover{background:#12231b}.cam-start{pointer-events:auto;min-height:48px;min-width:130px;margin-top:6px}.cam-start:focus-visible{outline:3px solid #fff580;outline-offset:5px}

[data-camohunter-mode="trial"] .cam-options label{display:none}

/* Float touch controls on the photograph; empty overlay space passes through. */
.cam-scene{background:var(--surface);border:1px solid var(--line);cursor:default}
.cam-picture{position:relative;width:100%;margin:0;cursor:crosshair;overflow:hidden}
.cam-photo{width:100%;max-width:100%;max-height:none;height:auto}
.cam-hud{max-width:420px;margin:10px auto 0;padding:0;background:none;border:0}
.cam-hud .cam-round-status{margin:0 0 5px;font-size:11px}
.cam-hud .cam-feedback{min-height:34px;margin:3px 0 8px;font-size:12px;line-height:1.4}
.cam-picture .cam-actions{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;gap:8px;display:flex;align-items:stretch;pointer-events:none}
.cam-picture .cam-actions .button{flex:1 1 90px;min-width:0;min-height:48px;padding:10px 8px;font-size:13px;line-height:1.35;pointer-events:auto;box-shadow:0 2px 12px #10251a55;border-color:#ffffff80}.cam-picture .cam-actions .secondary{background:#f8fbf2ed;color:#233e2c}.cam-picture .cam-actions .dark{background:#244e39ed;color:#fff}
.cam-picture .cam-actions .cam-next{flex-grow:1.2}
[data-phase="playing"] .cam-picture .cam-actions{left:auto;max-width:calc(100% - 20px)}
.cam-picture .cam-actions .button:focus-visible{outline:3px solid #fff580;outline-offset:2px}
.cam-scene:focus-visible{outline:3px solid #a27721;outline-offset:3px}

/* Read-only image header: taps pass through to the photograph. */
.cam-picture .cam-heading{position:absolute;z-index:2;top:0;left:0;right:0;max-width:none;margin:0;padding:10px 12px 22px;align-items:flex-start;color:#fff;background:linear-gradient(#10251bd9,#10251b7a 70%,transparent);pointer-events:none;text-shadow:0 1px 3px #000}
.cam-picture .cam-progress{color:#edf5e6;font-size:10px}
.cam-picture .cam-target{font-size:19px;line-height:1.3;margin:2px 0 0;color:#fff}
.cam-picture .cam-clock{padding:2px 8px;border-radius:8px;background:#10251bbd;color:#fff;white-space:nowrap;line-height:1.4}
.cam-picture .cam-clock strong{font-size:23px}.cam-picture .cam-clock small{color:#edf5e6}.cam-picture .cam-clock.is-urgent{color:#ffd09b}
.cam-picture .cam-actions{z-index:3}
@media(max-width:700px){
  [data-camohunter-mode]{--cam-mobile-reserve:140px}
  .camohunter{width:100%;max-width:420px}
  .cam-scene{width:min(100%,calc((100dvh - var(--cam-mobile-reserve) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * var(--cam-photo-ratio)));max-width:420px}
  .cam-hud{margin:6px auto 0;width:100%}.cam-hud .cam-round-status{font-size:10px;line-height:14px;margin:0 0 2px}.cam-hud .cam-feedback{font-size:11px;line-height:14px;min-height:28px;margin:0}
  .camohunter .cam-rules{margin:0 auto!important;width:100%;font-size:11px}.cam-rules summary{height:28px;line-height:20px;padding:4px 0}
  .cam-rules[open]{position:fixed;z-index:20;left:8px;right:8px;bottom:64px;width:auto;max-height:calc(100dvh - 100px);overflow:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 10px 40px #0006}
  .cam-options{height:38px;margin:0 0 6px;font-size:11px}.cam-chapter{min-height:32px;padding:4px}.cam-options>span{display:none}
  [data-camohunter-mode="trial"] .cam-options,[data-started="true"] .cam-options{display:none}
  [data-camohunter-mode="full"][data-started="false"]{--cam-mobile-reserve:184px}
  .cam-start{min-width:0;width:130px;max-width:100%;font-size:13px}
  .cam-picture .cam-heading{padding:8px 9px 18px;gap:6px}.cam-picture .cam-target{font-size:16px}.cam-picture .cam-clock{padding:2px 6px}.cam-picture .cam-clock strong{font-size:21px}
}
@media(max-width:700px) and (max-height:500px){
  .cam-picture .cam-heading{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px 12px}.cam-heading>div:first-child{min-width:0;max-width:100%}
  .cam-picture .cam-progress{display:none}.cam-picture .cam-target{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cam-picture .cam-clock strong{font-size:19px}
  .cam-cover{padding:8px;gap:6px}.cam-cover-title{font-size:16px;line-height:1.3}.cam-cover-detail{font-size:11px;line-height:1.4}.cam-start{margin-top:0;padding:8px;min-height:44px}
}
