/* Accepted teaching compositions. Fixed authoring canvas; responsive reading below. */
.stage-content.composition-stage{left:70px;right:70px;top:104px;height:665px}
.composition-stage .kicker{font-size:19px;line-height:1.3;margin:0 0 12px;color:#555;letter-spacing:.02em;text-transform:none}
.composition-stage h1{font-size:58px;line-height:1.12;max-width:none;margin:0 0 24px}
.teaching-composition .composition-body{height:535px;position:relative}
.teaching-composition p{white-space:normal}
.teaching-composition mark{background:#fdcf01;color:#111;padding:0 3px}
.teaching-composition .big{font-size:62px;font-weight:750;line-height:1.1}.teaching-composition .label{font-size:22px;text-transform:uppercase;letter-spacing:.08em;font-weight:650;margin:0 0 16px}.teaching-composition .paper{background:#f5f5f6;padding:30px;position:relative;border-top:7px solid #111}.teaching-composition .paper:after{content:'';position:absolute;right:0;top:-7px;border-width:0 0 30px 30px;border-style:solid;border-color:transparent transparent #d9d9de transparent}.teaching-composition .paper h2{font-size:35px;line-height:1.2;margin:0 0 24px}.teaching-composition .paper p{font-size:29px;line-height:1.45;margin:0 0 18px}.teaching-composition .evidence{font-size:22px;background:var(--yellow);border:0;padding:3px 9px;min-height:34px;border-radius:0;font-weight:650;vertical-align:middle}.teaching-composition .tag{display:inline-block;font-size:23px;padding:6px 12px;background:#eeeef0}.teaching-composition .muted{color:#555}.teaching-composition .yellow{background:var(--yellow);padding:1px 6px}.teaching-composition .fade{opacity:.2}.teaching-composition .show-later{visibility:hidden}.teaching-composition .before-image{display:block;width:1600px;height:900px;object-fit:contain}.teaching-composition .result-spread{display:grid;grid-template-columns:450px 70px 1fr;gap:26px;height:510px}.teaching-composition .source-paper{padding:28px}.teaching-composition .source-paper p{font-size:29px}.teaching-composition .result-arrow{align-self:center;font-size:70px}.teaching-composition .outputs{display:grid;grid-template-columns:1fr 1fr;gap:24px}.teaching-composition .poster{background:var(--yellow);padding:30px;display:flex;flex-direction:column;position:relative}.teaching-composition .poster h2{font-size:58px;line-height:1.04;letter-spacing:-.04em;margin:12px 0 28px}.teaching-composition .poster .when{font-size:34px;font-weight:700;margin:0 0 8px}.teaching-composition .poster .where{font-size:27px;margin:0 0 26px}.teaching-composition .poster .bring{font-size:30px;font-weight:650;line-height:1.25;margin:0 0 14px}.teaching-composition .poster .small{font-size:23px;margin:auto 0 0}.teaching-composition .action-sheet{background:#f5f5f6;padding:28px}.teaching-composition .action-sheet h2{font-size:34px;margin:0 0 30px}.teaching-composition .action-sheet ol{list-style:none;margin:0;padding:0}.teaching-composition .action-sheet li{display:flex;gap:16px;font-size:30px;line-height:1.35;margin:0 0 28px}.teaching-composition .check-square{width:26px;height:26px;border:2px solid #111;flex:none;margin-top:7px}.teaching-composition .book-mark{width:120px;height:70px;position:absolute;right:25px;bottom:102px;opacity:.16}.teaching-composition .unknown-note{border-left:5px solid #111;padding-left:15px;font-size:24px;line-height:1.35;margin-top:22px}.teaching-composition .trace-scene{height:490px;display:grid;grid-template-columns:1fr 120px 1fr;gap:30px;align-items:center}.teaching-composition .trace-source{background:#eeeef0;padding:36px}.teaching-composition .trace-source blockquote{font-size:42px;line-height:1.35;margin:15px 0}.teaching-composition .trace-number{display:flex;gap:15px;align-items:center;margin-bottom:25px}.teaching-composition .trace-number strong{font-size:100px;line-height:1}.teaching-composition .trace-output{padding:36px;background:var(--yellow)}.teaching-composition .trace-output h2{font-size:46px;margin:0 0 20px}.teaching-composition .trace-output p{font-size:34px}.teaching-composition .trace-arrow{font-size:90px;text-align:center}.teaching-composition .trace-verdict{font-size:29px;border-top:2px solid #111;margin-top:25px;padding-top:18px}.teaching-composition .system{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:center;height:390px;position:relative}.teaching-composition .system>section{position:relative}.teaching-composition .system>section:not(:last-child):after{content:'→';position:absolute;right:-42px;top:90px;font-size:52px}.teaching-composition .system .context{background:#eeeef0;padding:30px}.teaching-composition .system h2{font-size:34px;line-height:1.2}.teaching-composition .system p{font-size:29px;line-height:1.4}.teaching-composition .model-circle{width:260px;height:260px;border-radius:50%;background:#111;color:#fff;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.teaching-composition .model-circle strong{font-size:39px;line-height:1.15}.teaching-composition .model-circle span{font-size:24px;max-width:190px;margin-top:20px}.teaching-composition .model-caption{text-align:center;font-size:25px!important;margin-top:20px}.teaching-composition .system .answer{border-left:8px solid var(--yellow);padding-left:28px}.teaching-composition .system-support{display:flex;gap:20px;margin-top:20px;font-size:27px;align-items:stretch}.teaching-composition .system-support p{margin:0;background:#eeeef0;padding:18px 25px;flex:1}.teaching-composition .system-support strong{display:block;font-size:24px;margin-bottom:5px}.teaching-composition .ui-start{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.teaching-composition .ui-start .mode-image{width:560px;display:block;box-shadow:0 0 0 1px #ddd}.teaching-composition .ui-start h2{font-size:42px;line-height:1.2}.teaching-composition .composer-image{display:block;width:1400px;max-height:240px;object-fit:contain;object-position:left;margin-top:45px}.teaching-composition .composer-labels{display:flex;justify-content:space-between;width:1370px;font-size:30px;font-weight:650;padding:5px 25px}.teaching-composition .composer-labels span{border-top:5px solid var(--yellow);padding-top:14px}.teaching-composition .ui-message{display:grid;grid-template-columns:950px 1fr;gap:40px;height:515px}.teaching-composition .native-message{position:relative;overflow:hidden;background:#fafafa;border:1px solid #ddd}.teaching-composition .native-message img{position:absolute;width:1450px;max-width:none;left:-210px;top:-230px}.teaching-composition .message-note{display:flex;flex-direction:column;justify-content:center}.teaching-composition .message-note h2{font-size:38px;line-height:1.2;margin:0 0 22px}.teaching-composition .message-note p{font-size:31px;line-height:1.4}.teaching-composition .change-condition{font-size:34px;line-height:1.3;border-left:7px solid var(--yellow);padding-left:24px;margin-bottom:28px}.teaching-composition .answer-compare{display:grid;grid-template-columns:1fr 110px 1fr;gap:25px;align-items:center}.teaching-composition .answer-column{padding:28px 34px;background:#eeeef0}.teaching-composition .answer-column:last-child{background:#fff4bf}.teaching-composition .answer-column h2{font-size:28px;margin-bottom:23px}.teaching-composition .answer-column ul{padding-left:30px;margin:0}.teaching-composition .answer-column li{font-size:34px;margin:0 0 14px;line-height:1.3}.teaching-composition .preserved{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.teaching-composition .preserved span{font-size:23px;background:#eeeef0;padding:7px 13px}.teaching-composition .image-note{font-size:22px;margin-top:18px;color:#555}.teaching-composition .history-path{display:flex;align-items:center;gap:25px;font-size:35px;margin:30px 0 55px}.teaching-composition .history-path span{background:#eeeef0;padding:12px 22px}.teaching-composition .history-image{width:1076px;display:block;margin:auto;border:1px solid #ddd}.teaching-composition .history-caption{text-align:center;font-size:30px;margin:30px 0 0}.teaching-composition .documents{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;height:500px}.teaching-composition .document{padding:28px;background:#f3f3f4;border-top:8px solid #111}.teaching-composition .document:first-child{background:#fff5c6;border-color:var(--yellow)}.teaching-composition .document .doc-role{font-size:22px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px}.teaching-composition .document h2{font-size:38px;line-height:1.15;margin:0 0 25px}.teaching-composition .document .fact{margin:0 0 25px}.teaching-composition .document .fact strong{font-size:42px;line-height:1.15;display:block}.teaching-composition .document .fact span{font-size:25px;color:#444;display:block;margin-top:5px}.teaching-composition .pots{display:flex;gap:8px;margin:15px 0 23px}.teaching-composition .pots svg{width:66px;height:65px}.teaching-composition .document .foot{font-size:24px;border-top:1px solid #bbb;padding-top:15px}.teaching-composition .matrix-layout{display:grid;grid-template-columns:960px 1fr;gap:35px;height:510px}.teaching-composition .evidence-table{width:100%;border-collapse:collapse;font-size:30px;line-height:1.3}.teaching-composition .evidence-table th,.teaching-composition .evidence-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ccc;padding:20px 16px}.teaching-composition .evidence-table thead th{background:#111;color:#fff;font-size:30px}.teaching-composition .evidence-table tbody th{font-size:25px;width:225px}.teaching-composition .evidence-table td{width:350px}.teaching-composition .source-window{padding:25px;background:#fff5c6;align-self:stretch}.teaching-composition .source-window h2{font-size:31px;line-height:1.2}.teaching-composition .source-window blockquote{font-size:31px;line-height:1.4;margin:28px 0 0}.teaching-composition .source-window .source-origin{font-size:21px;margin-top:22px}.teaching-composition .matrix-condition{font-size:27px;margin-bottom:22px}.teaching-composition .calculation-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.teaching-composition .calculation{padding:26px;background:#eeeef0}.teaching-composition .calculation h2{font-size:30px;margin:0 0 24px}.teaching-composition .expression{font-size:52px;font-weight:700;line-height:1.3;margin:0 0 12px;white-space:nowrap}.teaching-composition .calculation p{font-size:27px;margin-bottom:0}.teaching-composition .budget-chart{margin-top:25px;width:100%;height:215px}.teaching-composition .conclusion-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;height:510px;align-items:center}.teaching-composition .decision{background:#fff3b4;padding:35px}.teaching-composition .decision h2{font-size:44px;line-height:1.15;margin:0 0 24px}.teaching-composition .decision p{font-size:33px;line-height:1.35}.teaching-composition .decision .limit{font-size:25px;border-top:1px solid #b7a451;padding-top:20px}.teaching-composition .unknown-pot{text-align:center}.teaching-composition .unknown-pot svg{height:260px;width:360px;display:block;margin:auto}.teaching-composition .unknown-pot h2{font-size:35px;line-height:1.25}.teaching-composition .unknown-pot p{font-size:29px;max-width:520px;margin:0 auto}.teaching-composition .screen-doc-note{font-size:24px;color:#555;margin-top:15px}.teaching-composition .result-spread{height:535px}.teaching-composition .source-paper{padding:24px}.teaching-composition .source-paper p{font-size:30px;line-height:1.4;margin-bottom:18px}.teaching-composition .source-paper .unknown-note{font-size:24px;line-height:1.35;margin-top:18px}.teaching-composition .poster{padding:24px}.teaching-composition .poster h2{font-size:46px;line-height:1.05;margin-bottom:18px}.teaching-composition .poster .where{font-size:25px;margin-bottom:14px}.teaching-composition .poster .bring{font-size:28px;margin-bottom:12px}.teaching-composition .poster .cost{font-size:25px}.teaching-composition .poster .small{font-size:21px;line-height:1.35}.teaching-composition .action-sheet{padding:24px}.teaching-composition .action-sheet h2{font-size:32px;margin-bottom:24px}.teaching-composition .action-sheet li{font-size:28px;margin-bottom:20px}.teaching-composition .trace-number svg{width:95px;height:65px;flex:none}.teaching-composition .system .label{font-size:22px}.teaching-composition .calculation .expression{font-size:46px;line-height:1.35;margin-bottom:18px}.teaching-composition .history-path{margin:20px 0 30px}.teaching-composition .history-caption{margin-top:20px}.teaching-composition .book-mark svg{width:100%;height:100%}.teaching-composition .matrix-layout{height:465px}.teaching-composition .model-circle{width:320px;height:320px}.teaching-composition .model-circle strong{font-size:34px;max-width:250px}.teaching-composition .model-circle span{font-size:23px;max-width:220px;line-height:1.4}

.teaching-composition .source-window h2{font-size:28px;line-height:1.2;margin:0 0 18px}
.teaching-composition .source-window blockquote{font-size:28px;line-height:1.35;margin:18px 0 0}
.teaching-composition .source-window blockquote{overflow-wrap:anywhere}
.teaching-composition .source-window .source-origin{font-size:19px;margin:16px 0 12px}
.teaching-composition .source-full{font-size:21px;line-height:1.3}
.teaching-composition .evidence[aria-pressed=true]{outline:2px solid #111;outline-offset:2px}
.teaching-composition .evidence:hover{background:#111;color:#fff}
.teaching-composition .composition-source{display:block;font-size:18px;margin:12px 0;overflow-wrap:anywhere}
.teaching-composition .trace-output p{margin-bottom:16px}
.teaching-composition .trace-output .trace-verdict{font-size:27px;line-height:1.35}
.teaching-composition .trace-output p{font-size:31px;line-height:1.35}
.teaching-composition .document .fact{margin-bottom:22px}
.teaching-composition .document h2{margin-bottom:22px}
.teaching-composition .system-support{margin-top:10px}
.teaching-composition .system-support p{font-size:25px;line-height:1.35;padding:14px 25px}
.teaching-composition .composer-labels{width:100%;font-size:26px;gap:35px}
.teaching-composition .composer-labels span{max-width:48%}
.teaching-composition .native-message img{width:1300px;left:-210px;top:-200px}
.teaching-composition .budget-chart{font-family:Montserrat,Arial,sans-serif}
/* The same records remain ordinary flowing HTML in the reading view. */
.teaching-composition .image-comparison-lead{font-size:27px;line-height:1.25;margin:0 0 10px}
.teaching-composition .image-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.teaching-composition .image-pair figure{min-width:0;margin:0}
.teaching-composition .image-pair figcaption{font-size:22px;line-height:1.2;font-weight:650;margin:0 0 8px}
.teaching-composition .image-pair-frame{width:100%;aspect-ratio:16/9;position:relative;background:#eeeef0;overflow:hidden;border:1px solid #d7d7da}
.teaching-composition .image-pair-frame.is-detail{max-width:570px;margin-inline:auto}
.teaching-composition .image-pair-frame img{width:100%;height:100%;display:block;object-fit:contain}
.teaching-composition .image-pair-frame.is-detail img{position:absolute;max-width:none;object-fit:fill}
.teaching-composition .image-preserved{display:flex;gap:26px;padding:0;list-style:none;margin:14px 0 0}
.teaching-composition .image-preserved li{font-size:21px;line-height:1.25;border-left:5px solid #fdcf01;padding-left:12px;flex:1}
.teaching-composition .image-comparison-takeaway{font-size:24px;line-height:1.3;margin:14px 0 0}
.reader .teaching-composition{font-size:18px;line-height:1.5}
.reader .teaching-composition .composition-body{height:auto}
.reader .teaching-composition :is(.result-spread,.trace-scene,.system,.ui-start,.ui-message,.documents,.matrix-layout,.calculation-grid,.conclusion-layout){display:grid;grid-template-columns:1fr;gap:22px;height:auto;align-items:stretch}
.reader .teaching-composition .outputs{grid-template-columns:1fr 1fr;gap:20px}
.reader .teaching-composition :is(h2,.paper h2){font-size:26px;line-height:1.25;margin:0 0 18px}
.reader .teaching-composition :is(p,.paper p,.action-sheet li,.answer-column li,.decision p,.unknown-pot p,.expression,.document .fact strong){font-size:20px;line-height:1.5;white-space:normal;margin:0 0 16px}
.reader .teaching-composition :is(.label,.paper .label,.doc-role,.document .doc-role){font-size:14px;letter-spacing:.05em;margin-bottom:12px}
.reader .teaching-composition :is(.paper,.poster,.action-sheet,.trace-source,.trace-output,.document,.decision,.calculation,.answer-column,.source-window){padding:24px;min-width:0}
.reader .teaching-composition :is(.poster h2){font-size:34px}
.reader .teaching-composition :is(.poster .when,.poster .bring){font-size:24px}
.reader .teaching-composition :is(.poster .where,.poster .cost,.poster .small,.unknown-note,.document .fact span,.document .foot){font-size:18px}
.reader .teaching-composition .action-sheet li{gap:12px}
.reader .teaching-composition .check-square{width:20px;height:20px;margin-top:5px}
.reader .teaching-composition :is(.result-arrow,.trace-arrow){font-size:32px;text-align:center;transform:rotate(90deg);justify-self:center}
.reader .teaching-composition .trace-source blockquote{font-size:26px;margin:0 0 20px}
.reader .teaching-composition .trace-number strong{font-size:60px}
.reader .teaching-composition .trace-number svg{width:60px;height:40px}
.reader .teaching-composition .system>section:after{display:none}
.reader .teaching-composition .model-circle{width:260px;height:260px}
.reader .teaching-composition .model-circle strong{font-size:28px}
.reader .teaching-composition .model-circle span{font-size:20px}
.reader .teaching-composition .system-support{display:block}
.reader .teaching-composition .system-support p{margin-top:16px}
.reader .teaching-composition .system-support strong{font-size:20px}
.reader .teaching-composition img{max-width:100%;height:auto}
.reader .teaching-composition .native-message{overflow:visible;background:none}
.reader .teaching-composition .native-message img{position:static;width:100%;max-width:100%}
.reader .teaching-composition .composer-image{width:100%;max-height:none;margin:24px 0}
.reader .teaching-composition .composer-labels{font-size:18px;padding:0;margin-bottom:22px;gap:20px}
.reader .teaching-composition .answer-compare{grid-template-columns:1fr;gap:15px}
.reader .teaching-composition .preserved span{font-size:16px}
.reader .teaching-composition .history-path{font-size:19px;gap:10px;flex-wrap:wrap;margin:20px 0}
.reader .teaching-composition .history-path span{padding:8px 12px}
.reader .teaching-composition .history-image{width:auto;max-width:100%}
.reader .teaching-composition .history-caption{font-size:19px}
.reader .teaching-composition .matrix-layout{display:block;overflow-x:auto}
.reader .teaching-composition .evidence-table{font-size:18px;min-width:580px}
.reader .teaching-composition .evidence-table :is(th,td){font-size:17px;padding:14px 12px;width:auto}
.reader .teaching-composition .evidence{display:inline-block;font-size:16px;min-height:28px;padding:2px 7px;margin:5px 0}
.reader .teaching-composition .source-window{margin-top:22px}
.reader .teaching-composition .source-window blockquote{font-size:21px;margin:0}
.reader .teaching-composition .source-window .source-origin{font-size:16px}
.reader .teaching-composition .source-full{font-size:18px}
.reader .teaching-composition .unknown-pot svg{width:240px;height:220px}
.reader .teaching-composition .pots svg{width:55px;height:55px}
.reader .teaching-composition .budget-chart{height:auto;min-height:130px}
.reader .teaching-composition .composition-sources{border-top:1px solid #ddd;margin-top:22px;padding-top:10px}
.reader .teaching-composition .image-pair-frame{height:auto;aspect-ratio:16/9}
.reader .teaching-composition .image-pair-frame img{height:100%;max-width:none}
.reader .teaching-composition .image-pair figcaption{font-size:20px}
.reader .teaching-composition .image-preserved{display:block;padding-left:0}
.reader .teaching-composition .image-preserved li{font-size:18px;margin:14px 0}

/* A real local artifact opens in its own tab; the teaching canvas keeps its step. */
.teaching-composition .artifact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;min-height:500px}.teaching-composition .artifact-condition{padding:28px;background:#eeeef0;border-left:8px solid var(--yellow);display:flex;flex-direction:column}.teaching-composition .artifact-formula{font-size:34px;font-weight:700;line-height:1.3;margin:0 0 20px}.teaching-composition .artifact-condition ul{list-style:none;padding:0;margin:0 0 22px}.teaching-composition .artifact-condition li{font-size:27px;line-height:1.3;margin:0 0 12px}.teaching-composition .artifact-launch{margin-top:auto}.teaching-composition .artifact-open{font-size:30px;line-height:1.2;font-weight:700;padding:16px 24px;min-height:66px}.teaching-composition .artifact-note{font-size:20px;line-height:1.35;margin:14px 0 0;color:#494d51}.teaching-composition .artifact-test{padding:20px 0}.teaching-composition .artifact-test h2{font-size:33px;line-height:1.25;margin:0 0 22px}.teaching-composition .artifact-test .label{font-size:21px;margin:0 0 9px}.teaching-composition .artifact-test>div{margin:0 0 22px}.teaching-composition .artifact-expected{font-size:34px;font-weight:700;line-height:1.3;margin:0 0 10px}.teaching-composition .artifact-action,.teaching-composition .artifact-verify{font-size:28px;line-height:1.35;margin:0}.teaching-composition .artifact-verify{border-left:5px solid var(--yellow);padding-left:18px}
.reader .teaching-composition .artifact-layout{grid-template-columns:1fr;min-height:0;gap:24px}.reader .teaching-composition .artifact-condition{padding:24px}.reader .teaching-composition .artifact-condition li{font-size:20px}.reader .teaching-composition .artifact-formula,.reader .teaching-composition .artifact-expected{font-size:24px}.reader .teaching-composition .artifact-open{font-size:21px;min-height:52px;padding:12px 18px}.reader .teaching-composition .artifact-note{font-size:17px;margin-top:16px}.reader .teaching-composition .artifact-test{padding:0}.reader .teaching-composition .artifact-test h2{font-size:25px}.reader .teaching-composition .artifact-test .label{font-size:14px}.reader .teaching-composition .artifact-action,.reader .teaching-composition .artifact-verify{font-size:20px}
.teaching-composition .artifact-test{padding-block:12px}
.reader .teaching-composition .artifact-test{padding:0}
@media(max-width:700px){.reader .teaching-composition .image-pair{grid-template-columns:1fr}}
@media(max-width:650px){.reader .teaching-composition .outputs{grid-template-columns:1fr}.reader .teaching-composition .composer-labels{display:block}.reader .teaching-composition .composer-labels span{display:block;max-width:none;margin-top:15px}}
