/* TutorSyntax v25: self-contained learning activities. Scoped: no sitewide overrides. */
.ts25-wrap{max-width:1150px;margin:0 auto;padding:0 18px 46px}
.ts25-intro{background:#fff;border:1px solid #c6ddea;border-radius:16px;padding:22px;margin:23px 0;color:#15284a}
.ts25-intro p,.ts25-panel p{line-height:1.65}
.ts25-eyebrow{color:#116f7e;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.ts25-workshop{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(270px,1fr);gap:20px;margin:24px 0}
.ts25-panel{background:#fff;border:1px solid #c8ddeb;border-radius:16px;padding:clamp(16px,2.6vw,26px);min-width:0;color:#172b4d}
.ts25-panel h2,.ts25-panel h3{color:#112b52;margin:0 0 12px}
.ts25-panel h3{font-size:1.1rem}
.ts25-panel--soft{background:#eef8fb}
.ts25-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:15px 0}
.ts25-field{display:flex;flex-direction:column;gap:5px;flex:1 1 150px;font-size:.94rem;font-weight:750}
.ts25-field select,.ts25-field input{width:100%;max-width:100%;padding:11px;border:1px solid #7a9cb2;border-radius:9px;background:#fff;color:#122044;font:inherit}
.ts25-btn{border:2px solid #087f94;background:#097d96;color:white;font-weight:800;border-radius:9px;padding:11px 16px;min-height:44px;cursor:pointer;font:inherit}
.ts25-btn:hover{background:#03536f}
.ts25-btn:focus-visible,.ts25-switch:focus-visible,.ts25-bit:focus-visible,.ts25-pixel:focus-visible,.ts25-route:focus-visible{outline:3px solid #d27707;outline-offset:3px}
.ts25-btn[disabled]{opacity:.55;cursor:default}
.ts25-btn--ghost{background:#fff;color:#075979;border-color:#b6d6df}
.ts25-btn--ghost:hover{background:#eaf7f9}
.ts25-status{background:#eef7fc;color:#142d4a;border-left:4px solid #0aaaba;padding:13px 16px;border-radius:0 9px 9px 0;margin:12px 0;min-height:52px;line-height:1.6}
.ts25-tray{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 8px}
.ts25-token{display:flex;align-items:center;justify-content:center;min-width:46px;height:54px;border-radius:10px;border:2px solid #a9d2e5;background:#e9f5fc;font-weight:800;font-size:1.2rem;color:#122d52}
.ts25-token[data-state=compare]{background:#fff0cb;border-color:#c17b16}
.ts25-token[data-state=found]{background:#d8f6ea;border-color:#159067}
.ts25-token[data-state=excluded]{opacity:.36}
.ts25-token[data-state=sorted]{border-color:#189b89;background:#daf7ec}
.ts25-steps{padding-left:19px;line-height:1.8;margin:9px 0}
.ts25-steps li{margin-bottom:5px}
.ts25-quiz{background:#f6f8fc;border:1px solid #d5e3ed;border-radius:12px;padding:15px;margin:16px 0}
.ts25-quiz summary{font-weight:850;cursor:pointer;color:#152b4c}
.ts25-quiz p{margin:11px 0 2px}
.ts25-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:16px 0}
.ts25-cards article{border:1px solid #c6dce9;border-radius:12px;padding:16px;background:#fff;min-width:0}
.ts25-cards h3{font-size:1.04rem;margin:0 0 7px;color:#12305a}
.ts25-cards p{margin:0;font-size:.94rem}
.ts25-note{font-size:.92rem;color:#435971}
.ts25-nav{display:flex;gap:11px;flex-wrap:wrap;margin:24px 0}
.ts25-nav a{display:inline-flex;padding:12px 15px;border:1px solid #b5d4e4;border-radius:9px;background:#f1f9fd;color:#075574;font-weight:800}
.ts25-bits,.ts25-pixels{display:grid;gap:6px;margin:15px 0}
.ts25-bits{grid-template-columns:repeat(8,minmax(0,1fr))}
.ts25-bit{padding:10px 0;min-height:64px;background:#edf5fd;color:#1b3760;border:2px solid #b0cade;border-radius:9px;font:inherit;font-weight:850;cursor:pointer}
.ts25-bit[aria-pressed=true]{background:#084b72;color:#fff;border-color:#0ccbd2}
.ts25-bit small{display:block;font-size:.75rem;line-height:1.4}
.ts25-pixels{grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,340px);aspect-ratio:1}
.ts25-pixel{aspect-ratio:1;border:1px solid #5485a0;border-radius:3px;background:#f8fbfd;cursor:pointer;min-width:0;padding:0}
.ts25-pixel[aria-pressed=true]{background:#0c547e}
.ts25-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ts25-metrics div{background:#f0f7fb;border-radius:10px;padding:14px;color:#153454}
.ts25-metrics strong{display:block;font-size:1.36rem;color:#054f75}
.ts25-route{width:100%;text-align:left;background:#f1f8fd;color:#11335a;padding:14px;border:2px solid #b4d6e5;border-radius:10px;font:inherit;cursor:pointer;margin:5px 0}
.ts25-route[aria-pressed=true]{background:#e0f7f6;border-color:#087d87}
.ts25-route span{display:block;font-size:.91rem;color:#416077}
.ts25-claim{border:1px solid #c9dce8;border-radius:12px;padding:18px;background:#f5f9fc;margin:15px 0}
.ts25-claim blockquote{margin:8px 0 13px;border-left:4px solid #724ecc;padding-left:14px;font-weight:750}
.ts25-answer-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}
.ts25-answer-buttons button{flex:1 1 130px}
.ts25-debrief{background:#eef7fc;border-radius:12px;padding:16px;margin-top:10px}
.ts25-debrief h3{margin:0 0 6px}
@media(max-width:780px){.ts25-workshop{grid-template-columns:1fr}.ts25-cards{grid-template-columns:1fr}}
@media(max-width:480px){.ts25-bits{gap:3px}.ts25-bit{font-size:.85rem;min-height:57px}.ts25-bit small{font-size:.61rem}.ts25-token{min-width:36px;height:45px}}
@media print{.ts25-btn,.ts25-controls,.ts25-pixel,.ts25-bit{break-inside:avoid}.ts25-panel{break-inside:avoid}.ts25-workshop{display:block}.ts25-panel{margin-bottom:16px}}
