/* Short, visual challenge workflows and six-axis progress. */
#session-setup{border:0;background:none;padding:0;margin-bottom:8px}.setup-heading{margin-bottom:7px}#session-standard-controls{display:flex;gap:7px;margin:8px 0 12px}#session-standard-controls>button{flex:1;width:auto!important;min-width:0!important;min-height:44px;margin:0!important;font-size:12px!important;padding:9px!important;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:6px;background:#192f32;color:#bcd7c4;border:1px solid #385747}#session-standard-controls>button.on{background:#31532f;color:#c1ff9e;border-color:#7be66b}#session-standard-controls>button:disabled{opacity:.5}#session-standard-controls .ui-icon{width:19px;height:19px}#camera.fsmode #session-standard-controls{display:none}#session-option-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#session-option-items button{min-height:44px;padding:7px;font-size:12px}#session-option-items .on{border-color:var(--verde);color:var(--verde)}
.challenge-studio h3{font-size:16px}.challenge-capture{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:8px}.challenge-capture button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:100px;border:1px solid #486c4a;border-radius:17px;background:#1e3b2d;color:var(--verde);font-family:inherit;font-weight:600;font-size:13px;cursor:pointer}.challenge-capture .ui-icon{width:32px;height:32px}.challenge-capture .listening{background:#447132;box-shadow:0 0 0 3px #8ee96755}.small-note{font-size:11px;line-height:1.5;color:var(--ink-dim)}#ch-transcript{width:100%;box-sizing:border-box;resize:vertical;background:#11242b;border:1px solid #3d5747;border-radius:12px;color:var(--ink);padding:12px;font-family:inherit;font-size:14px;margin:6px 0}#ch-video{width:100%;max-height:300px;background:#09161b;border-radius:15px;margin:12px 0}.challenge-video-actions{display:flex;flex-wrap:wrap;gap:7px}.challenge-video-actions button,#ch-propose,#ch-addmove,#ch-save{display:inline-flex;align-items:center;justify-content:center;gap:8px}#ch-ana-status,#ch-status{font-size:12px;color:var(--verde);line-height:1.5}.challenge-review-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px}.challenge-review-heading output{font-size:12px;color:var(--ink-dim)}.challenge-edit-row{display:grid;grid-template-columns:48px minmax(100px,1fr) 65px auto;align-items:center;gap:7px;background:#152a2d;border:1px solid #2b4540;border-radius:14px;padding:7px;margin-bottom:8px}.challenge-edit-row>img{width:46px;height:46px;object-fit:contain}.challenge-edit-row .ipt{margin:0;width:100%;min-width:0;font-size:13px}.challenge-edit-row input{width:100%;box-sizing:border-box;min-height:44px;background:#0e211d;color:var(--verde);border:1px solid #446449;border-radius:10px;padding:6px;font-size:17px;text-align:center}.challenge-row-actions{display:flex;gap:4px}.challenge-row-actions .icon-button{min-width:36px;min-height:38px;padding:7px}.challenge-row-actions .ui-icon{width:18px;height:18px}#ch-title{margin-top:15px}#ch-save{width:100%}.challenge-browse{margin-top:20px}#cc-type{flex-wrap:wrap!important}#cc-students-pane{margin-top:18px}
#challenge-hud{position:absolute;left:12px;right:12px;top:68px;z-index:80;padding:9px 12px;background:#10281eed;border:1px solid #689963;border-radius:13px;max-width:500px;margin:auto}#challenge-hud small{font-size:10px;color:#b1c9b6;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#challenge-hud>div{display:flex;align-items:center;gap:12px}#challenge-hud strong{flex:1;color:#b6fc95;font-size:16px}#challenge-hud output{font-size:13px}#challenge-leave{padding:5px;min-height:32px;min-width:32px;background:none;border:0}#challenge-hud progress,.practice-demo progress{width:100%;height:5px;accent-color:#7be66b;border:0}#camera:has(#challenge-hud:not([hidden])) #camera-guide{inset:150px 0 90px}#camera.fsmode:has(#challenge-hud:not([hidden])) .statgrid{top:155px}#camera:has(#challenge-hud:not([hidden])) #solo-goal{display:none}.practice-demo{max-width:520px}.practice-demo video,.practice-demo canvas{width:100%;height:min(45vh,370px);object-fit:contain;background:#09191c;border-radius:14px}.practice-demo p{font-size:11px;line-height:1.4;color:var(--ink-dim)}.challenge-completion-note{font-weight:700;color:var(--verde);font-size:15px}.practice-save-status{font-size:12px;color:var(--ink-dim)}
.progress-radar{display:block;width:100%;max-width:460px;margin:auto;overflow:visible}.radar-ring{fill:none;stroke:#36534a;stroke-width:1}.radar-current{fill:#7be66b2b;stroke:#8ae773;stroke-width:2.5}.radar-previous{fill:none;stroke:#8aa5a6;stroke-width:1.5;stroke-dasharray:5 5}.progress-radar text{fill:#d5e9da;font-size:12px}.progress-radar .radar-score{fill:#a3f383;font-weight:800;font-size:14px}.progress-radar g{cursor:pointer}.progress-radar g:focus text,.progress-radar g:hover text{fill:#d3ffaf}.radar-details{background:#11272a;padding:12px;border:1px solid #385348;border-radius:14px}.radar-details h4{margin:0 0 10px;font-size:15px;color:var(--verde)}.radar-details p{font-size:12px}.radar-details table{border-collapse:collapse;width:100%;font-size:12px}.radar-details th,.radar-details td{text-align:left;padding:8px 6px;border-bottom:1px solid #2b443b}.radar-details th{font-size:10px;color:var(--ink-dim)}.radar-details td:nth-child(2){color:var(--verde)}.student-picker{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.challenge-report{border-top:1px solid #385348;padding-top:10px;margin-top:16px}.challenge-report h4{font-size:16px}.student-result{background:#152d2b;border:1px solid #375045;padding:13px;margin:10px 0;border-radius:15px}.student-result p,.challenge-report>p{font-size:12px;line-height:1.6;color:var(--ink-dim)}.quality-chip{display:inline-block;background:#284430;border:1px solid #4d6e4a;padding:7px 10px;border-radius:10px;margin:3px;font-size:12px;color:#c1f9ab}.practice-profile h3{font-size:19px}
@media(max-width:540px){.challenge-edit-row{grid-template-columns:38px minmax(80px,1fr) 55px}.challenge-edit-row>img{width:38px;height:38px}.challenge-row-actions{grid-column:2/4;justify-content:flex-end}.challenge-row-actions .icon-button{min-width:44px;min-height:40px}.challenge-capture button{font-size:11px;min-height:92px}.challenge-capture .ui-icon{width:28px;height:28px}.progress-radar text{font-size:11px}#ch-save{font-size:15px}#session-standard-controls>button{font-size:11px!important}#session-standard-controls .ui-icon{width:17px;height:17px}}
@media(orientation:landscape) and (max-height:550px){#camera.fsmode #challenge-hud{top:68px;left:25%;right:25%;padding:5px 9px}#camera.fsmode:has(#challenge-hud:not([hidden])) .statgrid{top:12px}#camera.fsmode:has(#challenge-hud:not([hidden])) #camera-guide{inset:140px 0 80px}.practice-demo video,.practice-demo canvas{height:40vh}.practice-demo{padding:12px;width:450px}.practice-demo .dialog-head{margin-bottom:7px}.practice-demo h2{font-size:18px}}
.challenge-camera{position:relative;background:#08161a;border-radius:18px;overflow:hidden}
.challenge-camera video{display:block;width:100%;max-height:480px;object-fit:contain}
.challenge-camera video[hidden],.challenge-camera canvas[hidden]{display:none}
.challenge-camera canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.track-picker{display:flex;gap:10px;align-items:center;margin:14px 0}.track-picker .ipt{min-width:0;flex:1}.track-picker button{flex-shrink:0}
.track-edit-row{display:grid;grid-template-columns:32px minmax(0,1fr) repeat(3,40px);gap:6px;align-items:center;margin:12px 0}
.track-edit-row .ipt{min-width:0}.track-step-number{color:var(--verde)}.track-setting{display:flex;gap:10px;align-items:center;margin:22px 0}.track-workflow{color:var(--verde);font-weight:700}
.earned-stars{display:inline-flex;gap:5px;color:#536b68}.earned-stars .ui-icon{width:25px;height:25px}.earned-stars .earned{color:#ffd954}.earned-stars .earned .ui-icon{fill:#ffd954}
.level-path{list-style:none;padding:10px 0;margin:0;position:relative}.level-path:before{content:'';position:absolute;top:60px;bottom:60px;left:50%;width:4px;background:#34534d;border-radius:4px}
.level-node{position:relative;max-width:75%;width:300px;margin:0 auto 28px;transform:translateX(-12%)}.level-node:nth-child(even){transform:translateX(12%)}
.level-button{display:flex;align-items:center;gap:8px;flex-direction:column;border:2px solid #396153;background:#132b2a;color:var(--ink);width:100%;padding:18px 12px;border-radius:24px;cursor:pointer;min-height:148px;box-shadow:0 5px 0 #081816}.level-button strong{overflow-wrap:anywhere}.level-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#7ae45f;color:#132719;font-size:22px}.level-node.completed .level-button{border-color:#80eb67}.level-node.locked .level-button{opacity:.65}.level-button:focus-visible{outline:3px solid #ffd954;outline-offset:4px}.level-button:disabled{cursor:default}
.level-node details{padding:10px;background:#142926;border-radius:10px}.level-node video{width:100%;max-height:220px}.track-award{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:20px;border:1px solid var(--line);border-radius:20px;color:var(--ink-dim);background:var(--panel)}.track-award.earned{color:#ffd954;border-color:#9e8536}.track-award .ui-icon{width:38px;height:38px}.track-award strong{overflow-wrap:anywhere}.track-award span{width:100%;text-align:center}
.achievement-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.achievement-row>span:first-child{flex:1;min-width:130px;overflow-wrap:anywhere}.achievement-row small{width:100%;color:var(--ink-dim)}.earned-badge{display:inline-flex;align-items:center;gap:8px;color:#ffd954;border-radius:12px;padding:8px 12px;background:#302e1c}.journey-dialog{max-width:620px;width:calc(100% - 24px)}
@media(max-width:480px){.track-edit-row{grid-template-columns:24px minmax(0,1fr) repeat(3,32px);gap:3px}.track-edit-row .icon-button{width:32px;min-width:32px;padding:5px}.track-picker{flex-wrap:wrap}.track-picker .ipt{flex-basis:60%}}
.level-button{position:relative}.level-art{width:64px;height:64px;object-fit:contain}.level-number{position:absolute;top:12px;left:12px;width:32px;height:32px;font-size:18px}
