/* A shared learning table: one instruction, one practice surface, quiet support. */
.s1-page{--s1-forest:#204c43;--s1-ink:#263f38;--s1-paper:#fafbf7;--s1-leaf:#e8f0e6;--s1-sand:#e8dbba;color:var(--s1-ink);width:100%}
.s1-heading{margin:18px 0 28px}.s1-heading p{font-size:1rem;margin:0 0 8px;color:#52675e}.s1-heading h1{font-size:clamp(1.7rem,3.3vw,2.7rem);line-height:1.18;letter-spacing:-.025em;margin:0;max-width:26ch}
.s1-workspace{min-width:0}.s1-workspace>*{min-width:0}.s1-stage{background:#fff;border:1px solid #d4dfd6;border-radius:22px;overflow:hidden;padding:clamp(20px,3vw,42px);margin-bottom:24px}
.s1-purpose{font-size:1rem;line-height:1.55;color:#52675e;margin:0 0 22px;max-width:52ch}.s1-your-turn{color:var(--s1-forest);font-weight:700;margin:0 0 10px!important;font-size:1.02rem!important}.s1-task>h2{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.4;max-width:34ch;margin:0 0 6px;letter-spacing:-.012em}
.s1-task>.btn{margin:10px 8px 8px 0}.s1-task>.btn.primary{display:flex;width:100%;margin-top:24px;justify-content:center}.s1-page .btn{min-height:54px;font-size:1rem;line-height:1.4;white-space:normal;max-width:100%;padding:13px 20px;border-radius:12px}.s1-page .btn:disabled{opacity:.5;cursor:not-allowed}.s1-page p{line-height:1.6}.s1-page label{font-size:1rem;line-height:1.5}.s1-page input,.s1-page textarea,.s1-page select{font-size:1rem;max-width:100%}.s1-page textarea{resize:vertical}.s1-page .field{margin-top:18px}.s1-page .field input{min-height:54px;padding:12px;border-radius:10px;border:1px solid #789082;width:100%}
.s1-page .s1-small{font-size:.92rem;color:#53685f;line-height:1.5}.s1-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.s1-choices .btn{margin:0;justify-content:flex-start;text-align:left;width:100%;gap:12px;background:#fff;border:1.5px solid #b8c9be;min-height:74px}.s1-choices .btn[aria-pressed=true]{background:#e8f0e6;border:2px solid #204c43;box-shadow:inset 4px 0 #204c43}.s1-choices .icon{width:30px;height:30px;flex-shrink:0}.s1-task .s1-example,.s1-question{background:#f4f5eb;border-left:4px solid #b4a070;padding:18px 22px;border-radius:0 12px 12px 0;font-size:1.15rem;line-height:1.55;margin:20px 0}.s1-question p{font-size:1.15rem;margin-top:0}
.s1-turns,.s1-help-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.s1-turns .btn{flex:1}.s1-turn{display:flex;align-items:center;gap:10px}.s1-name{font-size:1.8rem;font-weight:700;overflow-wrap:anywhere}.s1-status{display:flex;align-items:flex-start;gap:12px;background:#e8f0e6;padding:16px 18px;border-radius:12px;font-size:1rem;margin:20px 0}.s1-status .icon{flex-shrink:0;margin-top:3px}
.s1-support{border-top:1px solid #d8e1d9;padding:14px 0;margin-top:18px}.s1-support>summary,.s1-preparation>summary,.s1-video-settings>summary{font-size:1rem;line-height:1.45;min-height:48px;padding:10px 0;cursor:pointer;font-weight:600}.s1-support>summary .icon{vertical-align:middle;margin-right:10px}.s1-support p{font-size:1rem}.s1-youth{margin-top:30px;color:#415b4e}.s1-role{display:inline-block;font-size:.93rem;padding:7px 12px;background:#e8dbba;border-radius:6px;margin-top:10px}.s1-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px;border-top:1px solid #d8e1d9;margin-top:14px;padding-top:14px}.s1-bottom>.btn{padding-inline:0}.s1-bottom>span{font-size:.88rem;color:#53685f;margin-left:auto}.s1-preparation{padding:18px 0;margin:20px 0 36px;border-top:1px solid #d4dfd6}.s1-preparation li{font-size:1rem;line-height:1.6;margin:16px 0;max-width:68ch}.s1-preparation li small{display:block;color:#53685f;font-size:.93rem}.s1-preparation p{font-size:1rem}
.s1-consent{margin:20px 0;padding:16px 18px;border:1px solid #ccb98c;border-radius:12px;background:#fcfaf2}.s1-consent label,.s1-check{display:flex;align-items:flex-start;gap:12px}.s1-consent p{font-size:.91rem;margin:8px 0 0}.s1-consent input,.s1-check input{width:24px;height:24px;min-width:24px;margin-top:2px;accent-color:#204c43}.s1-check{padding:14px 0}.s1-review-row{padding:18px 0;border-bottom:1px solid #d8e1d9;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}.s1-review-row h3{font-size:1.05rem}.s1-review-row strong{font-size:.95rem}.s1-feedback-review dt{font-weight:600;font-size:1rem;margin-top:15px}.s1-feedback-review dd{margin:5px 0;font-size:1rem}.s1-evidence p{display:flex;gap:12px;align-items:flex-start;font-size:1rem;margin:18px 0}.s1-evidence .icon{flex-shrink:0;margin-top:3px}.s1-next-session{border-left:4px solid #b4a070;padding:20px 24px;background:#faf8ee;margin-top:20px}.s1-next-session>.icon{width:48px;height:48px}.s1-next-session h3{font-size:1.5rem;line-height:1.4}
.s1-practice-app{background:#fafbf7;border:2px solid #7b9787;border-radius:18px;padding:clamp(18px,2vw,32px);margin:18px 0;color:#263f38}.s1-app-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.s1-app-title>.icon{width:36px;height:36px;flex-shrink:0}.s1-app-title h3{font-size:1.35rem;margin:0;line-height:1.3}.s1-app-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid #c7d6cb;padding-top:20px;margin-top:24px}.s1-app-nav .btn{flex-direction:column;text-align:center;padding:16px 8px;gap:9px;min-height:104px;width:100%;background:#fff;color:#204c43;border:1.5px solid #becfc3}.s1-app-nav .btn.primary{background:#e8f0e6;border-color:#204c43}.s1-app-nav .icon{width:36px;height:36px;margin:0}.s1-app-nav .btn:last-child{grid-column:1/-1;flex-direction:row;min-height:68px}.s1-launch{display:flex;min-height:270px;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.s1-launch>.btn{flex-direction:column;min-width:180px;min-height:124px;font-size:1.25rem;gap:14px}.s1-launch .icon{width:48px;height:48px}.s1-login-card{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:16px;background:#e8dbba;border-radius:8px;margin:20px 0}.s1-login-card strong{font-size:1.35rem;letter-spacing:.06em}.s1-nickname{font-size:1.55rem;font-weight:700;overflow-wrap:anywhere}.s1-icon-checks{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem}.s1-icon-checks span{display:flex;gap:4px;align-items:center}.s1-icon-checks .icon{width:18px;height:18px}
.s1-quest-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:24px 0;padding:16px 0;gap:4px;background:linear-gradient(#c8d9c4,#c8d9c4) center 39px / 85% 3px no-repeat}.s1-quest-map li{text-align:center;position:relative;display:flex;align-items:center;flex-direction:column;gap:9px}.s1-quest-map li>span{border-radius:50%;background:#f3f6ef;border:2px solid #b7cdb9;width:48px;height:48px;display:grid;place-items:center}.s1-quest-map li.current>span{border-color:#9b7c3e;background:#f2e4c2}.s1-quest-map li.complete>span{background:#204c43;color:#fff;border-color:#204c43}.s1-quest-map small{font-size:.82rem;line-height:1.3}
.s1-media{background:#fff;border:1px solid #d4dfd6;border-radius:18px;margin-bottom:24px;overflow:hidden}.s1-media>summary{padding:16px 20px;font-size:1.05rem}.s1-chapter-label{padding:10px 20px 18px;font-size:1rem!important;margin:0!important}.s1-media .video-card{border:0;border-radius:0;padding:0;background:#fff}.s1-media .video-frame{background:#f2f5ee}.s1-media video{aspect-ratio:4/3;object-fit:contain}.s1-media .player-controls{padding:18px;gap:10px}.s1-media .player-controls .btn{padding:12px 8px;flex-direction:column;gap:8px}.s1-media .video-timeline{padding:0 20px}.s1-media .video-caption{padding:0 20px}.s1-video-settings{padding:0 20px 18px}.s1-video-settings label{display:flex;align-items:center;gap:12px;min-height:46px;margin:6px 0}.s1-video-settings input[type=checkbox]{width:22px;height:22px}.s1-outcome{padding:20px;background:#f0f4e9;font-size:1rem!important;margin:0!important;border-top:1px solid #d4dfd6}
.s1-page [hidden]{display:none!important}.s1-page :focus-visible{outline:3px solid #956b24;outline-offset:4px}.s1-page .stage-tabs button{font-size:.95rem}.s1-page .stage-tabs .icon{width:18px;height:18px}
.s1-flow-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(100deg,#e8f0e6 0%,#f5edda 100%);border:1px solid #d1ddcf;border-radius:16px;padding:14px 18px;margin:0 0 18px}.s1-flow-badge{display:inline-flex;align-items:center;gap:8px;color:#274f46;font-weight:750;white-space:nowrap}.s1-flow-badge .icon{width:21px;height:21px;color:#9a742d}.s1-flow-banner p{margin:0;color:#52685e;font-size:.94rem}.s1-page .stage-picker>summary small{color:#6f5829;background:#f3e6c7;border-radius:999px;padding:5px 10px;font-weight:700}.s1-page .stage-tabs button{border-top:4px solid var(--tab-accent,#7b9787);align-items:flex-start}.s1-page .stage-tabs button[data-stage="0"]{--tab-accent:#4f8a6f}.s1-page .stage-tabs button[data-stage="1"]{--tab-accent:#3c7393}.s1-page .stage-tabs button[data-stage="2"],.s1-page .stage-tabs button[data-stage="3"]{--tab-accent:#b16d3a}.s1-page .stage-tabs button[data-stage="4"],.s1-page .stage-tabs button[data-stage="5"]{--tab-accent:#aa812b}.s1-page .stage-tabs button[data-stage="6"]{--tab-accent:#80649a}.s1-page .stage-tabs button[data-stage="7"]{--tab-accent:#397b72}.s1-page .stage-tabs button[aria-selected=true]{background:var(--tab-accent);border-color:var(--tab-accent);color:#fff}.s1-page .stage-tabs button[aria-selected=true] .tab-number{background:#ffffff2b}.s1-page .tab-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.s1-page .tab-copy b{font-weight:700}.s1-page .stage-time{font-size:.74rem;line-height:1.2;opacity:.78}.s1-page .stage-tabs button[aria-selected=true] .stage-time{opacity:.95}.s1-page .s1-stage{border-top:7px solid #4f8a6f}.s1-page .s1-stage.stage-1{border-top-color:#3c7393}.s1-page .s1-stage.stage-2,.s1-page .s1-stage.stage-3{border-top-color:#b16d3a}.s1-page .s1-stage.stage-4,.s1-page .s1-stage.stage-5{border-top-color:#aa812b}.s1-page .s1-stage.stage-6{border-top-color:#80649a}.s1-page .s1-stage.stage-7{border-top-color:#397b72}.s1-page .s1-role{background:#f3e6c7;color:#6f5829;font-weight:700}.s1-page .s1-youth{background:#f6f1e5;padding:16px 18px;border-radius:14px;border-top:0}.s1-page .s1-youth>summary{color:#6f5829}
.s1-page .s1-guided-target{outline:4px solid #ac8132;outline-offset:3px}.s1-guided-target small{font-size:.9rem}.s1-timing{display:block;color:#61756a;font-size:.88rem;margin:4px 0 18px}
@media(min-width:1200px){.s1-workspace:has(.s1-media[open]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:30px;align-items:start}.s1-media{position:sticky;top:24px}}
@media(max-width:760px){.s1-heading{margin:14px 0 22px}.s1-stage{border-radius:16px;padding:22px 18px}.s1-page .btn{padding:12px 14px}.s1-choices{grid-template-columns:1fr;gap:10px}.s1-choices .btn{min-height:64px}.s1-bottom{gap:0 14px}.s1-bottom>span{flex-basis:100%;margin:10px 0}.s1-task>h2{font-size:1.4rem}.s1-media .player-controls{padding:12px;gap:8px}.s1-media .player-controls .btn{font-size:.92rem;padding:10px 5px;min-height:90px}.s1-app-nav .btn{font-size:1rem}.s1-quest-map small{font-size:.76rem}.s1-quest-map li>span{width:42px;height:42px}.s1-quest-map{background-position:center 37px}.s1-page .stage-tabs button{font-size:.95rem}.s1-turns{flex-direction:column}.s1-media .video-frame video::cue{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.s1-page *{animation:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.bottom-nav,.footer-note{display:none}}

.s1-status .icon{animation:s1-confirm .18s ease-out}@keyframes s1-confirm{from{transform:scale(.75)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.s1-status .icon{animation:none}}
