.cam-codes .cam-codes-section-head{border-bottom:1px solid var(--os-hairline);font-family:var(--font-fredoka),sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--cam-ink-dim)}.cam-codes .cam-codes-section-head .live{width:9px;height:9px;background:var(--grass);box-shadow:0 0 0 4px rgba(70,200,79,.18)}.cam-codes .cam-codes-section-head .live.dim{background:#c4cbdd;box-shadow:none}.cam-codes .cam-codes-section-head .count{color:var(--cam-ink-faint)}.cam-codes .cam-codes-section-head .count strong{color:var(--cam-ink)}.cam-codes .cam-codes-howto{padding:22px 24px;border:1px solid #f0e2bd;border-radius:20px;background:linear-gradient(180deg,#fff,#fff7e6);box-shadow:var(--os-shadow),inset 0 1px 0 hsla(0,0%,100%,.85)}.cam-codes .cam-codes-howto h2{font-family:var(--font-fredoka),sans-serif;font-weight:600;font-size:13px;letter-spacing:.14em;color:#c9821a;margin-bottom:14px}.cam-codes .cam-codes-howto ol{font-family:var(--font-nunito),system-ui,sans-serif;font-weight:700;font-size:15px;gap:10px;color:var(--cam-ink-dim)}.cam-codes .cam-codes-howto ol li{padding-left:34px}.cam-codes .cam-codes-howto ol li:before{content:counter(step);display:grid;place-items:center;width:22px;height:22px;top:-1px;border-radius:50%;background:var(--app-grad);color:#5a3a00;font-family:var(--font-fredoka),sans-serif;font-size:12px;font-weight:700;letter-spacing:0;box-shadow:0 2px 0 var(--app-edge)}.cam-codes .cam-codes-howto__warn{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:11px 14px;border-radius:14px;border:1px solid rgba(245,166,35,.55);background:rgba(255,200,61,.18);font-family:var(--font-nunito),system-ui,sans-serif;font-weight:700;font-size:13.5px;line-height:1.5;color:#8a5a12}.cam-codes .cam-codes-howto__warn strong{color:#b5520f;letter-spacing:.02em}.cam-codes .cam-codes-howto__warn-badge{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--app-grad);color:#5a3a00;font-family:var(--font-fredoka),sans-serif;font-weight:700;font-size:14px;box-shadow:0 2px 0 var(--app-edge)}.cam-codes .cam-codes-howto__shots{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}@media (max-width:640px){.cam-codes .cam-codes-howto__shots{grid-template-columns:1fr}}.cam-codes .cam-codes-howto__shots figure{margin:0;border:1px solid var(--os-hairline);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--os-shadow),inset 0 1px 0 hsla(0,0%,100%,.85)}.cam-codes .cam-codes-howto__shots img{display:block;width:100%;height:auto;background:#fdf3df;border-bottom:1px solid var(--os-hairline)}.cam-codes .cam-codes-howto__shots figcaption{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-nunito),system-ui,sans-serif;font-weight:700;font-size:12.5px;color:var(--cam-ink-dim)}.cam-codes .cam-codes-howto__shots figcaption .n{flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--app-grad);color:#5a3a00;font-family:var(--font-fredoka),sans-serif;font-weight:700;font-size:11px;box-shadow:0 2px 0 var(--app-edge)}.cam-codes .cam-codes-howto__shots figcaption strong{color:var(--cam-ink)}.cam-codes .cam-codes-card{gap:11px;padding:18px 18px 16px;border:1px solid var(--os-hairline);border-radius:18px;background:linear-gradient(180deg,var(--os-card-top),var(--os-card-bottom));box-shadow:var(--os-shadow),inset 0 1px 0 hsla(0,0%,100%,.85);transition:transform .18s ease,border-color .2s ease,box-shadow .25s ease}.cam-codes .cam-codes-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--app) 45%,var(--os-hairline));box-shadow:var(--os-shadow-hover),0 0 0 1px rgba(255,200,61,.25)}.cam-codes .cam-codes-card.is-expired{opacity:.6}.cam-codes .cam-codes-card.is-expired:hover{transform:none;border-color:var(--os-hairline);box-shadow:var(--os-shadow)}.cam-codes .cam-codes-card.is-used{border-color:rgba(70,200,79,.5);background:linear-gradient(180deg,#fff,#f1fcf2)}.cam-codes .cam-codes-card.is-copying{box-shadow:0 0 0 3px rgba(70,200,79,.28),var(--os-shadow-hover)}.cam-codes .cam-codes-card__chip{border-radius:999px;padding:4px 10px;font-family:var(--font-fredoka),sans-serif;font-weight:600;font-size:10px;letter-spacing:.12em}.cam-codes .cam-codes-card__chip--live{color:#2ea63a;background:rgba(70,200,79,.14);border:1px solid rgba(70,200,79,.4)}.cam-codes .cam-codes-card__chip--end{color:var(--cam-ink-faint);background:#f1f4fb;border:1px solid var(--os-hairline)}.cam-codes .cam-codes-card__chip--new{color:#b5701a;background:rgba(255,200,61,.2);border:1px solid rgba(245,166,35,.5)}.cam-codes .cam-codes-card__code{color:var(--cam-ink)}.cam-codes .cam-codes-card.is-used .cam-codes-card__code{color:#2ea63a}.cam-codes .cam-codes-card__label{font-family:var(--font-fredoka),sans-serif;letter-spacing:.14em;color:var(--cam-ink-faint)}.cam-codes .cam-codes-card__reward p{font-family:var(--font-nunito),system-ui,sans-serif;font-weight:700;color:var(--cam-ink-dim)}.cam-codes .cam-codes-card__foot{border-top:1px solid var(--os-hairline)}.cam-codes .cam-codes-card__meta{font-family:var(--font-fredoka),sans-serif;letter-spacing:.1em;color:var(--cam-ink-faint)}.cam-codes .cam-codes-card__copy{border:0;border-radius:12px;padding:9px 14px;background:var(--app-grad);color:#5a3a00;font-family:var(--font-fredoka),sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 0 var(--app-edge),0 8px 14px rgba(40,40,90,.14);transition:transform .1s ease,box-shadow .1s ease,filter .15s ease}.cam-codes .cam-codes-card__copy:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);background:var(--app-grad);border:0}.cam-codes .cam-codes-card__copy:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--app-edge)}.cam-codes .cam-codes-card__copy:disabled{background:#f1f4fb;color:var(--cam-ink-faint);box-shadow:0 3px 0 var(--os-edge);opacity:.7}.cam-codes .cam-codes-card__copy--used{background:linear-gradient(180deg,#5fd167,#2ea63a);color:#fff;box-shadow:0 4px 0 #23892e,0 8px 14px rgba(40,40,90,.14)}@media (prefers-reduced-motion:reduce){.cam-codes .cam-codes-card,.cam-codes .cam-codes-card__copy{transition:none}}