:root{--ink:#1e2761;--ink-soft:#4a5580;--paper:#fff;--ground:#eef2f8;--ice:#cadcfc;--ice-soft:#e8f0fb;--line:#d6dce6;--amber:#b4741a;--amber-soft:#fbf1e0;--teal:#1e2761;--green:#31763a;--red:#b3242b;--serif:Cambria,Georgia,"Times New Roman",serif;--sans:Arial,"Segoe UI",sans-serif;--mono:Consolas,"Courier New",monospace}
*{box-sizing:border-box}html{scroll-padding-top:92px}body{margin:0;background:var(--ground);color:#252938;font:18px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--ink);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3{color:var(--ink)}.skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.topbar{display:flex;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid var(--line);height:78px;padding:0 32px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;flex:none}.brand img{width:80px;height:54px;object-fit:contain}.course-name{border-left:1px solid var(--line);padding-left:24px;font-size:16px;color:var(--ink)}.header-right{margin-left:auto;display:flex;align-items:center;gap:28px}.header-position{font-size:15px;color:var(--ink-soft);white-space:nowrap}.admin-link{font-size:14px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink-soft)}.layout{display:grid;grid-template-columns:296px minmax(0,1fr);max-width:1400px;margin:auto;align-items:start}.sidebar{height:calc(100dvh - 78px);position:sticky;top:78px;display:flex;flex-direction:column;padding:25px 19px 18px 26px;min-height:420px}.eyebrow{font-weight:700;letter-spacing:.075em;color:var(--amber);font-size:13px}.sidebar h2{font:700 23px/1.2 var(--serif);margin:8px 0 10px}.completion-count{font-size:14px;color:var(--ink-soft);margin:0 0 17px}.step-links{overflow:auto;min-height:72px;padding-right:5px;flex:1;scrollbar-width:thin;scrollbar-color:var(--ice) transparent}.step-link{display:grid;grid-template-columns:18px 1fr;gap:9px;padding:9px 8px;margin:1px 0;text-decoration:none;font-size:15px;line-height:1.35;color:var(--ink-soft);border-radius:3px}.step-link:hover{background:var(--ice-soft)}.step-link.current{background:var(--ice-soft);color:var(--ink);font-weight:700}.step-link .dot{border:2px solid #b5bfd0;border-radius:50%;width:11px;height:11px;margin:4px 0 0 2px;flex:none}.step-link.done .dot{background:var(--green);border-color:var(--green)}.step-link.check-needed .dot{background:var(--red);border-color:var(--red)}.step-link.current .dot{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 3px #1e276122}.step-link small{display:block;color:var(--red);font-weight:400;font-size:13px;margin-top:2px}.step-link .done-label{color:var(--green)}.step-link .neutral-label{color:var(--ink-soft)}.materials{padding-top:17px;margin-top:16px;border-top:1px solid var(--line);flex:none}.download-button{display:flex;align-items:center;gap:13px;padding:14px;background:var(--ink);border-radius:3px;color:#fff;text-decoration:none;font-size:16px;font-weight:700;line-height:1.2}.download-button:hover,.primary:hover{background:#141c4c}.download-arrow{font:28px/1 var(--sans)}.download-button small{display:block;color:var(--ice);font-size:13px;line-height:1.45;font-weight:400;margin-top:5px}.materials p{font-size:14px;line-height:1.45;color:var(--ink-soft);margin:11px 0 7px}.small-link{font-size:14px}.materials .office-note{margin-bottom:0;color:#677189;font-size:13px}.stage{padding:26px 36px 50px 28px;min-width:0}.player-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:12px;font-size:15px;color:var(--ink-soft)}.text-button{border:0;background:transparent;color:var(--ink-soft);padding:4px;font-size:15px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--ink)}.sheet{background:var(--paper);border:1px solid var(--line);border-radius:3px;box-shadow:0 14px 32px -28px #1e27616b;padding:38px 44px 26px;min-height:475px}.sheet-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:13px}.step-phase{font-size:15px;color:var(--ink-soft);white-space:nowrap}.sheet h1{font:700 35px/1.15 var(--serif);margin:0 0 25px;letter-spacing:-.35px}.sheet h1:focus{outline:none}.sheet p{margin:0 0 17px}.sheet .actions{list-style:none;padding-left:0;margin:0 0 23px}.actions li{position:relative;padding-left:26px;margin-bottom:12px}.actions li::before{content:'';position:absolute;left:0;top:.72em;width:12px;height:3px;border-radius:2px;background:var(--ink)}.prompt-block{margin:24px 0}.prompt-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:9px}.prompt-heading h2{font-size:15px;font-family:var(--sans);margin:0}.copy{background:white;border:1px solid var(--ink);color:var(--ink);border-radius:3px;padding:10px 14px;font:700 15px/1.1 var(--sans);white-space:nowrap}.copy:hover{background:var(--ice-soft)}.prompt-text{background:#f5f7fb;border:1px solid var(--line);border-left:3px solid var(--ink);padding:20px 22px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.65 var(--mono);color:#182047}.fill{background:var(--amber-soft);border-bottom:1px dashed var(--amber);color:#77480b;padding:1px 2px}.rule-note{background:var(--amber-soft);border-left:3px solid var(--amber);padding:15px 19px;margin:25px 0 0;font-size:15px;line-height:1.6;color:#684511}.hint{border-top:1px solid var(--line);margin:25px 0;padding-top:5px}.hint summary{cursor:pointer;color:var(--ink);font-size:15px;font-weight:700;padding:12px 0}.hint p{font-size:14px;color:var(--ink-soft)}.hint-used{font-size:14px;color:var(--amber);font-weight:400;margin-left:8px}.hint .prompt-block{margin:12px 0}.screenshot{margin:28px 0}.screenshot a{display:block}.screenshot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:3px;background:var(--ground)}.screenshot figcaption{font-size:15px;line-height:1.5;color:var(--ink-soft);margin-top:8px}.image-error{font-size:14px;color:var(--red)}.reconciliation{border:2px solid var(--ink);border-radius:3px;overflow:hidden;margin:28px 0 14px}.reconciliation h2{font:700 23px/1.2 var(--serif);background:var(--ink);color:#fff;margin:0;padding:17px 19px}.check-header,.check-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 160px}.check-header{background:var(--ink);color:var(--ice);font-size:14px;font-weight:700;line-height:1.4}.check-header>div{padding:0 15px 13px}.check-row{border-top:1px solid var(--line);font-size:15px;line-height:1.5}.check-row>div{padding:16px 15px;overflow-wrap:anywhere}.check-source{background:var(--ice-soft);color:var(--ink);font-weight:700}.check-expected{border-left:1px solid var(--line)}.check-expected summary{cursor:pointer;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}.check-expected details[open] summary{margin-bottom:6px;color:var(--ink-soft);font-weight:400}.check-controls{display:flex;gap:6px;flex-direction:column;border-left:1px solid var(--line);background:#fafbfd;justify-content:center}.check-choice{padding:10px 6px;min-height:44px;font-size:15px;font-weight:700;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);line-height:1.3}.check-choice:hover{border-color:var(--ink)}.check-choice.yes[aria-pressed="true"]{color:#fff;background:var(--green);border-color:var(--green)}.check-choice.no[aria-pressed="true"]{color:#fff;background:var(--red);border-color:var(--red)}.check-summary{font-size:16px;color:var(--ink-soft);margin-bottom:18px!important}.check-summary.error{color:var(--red)}.check-summary.success{color:var(--green)}.step-completion{border-top:1px solid var(--line);padding-top:20px;margin-top:29px}.step-completion label{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);cursor:pointer;line-height:1.4}.step-completion input{width:18px;height:18px;margin:0;accent-color:var(--green);flex:none}.step-completion p{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:7px 0 0 28px;max-width:65ch}.player-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 0}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:700;line-height:1.3;text-decoration:none;border:1px solid transparent;border-radius:3px}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.outline{background:transparent;color:var(--ink);border-color:#aebad0}.outline:hover{background:var(--ice-soft);border-color:var(--ink)}.progress-disclaimer{font-size:14px;line-height:1.6;color:#667088;margin:17px 0 0;max-width:75ch}.reset-progress{margin-top:10px;padding-left:0;font-size:14px}.finish-message{color:var(--ink-soft);font-size:14px;margin:16px 0 0}.finish-message:empty{display:none}#player:fullscreen{overflow:auto;background:var(--ground);padding:24px max(24px,calc((100vw - 1000px)/2));height:100%;width:100%}#player:fullscreen .sheet{min-height:70vh}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 20px;background:var(--ink);color:#fff;border-radius:4px;font-size:14px;max-width:calc(100vw - 32px);width:max-content;z-index:100;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translate(-50%,0)}.error-banner{padding:22px;background:var(--amber-soft);border-left:3px solid var(--amber);color:#694413}.noscript{margin:20px}.admin-main{max-width:940px;margin:40px auto;padding:0 24px 60px}.login-card{max-width:450px;background:#fff;border:1px solid var(--line);padding:32px;margin:60px auto}.login-card h1{font:700 32px/1.2 var(--serif);margin:15px 0}.login-card p{font-size:15px;color:var(--ink-soft)}form label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin:20px 0 7px}input:not([type="checkbox"]),textarea,select{width:100%;border:1px solid #aebad0;border-radius:3px;background:#fff;color:#252938;padding:11px 12px;font-size:16px;line-height:1.5}textarea{resize:vertical;min-height:80px}.login-card form button{width:100%;margin-top:25px}.form-message{font-size:14px;min-height:20px;color:var(--red)}.text-link{font-size:14px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-heading h1{font:700 36px/1.2 var(--serif);margin:10px 0 20px}.admin-notice{background:var(--ice-soft);padding:18px 22px;border-left:3px solid var(--ink);font-size:15px;margin:12px 0 28px}.editor-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:26px}.admin-help{font-size:14px;color:var(--ink-soft)}.editor-extra{border:1px solid var(--line);padding:0 20px 20px;margin:25px 0;background:#fff}.editor-extra legend{font:700 20px/1.3 var(--serif);color:var(--ink);padding:0 6px}.editor-extra p{font-size:13px;overflow-wrap:anywhere;color:var(--ink-soft)}
.reset-confirmation{margin-top:12px;padding:15px 18px;border:1px solid var(--line);border-left:3px solid var(--amber);background:var(--paper);max-width:630px}.reset-confirmation p{font-size:13px;line-height:1.5;margin:0 0 13px;color:var(--ink-soft)}.reset-confirmation>div{display:flex;gap:20px;align-items:center}.reset-confirmation .button{font-size:13px;padding:9px 13px}
@media(min-width:1500px){.sheet{padding:42px 50px 28px}.sheet h1{font-size:38px}}@media(max-width:1100px){.layout{grid-template-columns:258px minmax(0,1fr)}.sidebar{padding-left:20px;padding-right:15px}.stage{padding:24px 22px 40px 16px}.sheet{padding:30px 28px 24px}.sheet h1{font-size:32px}.check-header,.check-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 112px}.check-row>div{padding:12px 10px;font-size:14px}.check-header>div{padding-left:10px;padding-right:10px}.check-controls{gap:7px}.course-name{padding-left:20px}.topbar{padding:0 23px;gap:20px}.header-right{gap:18px}}@media(max-width:800px){.topbar{height:68px;padding:0 18px;gap:16px}.brand img{width:66px;height:45px}.course-name{font-size:14px;padding-left:16px}.header-position{font-size:12px}.header-right{gap:15px}.admin-link{font-size:12px}.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{top:68px;height:calc(100dvh - 68px);padding:21px 12px 16px 15px}.sidebar h2{font-size:20px}.step-link{font-size:12px;padding:8px 6px}.download-button{font-size:14px;padding:12px 10px;gap:8px}.download-button small{font-size:10px}.materials p{font-size:11px}.stage{padding:21px 14px 35px 10px}.sheet{padding:25px 23px 20px}.sheet h1{font-size:29px}.sheet p,.sheet li{font-size:16px}.sheet-meta{display:block}.step-phase{display:block;margin-top:6px}.prompt-text{font-size:14px;padding:16px}.prompt-heading{align-items:flex-start}.prompt-heading h2{font-size:12px}.check-header{display:none}.check-row{display:block}.check-row>div{padding:12px 15px}.check-expected,.check-controls{border-left:0}.check-controls{flex-direction:row;justify-content:flex-start;padding-top:0!important}.check-choice{padding:9px 12px}.sheet .rule-note{font-size:14px}.reconciliation h2{font-size:21px}.sheet .step-completion p{font-size:11px}.button{padding:12px 16px;font-size:14px}.sheet .check-summary{font-size:13px}.completion-count{font-size:11px}.materials .office-note{font-size:10px}}
@media(max-width:620px){.topbar{height:64px;padding:0 14px;gap:12px;flex-wrap:nowrap}.course-name{font-size:13px;padding-left:12px;line-height:1.3;max-width:165px}.header-right{gap:0}.header-position{display:none}.admin-link{font-size:11px}.brand img{width:60px;height:41px}.layout{display:block}.sidebar{position:relative;top:auto;height:auto;min-height:0;padding:20px 18px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.sidebar-heading{grid-column:1}.sidebar h2{font-size:20px;margin-bottom:5px}.sidebar h2 br{display:none}.eyebrow{font-size:10px}.completion-count{margin-bottom:0}.step-links{grid-column:1/-1;grid-row:2;display:flex;gap:5px;overflow-x:auto;padding-bottom:4px;min-height:0;max-height:none}.step-link{min-width:146px;max-width:185px;flex-shrink:0;font-size:12px;border:1px solid var(--line)}.step-link small{font-size:10px}.materials{display:none}.download-button{font-size:13px;padding:12px 9px;gap:6px}.download-arrow{font-size:23px}.download-button small{font-size:9px}.materials p,.materials .small-link,.materials .office-note{display:none}.stage{padding:18px 14px 35px}.player-top{margin-bottom:10px;font-size:12px}.text-button{font-size:12px}.sheet{padding:27px 23px 20px;min-height:0}.sheet h1{font-size:29px;margin-bottom:22px}.prompt-text{font-size:13px}.player-controls{margin-top:16px}.progress-disclaimer{font-size:10px}.sheet .actions li{padding-left:24px}.admin-main{padding:0 18px 40px;margin:25px auto}.login-card{margin:25px auto;padding:25px}.admin-heading{align-items:start}.admin-heading h1{font-size:28px}.admin-heading .button{padding:9px 12px}.editor-actions .button{width:100%}.sheet .screenshot figcaption{font-size:12px}.sheet-meta .eyebrow{font-size:11px}.step-completion label{font-size:13px}.button{max-width:100%}.copy{font-size:12px}.prompt-heading{gap:10px}.reconciliation{margin-left:-9px;margin-right:-9px}.check-row>div{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,.sidebar,.player-top,.player-controls,.step-completion,.reset-progress,.admin-main,.toast{display:none!important}.layout{display:block}.stage{padding:0}.sheet{border:0;box-shadow:none;padding:0}.copy{display:none}}

/* Participant layout: readable from a large screen, with restrained guide-style sketches. */
#public-layout{max-width:1880px}
#public-layout .sidebar{background:#f8faff;border-right:1px solid var(--line)}
#public-layout .sidebar h2{font-size:26px}
#public-layout .step-link{font-size:17px;line-height:1.3;min-height:44px;align-items:start;border-left:4px solid transparent;padding:10px 9px}
#public-layout .step-link.current{border-left-color:var(--ink);background:var(--ice-soft)}
#public-layout .step-link small{font-size:14px}
#public-layout .sheet{border:1px solid #cbd2df;border-radius:0;box-shadow:0 12px 24px #1e27610d}
#public-layout .sheet h1{font-size:clamp(34px,2.6vw,50px);line-height:1.12}
#public-layout #slide-body p,#public-layout #slide-bullets li{font-size:clamp(19px,1.23vw,24px);line-height:1.48}
#public-layout .sheet .actions{padding-left:0}
#public-layout .sheet .actions li{padding-left:28px;margin-bottom:16px}
#public-layout .sheet .eyebrow,#public-layout .sheet-meta .eyebrow{font-size:16px}
#public-layout .step-phase,#public-layout .player-top{font-size:17px}
#public-layout .sheet .rule-note{font-size:18px;line-height:1.5;border-left-width:5px}
#public-layout .sheet .screenshot figcaption{font-size:17px}
#public-layout .prompt-heading h2{font-size:18px}
#public-layout .prompt-text{font-size:17px;line-height:1.55}
#public-layout .copy{font-size:17px;min-height:48px}
#public-layout .button{font-size:18px;min-height:58px;padding:15px 27px;border-radius:0}
#public-layout .check-row{font-size:18px}
#public-layout .check-choice{font-size:17px;min-height:50px}
#public-layout .check-summary{font-size:18px}
#public-layout .step-completion label{font-size:18px}
#public-layout .step-completion input{width:23px;height:23px}
#public-layout .step-completion p,#public-layout .progress-disclaimer{font-size:16px}
#public-layout .materials p,#public-layout .small-link{font-size:15px}
#public-layout .reset-progress{font-size:15px}
/* Calm palette: ink for text and lines, ice for fills; amber only for the main action and the sketch mark. */
#public-layout .step-label{font-size:17px;font-weight:700;color:var(--ink-soft)}
#public-layout .sheet .rule-note{background:var(--ice-soft);border-left:4px solid var(--ink);color:var(--ink)}
#public-layout .hint-used{color:var(--ink-soft)}

/* Action screen: phrases, one sketch and the step's main button above the details. */
#public-layout .step-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px 40px;align-items:start;margin:0 0 32px;padding-bottom:30px;border-bottom:1px solid var(--line)}
#public-layout .step-hero.no-figure{grid-template-columns:minmax(0,1fr)}
.summary{list-style:none;margin:0 0 22px;padding:0;max-width:42ch}
.summary li{position:relative;padding-left:26px;margin:0 0 12px;font-size:clamp(20px,1.45vw,27px);line-height:1.35;color:var(--ink)}
.summary li::before{content:'';position:absolute;left:0;top:.62em;width:13px;height:3px;border-radius:2px;background:var(--ink)}
/* "Why we do this": one plain line under the phrases, quieter than them but clearly separate. */
.why{display:flex;gap:12px;margin:0 0 20px;padding:10px 16px;max-width:52ch;border-left:4px solid var(--ink);background:var(--ice-soft);font-size:17px;line-height:1.45;color:#252938}
.why-label{flex:none;font-weight:700;color:var(--ink)}
/* In the action screen the line spans both columns, so the step's main button stays above the fold on a laptop. */
#public-layout .step-hero .why{grid-column:1/-1;margin:0;max-width:none}
.figure{background:var(--ice-soft);padding:18px 20px;margin:0}
.sketch{display:block;width:100%;height:auto}
#public-layout .main-action{display:inline-flex;align-items:center;gap:14px;min-height:64px;padding:14px 28px 14px 20px;background:var(--amber);color:#fff;font-size:22px;font-weight:700;line-height:1.2;text-decoration:none}
#public-layout .main-action:hover{background:#9a6215}
@media(min-width:621px){#public-layout .main-action{white-space:nowrap}}
.main-action svg{width:30px;height:30px;flex:none;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#public-layout .action-caption{font-size:17px;line-height:1.45;color:var(--ink-soft);margin:10px 0 0;max-width:42ch}
#public-layout .secondary-action{display:inline-block;margin-top:14px;font-size:17px;line-height:1.4;color:var(--ink)}

#public-layout .tool-guide{margin:0 0 28px}
#public-layout .tool-guide h2{font:700 23px/1.2 var(--serif);margin:0 0 12px}
#public-layout .tool-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
/* Tabs, not cards: the sketch above already names the three areas, so no frames here. */
#public-layout .tool-choices{border-bottom:1px solid var(--line)}
#public-layout .tool-choice{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;width:100%;padding:10px 4px 12px;text-align:left;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;border-radius:0;color:var(--ink)}
#public-layout .tool-choice:hover{border-bottom-color:var(--ice)}
#public-layout .tool-choice.selected{border-bottom-color:var(--ink)}
#public-layout .tool-choice strong{display:block;font-size:22px;line-height:1.15}
#public-layout .tool-choice small{display:block;font-size:16px;line-height:1.3;font-weight:400;margin-top:4px;color:var(--ink-soft)}
#public-layout .tool-explanation{margin:0;font-size:19px;line-height:1.45;color:var(--ink);max-width:70ch}

/* Navigation arrows are drawn, not typed, so screen readers hear only «Далее» and «Назад». */
#next.forward::after,#prev::before{content:'';width:9px;height:9px;border:solid currentColor;border-width:0 3px 3px 0}
#next.forward::after{transform:rotate(-45deg)}
#prev::before{transform:rotate(135deg)}

/* Show mode (TV 1920×1080): title, sketch and phrases only, one screen per step. */
#public-layout #player:is(:fullscreen,.show-mode){padding:20px clamp(28px,4vw,88px);background:#fff}
#public-layout #player:is(:fullscreen,.show-mode){display:flex;flex-direction:column}
#public-layout #player.show-mode{position:fixed;inset:0;z-index:100;width:100vw;height:100dvh;overflow:auto}
body.show-mode{overflow:hidden}
#public-layout #player:is(:fullscreen,.show-mode) .player-top{position:sticky;top:0;z-index:3;background:#fff;padding:6px 0;margin:0;font-size:21px}
#public-layout #player:is(:fullscreen,.show-mode) .sheet{min-height:0;border:0;box-shadow:none;padding:18px 0 8px;flex:1 0 auto;display:flex;flex-direction:column}
#public-layout #player:is(:fullscreen,.show-mode) .sheet.has-hero .step-hero{margin-block:auto}
#public-layout #player:is(:fullscreen,.show-mode) .text-button{font-size:20px}
#public-layout #player:is(:fullscreen,.show-mode) .finish-message{font-size:20px}
#public-layout #player:is(:fullscreen,.show-mode) .sheet.has-hero :is(#step-details,.step-completion){display:none}
#public-layout #player:is(:fullscreen,.show-mode) :is(.action-caption,.secondary-action){display:none}
#public-layout #player:is(:fullscreen,.show-mode) .hero-action{margin-top:22px}
#public-layout #player:is(:fullscreen,.show-mode) .main-action{font-size:clamp(22px,1.6vw,30px);white-space:normal}
#public-layout #player:is(:fullscreen,.show-mode) :is(.progress-disclaimer,.reset-progress,.reset-confirmation,.finish-message){display:none!important}
#public-layout #player:is(:fullscreen,.show-mode) .step-label,#public-layout #player:is(:fullscreen,.show-mode) .step-phase{font-size:22px}
#public-layout #player:is(:fullscreen,.show-mode) .sheet h1{font-size:clamp(40px,3.1vw,62px);margin-bottom:36px}
#public-layout #player:is(:fullscreen,.show-mode) .step-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px 64px;align-items:center;border-bottom:0;padding:0;margin:0}
#public-layout #player:is(:fullscreen,.show-mode) .step-hero.no-figure{grid-template-columns:minmax(0,1fr)}
#public-layout #player:is(:fullscreen,.show-mode) .summary{max-width:none;margin:0}
#public-layout #player:is(:fullscreen,.show-mode) .summary li{font-size:clamp(26px,1.95vw,40px);line-height:1.3;margin-bottom:24px;padding-left:38px}
#public-layout #player:is(:fullscreen,.show-mode) .summary li::before{width:18px;height:4px}
#public-layout #player:is(:fullscreen,.show-mode) .step-hero .why{font-size:clamp(20px,1.25vw,26px);padding:12px 20px}
#public-layout #player:is(:fullscreen,.show-mode) .figure{padding:28px}
#public-layout #player:is(:fullscreen,.show-mode) .sketch{max-height:calc(100dvh - 390px)}
#public-layout #player:is(:fullscreen,.show-mode) .player-controls{margin-top:18px}
#public-layout #player:is(:fullscreen,.show-mode) #slide-body p,#public-layout #player:is(:fullscreen,.show-mode) #slide-bullets li{font-size:clamp(26px,1.6vw,32px);line-height:1.4}
#public-layout #player:is(:fullscreen,.show-mode) .button{min-height:68px;font-size:24px;padding:16px 32px}
#public-layout #player:is(:fullscreen,.show-mode) .copy{font-size:22px;min-height:60px}
#public-layout #player:is(:fullscreen,.show-mode) .prompt-text{font-size:23px}
#public-layout #player:is(:fullscreen,.show-mode) .check-row,#public-layout #player:is(:fullscreen,.show-mode) .check-choice,#public-layout #player:is(:fullscreen,.show-mode) .check-summary{font-size:22px}
#public-layout #player:is(:fullscreen,.show-mode) .sheet .rule-note,#public-layout #player:is(:fullscreen,.show-mode) .screenshot figcaption{font-size:22px}

@media(min-width:1200px){#public-layout{grid-template-columns:320px minmax(0,1fr)}#public-layout .sidebar{padding:32px 20px 22px 27px}#public-layout .stage{padding:30px 36px 50px 28px}#public-layout .sheet{padding:42px 50px 30px}}
@media(max-width:1199px){#public-layout .tool-choice{min-height:0}}
@media(max-width:1100px){#public-layout .step-hero{grid-template-columns:minmax(0,1fr)}#public-layout .step-hero .figure{max-width:560px}}
@media(max-width:800px){#public-layout .sidebar h2{font-size:20px}#public-layout .step-link{font-size:13px;min-height:0}#public-layout #slide-body p,#public-layout #slide-bullets li{font-size:17px}#public-layout .sheet h1{font-size:30px}#public-layout .sheet .rule-note,#public-layout .tool-explanation{font-size:15px}#public-layout .prompt-heading h2{font-size:14px}#public-layout .prompt-text{font-size:14px}#public-layout .button{font-size:15px;min-height:48px}#public-layout .check-row{font-size:15px}.summary li{font-size:18px}.why{font-size:16px}#public-layout .main-action{font-size:19px;min-height:56px}#public-layout .action-caption,#public-layout .secondary-action{font-size:15px}}
@media(max-width:620px){#public-layout .sidebar{border-right:0}#public-layout .step-link{font-size:12px;min-width:150px;border-left-width:3px}#public-layout .step-link small{font-size:10px}#public-layout .sheet{padding:22px 18px 20px}#public-layout .sheet h1{font-size:27px;margin-bottom:16px}#public-layout .step-hero{gap:18px;margin-bottom:24px;padding-bottom:22px}#public-layout .main-action{display:flex;width:100%;justify-content:center;padding:12px 16px}#public-layout .figure{margin-inline:-18px;padding:8px}#public-layout .tool-guide h2{font-size:20px}#public-layout .tool-choice{padding:12px 15px}#public-layout .tool-choice strong{font-size:18px}#public-layout .tool-choice small{font-size:13px}#public-layout .sheet .actions li{padding-left:24px}#public-layout .step-completion label{font-size:15px}}
@media(max-width:620px){#public-layout .sheet-meta{display:flex;flex-wrap:wrap;gap:2px 14px;margin-bottom:8px}#public-layout .sheet-meta .step-phase{display:inline;margin:0;font-size:15px}#public-layout .step-label{font-size:15px}}
@media print{#public-layout .hero-action,#public-layout .tool-guide{display:none!important}}
@media(max-width:620px){#public-layout .sidebar-heading{grid-column:1/-1}}

/* At enlarged browser scale and on phones the presentation remains readable. */
@media(max-width:1100px){
 #public-layout #player:is(:fullscreen,.show-mode){padding:14px 24px}
 #public-layout #player:is(:fullscreen,.show-mode) .step-hero{grid-template-columns:minmax(0,1fr);gap:22px}
 #public-layout #player:is(:fullscreen,.show-mode) .sheet h1{font-size:clamp(28px,4vw,42px);margin-bottom:22px}
 #public-layout #player:is(:fullscreen,.show-mode) .summary li{font-size:clamp(20px,2.8vw,28px);margin-bottom:14px;padding-left:26px}
 #public-layout #player:is(:fullscreen,.show-mode) .step-hero .why{font-size:18px}
 #public-layout #player:is(:fullscreen,.show-mode) .figure{max-width:560px;width:100%;margin:0 auto;padding:16px}
 #public-layout #player:is(:fullscreen,.show-mode) .sketch{max-height:none}
 #public-layout #player:is(:fullscreen,.show-mode) .button{min-height:52px;font-size:20px;padding:12px 20px}
 #public-layout #player:is(:fullscreen,.show-mode) .text-button{font-size:16px}
 #public-layout #player:is(:fullscreen,.show-mode) .player-top{font-size:16px;gap:16px;align-items:start}
}

.pin-main{min-height:calc(100dvh - 78px);display:grid;place-items:center;padding:42px 24px;background:#eef2f8}
.pin-card{width:min(100%,660px);background:#fff;border:2px solid var(--ink);padding:42px 48px 36px;box-shadow:0 16px 36px #1e276119}
.pin-intro{display:flex;align-items:start;justify-content:space-between;gap:20px}
.pin-intro h1{font:700 clamp(36px,3vw,50px)/1.1 var(--serif);margin:10px 0 18px;color:var(--ink)}
.pin-intro svg{width:94px;height:86px;flex:none;color:var(--ink)}
.pin-card>p{font-size:21px;line-height:1.48;margin:0 0 27px}
.pin-card form label{font-size:18px;margin:0 0 10px}
.pin-card input{font-size:25px;letter-spacing:.1em;min-height:62px}
.pin-card form button{width:100%;font-size:21px;min-height:66px;margin-top:20px;border-radius:0;justify-content:space-between;padding:16px 23px}
.pin-card .pin-message{font-size:17px;line-height:1.45;min-height:25px;margin:15px 0 0;color:var(--red)}
.pin-card .pin-help{font-size:15px;color:var(--ink-soft);margin:21px 0 0;border-top:1px solid var(--line);padding-top:18px}
@media(max-width:620px){.pin-main{min-height:calc(100dvh - 64px);padding:22px 14px}.pin-card{padding:28px 22px 24px}.pin-intro svg{width:64px;height:60px}.pin-intro h1{font-size:34px}.pin-card>p{font-size:17px}.pin-card form label{font-size:16px}.pin-card input{font-size:22px;min-height:54px}.pin-card form button{font-size:18px;min-height:58px}.pin-card .pin-message{font-size:15px}}
@media(max-height:800px) and (min-width:621px){#public-layout .sidebar{padding-top:16px;padding-bottom:12px}#public-layout .sidebar h2{font-size:21px;margin:6px 0 8px}#public-layout .completion-count{margin-bottom:9px}#public-layout .step-link{font-size:14px;min-height:36px;padding:7px 8px}#public-layout .step-link small{font-size:11px}#public-layout .materials{display:none}#public-layout .download-button{min-height:76px;padding:11px 12px;font-size:16px}#public-layout .download-button small{font-size:12px}#public-layout .download-arrow{font-size:27px}}

.admin-tools,.admin-preview,.admin-history{background:#fff;border:1px solid var(--line);border-radius:3px;padding:22px 24px;margin:20px 0 28px}
.admin-tools{border-left:4px solid var(--teal)}.draft-state{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--green)}.draft-state.is-dirty{color:#8a590f}
.admin-tools-actions,.history-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-tools-actions .button,.history-actions .button{padding:10px 14px}
.admin-warning{background:var(--amber-soft);border-left:3px solid var(--amber);padding:16px 18px;margin:18px 0 0}.admin-warning p{margin:0 0 14px;font-size:15px}
.admin-section-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.admin-section-heading h2{font:700 27px/1.2 var(--serif);margin:5px 0 12px}.admin-preview .sheet{min-height:0;padding:30px 34px}
.preview-select{max-width:440px;margin:12px 0 20px}.preview-select label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:7px}.preview-reconciliation .preview-check-row{display:grid;grid-template-columns:1fr 1.3fr;border-top:1px solid var(--line);font-size:15px}.preview-check-row>*{padding:12px 15px;overflow-wrap:anywhere}.preview-check-row strong{background:var(--ice-soft)}
.history-list{border-top:1px solid var(--line)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.history-row strong,.history-row span{display:block}.history-row span{font-size:13px;color:var(--ink-soft)}.history-actions{flex:none}.history-actions .button{font-size:13px}
@media(max-width:620px){.admin-tools,.admin-preview,.admin-history{padding:18px;margin:16px 0 22px}.admin-tools-actions .button,.history-actions .button{width:100%}.admin-section-heading h2{font-size:23px}.admin-section-heading .button{padding:9px 12px}.admin-preview .sheet{padding:22px 20px}.history-row{align-items:stretch;flex-direction:column}.history-actions{width:100%}.preview-reconciliation .preview-check-row{grid-template-columns:1fr}}

.editor-optional{border:1px solid var(--line);background:#fff;padding:0 18px 18px;margin:25px 0}.editor-optional summary{cursor:pointer;font-size:16px;font-weight:700;color:var(--ink);padding:16px 0}.editor-optional:not([open]){padding-bottom:0}.editor-optional label:first-of-type{margin-top:0}

#public-layout .tool-later{margin:12px 0 0;font-size:17px;color:#5b6475}

/* Lesson switcher (sidebar and admin) and per-step download buttons. */
.lesson-links{display:flex;gap:8px;margin:0 0 18px}.lesson-links[hidden]{display:none}
.lesson-link{flex:1;padding:7px 10px;border:2px solid var(--ink);border-radius:3px;text-align:center;font-size:15px;font-weight:700;line-height:1.3;color:var(--ink);text-decoration:none;background:#fff}
.lesson-link[aria-current="page"]{background:var(--ink);color:#fff}.lesson-link:hover{background:var(--ice-soft)}.lesson-link[aria-current="page"]:hover{background:var(--ink)}
#editor-panel .lesson-links{margin:10px 0 0;max-width:320px}
#public-layout .files-action .secondary-action{display:block;margin-top:12px}
#public-layout .files-action .main-action{white-space:normal}

/* Lesson 2: a dark teaching canvas, copper emphasis and original compact line diagrams.
   Keep this entire theme scoped to the participant view; lesson 1 and the editor are shared. */
body[data-lesson="2"][data-view="participant"]{
 --ink:#f3f4f7;--ink-soft:#b9c2ce;--paper:#121823;--ground:#0b101a;--ice:#d8dfeb;--ice-soft:#1c2838;--line:#35404f;
 --amber:#efaa7c;--amber-soft:#2b211d;--teal:#efaa7c;--green:#93d6b0;--red:#ffa1a8;--serif:Arial,"Segoe UI",sans-serif;
 color:#e4e8ef;background:var(--ground);font-family:Arial,"Segoe UI",sans-serif;
}
body[data-lesson="2"][data-view="participant"] .topbar{background:#0e141f;border-bottom-color:#303a48}
body[data-lesson="2"][data-view="participant"] .brand img{background:#faf7f1;border-radius:4px;padding:4px}
body[data-lesson="2"][data-view="participant"] .course-name{color:#f3f4f7;border-left-color:#3b4350;font-weight:700}
body[data-lesson="2"][data-view="participant"] :is(.header-position,.admin-link,.text-button){color:#c1cad6}
body[data-lesson="2"][data-view="participant"] .text-button:hover{color:#efaa7c}
body[data-lesson="2"][data-view="participant"] .skip{background:#efaa7c;color:#171b24}
body[data-lesson="2"][data-view="participant"] #public-layout{max-width:1720px;grid-template-columns:286px minmax(0,1fr)}
body[data-lesson="2"][data-view="participant"] #public-layout .sidebar{background:#0e141f;border-right-color:#303a48;padding:25px 19px 22px}
body[data-lesson="2"][data-view="participant"] #public-layout .sidebar h2{font:700 22px/1.25 Arial,sans-serif;color:#f2f4f7;margin:7px 0 10px}
body[data-lesson="2"][data-view="participant"] #public-layout .step-link{font-size:15px;line-height:1.35;padding:10px 9px;min-height:44px;border-left-width:3px;border-radius:0;color:#bec7d4}
body[data-lesson="2"][data-view="participant"] #public-layout .step-link:hover{background:#18212d}
body[data-lesson="2"][data-view="participant"] #public-layout .step-link.current{background:#25201f;border-left-color:#efaa7c;color:#fff}
body[data-lesson="2"][data-view="participant"] #public-layout .step-link.current .dot{background:#efaa7c;border-color:#efaa7c;box-shadow:0 0 0 3px #efaa7c24}
body[data-lesson="2"][data-view="participant"] #public-layout .step-link small{font-size:12px}
body[data-lesson="2"][data-view="participant"] .lesson-link{border:1px solid #4c5766;border-radius:3px;background:transparent;color:#c5cedb;padding:8px 10px}
body[data-lesson="2"][data-view="participant"] .lesson-link:hover{background:#202a39}
body[data-lesson="2"][data-view="participant"] .lesson-link[aria-current="page"]{background:#efaa7c;color:#191d27;border-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout .materials p{font-size:14px;color:#b6c0ce;overflow-wrap:anywhere}
body[data-lesson="2"][data-view="participant"] #public-layout .materials .office-note{color:#9ca9ba;font-size:13px}
body[data-lesson="2"][data-view="participant"] #public-layout .stage{padding:26px 30px 50px}
body[data-lesson="2"][data-view="participant"] #public-layout .sheet{background:#121823;border:1px solid #35404f;border-radius:5px;box-shadow:none;padding:32px 36px 28px}
body[data-lesson="2"][data-view="participant"] #public-layout .sheet h1{font:700 clamp(32px,2.5vw,47px)/1.12 Arial,sans-serif;letter-spacing:-.025em;margin-bottom:27px;color:#f3f4f7;max-width:28ch}
body[data-lesson="2"][data-view="participant"] .title-accent{color:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout .step-label{color:#efaa7c;font-size:14px;font-weight:700;letter-spacing:.03em}
body[data-lesson="2"][data-view="participant"] #public-layout .step-phase{font-size:14px;color:#c2cbd6}
body[data-lesson="2"][data-view="participant"] #public-layout .player-top{font-size:15px}
body[data-lesson="2"][data-view="participant"] #public-layout .step-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:22px 30px;align-items:center;margin-bottom:26px;padding-bottom:26px}
body[data-lesson="2"][data-view="participant"] #public-layout .step-hero.no-figure{grid-template-columns:minmax(0,1fr)}
body[data-lesson="2"][data-view="participant"] .summary{max-width:none;margin-bottom:18px}
body[data-lesson="2"][data-view="participant"] .summary li{font:400 clamp(20px,1.35vw,25px)/1.42 Arial,sans-serif;color:#e9edf3;padding-left:22px;margin-bottom:13px}
body[data-lesson="2"][data-view="participant"] .summary li::before{width:9px;height:3px;background:#efaa7c;top:.7em}
body[data-lesson="2"][data-view="participant"] .figure{background:#faf6ef;padding:18px;border:1px solid #e3d9cc;border-radius:4px;width:100%;max-width:440px;margin-inline:auto}
body[data-lesson="2"][data-view="participant"] .lesson2-sketch{width:100%;height:auto;max-height:255px}
body[data-lesson="2"][data-view="participant"] #public-layout .step-hero .why{background:#1a2432;border-left:3px solid #efaa7c;color:#d9e1eb;padding:12px 16px;font-size:17px;line-height:1.5}
body[data-lesson="2"][data-view="participant"] .why-label{color:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout #slide-body p,
body[data-lesson="2"][data-view="participant"] #public-layout #slide-bullets li{font-size:20px;line-height:1.5;color:#dce3ec}
body[data-lesson="2"][data-view="participant"] #public-layout .sheet .actions li::before{background:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout .main-action{background:#efaa7c;color:#191d27;border:1px solid #efaa7c;border-radius:3px;font-size:19px;line-height:1.3;padding:13px 18px;min-height:56px}
body[data-lesson="2"][data-view="participant"] #public-layout .main-action:hover{background:#f6bf99;border-color:#f6bf99}
body[data-lesson="2"][data-view="participant"] #public-layout .secondary-action{color:#efbc98;font-size:17px}
body[data-lesson="2"][data-view="participant"] #public-layout .action-caption{color:#bdc7d4;font-size:16px}
body[data-lesson="2"][data-view="participant"] .primary{background:#efaa7c;border-color:#efaa7c;color:#191d27}
body[data-lesson="2"][data-view="participant"] .primary:hover{background:#f6bf99;border-color:#f6bf99}
body[data-lesson="2"][data-view="participant"] .outline{border-color:#687487;color:#e5eaf2;background:transparent}
body[data-lesson="2"][data-view="participant"] .outline:hover{background:#243042;border-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout .button{border-radius:3px;font-size:18px;min-height:54px}
body[data-lesson="2"][data-view="participant"] .copy{background:#1a2535;border-color:#8794a7;color:#edf1f7;border-radius:3px}
body[data-lesson="2"][data-view="participant"] .copy:hover{background:#2b3545;border-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] .prompt-text{background:#0b111c;color:#e7ebf2;border-color:#3c495c;border-left-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] .fill{background:#3d2b20;color:#ffd2b3;border-bottom-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] #public-layout .sheet .rule-note{background:#202a37;color:#e1e8f1;border-left-color:#efaa7c;font-size:17px}
body[data-lesson="2"][data-view="participant"] .hint summary{color:#efbc98}
body[data-lesson="2"][data-view="participant"] :is(.hint p,.hint-used,.progress-disclaimer){color:#b8c4d3}
body[data-lesson="2"][data-view="participant"] .check-header{background:#233044;color:#eaf0f7}
body[data-lesson="2"][data-view="participant"] .check-source{background:#1b2636;color:#edf1f6}
body[data-lesson="2"][data-view="participant"] .check-controls{background:#141d2a}
body[data-lesson="2"][data-view="participant"] .check-choice{background:#202d3e;color:#eaf0f8;border-color:#5a697e}
body[data-lesson="2"][data-view="participant"] .check-choice:hover{border-color:#efaa7c}
body[data-lesson="2"][data-view="participant"] .check-choice.yes[aria-pressed="true"]{background:#286344;border-color:#93d6b0;color:#fff}
body[data-lesson="2"][data-view="participant"] .check-choice.no[aria-pressed="true"]{background:#8a303e;border-color:#ffa1a8;color:#fff}
body[data-lesson="2"][data-view="participant"] .check-expected summary{color:#efbc98}
body[data-lesson="2"][data-view="participant"] .toast{background:#efaa7c;color:#191d27}
body[data-lesson="2"][data-view="participant"] .pin-main{background:#0b101a}
body[data-lesson="2"][data-view="participant"] .pin-card{background:#121823;border:1px solid #536174;border-top:3px solid #efaa7c;border-radius:5px;box-shadow:none}
body[data-lesson="2"][data-view="participant"] .pin-intro h1{font-family:Arial,sans-serif;color:#f3f4f7}
body[data-lesson="2"][data-view="participant"] .pin-intro svg{color:#202a38}
body[data-lesson="2"][data-view="participant"] .pin-card input{background:#0b111c;border-color:#7c8da6;color:#f3f4f7}
body[data-lesson="2"][data-view="participant"] .pin-card .pin-help{color:#b6c2d1}

body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode){background:#0b101a;padding:26px clamp(30px,4vw,84px)}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .player-top{background:#0b101a;color:#b9c2ce}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .sheet{background:transparent;border:0;padding:20px 0 8px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .sheet h1{font:700 clamp(40px,3.2vw,60px)/1.12 Arial,sans-serif;max-width:27ch;margin-bottom:30px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .step-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:26px 60px;margin-block:auto}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .summary li{font:400 clamp(25px,1.9vw,36px)/1.35 Arial,sans-serif;max-width:35ch;margin-bottom:20px;padding-left:28px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .summary li::before{width:13px;top:.67em}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .figure{max-width:580px;padding:24px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .lesson2-sketch{max-height:320px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .step-hero .why{font-size:22px;line-height:1.4;padding:14px 20px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .main-action{font-size:24px;min-height:64px;max-width:100%}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .secondary-action{display:block;font-size:21px;margin-top:15px}
body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .button{font-size:23px;min-height:64px}

@media(max-width:1199px){
 body[data-lesson="2"][data-view="participant"] #public-layout{grid-template-columns:244px minmax(0,1fr)}
 body[data-lesson="2"][data-view="participant"] #public-layout .stage{padding:24px 20px 40px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet{padding:28px}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-hero{grid-template-columns:minmax(0,1fr)}
 body[data-lesson="2"][data-view="participant"] .figure{max-width:380px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .step-hero{grid-template-columns:minmax(0,1fr);gap:20px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .sheet h1{font-size:38px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .summary li{font-size:25px;max-width:none}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .figure{max-width:400px}
}
@media(max-width:800px){
 body[data-lesson="2"][data-view="participant"] #public-layout{grid-template-columns:214px minmax(0,1fr)}
 body[data-lesson="2"][data-view="participant"] #public-layout .sidebar{padding:18px 12px}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-link{font-size:13px;padding:8px 6px}
 body[data-lesson="2"][data-view="participant"] #public-layout #slide-body p,
 body[data-lesson="2"][data-view="participant"] #public-layout #slide-bullets li{font-size:17px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet h1{font-size:30px}
 body[data-lesson="2"][data-view="participant"] .summary li{font-size:18px}
}
@media(max-width:620px){
 body[data-lesson="2"][data-view="participant"] .topbar{padding:0 12px;gap:12px}
 body[data-lesson="2"][data-view="participant"] .course-name{font-size:12px;max-width:145px}
 body[data-lesson="2"][data-view="participant"] #public-layout{display:block}
 body[data-lesson="2"][data-view="participant"] #public-layout .sidebar{padding:17px 14px 12px;border-right:0;border-bottom:1px solid #35404f}
 body[data-lesson="2"][data-view="participant"] .lesson-links{margin-bottom:12px;max-width:310px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sidebar h2{font-size:20px}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-link{min-width:157px;max-width:182px;padding:9px 7px;font-size:12px}
 body[data-lesson="2"][data-view="participant"] #public-layout .stage{padding:18px 12px 36px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet{padding:22px 18px 20px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet h1{font-size:29px;line-height:1.15;margin-bottom:22px}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-label,
 body[data-lesson="2"][data-view="participant"] #public-layout .step-phase{font-size:13px}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-hero{gap:18px;margin-bottom:23px;padding-bottom:23px}
 body[data-lesson="2"][data-view="participant"] .figure{margin-inline:0;padding:12px;max-width:100%}
 body[data-lesson="2"][data-view="participant"] #public-layout .step-hero .why{font-size:16px;display:block;padding:11px 13px}
 body[data-lesson="2"][data-view="participant"] .why-label{margin-right:8px}
 body[data-lesson="2"][data-view="participant"] #public-layout .main-action{font-size:17px;min-height:56px}
 body[data-lesson="2"][data-view="participant"] #public-layout .secondary-action{font-size:16px}
 body[data-lesson="2"][data-view="participant"] #public-layout .button{font-size:16px;padding:12px 18px;min-height:50px}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet .rule-note{font-size:16px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode){padding:16px 20px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .sheet h1{font-size:31px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .summary li{font-size:21px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .step-hero .why{font-size:17px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .main-action,
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .secondary-action{font-size:18px}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .figure{padding:12px;max-width:100%}
 body[data-lesson="2"][data-view="participant"] #public-layout #player:is(:fullscreen,.show-mode) .button{font-size:18px;min-height:54px;padding:12px 20px}
}
/* Lesson 2 check act: the shared heading paints --ink as background, which is near-white in this theme. */
body[data-lesson="2"][data-view="participant"] .reconciliation{border-color:#5a697e}
body[data-lesson="2"][data-view="participant"] .reconciliation h2{background:#233044;color:#eaf0f7}
/* Touch targets of at least 44px for small text controls of lesson 2. */
body[data-lesson="2"][data-view="participant"] .check-expected summary{display:inline-block;padding:10px 0;min-height:44px}
body[data-lesson="2"][data-view="participant"] :is(.admin-link,.reset-progress,.finish-message a){display:inline-block;padding:10px 0}
@media(max-width:620px){
 body[data-lesson="2"][data-view="participant"] #public-layout .step-link{font-size:14px}
 body[data-lesson="2"][data-view="participant"] #public-layout .completion-count{font-size:13px}
}
@media print{
 body[data-lesson="2"][data-view="participant"]{background:white;color:#182131}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet{background:white;border:0}
 body[data-lesson="2"][data-view="participant"] #public-layout .sheet :is(h1,h2,h3,p,li){color:#182131!important}
}
