.teaching-support { --ts-ink:#26354a; --ts-teal:#087f83; --ts-orange:#d94c22; padding:0 0 76px; color:var(--ts-ink); background:#ffffff; line-height:1.6; }
.teaching-support [hidden] { display:none !important; }
.teaching-support a { text-decoration:none; }
.teaching-support a:focus-visible, .teaching-support button:focus-visible, .teaching-support summary:focus-visible, .teaching-support input:focus-visible, .teaching-support select:focus-visible { outline:3px solid #087f83; outline-offset:4px; }
.teaching-support h1, .teaching-support h2, .teaching-support h3, .teaching-support h4, .teaching-support p { margin:0; }
.teaching-support button, .teaching-support input, .teaching-support select { font:inherit; }
.ts-shell { width:100%; max-width:1230px; margin:0 auto; padding:0 24px; }
.ts-breadcrumb { display:flex; gap:12px; align-items:center; padding:25px 0; color:#6c7580; font-size:13px; }
.ts-breadcrumb a { color:#6c7580; }
.ts-hero { position:relative; display:flex; align-items:center; min-height:405px; overflow:hidden; padding:46px 54px; border-radius:12px 12px 76px 12px; background:#fff3e7; }
.ts-hero-copy { position:relative; z-index:2; width:59%; }
.ts-eyebrow { color:var(--ts-teal); font-family:"Outfit", "Pretendard", sans-serif; font-size:13px; font-weight:600; letter-spacing:1.6px; }
.ts-hero h1 { margin-top:13px; color:#23374b; font-size:clamp(28px, 3.5vw, 42px); font-weight:700; letter-spacing:-1.5px; line-height:1.3; word-break:keep-all; }
.ts-hero h1 span { color:var(--ts-orange); }
.ts-hero-description { margin-top:21px !important; color:#53616c; font-size:16px; line-height:1.85; word-break:keep-all; }
.ts-hero-description > span { display:block; }
.ts-primary-link { display:inline-flex; gap:30px; align-items:center; margin-top:25px; padding:12px 24px; border-radius:5px; color:#ffffff; background:var(--ts-orange); font-size:15px; font-weight:600; transition:background .2s; }
.ts-primary-link:hover { color:#ffffff; background:#b63d19; }
.ts-primary-link span { font-size:21px; line-height:1; }
.ts-hero-note { margin-top:15px !important; color:#6c7580; font-size:14px; }
.ts-hero-art { position:absolute; top:0; right:30px; bottom:0; width:40%; }
.ts-art-circle { position:absolute; top:50%; left:50%; width:345px; height:345px; border-radius:50%; background:#f7cf81; transform:translate(-50%, -50%); }
.ts-hero-image { position:absolute; z-index:1; top:46%; left:50%; width:80%; max-width:300px; height:auto; max-height:310px; object-fit:contain; transform:translate(-50%, -50%); }
.ts-art-spark { position:absolute; z-index:4; top:47px; right:58px; color:var(--ts-teal); font-size:48px; transform:rotate(10deg); }
.ts-art-caption { position:absolute; z-index:4; bottom:20px; left:50%; padding:8px 21px; border-radius:30px; color:#ffffff; background:var(--ts-teal); font-family:"Outfit", sans-serif; font-size:19px; font-weight:500; white-space:nowrap; transform:translateX(-50%) rotate(-7deg); }
.ts-intro { display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr; gap:28px; padding:55px 0; border-bottom:1px solid #e7eceb; }
.ts-intro-heading { padding-top:5px; }
.ts-intro-heading .ts-eyebrow { font-size:11px; letter-spacing:.6px; }
.ts-intro-heading h2 { margin-top:13px; font-size:25px; font-weight:600; letter-spacing:-.7px; }
.ts-intro-heading > p:last-child { margin-top:12px; color:#6c7580; font-size:14px; line-height:1.9; word-break:keep-all; }
.ts-guide { padding:20px 18px; border-radius:10px; }
.ts-guide-story { background:#f1edf8; }
.ts-guide-activity { background:#edf6f1; }
.ts-guide-teaching { background:#fdf2e8; }
.ts-guide-number { color:var(--ts-teal); font-family:"Outfit", sans-serif; font-size:24px; font-weight:500; }
.ts-guide h3 { margin-top:7px; font-size:18px; font-weight:600; }
.ts-guide .ts-guide-english { min-height:36px; margin-top:4px; color:#5f6873; font-family:"Outfit", "Pretendard", sans-serif; font-size:12px; line-height:1.5; }
.ts-guide > p:last-child { margin-top:9px; color:#5b6772; font-size:13px; line-height:1.8; word-break:keep-all; }
.ts-library { padding-top:49px; scroll-margin-top:30px; }
.ts-section-heading { display:flex; gap:20px; align-items:flex-end; justify-content:space-between; margin-bottom:26px; }
.ts-section-heading h2 { margin-top:8px; font-size:31px; font-weight:600; letter-spacing:-1px; }
.ts-section-heading > p { color:#6c7580; font-size:14px; text-align:right; }
.ts-series-nav { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); grid-auto-rows:1fr; gap:9px; }
.ts-series-link { display:flex; gap:10px; align-items:center; justify-content:space-between; min-height:70px; padding:12px 16px; border:1px solid #e1e8e7; border-radius:6px; color:#43545e; background:#ffffff; font-size:15px; font-weight:500; line-height:1.45; transition:border-color .2s, background .2s; }
.ts-series-link > span:first-child { min-width:0; overflow-wrap:anywhere; }
.ts-series-link:hover { border-color:var(--ts-teal); color:var(--ts-teal); background:#f4faf9; }
.ts-series-link.is-current { border-color:var(--ts-teal); color:#ffffff; background:var(--ts-teal); }
.ts-series-arrow { flex-shrink:0; color:#819999; font-size:19px; }
.ts-series-link.is-current .ts-series-arrow { color:#ffffff; }
.ts-finder { margin-top:27px; padding:25px 28px; border:1px solid #e0e8e7; border-radius:10px; background:#f6f9f8; }
.ts-finder-heading { display:flex; gap:16px; align-items:center; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid #e0e8e7; }
.ts-finder-heading h3 { min-width:0; overflow-wrap:anywhere; font-family:"Outfit", "Pretendard", sans-serif; font-size:23px; font-weight:600; line-height:1.4; }
.ts-finder-heading > a { flex-shrink:0; color:#5f7078; font-size:13px; }
.ts-finder-heading > a span { margin-left:6px; font-size:18px; }
.ts-filter-label { display:block; flex-shrink:0; color:#41515c; font-size:13px; font-weight:600; }
.ts-filter-help { margin:13px 0 17px !important; color:#6c7580; font-size:13px; }
.ts-search-form { display:grid; grid-template-columns:1fr 2fr; gap:16px; }
.ts-search-form.has-package { grid-template-columns:.8fr 1.3fr 1.4fr; }
.ts-stage-field, .ts-package-field, .ts-search-field { min-width:0; }
.ts-search-form label { margin-bottom:8px; }
.ts-search-form select, .ts-search-input { width:100%; min-height:46px; border:1px solid #d9e3df; border-radius:5px; background:#ffffff; }
.ts-search-form select { padding:10px 12px; color:#455761; font-size:14px; }
.ts-search-input { display:flex; overflow:hidden; }
.ts-search-input input { width:0; min-width:0; flex:1; padding:10px 14px; border:0; color:var(--ts-ink); background:transparent; font-size:14px; }
.ts-search-input input::placeholder { color:#85918f; }
.ts-search-input button { display:flex; gap:12px; flex-shrink:0; align-items:center; padding:10px 19px; border:0; color:#ffffff; background:var(--ts-teal); font-size:14px; cursor:pointer; }
.ts-search-input button:hover { background:#08686b; }
.ts-results-heading { display:flex; gap:15px; align-items:center; justify-content:space-between; padding:29px 0 17px; font-size:15px; }
.ts-results-heading strong { color:var(--ts-teal); font-family:"Outfit", sans-serif; font-size:20px; font-weight:600; }
.ts-results-heading > p:last-child { color:#6c7580; font-size:13px; }
.ts-book-grid { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:16px 14px; align-items:start; }
.ts-book-card { min-width:0; overflow:hidden; border:1px solid #e3e8e6; border-radius:9px; background:#ffffff; transition:border-color .2s; }
.ts-book-card:hover { border-color:#93b9b1; }
.ts-book-cover { position:relative; display:flex; align-items:center; justify-content:center; height:128px; padding:32px 10px 8px; background:#f2f5f2; }
.ts-book-card:nth-child(4n + 2) .ts-book-cover { background:#f4f0f7; }
.ts-book-card:nth-child(4n + 3) .ts-book-cover { background:#edf4f8; }
.ts-book-card:nth-child(4n + 4) .ts-book-cover { background:#fbf2e9; }
.ts-book-stage { position:absolute; top:7px; left:8px; max-width:calc(100% - 16px); overflow:hidden; padding:2px 6px; border:1px solid rgba(38,53,74,.06); border-radius:4px; color:#59646c; background:rgba(255,255,255,.8); font-family:"Outfit", "Pretendard", sans-serif; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.ts-thumbnail-frame { display:flex; align-items:center; justify-content:center; width:84px; height:88px; }
.ts-book-cover img { width:auto; height:auto; max-width:78px; max-height:86px; object-fit:contain; box-shadow:2px 4px 7px rgba(51,59,54,.16); }
.ts-cover-placeholder { display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; width:70px; height:80px; padding:8px; border:1px solid #d2ded6; border-radius:2px 5px 5px 2px; color:#476d60; background:#ffffff; text-align:center; box-shadow:2px 4px 7px rgba(51,59,54,.1); }
.ts-cover-placeholder > span:first-child { font-size:23px; line-height:1; }
.ts-cover-placeholder > span:last-child { display:-webkit-box; overflow:hidden; font-family:"Outfit", "Pretendard", sans-serif; font-size:11px; line-height:1.4; overflow-wrap:anywhere; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ts-book-body { padding:12px 10px; }
.ts-book-package { overflow:hidden; margin-bottom:7px !important; color:#6c7580; font-size:12px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.ts-book-body h4 { display:-webkit-box; overflow:hidden; min-height:45px; font-family:"Outfit", "Pretendard", sans-serif; font-size:16px; font-weight:500; line-height:1.4; overflow-wrap:anywhere; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ts-resource-tags { display:flex; flex-wrap:wrap; gap:3px; align-content:flex-start; min-height:53px; padding-top:8px; }
.ts-resource-tags span { padding:3px 4px; border-radius:3px; color:#536a63; background:#f1f5f3; font-size:10px; line-height:1.5; }
.ts-book-resources { margin-top:8px; border-top:1px solid #e9eeeb; }
.ts-book-resources summary { position:relative; display:flex; gap:4px; align-items:center; justify-content:space-between; padding-top:10px; color:var(--ts-teal); font-size:0; list-style:none; cursor:pointer; }
.ts-book-resources summary::-webkit-details-marker { display:none; }
.ts-summary-label { font-size:12px; font-weight:600; }
.ts-summary-plus { font-size:20px; line-height:1; }
.ts-book-resources[open] .ts-summary-plus { transform:rotate(45deg); }
.ts-book-resources ul { margin:12px 0 0; padding:0; list-style:none; }
.ts-book-resources li + li { margin-top:6px; }
.ts-book-resources li a { display:flex; gap:6px; align-items:center; justify-content:space-between; padding:9px 6px; border-radius:4px; color:#41545c; background:#f3f7f5; font-size:12px; }
.ts-book-resources li a:hover { color:#ffffff; background:var(--ts-teal); }
.ts-book-resources li a > span:first-child { min-width:0; overflow-wrap:anywhere; }
.ts-download-format { flex-shrink:0; font-family:"Outfit", sans-serif; font-size:12px; }
.ts-download-format > span { margin-left:4px; font-size:17px; }
.ts-no-resources { min-height:70px; padding-top:16px; color:#7c8587; font-size:12px; }
.ts-pagination { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:center; margin-top:35px; }
.ts-pagination a { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; border:1px solid #e1e8e4; border-radius:4px; color:#52616a; font-family:"Outfit", sans-serif; font-size:14px; }
.ts-pagination a:hover, .ts-pagination a.is-current { border-color:var(--ts-teal); color:#ffffff; background:var(--ts-teal); }
.ts-pagination > span { margin-left:8px; color:#7c8587; font-size:12px; }
.ts-empty { padding:65px 20px; border:1px solid #e3e8e6; border-radius:8px; background:#f8faf9; text-align:center; }
.ts-empty h3 { font-size:22px; font-weight:600; }
.ts-empty p { margin-top:13px; color:#6c7580; font-size:15px; }
.ts-empty a { display:inline-block; margin-top:22px; color:var(--ts-teal); font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.ts-bottom-banner { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:144px; margin-top:32px; padding:24px 28px; border-radius:9px; }
.ts-bottom-banner > div { flex:1; min-width:0; }
.ts-bottom-banner h2 { margin:0 0 6px; color:#000; font-size:22px; font-weight:700; line-height:1.45; letter-spacing:-.5px; word-break:keep-all; overflow-wrap:anywhere; }
.ts-bottom-banner p:last-child { color:#61757d; font-size:14px; line-height:1.7; }
.ts-bottom-banner > a { box-sizing:border-box; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:12px; width:230px; max-width:100%; min-height:44px; padding:10px 18px; border:1px solid var(--ts-teal); border-radius:6px; color:var(--ts-teal); background:#fff; font-size:14px; font-weight:600; line-height:1.4; }
.ts-bottom-banner > a:hover { background:#e8f5f0; }
.ts-help { margin-top:58px; background:#eef6f3; }
.ts-assessment-banner { background:#fff3e7; }
.ts-teachingsupport-banner { background:#eef6f3; }
@media (max-width:1100px) {
	.ts-hero { padding:40px; }
	.ts-hero h1 { font-size:clamp(28px, 3.4vw, 38px); }
	.ts-hero-art { right:18px; }
	.ts-art-circle { width:285px; height:285px; }
	.ts-hero-image { max-width:270px; max-height:280px; }
	.ts-intro { gap:16px; }
	.ts-intro-heading h2 { font-size:22px; }
	.ts-guide { padding:18px 14px; }
	.ts-guide h3 { font-size:16px; }
	.ts-book-grid { grid-template-columns:repeat(5, minmax(0, 1fr)); }
}
@media (max-width:991px) {
	.ts-shell { padding:0 20px; }
	.ts-breadcrumb { padding:18px 0; }
	.ts-intro { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; padding:35px 0; }
	.ts-intro-heading { grid-column:1 / -1; padding-bottom:7px; }
	.ts-intro-heading h2 { font-size:25px; }
	.ts-intro-heading > p:last-child br { display:none; }
	.ts-series-nav { grid-template-columns:repeat(3, minmax(0, 1fr)); }
	.ts-book-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
	.ts-finder { padding:22px; }
	.ts-section-heading h2 { font-size:28px; }
}
@media (max-width:700px) {
	.teaching-support { padding-bottom:45px; }
	.ts-shell { padding:0 16px; }
	.ts-hero { display:block; min-height:600px; padding:32px 20px 270px; border-radius:10px 10px 50px 10px; }
	.ts-hero-copy { width:100%; }
	.ts-hero h1 { font-size:clamp(21px, 5.8vw, 34px); letter-spacing:-1px; }
	.ts-hero-description { margin-top:15px !important; font-size:clamp(11px, calc(3vw + 1px), 14px); letter-spacing:-.3px; }
	.ts-hero-description > span { margin:0 -8px; }
	.ts-primary-link { margin-top:20px; padding:11px 18px; font-size:14px; }
	.ts-hero-note { font-size:13px; }
	.ts-hero-art { top:auto; right:50%; bottom:8px; width:min(310px, calc(100% - 40px)); height:260px; transform:translateX(50%); }
	.ts-art-circle { width:220px; height:220px; }
	.ts-hero-image { top:43%; width:225px; max-width:100%; max-height:235px; }
	.ts-art-spark { top:8px; right:32px; font-size:31px; }
	.ts-art-caption { bottom:10px; padding:5px 16px; font-size:17px; }
	.ts-intro { grid-template-columns:1fr; gap:10px; padding:30px 0; }
	.ts-intro-heading { padding-bottom:12px; }
	.ts-intro-heading .ts-eyebrow { font-size:11px; }
	.ts-intro-heading h2 { font-size:24px; }
	.ts-guide { position:relative; padding:17px 18px 17px 59px; }
	.ts-guide-number { position:absolute; top:15px; left:17px; font-size:24px; }
	.ts-guide h3 { margin-top:0; font-size:17px; }
	.ts-guide .ts-guide-english { min-height:0; font-size:12px; }
	.ts-guide > p:last-child { margin-top:8px; font-size:13px; }
	.ts-guide > p:last-child br { display:none; }
	.ts-library { padding-top:31px; scroll-margin-top:18px; }
	.ts-section-heading { display:block; margin-bottom:19px; }
	.ts-section-heading h2 { font-size:25px; }
	.ts-section-heading > p { margin-top:10px; font-size:13px; text-align:left; }
	.ts-section-heading > p br { display:none; }
	.ts-series-nav { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:7px; }
	.ts-series-link { gap:8px; min-height:64px; padding:10px 9px; font-size:14px; }
	.ts-series-arrow { font-size:17px; }
	.ts-finder { margin-top:20px; padding:18px 14px; }
	.ts-finder-heading { gap:8px; align-items:flex-start; padding-bottom:17px; }
	.ts-finder-heading h3 { font-size:19px; }
	.ts-finder-heading > a { padding-top:3px; font-size:12px; }
	.ts-search-form, .ts-search-form.has-package { grid-template-columns:1fr; gap:13px; }
	.ts-search-form select { font-size:13px; }
	.ts-search-input input { padding:10px; font-size:13px; }
	.ts-search-input button { gap:8px; padding:10px 12px; font-size:13px; }
	.ts-results-heading { flex-wrap:wrap; gap:4px; padding:23px 0 13px; font-size:14px; }
	.ts-results-heading > p:last-child { width:100%; font-size:12px; }
	.ts-book-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 10px; }
	.ts-book-body { padding:12px 10px; }
	.ts-book-package { margin-bottom:6px !important; font-size:11px; }
	.ts-summary-label { font-size:12px; }
	.ts-book-resources li a { padding:9px 6px; font-size:12px; }
	.ts-download-format { font-size:11px; }
	.ts-download-format > span { margin-left:2px; font-size:14px; }
	.ts-pagination { gap:6px; margin-top:28px; }
	.ts-pagination a { min-width:32px; height:34px; }
	.ts-help { margin-top:35px; }
	.ts-empty { padding:40px 16px; }
	.ts-empty h3 { font-size:19px; }
	.ts-empty p { font-size:13px; }
}
@media (max-width:640px) {
	.ts-bottom-banner { flex-direction:column; align-items:stretch; gap:16px; min-height:0; padding:20px 18px; }
	.ts-bottom-banner h2 { font-size:20px; }
	.ts-bottom-banner p:last-child { font-size:13px; }
	.ts-bottom-banner > a { align-self:flex-end; padding:10px 14px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
	.teaching-support a, .ts-book-card { transition:none; }
}
