/* 3Dshop 研究贊助頁
   沿用個人網站的視覺：黑色襯線大標＋鈷藍強調、等寬數字。 */

:root{
  --bg:#fcfcfb; --surface:#ffffff; --fg:#121314; --muted:#5d6066; --line:#e4e4e2; --soft:#eef2fc;
  --acc:#1f4fd8; --acc2:#d99a00; --warn:#b4471d;
  --serif:"Noto Serif TC","Songti TC",serif;
  --sans:"Noto Sans TC","PingFang TC",system-ui,sans-serif;
  --latin:"Instrument Serif",Georgia,serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111214; --surface:#17181b; --fg:#ececea; --muted:#9c9fa6; --line:#2b2d31; --soft:#1a2238;
  --acc:#7c9dff; --acc2:#f0b93a; --warn:#ff9a6b; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111214; --surface:#17181b; --fg:#ececea; --muted:#9c9fa6; --line:#2b2d31; --soft:#1a2238;
  --acc:#7c9dff; --acc2:#f0b93a; --warn:#ff9a6b; color-scheme:dark}

*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--fg);font:16px/1.85 var(--sans);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto;padding-block:24px 96px}
a{color:var(--acc)}
a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance}
img,video{max-width:100%}
p{margin:0}

/* 頂列 */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.kicker{font:12px var(--mono);letter-spacing:.08em;color:var(--muted)}
.toc{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--acc)}

/* 開場 */
.hero{padding-block:44px 32px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.hero h1{font:900 clamp(36px,7vw,82px)/1.08 var(--serif);letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero .lead{max-width:44em;font-size:18px;color:var(--muted)}
.who{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted)}
.who b{color:var(--fg);font-weight:700}

/* 流程 */
.pipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:8px}
.pipe div{background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:2px;position:relative}
.pipe div:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--acc);font-weight:700;z-index:1}
.pipe b{font-size:15px}
.pipe span{font-size:12px;color:var(--muted);line-height:1.5}
@media (max-width:820px){.pipe{grid-template-columns:1fr 1fr}.pipe div::after{display:none}}

/* 章節 */
.ch{padding-block:72px 12px;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;border-bottom:1px solid var(--line);scroll-margin-top:12px}
.ch-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:end}
.ch-no{font:400 clamp(56px,9vw,104px)/.8 var(--latin);color:var(--acc)}
.ch-meta{font:12px var(--mono);color:var(--muted);letter-spacing:.06em}
.ch h2{font:900 clamp(26px,4vw,42px)/1.2 var(--serif);margin-top:6px}
.idea{font:600 clamp(18px,2.2vw,23px)/1.65 var(--serif);max-width:38em;padding-left:20px;border-left:3px solid var(--acc)}
.body{max-width:46em;display:grid;gap:12px}

/* 數字 */
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.num{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:grid;gap:4px;align-content:start}
.num b{font:600 26px/1.2 var(--mono);font-variant-numeric:tabular-nums;color:var(--acc)}
.num strong{font-size:15px}
.num span{font-size:13px;color:var(--muted);line-height:1.6}

/* 影片 */
.media{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:26px}
.media.one{grid-template-columns:1fr}
.fig{margin:0;display:grid;gap:10px;align-content:start;min-width:0}
.fig video{width:100%;border-radius:8px;border:1px solid var(--line);background:#000;aspect-ratio:16/9;object-fit:contain}
.fig h3{font:700 18px/1.4 var(--sans)}
.fig .tag{font:12px var(--mono);color:var(--muted)}
.fig p{font-size:14.5px;color:var(--muted);line-height:1.75}
.fig p b{color:var(--fg)}
.star{display:inline-block;font:600 11px var(--mono);color:var(--acc2);border:1px solid var(--acc2);border-radius:999px;padding:0 8px;margin-left:6px;vertical-align:2px}

/* 表格 */
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:620px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:700;background:var(--soft)}
td:first-child{font-weight:600;white-space:nowrap}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;gap:10px;align-content:start}
.card h3{font:900 21px/1.3 var(--serif)}
.card .give{font-size:13px;color:var(--muted)}
.card ul{margin:0;padding-left:1.2em;font-size:14.5px}
.card.hi{border-color:var(--acc);box-shadow:inset 0 4px 0 var(--acc)}

.note{background:var(--soft);border-radius:10px;padding:16px 20px;font-size:14.5px;max-width:52em}
.note b{color:var(--fg)}
ul.plain{margin:0;padding-left:1.2em}

footer{padding-top:48px;color:var(--muted);font-size:13px;display:grid;gap:6px}
footer b{color:var(--fg)}

/* 背景新聞 */
.news{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--acc2);border-radius:10px;padding:20px 22px;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;align-items:start}
.news-text{display:grid;gap:10px;min-width:0}
.news-vid{margin:0;display:grid;gap:6px}
.news-vid video{width:100%;aspect-ratio:9/16;border-radius:8px;background:#000;object-fit:contain}
.news-vid figcaption{font-size:12px;color:var(--muted);line-height:1.5}
@media (max-width:700px){.news{grid-template-columns:1fr}.news-vid{max-width:300px;justify-self:center}}
.news-tag{font:600 12px var(--mono);letter-spacing:.06em;color:var(--acc2)}
.news h2{font:900 clamp(20px,2.6vw,27px)/1.4 var(--serif)}
.news p{font-size:15px;color:var(--muted);line-height:1.8}
.news p b{color:var(--fg)}
.news .news-src{font-size:13px}
.yt{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#000}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.cta{display:grid;gap:4px;padding:20px 24px;border-radius:12px;background:var(--acc);color:#fff;text-decoration:none;transition:transform .15s}
.cta:hover{transform:translateY(-2px)}
.cta b{font:900 clamp(19px,2.4vw,25px)/1.4 var(--serif)}
.cta span{font-size:14.5px;opacity:.92}
.cta .cta-k{font:600 12px var(--mono);letter-spacing:.08em;opacity:.8}
