
/* TutorSyntax v19 Learning Studio — reusable design foundation. */
:root{--ts19-night:#071731;--ts19-navy:#0a2449;--ts19-cyan:#28dcea;--ts19-violet:#9f62ff;--ts19-glow:0 9px 25px #00172f48}
.ts19-site{background:#ebf4ff}
.ts19-site .ts14-header{background:linear-gradient(100deg,#061329,#0a2144 70%,#06172f);border-bottom:2px solid #13aac9;box-shadow:0 5px 24px #04173540}
.ts19-site #primary-navigation a{box-shadow:inset 0 1px 0 #ffffff17;transition:background .2s,transform .2s}
.ts19-site #primary-navigation a:hover{transform:translateY(-2px)}
.ts19-site .site-header .brand img{filter:drop-shadow(0 1px 9px #18d7ec24)}
.ts19-site a:focus-visible,.ts19-site button:focus-visible,.ts19-site select:focus-visible{outline:3px solid #fbd35c;outline-offset:3px}
.ts19-site .ts14-home-hero{background:radial-gradient(ellipse at 70% 0,#1758ad40,transparent 70%),#041632;border-bottom:1px solid #097398}
.ts19-site .ts14-hero-stage{min-height:465px;max-width:1550px}
.ts19-site .ts14-hero-copy{padding:49px 0 46px}
.ts19-site .ts14-hero-copy h1{font-size:clamp(2.8rem,4.55vw,5rem);line-height:1.07}
.ts19-site .ts14-hero-visual{left:39%;right:-3%;background-image:linear-gradient(90deg,#041632 0%,#041632b8 15%,#04163218 43%),url('/assets/visuals/studio19-hero.webp');background-size:100% 100%,cover;background-position:center,center 49%}
.ts19-site .ts14-hero-ticks{gap:10px 17px}
.ts19-site .ts14-route-section{background:linear-gradient(170deg,#06142f,#0a234d 72%);padding:22px 0 28px}
.ts19-site .ts14-section-heading h2{font-size:clamp(1.6rem,2.5vw,2.3rem)}
.ts19-site .ts14-learning-grid{gap:12px}
.ts19-site .ts14-learning-card{border-radius:14px;border-width:2px;box-shadow:0 8px 25px #010b2680}
.ts19-site .ts14-learning-card:hover{box-shadow:0 11px 29px #020823bf}
.ts19-site .ts14-card-image{height:145px;background:radial-gradient(circle at 50% 42%,#1c4e94,#061429 75%)}
.ts19-site .ts14-card-image img{object-fit:cover;object-position:center 39%}
.ts19-site .ts14-card-body{padding:14px 10px 16px;gap:8px}
.ts19-site .ts14-card-name{font-size:1.04rem;letter-spacing:-.01em}
.ts19-site .ts14-card-detail{font-size:.8rem;line-height:1.5}
.ts19-site .ts14-card-action{min-height:36px;padding:8px 12px}
.ts19-site .ts14-feature-strip{background:linear-gradient(180deg,#102a54,#061933);padding:24px 0 28px}
.ts19-site .ts14-feature-panel{min-height:325px;border-color:#1c8fb8;box-shadow:0 12px 29px #00162e8a}
.ts19-site .ts14-feature-python .ts14-feature-visual{background-image:linear-gradient(90deg,#071831,#071831d6 17%,#07183112 78%),url('/assets/visuals/studio19-python.webp')}
.ts19-site .ts14-feature-revision .ts14-feature-visual{background-image:linear-gradient(90deg,#071831,#071831d6 17%,#07183112 78%),url('/assets/visuals/studio19-revision.webp')}
.ts19-site .ts14-feature-content{max-width:78%;padding:26px}
.ts19-site .ts14-intro{min-height:250px;position:relative;isolation:isolate}
.ts19-site .ts14-intro .ts-intro-illustration,.ts19-site .ts14-intro .ts14-intro-visual{box-shadow:0 17px 34px #020d26a6;border:2px solid #2596c7;border-radius:18px}
.ts19-site .ts14-intro .ts-intro-illustration img,.ts19-site .ts14-intro .ts14-intro-visual img{max-height:310px;min-height:245px;object-position:center}
.ts19-site .ts14-intro h1{font-size:clamp(2.2rem,3.55vw,3.85rem);letter-spacing:-.035em}
.ts19-site .ts14-intro .ts-intro-copy p,.ts19-site .ts14-intro .ts14-intro-copy p{font-size:1.02rem}
.ts19-site .ts14-theme-python{background:linear-gradient(120deg,#061b3e,#074d67 100%)}
.ts19-site .ts14-theme-resources{background:linear-gradient(120deg,#081b3e,#271a63 100%)}
.ts19-site .ts14-theme-revision{background:linear-gradient(120deg,#061832,#064e51 100%)}
.ts19-site .ts14-theme-tutoring{background:linear-gradient(120deg,#081830,#302266 100%)}
.ts19-site .ts14-theme-exam{background:linear-gradient(120deg,#081830,#45213a 100%)}
/* High-impact navigational sections are distinct from readable theory content. */
.ts19-band{background:linear-gradient(125deg,#06172f,#0b2750);color:#fff;padding:23px 0 29px;border-block:1px solid #1b6b9e}
.ts19-band h2{color:#fff;font-size:clamp(1.35rem,2.2vw,2rem);margin:0 0 5px}
.ts19-band p.ts19-band-lead{color:#cce5fd;margin:0 0 16px;max-width:85ch;line-height:1.5}
.ts19-band-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}
.ts19-band-head a{color:#82f0fb;font-weight:760}
.ts19-tile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ts19-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:11px;min-width:0;min-height:132px;padding:14px 12px;background:linear-gradient(145deg,#092e60,#051b39);border:1px solid #2187d5;border-radius:11px;color:#fff!important;text-decoration:none;transition:transform .18s,box-shadow .18s}
.ts19-tile:hover{transform:translateY(-4px);box-shadow:0 0 20px #079fe738}
.ts19-tile:nth-child(2n){border-color:#ad6cff;background:linear-gradient(145deg,#341c67,#101339)}
.ts19-tile:nth-child(3n){border-color:#21d3ad;background:linear-gradient(145deg,#083d43,#071c35)}
.ts19-tile:nth-child(4n){border-color:#f29b42;background:linear-gradient(145deg,#563018,#171734)}
.ts19-tile strong{font-size:.95rem;line-height:1.25;color:#fff}
.ts19-tile small{font-size:.74rem;line-height:1.4;color:#d4eafb}
.ts19-tile .ts19-symbol{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #3bdcf8;border-radius:10px;font-size:1.5rem;color:#50ecfb;background:#022344}
.ts19-tile:nth-child(2n) .ts19-symbol{color:#ce9bff;border-color:#bc75f1}
.ts19-tile:nth-child(3n) .ts19-symbol{color:#80edc4;border-color:#1fc99c}
.ts19-tile:nth-child(4n) .ts19-symbol{color:#ffc273;border-color:#ee9840}
.ts19-tile .ts19-arrow{margin-top:auto;font-weight:800;color:#82f1ff}
.ts19-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}
.ts19-feature{position:relative;isolation:isolate;border:1px solid #1b8ed2;border-radius:14px;min-height:215px;overflow:hidden;padding:22px;background:#071c3d;color:#fff}
.ts19-feature::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#051632 3%,#051632e8 35%,#05163235 96%),var(--ts19-photo);background-position:center,right center;background-size:100% 100%,cover}
.ts19-feature h3{color:#fff;font-size:1.35rem;margin:0 0 7px}
.ts19-feature p{color:#e6f3ff;max-width:43ch;line-height:1.52;font-size:.91rem;margin:0 0 15px}
.ts19-feature .ts19-link{display:inline-flex;background:#04abbe;border:1px solid #6eecf1;color:#03233a;font-weight:840;text-decoration:none;border-radius:50px;padding:9px 14px}
.ts19-feature .ts19-link:hover{background:#66eff5}
.ts19-light-block{background:linear-gradient(180deg,#e8f5ff,#f8fcff);padding:25px 0 29px;color:#102443}
.ts19-light-block h2{font-size:clamp(1.4rem,2.3vw,2.1rem);margin:0 0 6px}
.ts19-light-block p{margin:0 0 15px;max-width:83ch}
.ts19-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ts19-step{display:flex;flex-direction:column;gap:5px;background:#fff;padding:14px 12px 16px;border:1px solid #acd3e8;border-top:4px solid #029eae;border-radius:11px;box-shadow:0 5px 15px #062c560d;text-decoration:none;color:#102b59}
.ts19-step:nth-child(even){border-top-color:#9253ea}.ts19-step:hover{border-color:#039cbe}
.ts19-step b{color:#fff;background:#0786c3;border-radius:9px;display:grid;place-items:center;width:31px;height:31px}
.ts19-step:nth-child(even) b{background:#7f42d6}.ts19-step strong{font-size:.98rem}.ts19-step small{font-size:.77rem;color:#4c6682;line-height:1.42}
.ts19-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ts19-spec{background:#fff;color:#0a2b56!important;border:2px solid #2aa4c9;border-radius:13px;padding:15px 15px 17px;box-shadow:0 7px 17px #020d2426;min-width:0;display:flex;flex-direction:column;gap:7px;text-decoration:none}
.ts19-spec:nth-child(2n){border-color:#a85ceb;background:#f6efff}
.ts19-spec strong{font-size:1.11rem;color:#092453}.ts19-spec small{color:#42617f;line-height:1.45;font-size:.81rem}.ts19-spec span{margin-top:auto;display:inline-flex;width:fit-content;background:#0f94b6;color:white;border-radius:90px;font-size:.76rem;font-weight:750;padding:7px 12px}
.ts19-spec:nth-child(2n) span{background:#773cc9}
.ts19-book-band{background:#071b38;color:#fff;padding:27px 0}
.ts19-book-band h2{color:#fff}.ts19-book-band p{color:#dde9fa}
.ts19-hub-page .spec-pathways{background:#e4f4ff!important}
.ts19-hub-page .spec-pathways .pathway-card{border-width:2px;box-shadow:0 8px 24px #07234b1a}
.ts19-hub-page .spec-pathways h2{letter-spacing:-.025em}
/* Preserve readable long-form articles, quizzes, inputs and code; no all-page dark mode. */
.ts19-site pre,.ts19-site pre code,.ts19-site .lesson-panel pre code{color:#f6faff!important;background:#0e2040!important}
.ts19-site pre code,.ts19-site .lesson-panel pre code{background:transparent!important}
.ts19-site .lesson-layout,.ts19-site .lesson-panel,.ts19-site .lesson-layout>*{min-width:0;max-width:100%}
.ts19-site pre{max-width:100%;overflow-x:auto;white-space:pre}
.ts19-site .card,.ts19-site .resource-card{border-color:#c5d8e8}
.ts19-site .site-footer{margin-top:0}
@media(max-width:1200px){.ts19-tile-grid,.ts19-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.ts19-site .ts14-hero-stage{min-height:420px}.ts19-site .ts14-card-image{height:125px}}
@media(max-width:820px){.ts19-site .ts14-hero-stage{min-height:380px}.ts19-site .ts14-hero-visual{left:28%;right:-17%;opacity:.7}.ts19-site .ts14-hero-copy{padding:36px 0}.ts19-site .ts14-hero-copy h1{max-width:560px}.ts19-site .ts14-learning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ts19-site .ts14-card-image{height:145px}.ts19-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts19-feature-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ts19-site .ts14-hero-visual{left:12%;right:-50%;opacity:.32}.ts19-site .ts14-hero-stage{min-height:0}.ts19-site .ts14-hero-copy{padding:30px 0}.ts19-site .ts14-hero-copy h1{font-size:clamp(2.5rem,9vw,3.45rem)}.ts19-site .ts14-hero-lede{font-size:.96rem}.ts19-site .ts14-route-section{padding-top:16px}.ts19-site .ts14-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ts19-site .ts14-card-image{height:110px}.ts19-site .ts14-card-name{font-size:.92rem}.ts19-site .ts14-card-detail{font-size:.73rem}.ts19-site .ts14-card-body{padding:10px 8px 12px}.ts19-site .ts14-card-action{font-size:.7rem}.ts19-site .ts14-feature-content{max-width:100%}.ts19-site .ts14-feature-visual{opacity:.35}.ts19-tile-grid,.ts19-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ts19-feature{min-height:220px}.ts19-feature::before{background-image:linear-gradient(90deg,#051632 5%,#051632a8 78%),var(--ts19-photo)}.ts19-spec-grid{grid-template-columns:1fr 1fr}.ts19-spec{padding:11px}.ts19-spec strong{font-size:.95rem}.ts19-band{padding:17px 0 21px}}
@media(prefers-reduced-motion:reduce){.ts19-site *, .ts19-site *::before,.ts19-site *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.ts19-band,.ts19-book-band,.ts19-light-block,.ts19-site .ts14-home-hero,.ts19-site .ts14-route-section{background:#fff!important;color:#151515!important}.ts19-tile,.ts19-feature,.ts19-spec,.ts19-step{background:#fff!important;color:#111!important;border:1px solid #777}.ts19-tile strong,.ts19-band h2,.ts19-feature h3,.ts19-feature p{color:#111!important}.ts19-feature::before{display:none}}

/* Crisp, independent artwork behind HTML copy — not screenshots of interactive UI. */
.ts19-feature-photo{position:absolute;inset:0 0 0 33%;height:100%;width:67%;object-fit:cover;z-index:-2}
.ts19-feature::before{z-index:-1;background:linear-gradient(90deg,#051632 2%,#051632eb 34%,#05163248 96%)}
@media(min-width:1100px){.ts19-hub-page .spec-pathways .pathway-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ts19-hub-page .spec-pathways .pathway-card{padding:17px 15px;min-height:170px;background:linear-gradient(155deg,#fff,#e6f5ff)}.ts19-hub-page .spec-pathways .pathway-card:nth-child(even){background:linear-gradient(155deg,#fff,#f2ebff)}.ts19-hub-page .spec-pathways .pathway-card strong{font-size:1.1rem;line-height:1.28}}
@media(max-width:560px){.ts19-feature-photo{inset:0;width:100%;opacity:.55}.ts19-feature::before{background:linear-gradient(90deg,#051632,#051632bd 90%)}}
