.camera-hub{--cam-accent:#28b5ed;max-width:1320px}.camera-hub [hidden]{display:none!important}.camera-hero{padding:32px 0 24px}.camera-hero h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;margin:10px 0}.camera-hero p,.camera-count,.camera-results-head,.camera-status{color:var(--muted,#8b9bb0)}.camera-orbit{display:none}.camera-count{font-size:13px}.camera-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:18px;background:var(--surface,#121e2e);border:1px solid var(--line,#263449);border-radius:18px}.camera-controls label{display:grid;gap:8px;flex:1;min-width:160px;font-size:13px}.camera-controls input,.camera-controls select{width:100%;min-height:46px;border:1px solid var(--line,#263449);background:var(--bg,#0b1320);color:var(--ink,#edf3fa);border-radius:10px;padding:10px;font:inherit}.camera-hub button{cursor:pointer;font:inherit;min-height:44px;border:1px solid var(--line,#263449);border-radius:11px;background:var(--surface,#121e2e);color:var(--ink,#edf3fa);padding:10px 14px}.camera-hub button:focus-visible,.camera-hub a:focus-visible{outline:3px solid #28b5ed;outline-offset:3px}.camera-game{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:center;margin:20px 0;padding:22px;border:1px solid #28b5ed40;border-radius:18px;background:linear-gradient(115deg,#28b5ed13,transparent)}.camera-game b{font-size:18px}.camera-game p{margin:0;font-size:13px;color:var(--muted,#8b9bb0)}.camera-game progress{width:100%;height:8px;accent-color:#28b5ed;grid-column:1/-1}.camera-game [data-camera-reset]{font-size:12px;background:transparent;border:0;color:var(--muted,#8b9bb0)}.camera-results-head{display:flex;justify-content:space-between;font-size:12px;margin:22px 0 14px;gap:12px}.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.camera-tile{display:flex;flex-direction:column;border:1px solid var(--line,#263449);border-radius:20px;overflow:hidden;background:var(--surface,#121e2e);transition:border-color .2s}.camera-tile.is-playing{border-color:#28b5ed}.camera-preview{position:relative;aspect-ratio:16/9;background:#0a1522;overflow:hidden;isolation:isolate}.camera-preview img,.camera-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.camera-preview iframe{z-index:4;background:#080d15}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#46617a;font-size:48px}.camera-preview-label{position:absolute;z-index:2;top:12px;left:12px;border-radius:20px;background:#07121acc;color:#fff;padding:5px 9px;font-size:10px}.camera-preview [data-camera-play]{position:absolute;z-index:3;bottom:14px;left:14px;right:14px;width:calc(100% - 28px);background:#08131ddd;color:#fff;border-color:#ffffff60;backdrop-filter:blur(8px)}.is-playing .camera-preview>img,.is-playing .camera-preview>button,.is-playing .camera-preview-label{visibility:hidden}.camera-body{display:flex;flex-direction:column;flex:1;padding:18px}.camera-body small{font-size:11px;color:var(--muted,#8b9bb0)}.camera-body h2{font-size:19px;line-height:1.35;margin:8px 0 20px}.camera-body h2 a{color:var(--ink,#edf3fa);text-decoration:none}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line,#263449)}.camera-actions button{width:100%;font-size:12px;padding:10px 6px}.camera-actions [data-camera-star]{grid-column:1/-1;background:transparent}.camera-actions [aria-pressed=true]{border-color:#28b5ed;color:#28b5ed}.camera-actions [data-camera-fullscreen]{background:#058ac4;color:white;border-color:#058ac4}.camera-actions [data-camera-stop]{color:var(--muted,#8b9bb0)}.camera-status{font-size:12px;line-height:1.5}.camera-status:empty{display:none}.camera-help{margin:32px 0;padding:24px;border:1px solid var(--line,#263449);border-radius:18px}.camera-help p{line-height:1.6}.camera-help details{padding:12px 0}.camera-help summary{cursor:pointer}.camera-related{display:flex;gap:14px;flex-wrap:wrap}.camera-related h2{width:100%}.camera-preview:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;background:#000}.camera-preview:-webkit-full-screen{width:100vw;height:100vh;aspect-ratio:auto;background:#000}@media(max-width:1000px){.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.camera-grid{grid-template-columns:1fr}.camera-game{grid-template-columns:1fr}.camera-results-head>span{display:none}.camera-controls{gap:12px}.camera-controls label{min-width:100%}.camera-controls>button{width:100%}}@media(hover:hover){.camera-hub button:hover{border-color:#28b5ed}.camera-tile:hover{border-color:#49627c}}@media(prefers-reduced-motion:reduce){.camera-tile{transition:none}}

.camera-credit{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:24px;margin:0 0 24px;border:1px solid #28b5ed55;border-radius:24px;background:radial-gradient(ellipse at top left,#28b5ed20,transparent 65%),var(--surface,#121e2e);box-shadow:0 0 32px #28b5ed0c}
.camera-credit h2{font-size:19px;margin:4px 0 10px;letter-spacing:-.02em}.camera-credit p{margin:0;font-size:14px;line-height:1.7;color:var(--muted,#8b9bb0)}.camera-credit a{color:var(--link-ink,#64cfff);text-underline-offset:4px}.camera-credit small{display:block;margin-top:8px;font-size:12px;color:var(--muted,#8b9bb0)}
.camera-hub .camera-applause{display:grid;place-items:center;gap:6px;min-width:100px;min-height:100px;border-radius:24px;border-color:#28b5ed80;background:linear-gradient(145deg,#28b5ed20,#9475ff15);box-shadow:inset 0 0 20px #28b5ed12,0 0 24px #28b5ed16}.camera-applause>span:first-child{font-size:46px;display:block;animation:camera-wave 4s ease-in-out infinite}.camera-applause>span:last-child{font-size:11px;letter-spacing:.04em}.camera-applause:hover{box-shadow:0 0 28px #28b5ed44}.camera-applause:active{transform:scale(.96)}
.camera-badges{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:8px 0}.camera-badges li{padding:14px;border-radius:14px;border:1px solid var(--line,#263449);font-size:13px;color:var(--muted,#8b9bb0)}.camera-badges strong{display:block;margin:7px 0;color:var(--ink,#edf3fa);font-size:14px}.camera-badges .is-earned{border-color:#36d7af88;background:#36d7af0d}.camera-badges .is-earned strong{color:var(--ink,#edf3fa)}.camera-game-note{grid-column:1/-1}.camera-tile.is-seen .camera-preview-label{color:#9affde;border:1px solid #36d7af66}.camera-game progress{max-width:none}.camera-game [data-camera-random]{background:linear-gradient(110deg,#087cb3,#076492);color:#fff;border-color:#28b5ed60}
.camera-celebration{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}.camera-like{position:absolute;top:-70px;font-size:28px;animation:camera-like-fall 1.8s ease-in forwards;filter:drop-shadow(0 0 6px #28b5ed55)}
@keyframes camera-wave{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-4px)}}
@keyframes camera-like-fall{0%{transform:translateY(-30px) rotate(-20deg);opacity:0}12%{opacity:1}100%{transform:translate(var(--drift),105vh) rotate(160deg);opacity:0}}
@media(max-width:600px){.camera-credit{padding:18px;gap:16px;align-items:start}.camera-hub .camera-applause{min-width:72px;min-height:84px;padding:8px}.camera-applause>span:first-child{font-size:36px}.camera-credit h2{font-size:17px}.camera-badges{grid-template-columns:1fr}.camera-badges li{padding:12px}.camera-badges strong{display:inline;margin:0 8px}.camera-game{padding:18px}}
@media(prefers-reduced-motion:reduce){.camera-applause>span:first-child,.camera-like{animation:none}.camera-applause:active{transform:none}}

