/* Tutor Eric Taipei — 研究頁、加入團隊、講師研究區塊（2026-10-31） */
.tx-wrap{padding-block:48px}
.tx-sec{padding-block:48px;border-bottom:1px solid var(--te-line)}
.tx-sec:last-child{border-bottom:0}
.tx-sec.alt{background:var(--te-paper)}
.tx-h2{font-size:26px;font-weight:900;color:var(--te-navy);margin:0}
.tx-kicker{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--te-gold-d);margin-bottom:6px}
.tx-lead{font-size:18px;line-height:1.75;color:var(--te-ink);max-width:46em;margin-top:14px}
.tx-p{line-height:1.8;color:var(--te-muted);margin-top:10px;max-width:46em}
.tx-grid2{display:grid;gap:20px;margin-top:24px}
.tx-grid3{display:grid;gap:16px;margin-top:24px}
@media(min-width:768px){.tx-grid2{grid-template-columns:1fr 1fr}.tx-grid3{grid-template-columns:repeat(3,1fr)}}
.tx-card{background:#fff;border:1px solid var(--te-line);border-radius:4px;padding:20px 22px}
.tx-card h3{font-size:17px;font-weight:700;color:var(--te-navy);margin:0}
.tx-card p{margin-top:6px;line-height:1.7;color:var(--te-muted);font-size:15px}
.tx-card.old{border-left:4px solid var(--te-mist)}
.tx-card.new{border-left:4px solid var(--te-gold)}
.tx-tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:3px;background:#EEF3F9;color:var(--te-navy);margin-bottom:8px}
.tx-tag.gold{background:#FBEFD9;color:var(--te-gold-d)}
.tx-num{font-family:"Outfit","Noto Sans TC",sans-serif;font-size:28px;font-weight:700;color:var(--te-gold-d);line-height:1}
.tx-facts{display:grid;gap:0;margin-top:22px;border:1px solid var(--te-line);border-radius:4px;background:#fff}
.tx-facts div{display:grid;grid-template-columns:7em 1fr;gap:12px;padding:12px 18px;border-top:1px solid var(--te-line-2)}
.tx-facts div:first-child{border-top:0}
.tx-facts dt{font-weight:700;color:var(--te-navy);font-size:15px}
.tx-facts dd{margin:0;color:var(--te-ink);font-size:15px;line-height:1.6}
@media(max-width:520px){.tx-facts div{grid-template-columns:1fr;gap:2px}}

/* 系統架構圖 */
.tx-flow{display:grid;gap:12px;margin-top:24px;align-items:stretch}
@media(min-width:900px){.tx-flow{grid-template-columns:1fr 40px 1fr 40px 1fr}}
.tx-flow .tx-card{display:flex;flex-direction:column}
.tx-arrow{display:flex;align-items:center;justify-content:center;color:var(--te-gold-d);font-size:22px;font-weight:700}
.tx-arrow span{transform:rotate(90deg)}
@media(min-width:900px){.tx-arrow span{transform:none}}

/* 時程 */
.tx-time{list-style:none;margin:24px 0 0;padding:0;border-left:2px solid var(--te-line);max-width:46em}
.tx-time li{position:relative;padding:0 0 22px 24px}
.tx-time li:last-child{padding-bottom:0}
.tx-time li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--te-mist)}
.tx-time li.done::before{background:var(--te-navy);border-color:var(--te-navy)}
.tx-time li.now::before{background:var(--te-gold);border-color:var(--te-gold);box-shadow:0 0 0 4px #FBEFD9}
.tx-time .when{font-family:"Outfit","Noto Sans TC",sans-serif;font-size:14px;font-weight:700;color:var(--te-muted)}
.tx-time .what{font-weight:700;color:var(--te-ink);margin-top:2px}
.tx-time .note{font-size:14px;color:var(--te-muted);margin-top:2px;line-height:1.6}
.tx-time .badge{display:inline-block;margin-left:8px;font-size:12px;font-weight:700;background:var(--te-gold);color:var(--te-navy);padding:1px 7px;border-radius:3px;vertical-align:2px}

/* 列表 */
.tx-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px;max-width:46em}
.tx-list li{display:flex;gap:12px;line-height:1.7}
.tx-list li::before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--te-gold);margin-top:.65em}
.tx-list b{color:var(--te-navy)}

/* 流程步驟 */
.tx-steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px;counter-reset:s}
@media(min-width:900px){.tx-steps{grid-template-columns:repeat(5,1fr)}}
.tx-steps li{counter-increment:s;background:#fff;border:1px solid var(--te-line);border-top:3px solid var(--te-navy);border-radius:4px;padding:16px 16px 18px}
.tx-steps li::before{content:counter(s,decimal-leading-zero);font-family:"Outfit",sans-serif;font-weight:700;font-size:22px;color:var(--te-gold-d);display:block}
.tx-steps b{display:block;margin-top:6px;color:var(--te-navy);font-size:16px}
.tx-steps span{display:block;margin-top:4px;font-size:14px;line-height:1.6;color:var(--te-muted)}

/* 分潤示意 */
.tx-split{margin-top:22px;max-width:560px}
.tx-split-bar{display:flex;height:44px;border-radius:4px;overflow:hidden;font-weight:700;font-size:15px}
.tx-split-bar .t{flex:5;background:var(--te-navy);color:#fff;display:flex;align-items:center;padding-left:14px}
.tx-split-bar .p{flex:1;background:var(--te-gold);color:var(--te-navy);display:flex;align-items:center;justify-content:center;min-width:64px}
.tx-split-cap{display:flex;justify-content:space-between;font-size:14px;color:var(--te-muted);margin-top:8px}

/* 規範 */
.tx-rule{display:grid;gap:14px;margin-top:24px}
@media(min-width:768px){.tx-rule{grid-template-columns:1fr 1fr}}
.tx-rule .tx-card{border-left:4px solid var(--te-navy)}
.tx-rule .tx-card.warn{border-left-color:#B42318;background:#FFF8F7}
.tx-note{margin-top:22px;font-size:14px;line-height:1.7;color:var(--te-muted);max-width:46em;border-top:1px dashed var(--te-line);padding-top:14px}

/* 表單 */
.tx-form{max-width:760px;margin-top:24px}
.tx-form .row{display:grid;gap:18px}
@media(min-width:640px){.tx-form .row{grid-template-columns:1fr 1fr}}
.tx-form .gap{margin-top:18px}
.tx-chips{display:flex;flex-wrap:wrap;gap:8px}
.tx-chips label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--te-line);border-radius:4px;padding:9px 13px;background:#fff;font-size:15px;cursor:pointer;min-height:44px}
.tx-chips label:has(:checked){border-color:var(--te-navy);background:#FBF6EC}
.tx-chips input{width:18px;height:18px;accent-color:var(--te-navy)}

/* 講師頁研究區塊 */
.tx-research{display:grid;gap:22px;align-items:center;background:var(--te-navy);color:#fff;border-radius:4px;padding:28px 26px}
@media(min-width:900px){.tx-research{grid-template-columns:1fr auto;padding:34px 40px}}
.tx-research .k{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--te-gold)}
.tx-research h2{font-size:22px;font-weight:900;margin:6px 0 0;line-height:1.45;color:#fff}
.tx-research p{margin-top:10px;line-height:1.75;color:var(--te-mist);max-width:44em}
.tx-research .meta{font-size:14px;color:var(--te-mist);margin-top:12px}
.tx-research a.go{display:inline-flex;align-items:center;gap:8px;background:var(--te-gold);color:var(--te-navy);font-weight:700;padding:12px 20px;border-radius:4px;text-decoration:none;white-space:nowrap;min-height:44px}
.tx-research a.go:hover{background:#D9922A}
.tx-join-cta{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;border:1px solid var(--te-line);border-left:4px solid var(--te-gold);background:#fff;border-radius:4px;padding:20px 24px}
.tx-join-cta b{color:var(--te-navy);font-size:18px}
.tx-join-cta p{margin:4px 0 0;color:var(--te-muted)}

/* 研究頁：專業版 */
.rs-abs{border:1px solid var(--te-line);border-left:4px solid var(--te-navy);background:#fff;border-radius:4px;padding:22px 24px;max-width:58em;margin-top:22px}
.rs-abs h3{font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--te-gold-d);margin:0}
.rs-abs p{margin-top:8px;line-height:1.85;color:var(--te-ink)}
.rs-kw{margin-top:12px;font-size:14px;color:var(--te-muted)}
.rs-kw b{color:var(--te-navy)}
.rs-h3{font-size:19px;font-weight:700;color:var(--te-navy);margin:34px 0 0}
.rs-math{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:17px;background:var(--te-paper);border:1px solid var(--te-line);border-radius:4px;padding:16px 20px;margin-top:16px;max-width:58em;line-height:2;overflow-x:auto}
.rs-math i{font-style:italic}
.rs-tbl-wrap{overflow-x:auto;margin-top:18px;max-width:100%}
.rs-tbl{border-collapse:collapse;width:100%;min-width:560px;background:#fff;font-size:15px}
.rs-tbl th,.rs-tbl td{border:1px solid var(--te-line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.55}
.rs-tbl th{background:#EEF3F9;color:var(--te-navy);font-weight:700;white-space:nowrap}
.rs-tbl td.n{text-align:right;font-family:"Outfit","Noto Sans TC",sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.rs-tbl caption{caption-side:top;text-align:left;font-weight:700;color:var(--te-ink);padding-bottom:8px;font-size:15px}
.rs-pipe{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
@media(min-width:900px){.rs-pipe{grid-template-columns:repeat(7,1fr)}}
.rs-pipe li{background:#fff;border:1px solid var(--te-line);border-top:3px solid var(--te-navy);border-radius:4px;padding:12px 12px 14px;font-size:14px;line-height:1.55;color:var(--te-muted)}
.rs-pipe li b{display:block;color:var(--te-navy);font-size:15px;margin-bottom:4px}
.rs-pipe li .s{font-family:"Outfit",sans-serif;font-weight:700;color:var(--te-gold-d);font-size:13px}
.rs-sim{display:inline-block;font-size:12px;font-weight:700;background:#FBEFD9;color:var(--te-gold-d);border-radius:3px;padding:2px 8px;margin-left:8px;vertical-align:3px}
.rs-kpis{display:grid;gap:12px;margin-top:20px}
@media(min-width:768px){.rs-kpis{grid-template-columns:repeat(4,1fr)}}
.rs-kpi{background:#fff;border:1px solid var(--te-line);border-radius:4px;padding:16px 18px}
.rs-kpi .v{font-family:"Outfit","Noto Sans TC",sans-serif;font-size:28px;font-weight:700;color:var(--te-navy);line-height:1.1}
.rs-kpi .l{font-size:14px;color:var(--te-muted);margin-top:6px;line-height:1.5}
.rs-arch{width:100%;height:auto;margin-top:20px;background:#fff;border:1px solid var(--te-line);border-radius:4px}
.rs-arch text{font-family:"Noto Sans TC",sans-serif}

/* 圖表 */
.tx-fig{--s1:#2a6fc4;--s2:#e09400;--s3:#14a06e;position:relative;margin-top:22px;background:#fff;border:1px solid var(--te-line);border-radius:4px;padding:16px 16px 10px;max-width:900px}
.tx-fig figcaption{font-size:14px;line-height:1.65;color:var(--te-muted);margin-top:8px}
.tx-fig figcaption b{color:var(--te-ink)}
.tx-fig .ttl{font-weight:700;color:var(--te-ink);font-size:16px;margin:0 0 6px}
.viz{width:100%;height:auto;display:block;--s1:#2a6fc4;--s2:#e09400;--s3:#14a06e;touch-action:pan-y}
.viz .grid{stroke:#E7EBF1;stroke-width:1}
.viz .axis{stroke:#9AA6B8;stroke-width:1}
.viz .zero{stroke:#9AA6B8;stroke-width:1}
.viz .tick{font:12px "Outfit","Noto Sans TC",sans-serif;fill:#5b6b82}
.viz .axl{font:12px "Noto Sans TC",sans-serif;fill:#4A5568}
.viz .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.viz .dl{font:600 12px "Noto Sans TC",sans-serif;fill:#1B2333}
.viz .thr{stroke:#4A5568;stroke-width:1;stroke-dasharray:4 4}
.viz .thrl{font:12px "Noto Sans TC",sans-serif;fill:#4A5568}
.viz .xh{stroke:#1B2333;stroke-width:1;opacity:.5}
.viz .hit{fill:transparent;cursor:crosshair}
.viz-tip{position:absolute;z-index:5;background:#fff;border:1px solid var(--te-line);box-shadow:0 8px 24px rgba(19,41,75,.12);border-radius:4px;padding:8px 10px;font-size:13px;line-height:1.6;pointer-events:none;min-width:180px}
.viz-tip b{display:block;color:var(--te-ink)}
.viz-tip span{display:flex;align-items:center;gap:6px;color:var(--te-ink);white-space:nowrap}
.viz-tip i{width:10px;height:3px;border-radius:2px;display:inline-block}
.tx-fig details{margin-top:6px;font-size:14px}
.tx-fig summary{cursor:pointer;color:var(--te-navy);font-weight:600;min-height:32px;display:flex;align-items:center}
.rs-ref{margin-top:16px;padding-left:1.6em;line-height:1.75;font-size:14px;color:var(--te-muted);max-width:62em}
.rs-ref li{margin-top:6px}
.rs-ref a{color:var(--te-navy);text-decoration:underline;word-break:break-word}
.viz-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--te-ink);margin:2px 0 6px}
.viz-leg span{display:inline-flex;align-items:center;gap:6px}
.viz-leg i{width:14px;height:3px;border-radius:2px;display:inline-block}
.viz-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.viz-scroll .viz{min-width:640px}.viz-scroll .rs-arch{min-width:760px}.viz-scroll::after{content:"← 左右滑動查看完整圖表 →";display:block;font-size:12px;color:#5b6b82;text-align:center;padding:4px 0;position:sticky;left:0}}

/* 講師介紹：教學實況與實體講義影片（2026-11-09） */
.tv-sec{padding-block:48px;border-bottom:1px solid var(--te-line);background:var(--te-paper)}
.tv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;max-width:640px}
.tv-card{margin:0}
.tv-frame{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#0f1d33;box-shadow:0 10px 28px rgba(15,29,51,.16)}
.tv-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tv-badge{position:absolute;left:10px;top:10px;background:rgba(15,29,51,.78);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 9px;border-radius:999px}
.tv-badge::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#e2b04a;margin-right:6px;vertical-align:1px}
.tv-cap{margin-top:10px;line-height:1.55}
.tv-cap b{display:block;color:var(--te-navy);font-weight:700}
.tv-cap span{font-size:14px;color:var(--te-muted)}
.tv-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;max-width:400px}
.tv-mini .tv-frame{border-radius:10px}
.tv-mini .tv-cap{margin-top:6px;font-size:14px}
@media (max-width:640px){.tv-sec{padding-block:36px}.tv-grid{gap:12px}.tv-cap span{font-size:13px}}
.tv-layout{display:grid;gap:28px;align-items:center}
.tv-layout .tv-grid{margin-top:0;width:100%;justify-self:end}
.tv-points{margin:16px 0 0;padding:0;list-style:none}
.tv-points li{position:relative;padding-left:18px;margin-top:8px;color:var(--te-ink);line-height:1.7}
.tv-points li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:#e2b04a}
@media (min-width:900px){.tv-layout{grid-template-columns:1fr 520px;gap:48px}}
@media (max-width:899px){.tv-layout .tv-grid{justify-self:stretch;max-width:none}.tv-layout .mt-8{margin-top:20px}}
