/* home2.css — 新首頁＋筆記列表（2026-11-05 二號-1105-01，D-458）
   照原型 v2（site.css＋v2.css）＋卡片版開場動畫（vb.css）搬過來；外框在 shell2.css。
   只有首頁、/notes/ 兩頁用這支，所以可以設整頁的底色和字。 */
:root{
  --bg:#0F172A; --surface:#1A2233; --surface-2:#141C2C;
  --t-head:#F5F7FA; --t-body:#E6EBF2; --t-sub:#C6CED9; --t-meta:#A9B6C7; --t-link:#BCD6F2;
  --t-tag:#C6DDF5; --tag-bg:#1A2740;
  --accent:#9EC1E8; --accent-border:rgba(158,193,232,.45); --tint:rgba(158,193,232,.10);
  --line:rgba(230,235,242,.13); --hair:rgba(230,235,242,.09);
  --red:#D93B1A; --line-green:#06C755; --warn:#E8C79E;
  --serif:'Newsreader Latin','Noto Serif TC Site','Noto Serif TC',serif;
  --sans:-apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace;
  --fs-xs:13px; --fs-sm:15px; --fs-md:17px; --fs-lg:22px; --fs-xl:30px; --fs-2xl:44px; --fs-3xl:56px;
  --col-gap:24px;
}
@media (max-width:900px){
  :root{ --fs-md:16px; --fs-lg:20px; --fs-xl:26px; --fs-2xl:34px; --fs-3xl:38px; --col-gap:12px; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--t-body);font:var(--fs-md)/1.8 var(--sans);text-autospace:normal;
  background-image:
    radial-gradient(1100px 700px at 18% -10%,rgba(158,193,232,.10),transparent 60%),
    radial-gradient(900px 600px at 95% 30%,rgba(53,88,114,.18),transparent 60%),
    radial-gradient(rgba(230,235,242,.06) 1px,transparent 1.2px);
  background-size:auto,auto,26px 26px;background-attachment:fixed;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--t-head);text-wrap:balance;margin:0;word-break:keep-all;overflow-wrap:anywhere}
p{text-wrap:pretty}
.nb{white-space:nowrap}
.dash{font-family:'Noto Serif TC Site','Noto Serif TC',serif;letter-spacing:-.05em}
main{padding:64px 0 80px;min-width:0}
@media (max-width:900px){ main{padding:0 16px 56px} body{font-size:16px} }
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.eyebrow{display:flex;align-items:center;gap:10px;color:var(--t-meta);font-size:var(--fs-xs);letter-spacing:.14em;margin:0 0 18px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--red)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:var(--t-meta);font-size:var(--fs-xs)}
.kind{display:inline-flex;align-items:center;gap:6px;color:var(--t-tag);background:var(--tag-bg);font-size:var(--fs-xs);letter-spacing:.06em;
  border:1px solid rgba(158,193,232,.28);border-radius:6px;padding:1px 8px;line-height:1.7}
.kind.guide{color:var(--t-sub);background:transparent;border-color:var(--line)}
.chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 12px;
  font-size:var(--fs-xs);color:var(--t-sub);background:rgba(255,255,255,.02);cursor:pointer;line-height:1.5;font-family:var(--sans)}
.chip:hover,.chip.on{border-color:var(--accent-border);color:var(--accent);background:var(--tint)}
.chip .c{font:var(--fs-xs) var(--mono);color:var(--t-meta);margin-left:6px}
button.chip{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 12px;
  font-size:var(--fs-xs);color:var(--t-sub);background:rgba(255,255,255,.02);cursor:pointer;line-height:1.5}
button.chip.on,button.chip:hover{border-color:var(--accent-border);color:var(--accent);background:var(--tint)}
.tested{display:flex;gap:12px;align-items:baseline;border-top:1px dashed var(--line);padding-top:14px;margin:0;font-size:var(--fs-sm);color:var(--t-sub)}
.tested b{flex:none;font-weight:600;color:var(--accent);font-size:var(--fs-xs);letter-spacing:.08em}

/* ── 首頁開場：口號（小）＋大搜尋＋最新一篇 ── */
.lede{padding-top:4px}
.lede .slogan{font:400 var(--fs-lg)/1.6 var(--serif);color:var(--t-head);margin:0;max-width:22em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.lede .slogan b{font-weight:700}
.shell2 .hero-search{width:100%;height:56px;padding:0 18px 0 20px;margin-top:22px;font-size:var(--fs-md);border-radius:16px;
  border-color:rgba(158,193,232,.35);background:rgba(26,34,51,.85);box-shadow:0 14px 34px rgba(0,0,0,.35),inset 0 0 0 1px rgba(158,193,232,.06)}
.shell2 .hero-search:hover{border-color:var(--accent-border);background:rgba(26,34,51,.95)}
@media (max-width:900px){ .shell2 .hero-search kbd{display:none} .shell2 > main > .topbar2{margin:0 -16px 28px} }
.latest1{display:flex;align-items:baseline;gap:10px;margin:14px 0 0;font-size:var(--fs-sm);color:var(--t-sub)}
.latest1 b{flex:none;font-size:var(--fs-xs);letter-spacing:.12em;color:var(--accent)}
.latest1 a{color:var(--t-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.latest1 span{flex:none;color:var(--t-meta);font-size:var(--fs-xs)}
.latest1.map-entry a{white-space:nowrap}

/* ── 捲動開場（共用骨架）── */
.intro{position:relative;height:300vh;margin-top:8px}
.stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;padding-top:calc(9vh + 110px)}
.cap{position:absolute;left:0;right:0;top:9vh;margin:0;text-align:center;font:400 var(--fs-lg)/1.5 var(--serif);color:var(--t-head);opacity:0;will-change:opacity,transform;word-break:keep-all;overflow-wrap:anywhere}
.cap b{font-weight:700} .cap small{display:block;font:var(--fs-xs)/1.6 var(--sans);letter-spacing:.14em;color:var(--t-meta);margin-bottom:6px}
.hint{position:absolute;bottom:7vh;left:0;right:0;margin:0;text-align:center;color:var(--t-meta);font-size:var(--fs-xs);letter-spacing:.14em;opacity:0}
html:not(.js) .intro{height:auto} html:not(.js) .stage{position:relative;height:auto;padding:56px 0 24px}
html:not(.js) .cap{position:relative;top:auto;opacity:1;margin-bottom:24px}
html:not(.js) .cap + .cap{display:none}
@media (prefers-reduced-motion:reduce){
  .intro{height:auto!important} .stage{position:relative!important;height:auto!important;padding:56px 0 24px!important}
  .cap{position:relative!important;top:auto!important;opacity:1!important;transform:none!important;margin-bottom:24px}
  .cap + .cap{display:none} .hint{display:none}
}

/* ── 卡片版開場（老徐 11-05 選定）：一疊筆記卡片浮起、散成扇形，最新一篇停在面前 ──
   ① 光從左上來：卡片左上緣亮、影子往右下　② 影子分層：越高的卡影子越大越淡
   ③ 遠近：後面的卡蒙一層底色（像霧）　④ 最新那張停下時，表面掃過一道反光 */
.introB .scene{--cw:300px;--r:16px;position:relative;width:100%;height:calc(var(--cw)*1.30);margin-top:44px}
.introB .cam{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 30%}
.introB .pile{position:absolute;left:50%;top:46%;width:var(--cw);height:calc(var(--cw)*.94);margin:calc(var(--cw)*-.47) 0 0 calc(var(--cw)*-.5);
  transform-style:preserve-3d;will-change:transform}
.introB .tbl{position:absolute;left:-60%;right:-60%;top:-55%;bottom:-55%;transform:translateZ(-4px);pointer-events:none;
  background:radial-gradient(closest-side,rgba(40,52,76,.9),rgba(32,42,62,.45) 55%,rgba(15,23,42,0) 100%)}
.introB .tbl::after{content:"";position:absolute;left:31%;right:27%;top:33%;bottom:27%;border-radius:24px;background:hsl(222 60% 3% / .8);filter:blur(16px)}
.introB .card{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform;display:block}
.introB .sd{position:absolute;inset:0;border-radius:var(--r);transform:translateZ(-1px);opacity:.3;pointer-events:none;
  box-shadow:0.5px 1px 1.2px hsl(222 60% 3% / .40),2px 4px 5px -.5px hsl(222 60% 3% / .38),4px 8px 10px -1px hsl(222 60% 3% / .36),
    7px 14px 18px -1.5px hsl(222 60% 3% / .34),11px 22px 28px -2px hsl(222 60% 3% / .32),17px 34px 43px -2.5px hsl(222 60% 3% / .30),26px 52px 64px -3px hsl(222 60% 3% / .28)}
.introB .face{position:absolute;inset:0;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(150deg,rgba(230,235,242,.08),rgba(230,235,242,0) 42%),#1A2233;
  box-shadow:inset 0 0 0 1px rgba(230,235,242,.10),inset 0 1px 0 rgba(255,255,255,.12)}
.introB .ph{position:relative;flex:none;aspect-ratio:800/420;overflow:hidden;border-bottom:1px solid var(--hair);background:#141619}
.introB .ph img{width:100%;height:100%;object-fit:cover}
.introB .tx{padding:calc(var(--cw)*.045) calc(var(--cw)*.055) 0}
.introB .tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;
  font:700 var(--fs-md)/1.45 var(--serif);color:var(--t-head);word-break:keep-all;overflow-wrap:anywhere}
.introB .tx .m{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--t-meta)}
.introB .tx .kind{white-space:nowrap}
.introB .sheen{position:absolute;inset:-10% -70%;pointer-events:none;transform:translateX(-100%);will-change:transform;
  background:linear-gradient(115deg,transparent 41%,rgba(255,255,255,.13) 48%,rgba(255,255,255,.035) 54%,transparent 60%)}
.introB .fog{position:absolute;inset:0;background:#0F172A;opacity:0;pointer-events:none;will-change:opacity}
.introB .sky{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(46% 34% at 50% 50%,rgba(158,193,232,.10),transparent 70%),radial-gradient(28% 20% at 46% 40%,rgba(53,88,114,.22),transparent 70%)}
/* 電腦寬：動畫區在右欄裡，背景光和桌面會被欄的邊切出直邊 → 左右兩側淡出 */
@media (min-width:901px){ .introB .stage{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)} }
@media (max-width:900px){
  .intro{height:260vh;margin-top:0}
  .stage{top:60px;height:calc(100svh - 60px);padding-top:calc(6vh + 96px)}
  .cap{top:6vh;padding:0 8px}
  .introB .scene{--cw:min(224px,58vw);--r:14px;height:calc(var(--cw)*1.6);margin-top:150px}
  .introB .cam{perspective:900px}
  .introB .tx b{font-size:var(--fs-sm)}
}
@media (prefers-reduced-motion:reduce){ .introB .scene{margin:24px 0 72px} }
html:not(.js) .introB .scene{margin:24px 0 72px}
/* 沒有 JS：卡片疊在同一處，最新那張（第一張）要在最上面（後面的元素預設會蓋住前面的） */
html:not(.js) .introB .card:nth-child(2){z-index:7}html:not(.js) .introB .card:nth-child(3){z-index:6}html:not(.js) .introB .card:nth-child(4){z-index:5}html:not(.js) .introB .card:nth-child(5){z-index:4}html:not(.js) .introB .card:nth-child(6){z-index:3}html:not(.js) .introB .card:nth-child(7){z-index:2}html:not(.js) .introB .card:nth-child(8){z-index:1}

/* ── 首頁筆記：有意的錯位（12 欄底子，刻意高低、大小、多少不同）── */
.feed2{position:relative;margin-top:24px}
.mh{display:flex;align-items:baseline;gap:10px;margin:64px 0 20px}
.mh b{font:700 var(--fs-xl)/1 var(--serif);color:var(--t-head)}
.mh span{font:var(--fs-xs) var(--mono);color:var(--t-meta);letter-spacing:.08em}
.mh::after{content:"";flex:1;height:1px;background:var(--hair);transform:translateY(-6px)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start}
.cd{display:block;min-width:0}
.cd .th{position:relative;border-radius:16px;overflow:hidden;background:#141619;border:1px solid var(--hair)}
.cd .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cd:hover .th img{transform:scale(1.035)}
.cd:hover h3{color:var(--accent)}
.cd h3{font-size:var(--fs-lg);line-height:1.42;margin:12px 0 0;transition:color .2s}
.cd .dek,.clist b,.lrow h2{text-wrap:pretty}
.cd .meta{margin-top:12px}
.cd .dek{margin:8px 0 0;font-size:var(--fs-sm);line-height:1.7;color:var(--t-sub)}
.cd.big{grid-column:1/-1}
.cd.big .th{aspect-ratio:16/8.5}
.cd.big h3{font-size:var(--fs-xl);line-height:1.3;margin-top:16px}
.quote{grid-column:1/6;margin:40px 0 0;padding:0}
.quote p{font:400 var(--fs-lg)/1.6 var(--serif);color:var(--t-head);margin:0;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.quote p::before{content:"“";display:block;font:700 64px/0.6 var(--serif);color:var(--accent);margin-bottom:10px}
.quote footer{margin-top:14px;font-size:var(--fs-xs);color:var(--t-meta);line-height:1.6}
.quote footer a{color:var(--t-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cd.side{grid-column:7/-1;margin-top:112px}
.cd.side .th{aspect-ratio:1}   /* 舊 19 篇的封面左邊有字：方形才裁得掉（4:3 會露出半截字） */
.cd.pa{grid-column:1/8}
.cd.pa .th{aspect-ratio:1}
.cd.pb{grid-column:8/-1;margin-top:96px}
.cd.pb .th{aspect-ratio:1}
.clist{grid-column:3/-1;margin-top:56px;border-top:1px solid var(--hair)}
.clist a{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair)}
.clist a:hover b{color:var(--accent)}
.clist b{font:700 var(--fs-md)/1.5 var(--serif);color:var(--t-head);word-break:keep-all;overflow-wrap:anywhere;transition:color .2s}
.clist .cm{display:block;font-size:var(--fs-xs);color:var(--t-meta);margin-top:4px}
.clist img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#141619;border:1px solid var(--hair)}
.clist-h{grid-column:1/3;margin-top:56px;padding-top:16px;font-size:var(--fs-xs);color:var(--t-meta);letter-spacing:.12em;line-height:1.7}
.all2{grid-column:3/-1;display:flex;justify-content:space-between;align-items:center;margin-top:20px;height:52px;padding:0 18px;border:1px solid var(--line);border-radius:14px;color:var(--t-sub);font-size:var(--fs-sm)}
.all2:hover{border-color:var(--accent-border);color:var(--accent)}
@media (max-width:900px){
  .g12{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cd.big{margin:0 -16px}
  .cd.big .th{border-radius:0;border-left:0;border-right:0;aspect-ratio:16/10}
  .cd.big .bd{padding:0 16px}
  .quote{grid-column:1/-1;margin-top:36px;padding-right:12%}
  .cd.side{grid-column:2/-1;margin-top:28px}
  .cd.pa{grid-column:1/4}
  .cd.pb{grid-column:4/-1;margin-top:56px}
  .cd.pa h3,.cd.pb h3{font-size:var(--fs-md);line-height:1.5}
  .cd.pa .meta,.cd.pb .meta{margin-top:8px}
  .tested{flex-direction:column;gap:4px}
  .clist-h{grid-column:1/-1;margin-top:40px;padding-top:0}
  .clist{grid-column:1/-1;margin-top:10px}
  .all2{grid-column:1/-1}
  .mh{margin:48px 0 16px}
}

/* ── 合作小卡＋頁尾 ── */
.collab{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:72px;padding:28px 30px;border-radius:18px;
  background:linear-gradient(135deg,rgba(53,88,114,.35),rgba(26,34,51,.6));border:1px solid rgba(158,193,232,.22)}
.collab .k{font-size:var(--fs-xs);letter-spacing:.16em;color:var(--t-meta)}
.collab h2{font-size:var(--fs-lg);margin:4px 0 6px}
.collab p{margin:0;color:var(--t-sub);font-size:var(--fs-sm)}
.collab .go{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#10222f;font-weight:600;border-radius:12px;padding:12px 18px;white-space:nowrap}
.foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--hair);color:var(--t-meta);font-size:var(--fs-xs);display:flex;flex-wrap:wrap;gap:8px 20px}
.foot a:hover{color:var(--accent)}
@media (max-width:900px){
  .collab{grid-template-columns:1fr;padding:22px 20px;margin-top:52px}
  .collab .go{justify-self:start}
  .foot a{padding:8px 0}
}

/* ── 筆記列表 ── */
.page-h h1{font-size:var(--fs-2xl);line-height:1.2}
.page-h p{color:var(--t-sub);margin:14px 0 0;max-width:36em;font-size:var(--fs-sm)}
.page-h .eyebrow{margin-bottom:22px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px}
.month{display:flex;align-items:baseline;gap:12px;margin:34px 0 12px}
.month b{font:700 var(--fs-lg)/1 var(--serif);color:var(--t-head)}
.month span{font:var(--fs-xs) var(--mono);color:var(--t-meta)}
.lrow{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:22px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair)}
.lrow .th{aspect-ratio:1;border-radius:12px;overflow:hidden;background:#141619;border:1px solid var(--hair)}
.lrow .th img{width:100%;height:100%;object-fit:cover}
.lrow h2{font-size:var(--fs-lg);line-height:1.42;transition:color .2s}
.lrow:hover h2{color:var(--accent)}
.lrow .sub{display:flex;gap:10px;align-items:center;margin-top:6px}
.lrow .d{font:var(--fs-xs) var(--mono);color:var(--t-meta);white-space:nowrap}
.lrow[hidden],.month[hidden]{display:none}
@media (max-width:900px){
  .page-h h1{font-size:var(--fs-2xl)}
  .lrow{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px 0}
  .lrow .d{display:none}
  .lrow h2{font-size:var(--fs-md);line-height:1.5}
  .chip,button.chip{min-height:36px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── 首頁「常駐」卡（二號-1105-02）── */
.pin{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 16px;align-items:center;margin-top:64px;padding:18px 22px;
  border:1px solid var(--line);border-radius:16px;background:rgba(20,28,44,.55);transition:border-color .2s}
.pin .k{grid-row:1/3;align-self:center;font-size:var(--fs-xs);letter-spacing:.14em;color:var(--t-tag);background:var(--tag-bg);border:1px solid rgba(158,193,232,.28);border-radius:6px;padding:2px 8px;line-height:1.6}
.pin b{font:700 var(--fs-lg)/1.4 var(--serif);color:var(--t-head);word-break:keep-all;overflow-wrap:anywhere;transition:color .2s}
.pin .d{grid-column:2;font-size:var(--fs-sm);line-height:1.6;color:var(--t-sub)}
.pin .go{grid-row:1/3;grid-column:3;color:var(--t-sub);font-size:var(--fs-lg)}
.pin:hover{border-color:var(--accent-border)} .pin:hover b{color:var(--accent)}
.pin + .collab{margin-top:20px}
@media (max-width:900px){
  .pin{grid-template-columns:minmax(0,1fr) auto;padding:16px 18px;margin-top:52px}
  .pin .k{grid-row:auto;justify-self:start} .pin b,.pin .d{grid-column:1} .pin .go{grid-row:1/4;grid-column:2}
}

/* ── 常駐頁：千問 Image 2.1 Turbo 能力地圖（二號-1105-02）── */
.map header .eyebrow{margin-bottom:18px}
.map h1{font-size:var(--fs-2xl);line-height:1.25;margin:0 0 16px}
.map .lead{font-size:var(--fs-lg);line-height:1.65;color:var(--t-sub);margin:0;max-width:32em;word-break:keep-all;overflow-wrap:anywhere}
.map .stamp{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-size:var(--fs-xs);line-height:1.7;color:var(--t-meta)}
.map .stamp b{color:var(--accent);font-weight:600;margin-right:4px}
.map section{margin-top:60px}
.map h2{font-size:var(--fs-xl);line-height:1.35;margin:0 0 20px;padding-top:22px;border-top:1px solid var(--hair);scroll-margin-top:24px}
.map h3{font-size:var(--fs-lg);line-height:1.4;margin:36px 0 12px}
.map p,.map li{font-size:var(--fs-md);line-height:1.8;color:var(--t-body);margin:0}
.map ol,.map ul{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:6px}
/* A11：沿用同頁表格前小標的12px留白，只作用於段落後接表格。 */
.map > section > p + .tbl{margin-top:12px}
.map .tbl{border:1px solid var(--line);border-radius:14px;background:rgba(20,28,44,.55);overflow:hidden}
.map table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.65}
.map th,.map td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--hair);word-break:normal;overflow-wrap:anywhere}
.map th{color:var(--t-meta);font-weight:500;font-size:var(--fs-xs);letter-spacing:.06em;background:rgba(255,255,255,.02)}
.map tbody tr:last-child td{border-bottom:0}
.map td:first-child{color:var(--t-head);font-weight:600;min-width:7.5em}
.map .ex{display:flex;flex-direction:column;gap:28px;margin-top:24px}
.map .examples-intro{margin-bottom:4px;text-wrap:pretty}
.map .map-style{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;margin:0;padding:24px 0;border-top:1px solid var(--line);align-items:start}
.map .map-style img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:14px;background:#141619}
.map .style-copy{min-width:0}
.map .map-style h4{font-size:var(--fs-lg);line-height:1.5;margin:0 0 18px;text-wrap:pretty}
.map .map-style dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:var(--fs-sm);line-height:1.8;margin:0}
.map .map-style dt{color:var(--t-meta)}
.map .map-style dd{margin:0;color:var(--t-body);text-wrap:pretty}
.map .map-style details{margin:18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(20,28,44,.55)}
.map .map-style summary{cursor:pointer;font-size:var(--fs-sm);line-height:1.7;color:var(--t-link);text-wrap:pretty}
.map .map-style .prompt{margin-top:12px;white-space:pre-wrap;font-size:var(--fs-sm);text-wrap:pretty;overflow-wrap:anywhere}
.map .map-style .source{font-size:var(--fs-sm);line-height:1.8;color:var(--t-meta);margin:16px 0;text-wrap:pretty}
.map .map-style .source a{color:var(--t-link);text-decoration:underline;text-underline-offset:3px}
.map .map-style .review{padding:14px 16px;border-left:3px solid var(--accent);background:rgba(158,193,232,.06);text-wrap:pretty}
/* A10：自家短片沿用風格則的左右欄與字級；手機單欄。 */
.map .map-film{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;margin:0;padding:24px 0;border-top:1px solid var(--line);align-items:start}
.map .map-film figure{margin:0}
.map .map-film video,.map .map-film img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:14px;background:#141619}
.map .map-film h4{font-size:var(--fs-lg);line-height:1.5;margin:0 0 18px;text-wrap:pretty}
.map .map-film dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:var(--fs-sm);line-height:1.8;margin:0}
.map .map-film dt{color:var(--t-meta)}
.map .map-film dd{margin:0;color:var(--t-body);text-wrap:pretty}
.map .map-film .method{font-size:var(--fs-sm);line-height:1.8;margin-top:18px;text-wrap:pretty}
.map .map-film details{margin:18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(20,28,44,.55)}
.map .map-film summary{cursor:pointer;font-size:var(--fs-sm);line-height:1.7;color:var(--t-link);text-wrap:pretty}
.map .map-film .prompt{margin-top:12px;white-space:pre-wrap;font-size:var(--fs-sm);text-wrap:pretty;overflow-wrap:anywhere}
@media(max-width:900px){.map .map-film{grid-template-columns:minmax(0,1fr);gap:20px}.map .map-film video{max-width:512px;margin:auto}}
@media (max-width:900px){
  .map h1{font-size:var(--fs-xl)}
  .map .map-style{grid-template-columns:minmax(0,1fr);gap:20px}
  .map .map-style img{max-width:512px;justify-self:center}
  .map th,.map td{padding:10px 10px}
  .map td:first-child{min-width:5.5em}
}
