/* Calm, illustrated setup. One primary action per screen. */
.guided-dialog{background:#101f1b;color:#edf6eb;border:1px solid #395b49;border-radius:28px;width:min(850px,94vw);max-height:92dvh;padding:24px;overflow:auto;box-sizing:border-box}
.guided-dialog::backdrop{background:#020c09d9;backdrop-filter:blur(8px)}
.guided-dialog .dialog-head{margin-bottom:14px;gap:12px}.guided-dialog h2{font-size:clamp(21px,3vw,28px);margin:0}.guided-dialog .dialog-head>button{flex-shrink:0}
.guided-icon>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.guided-steps{display:flex;gap:7px;margin:0 0 20px}.guided-steps i{width:36px;height:4px;border-radius:8px;background:#365244}.guided-steps .current{background:#98ed78}
.guided-button{border:1px solid #42644e;background:#192f25;color:#def1da;border-radius:16px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;font:inherit;cursor:pointer}.guided-button .ui-icon{width:24px;height:24px}
.guided-button.primary{background:#96ec75;color:#142d19;border-color:#96ec75;font-weight:750}.guided-button.selected{background:#29432b;border-color:#9ce980;color:#e2ffce}.guided-button:disabled{opacity:.45;cursor:default}
.guided-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guided-note{font-size:13px;color:#a9c1ad;margin:16px 0}
.guided-move-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:9px;max-height:34dvh;overflow:auto;padding:3px}
.guided-move{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 5px;border-radius:16px;border:1px solid #314b3b;background:#14271e;color:#dfebdb;min-height:110px;cursor:pointer;font:inherit;font-size:12px}.guided-move img{width:60px;height:60px;object-fit:contain}.guided-move.selected{background:#29442b;border-color:#9ae87c}.guided-move:disabled{opacity:.5}
.guided-selection{display:flex;gap:9px;margin:15px 0}.guided-selected{position:relative;min-width:0;flex:1;background:#1b3024;border:1px solid #426044;border-radius:18px;display:flex;flex-direction:column;align-items:center;padding:12px 8px;gap:5px;text-align:center}.guided-selected>img{width:65px;height:65px;object-fit:contain}.guided-selected>strong{font-size:13px}.guided-number{position:absolute;left:8px;top:8px;background:#315631;color:#bdff9d;border-radius:50%;font-size:11px;width:22px;height:22px;display:grid;place-items:center}.guided-remove{position:absolute;right:2px;top:2px;width:36px;height:36px;padding:10px;border:0;background:none;color:#b6d2b7;cursor:pointer}.guided-remove svg{width:16px;height:16px}
.guided-quantity{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px}.guided-quantity button{min-width:32px;min-height:36px;padding:4px;background:transparent;color:#e1f8d2}.guided-selection.compact .guided-selected{flex-direction:row;justify-content:center;gap:10px;padding:12px}.guided-selection.compact img{width:40px;height:40px}.compact .guided-number{position:static;flex-shrink:0}
.guided-settings #session-setup{background:none;padding:0;border:0;margin:16px 0}.guided-settings #setup-note{display:none}.guided-settings #diff-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.guided-settings #diff-pills button{padding:10px 5px;min-width:0;min-height:54px;font-size:13px;color:#e1eedb!important;background:#1c3026!important;border:1px solid #466149!important}.guided-settings #diff-pills button.on{background:#314e2e!important;border-color:#96ed76!important;color:#ddffd0!important}.guided-sound{display:flex;gap:9px;margin:12px 0}.guided-sound button{flex:1;min-height:45px;color:#d8ead5!important;background:#193025!important;border:1px solid #47604b!important}.guided-sound button.on{background:#304b2d!important;border-color:#90db77!important}
.guided-placement{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;border-radius:20px;overflow:hidden;background:#0b1914;margin-top:16px}.guided-placement img{width:100%;display:block}.guided-placement>div{padding:16px 20px 16px 0}.guided-placement h3{font-size:18px;color:#dcf4d3;margin:0 0 8px}.guided-placement p{font-size:13px;line-height:1.5;color:#bfd1ba;margin:0 0 12px}.guided-placement small{font-size:11px;color:#8fa98b}
.guided-actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:10px;background:linear-gradient(transparent,#101f1b 20%);padding:24px 0 8px;margin-top:10px}.guided-actions>.primary{flex:1;max-width:380px}
.foundation-card{width:100%;margin:20px 0;display:grid;grid-template-columns:minmax(150px,40%) 1fr auto;align-items:center;gap:22px;text-align:left;color:#eaf6e5;border:1px solid #496344;border-radius:26px;overflow:hidden;background:linear-gradient(120deg,#10231b,#223d25);padding:0 24px 0 0;cursor:pointer;box-shadow:0 8px 30px #0002}.foundation-card>img{width:100%;height:200px;object-fit:cover}.foundation-card strong{display:block;font-size:clamp(22px,3vw,32px);line-height:1.1;margin:9px 0}.foundation-card small{color:#b6f88b;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.foundation-card p{font-size:13px;color:#b6c9ac;line-height:1.5}.foundation-card>.ui-icon{width:26px;height:26px;color:#b5f089}.foundation-card[hidden]{display:none}
#foundation-journey>img{width:100%;height:210px;object-fit:cover;border-radius:20px}.foundation-path{list-style:none;padding:0 0 0 8px;margin:20px 0}.foundation-path li{position:relative;padding:0 0 16px 25px;border-left:2px solid #3b5e3b}.foundation-path li:last-child{padding-bottom:0;border-color:transparent}.foundation-path li:before{content:'';position:absolute;left:-6px;top:38px;width:10px;height:10px;border-radius:50%;background:#557c49}.foundation-path li.complete:before{background:#aeef78}.foundation-day{width:100%;display:grid;grid-template-columns:30px 65px 1fr auto;gap:10px;align-items:center;text-align:left;background:#1a2e21;color:#e1f0db;border:1px solid #436140;border-radius:18px;min-height:100px;padding:12px;cursor:pointer}.foundation-day>img{width:65px;height:65px;object-fit:contain;grid-row:1/3;grid-column:2}.foundation-day>span:not(.earned-stars){grid-column:3;grid-row:1;font-size:16px;font-weight:700}.foundation-day small{grid-row:2;grid-column:3;font-size:11px;color:#a6c39e}.foundation-day .earned-stars{grid-column:4;grid-row:1/3}.foundation-number{grid-column:1;grid-row:1/3;font-size:21px;color:#b8ef91}.foundation-day:disabled{opacity:.48;cursor:default}
/* Camera and landmark canvas retain one common crop inside the learner's 2/3. */
#session-stage{position:relative;width:100%}#camera.with-teacher #session-stage{display:flex;gap:0;align-items:stretch;background:#0c1a13;border-radius:20px;overflow:hidden}#camera.with-teacher:not(.fsmode) #vid-wrap{width:66.666667%;flex:0 0 66.666667%;border-radius:0;min-height:360px}
#training-companion{position:relative;flex:0 0 33.333333%;width:33.333333%;background:radial-gradient(ellipse at 50% 60%,#27432a,#102016 80%);overflow:hidden;display:flex;align-items:center;justify-content:center}
#training-companion .companion-heading{position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;flex-direction:column;gap:5px;z-index:2;text-align:center;background:none;padding:0;border:0;min-height:0;height:auto}#training-companion .companion-heading small{font-size:10px;color:#acc49d}#training-companion .companion-heading strong{font-size:clamp(13px,2vw,20px);color:#e5f5dc}#training-companion footer{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:8px;right:8px;font-size:10px;text-align:center;color:#aec4a5;z-index:2;background:#142719a0;border-radius:6px;padding:4px}
#training-companion .companion-video,#training-companion canvas,#training-companion>img{position:absolute!important;inset:60px 0 42px!important;display:block;width:100%!important;height:calc(100% - 102px)!important;object-fit:contain!important;transform:none!important;aspect-ratio:auto!important;background:transparent;border:0}#training-companion [hidden]{display:none!important}
#camera.fsmode.with-teacher #vid-wrap{position:fixed!important;inset:0 33.333333% 0 0!important;width:66.666667%!important;height:100dvh!important;border-radius:0!important}#camera.fsmode #training-companion{position:fixed;top:0;right:0;bottom:0;height:100dvh;z-index:70;border-left:1px solid #41603b}
#camera #landscape-gate{position:fixed;inset:0;background:#0b1b14f5;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;gap:15px}#landscape-gate[hidden]{display:none!important}#landscape-gate strong{font-size:25px;color:#c2f99c}#landscape-gate p{color:#adc7a2;font-size:14px}.rotate-phone{border:3px solid #8cdc6b;width:112px;height:65px;border-radius:13px;display:grid;place-items:center}.rotate-phone svg{width:32px;height:32px;color:#a5ef82}
#camera .placement-start{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:min(540px,84%);padding:0;background:none;color:#e5f5d9}#camera .placement-start img{display:block;max-width:100%;max-height:55dvh;width:auto;object-fit:contain;border-radius:16px}#camera .placement-start .cdnum{font-size:40px;line-height:1;margin:0;text-shadow:0 1px 5px #000}#camera .countdown:has(.placement-start){background:transparent!important}
@media(max-width:600px){.guided-dialog{padding:18px;width:96vw;border-radius:23px;max-height:94dvh}.guided-actions{bottom:-18px}.guided-move-grid{grid-template-columns:repeat(3,1fr)}.guided-selection.compact .guided-selected{flex-direction:column;gap:4px;padding:10px 5px}.compact .guided-number{display:none}.guided-placement{grid-template-columns:1fr;gap:0}.guided-placement img{height:190px;object-fit:cover}.guided-placement>div{padding:12px 16px}.guided-placement h3{font-size:16px}.guided-placement p{font-size:12px}.foundation-card{gap:14px;padding-right:15px;grid-template-columns:38% 1fr}.foundation-card>img{height:190px}.foundation-card>.ui-icon{display:none}.foundation-card p{font-size:12px}.foundation-day{grid-template-columns:22px 48px 1fr;gap:7px}.foundation-day>img{width:48px;height:48px}.foundation-day .earned-stars{grid-column:3;grid-row:3}.foundation-day>span:not(.earned-stars){font-size:14px}.foundation-day small{font-size:10px}}
@media(orientation:landscape) and (max-height:550px){.guided-dialog{max-height:96dvh;width:min(900px,96vw)}.guided-placement img{max-height:190px;object-fit:cover}.guided-selection.compact{margin:4px 0}.guided-settings #session-setup{margin:8px 0}.guided-dialog .dialog-head h2{font-size:21px}#training-companion .companion-heading{top:10px}#training-companion .companion-video,#training-companion canvas{inset:48px 0 26px!important;height:calc(100% - 74px)!important}#camera .placement-start img{max-height:180px;object-fit:contain}#camera.with-teacher:not(.fsmode) #vid-wrap{min-height:250px}}

@media(max-width:600px){.foundation-card{grid-template-columns:1fr;gap:0;padding:0}.foundation-card>img{height:170px;object-fit:contain;background:#0b1715}.foundation-card>span{padding:14px 18px}.foundation-card strong{font-size:24px;margin:6px 0 2px}.foundation-card p{display:none}}
