.camera-challenges-panel{box-sizing:border-box;margin:18px 0;padding:20px;border:1px solid #ffffff22;border-radius:20px;background:#14161c;color:#ecebf1;min-width:0}.camera-panel-head,.camera-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.camera-panel-head h2,.camera-dialog h2{margin:4px 0;font-size:23px}.camera-challenges-panel p,.camera-challenge-card p{color:#aaa9b5;font-size:13px;line-height:1.5}.camera-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}.camera-challenges-panel button,.camera-dialog button{min-height:42px;padding:9px 14px;border:1px solid #ffffff2d;border-radius:11px;background:#242630;color:#eeedf4;font:inherit;cursor:pointer}.camera-challenges-panel button:hover,.camera-dialog button:hover{background:#32343e}.camera-challenges-panel button:disabled,.camera-dialog button:disabled{opacity:.45;cursor:default}.camera-challenges-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:12px}.camera-challenge-card{padding:17px;border:1px solid #ffffff20;border-radius:15px;background:#1c1e26;min-width:0}.camera-challenge-card h3{margin:10px 0}.camera-duel-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff1a}.camera-duel-row small{display:block;color:#aaa9b5;margin-top:5px}.camera-duel-row b{font-size:23px}.camera-dialog{box-sizing:border-box;margin:auto;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid #ffffff32;border-radius:22px;background:#14161c;color:#eeedf4;color-scheme:dark;box-shadow:0 25px 100px #000b}.camera-dialog::backdrop{background:#08090ebd;backdrop-filter:blur(5px)}.camera-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.camera-form label{display:grid;align-content:start;gap:8px;font-size:13px}.camera-form input,.camera-form select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;background:#0e1015;color:#efedf5;border:1px solid #ffffff28;border-radius:10px;font:inherit}.camera-form select option{background:#0e1015;color:#efedf5}.camera-form label[hidden]{display:none}.camera-form p,.camera-form>button{grid-column:1/-1}.camera-feedback,[data-camera-message]{font-size:13px;line-height:1.55;color:#b9b7c8}.camera-video{position:relative;aspect-ratio:4/3;width:100%;margin-top:18px;background:#08090d;border-radius:18px;overflow:hidden}.camera-video video,.camera-video canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;font-weight:800;text-shadow:0 3px 22px #000}.camera-scoreboard{display:flex;align-items:center;justify-content:space-around;gap:15px;margin:15px 0}.camera-scoreboard>div{display:grid;gap:7px;text-align:center;min-width:0;flex:1}.camera-scoreboard strong{font-size:48px}.camera-scoreboard small{font-size:11px;color:#b9b7c8}.camera-scoreboard span{overflow-wrap:anywhere}.camera-metrics{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:17px 0}.camera-metrics>strong{font-size:30px}.camera-voice{display:flex;align-items:center;gap:8px;font-size:13px}.camera-ranking{padding-left:24px}.camera-ranking li{padding:12px}.camera-ranking strong{float:right}.camera-rep{position:absolute;right:20px;bottom:20px;font-size:40px;opacity:0}.camera-rep.is-visible{animation:cameraRep .55s ease-out}.camera-dialog button:focus-visible,.camera-form :is(input,select):focus-visible{outline:2px solid #becbd6;outline-offset:3px}.camera-challenges-panel .eyebrow,.camera-dialog .eyebrow{font-size:10px;letter-spacing:.1em;color:#aaa9b5}@keyframes cameraRep{from{opacity:1;transform:translateY(10px)}to{opacity:0;transform:translateY(-15px)}}@media(max-width:600px){.camera-dialog{padding:15px}.camera-form{grid-template-columns:1fr}.camera-challenges-panel{padding:14px}.camera-panel-head .camera-actions{width:100%}.camera-scoreboard strong{font-size:36px}.camera-video{aspect-ratio:3/4}.camera-actions button{font-size:12px;flex:1}.camera-metrics>strong{font-size:25px}.camera-duel-row{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.camera-rep.is-visible{animation:none;opacity:1}}
.camera-challenges-panel,.camera-challenge-card,.camera-ranking-card{background:transparent}
.camera-pose-reference{margin:12px 0;border:1px solid #ffffff24;border-radius:14px;background:#ffffff04;padding:12px;font-size:12px;line-height:1.55}
.camera-pose-reference summary{cursor:pointer;font-weight:650;font-size:13px;color:#e8edf2}
.camera-pose-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.camera-pose-examples figure{min-width:0;margin:0}
.camera-pose-examples img{display:block;width:100%;height:auto;aspect-ratio:1280/854;object-fit:contain;border-radius:10px;background:#101217}
.camera-pose-examples figcaption{margin-top:5px;color:#c6c9d2;font-size:11px}
.camera-pose-reference ol{padding-left:20px;margin:10px 0;color:#c4c8d1}
.camera-pose-reference li+li{margin-top:5px}
.camera-pose-reference a{color:#b5cce0;text-underline-offset:3px}
.camera-pose-guidance{display:grid;gap:5px;margin-top:14px;padding:11px 13px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff05;font-size:12px;line-height:1.5}
.camera-pose-guidance strong{font-size:13px;color:#e2e8ef}
.camera-pose-guidance span{color:#c0c6d1}
.camera-pose-guidance[data-pose-state=ready]{border-color:#8dd9b966;background:#8dd9b90b}
.camera-pose-guidance[data-pose-state=ready] strong{color:#b4e6cc}
.camera-pose-guidance[data-pose-state=adjust]{border-color:#e6c28266;background:#e6c28209}
.camera-pose-guidance[data-pose-state=adjust] strong{color:#efd7a9}
.camera-pose-reference[hidden],.camera-pose-guidance[hidden]{display:none}
.camera-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid var(--line,#ffffff2d);border-radius:11px;background:rgba(255,255,255,.035);color:var(--text,#ecebf1);font-family:inherit;font-size:12px;font-weight:600;line-height:1.35;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s;overflow-wrap:anywhere}
.camera-stake{margin:10px 0;padding:10px 12px;border:1px solid #c6b18435;border-radius:11px;color:#e2d3af;font-size:12px;line-height:1.5;background:transparent}.camera-stake[hidden]{display:none}
.camera-actions button:hover{background:rgba(255,255,255,.075);border-color:var(--line-strong,#ffffff45);box-shadow:inset 0 1px 0 #ffffff0b}
.camera-actions button:focus-visible{outline:2px solid #b9d8ef;outline-offset:3px}.camera-actions button:disabled{opacity:.45;cursor:default}
.camera-actions :is([data-personal-duel-leave],[data-camera-leave-challenge]){color:#ddc7a5;border-color:#d9b77938}.camera-actions :is([data-personal-duel-leave],[data-camera-leave-challenge]):before{content:'↗';font-size:15px;color:#d9b779}
.camera-actions :is([data-personal-duel-remove],[data-camera-delete],[data-camera-remove-duel]){color:#ddaeb5;border-color:#d38a9838}.camera-actions :is([data-personal-duel-remove],[data-camera-delete],[data-camera-remove-duel]):before{content:'×';font-size:17px;color:#d38a98}
@media(prefers-reduced-motion:reduce){.camera-actions button{transition:none}}
.camera-global-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.camera-debug{box-sizing:border-box;max-width:100%;padding:12px;border:1px solid #ffffff22;border-radius:10px;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.camera-debug[hidden]{display:none}
.camera-ranking-card{min-width:0;padding:16px;border:1px solid var(--line,#ffffff20);border-radius:16px;text-align:center}
.camera-ranking li{display:list-item;min-width:0;overflow-wrap:anywhere;padding:12px 8px;border-top:1px solid var(--line,#ffffff18)}
.camera-ranking li strong{float:none;display:block;margin-top:5px;font-size:15px}.camera-ranking li.is-self{background:rgba(255,255,255,.035);border-radius:8px}
@media(max-width:600px){.camera-global-ranking{grid-template-columns:1fr}}
.camera-readiness{margin:5px 0 12px;font-size:12px;line-height:1.6;color:#b9b7c8}
.camera-session-dialog>.camera-actions{position:sticky;top:0;z-index:2;padding:10px 0;background:#14161c}
.camera-session-dialog .camera-video{aspect-ratio:var(--camera-aspect,4/3);max-height:45dvh}
@media(max-width:600px){.camera-session-dialog .camera-video{max-height:36dvh}.camera-session-dialog>.camera-actions button{min-height:44px}.camera-session-dialog{padding-bottom:max(15px,env(safe-area-inset-bottom))}}

.camera-panel-head:has([data-camera-refresh]){flex-direction:column;text-align:center;align-items:center}.camera-panel-head [data-camera-refresh]{align-self:center;margin-inline:auto}

.camera-challenges-panel:has(.camera-global-ranking){padding:24px;border-radius:24px;background:linear-gradient(145deg,#ffffff04,transparent);border-color:#c3c7cf28}.camera-panel-head:has([data-camera-refresh]){gap:16px;margin-bottom:24px}.camera-panel-head .eyebrow{display:block;font-size:10px;letter-spacing:.16em;color:#a5adb8}.camera-panel-head h2{font-size:clamp(20px,3vw,28px);line-height:1.25;font-weight:700;letter-spacing:-.03em;max-width:520px}.camera-panel-head [data-camera-refresh]{min-height:44px;padding:10px 24px;border:1px solid #c3c7cf38;border-radius:13px;background:#ffffff07;color:inherit;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.camera-panel-head [data-camera-refresh]::before{content:'↻';margin-right:8px;font-size:18px;vertical-align:-1px}.camera-panel-head [data-camera-refresh]:hover{background:#ffffff12}.camera-global-ranking{gap:16px;align-items:stretch}.camera-ranking-card{padding:20px;display:flex;flex-direction:column;gap:8px;background:#ffffff03;border-color:#c3c7cf25;border-radius:18px}.camera-ranking-card h3{margin:0;color:inherit;font-size:18px;letter-spacing:-.02em}.camera-ranking-card>p{margin:0;color:#a5adb8;font-size:12px;line-height:1.6}.camera-ranking{list-style:none;padding:0;margin:8px 0 0}.camera-ranking li{padding:14px 0;font-size:13px;line-height:1.5}.camera-ranking-card:first-child h3::before{content:'↗';margin-right:9px;color:#c3c7cf}.camera-ranking-card:nth-child(2) h3::before{content:'◷';margin-right:9px;color:#c3c7cf}@media(max-width:700px){.camera-challenges-panel:has(.camera-global-ranking){padding:16px;border-radius:18px}.camera-panel-head:has([data-camera-refresh]){margin-bottom:18px}.camera-ranking-card{padding:16px}}
.camera-duel-modes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.camera-duel-modes>span{font-size:12px}.camera-duel-modes button[aria-pressed=true]{background:#355779;border-color:#8dc6ff}.camera-duel-modes>small{flex-basis:100%;line-height:1.5;color:#bdd2e6}.camera-dual-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.camera-dual-grid.is-live{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-dual-grid .camera-video{min-width:0}.camera-remote>span{position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:8px;background:#101622aa;font-size:12px}.camera-remote[hidden]{display:none}.camera-front-guide{display:block;width:100%;height:auto;margin-top:12px;border-radius:12px}@media(max-width:600px){.camera-dual-grid.is-live .camera-video{aspect-ratio:3/4}.camera-duel-modes button{min-height:44px;padding-inline:10px}.camera-dual-grid .camera-countdown{font-size:40px}}

.camera-panel-head [data-camera-refresh],.camera-ranking-card [data-camera-record]{background:transparent}
.camera-challenge-card{background:transparent!important;text-align:center}
.camera-challenge-card .camera-actions{justify-content:center}
.camera-challenge-card .camera-actions button{width:44px;min-height:44px;padding:8px;background:transparent;position:relative}
.camera-challenge-card .camera-actions button::before{content:none}
.camera-action-icon{font-size:21px;line-height:1}
.camera-action-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.camera-challenges-panel .camera-ranking-card [data-camera-record]{background:transparent!important}
.camera-form-dialog .camera-dialog-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;text-align:center}
.camera-form-dialog .camera-dialog-head>h2{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere;text-align:center}
.camera-form-dialog .camera-dialog-head>[data-camera-close]{grid-column:3;grid-row:1}
.camera-form-dialog .camera-form>label{text-align:center}
