/* ==========================================================================
   ide-legacy.css — 內頁內容（layouts/legacy）套用新配色。產生器：gen_legacy.py（2026-09-24）
   舊版型寫死的色碼（Tailwind 任意色 utility、layouts/terminal 的內容樣式、
   blog-single / portfolio / web-design 內嵌 <style>）一律換成 ide-shell.css 的 token，
   所以深淺兩版都跟著新配色走。頁面內容排列不動。
   ========================================================================== */


/* ---------- Tailwind arbitrary-colour utilities → tokens ---------- */
.ide-body :where(.divide-\[\#1e3a5f\]>:not(:last-child)){border-color:var(--line)}
.ide-body .border-\[\#1E9AD1\]{border-color:var(--accent)}
.ide-body .border-\[\#1E9AD1\]\/30{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
.ide-body .border-\[\#1E9AD1\]\/40{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.ide-body .border-\[\#1e3a5f\]{border-color:var(--line)}
.ide-body .border-\[\#2DD4BF\]\/35{border-color:color-mix(in srgb,var(--data) 35%,transparent)}
.ide-body .border-\[\#2DD4BF\]\/40{border-color:color-mix(in srgb,var(--data) 40%,transparent)}
.ide-body .border-\[\#2DD4BF\]\/50{border-color:color-mix(in srgb,var(--data) 50%,transparent)}
.ide-body .border-\[\#2DD4BF\]\/60{border-color:color-mix(in srgb,var(--data) 60%,transparent)}
.ide-body .border-\[\#15304d\]{border-color:var(--panel-2)}
.ide-body .border-\[\#055387\]\/20{border-color:color-mix(in srgb,var(--accent) 20%,transparent)}
.ide-body .border-\[\#E2E8F0\]{border-color:var(--fg-2)}
.ide-body .bg-\[\#0A1A2E\]{background-color:var(--panel)}
.ide-body .bg-\[\#0F172A\]{background-color:var(--editor)}
.ide-body .bg-\[\#0a1a2e\]{background-color:var(--panel)}
.ide-body .bg-\[\#1E9AD1\]{background-color:var(--accent)}
.ide-body .bg-\[\#1E9AD1\]\/10{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}
.ide-body .bg-\[\#1E9AD1\]\/85{background-color:color-mix(in srgb,var(--accent) 85%,transparent)}
.ide-body .bg-\[\#1e3a5f\]{background-color:var(--panel-2)}
.ide-body .bg-\[\#2DD4BF\]{background-color:var(--data)}
.ide-body .bg-\[\#020E1F\]{background-color:var(--editor)}
.ide-body .bg-\[\#020E1F\]\/40{background-color:color-mix(in srgb,var(--editor) 40%,transparent)}
.ide-body .bg-\[\#020E1F\]\/80{background-color:color-mix(in srgb,var(--editor) 80%,transparent)}
.ide-body .bg-\[\#020E1F\]\/95{background-color:color-mix(in srgb,var(--editor) 95%,transparent)}
.ide-body .bg-\[\#1787BD\]{background-color:var(--accent)}
.ide-body .bg-\[\#020817\]{background-color:var(--editor)}
.ide-body .bg-\[\#020817\]\/80{background-color:color-mix(in srgb,var(--editor) 80%,transparent)}
.ide-body .bg-\[\#055387\]{background-color:var(--accent)}
.ide-body .bg-\[\#055387\]\/10{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}
.ide-body .bg-\[\#E2E8F0\]{background-color:var(--fg-2)}
.ide-body .bg-\[\#E8F4FB\]{background-color:var(--panel-2)}
.ide-body .bg-\[\#F5F1E8\]{background-color:var(--panel-2)}
.ide-body .bg-\[\#F5F1E8\]\/90{background-color:color-mix(in srgb,var(--panel-2) 90%,transparent)}
.ide-body .from-\[\#0a1a2e\]{--tw-gradient-from:var(--panel)}
.ide-body .from-\[\#020B1A\]{--tw-gradient-from:var(--editor)}
.ide-body .from-\[\#020E1F\]{--tw-gradient-from:var(--editor)}
.ide-body .from-\[\#A0D7EC\]{--tw-gradient-from:var(--fg-2)}
.ide-body .via-\[\#1E9AD1\]{--tw-gradient-via:var(--accent)}
.ide-body .via-\[\#03304F\]{--tw-gradient-via:var(--panel-2)}
.ide-body .to-\[\#020E1F\]{--tw-gradient-to:var(--editor)}
.ide-body .to-\[\#055387\]{--tw-gradient-to:var(--accent)}
.ide-body .text-\[\#1E9AD1\]{color:var(--accent)}
.ide-body .text-\[\#1E9AD1\]\/30{color:color-mix(in srgb,var(--accent) 30%,transparent)}
.ide-body .text-\[\#2DD4BF\]{color:var(--data)}
.ide-body .text-\[\#4FB3DE\]{color:var(--accent)}
.ide-body .text-\[\#94a3b8\]{color:var(--muted)}
.ide-body .text-\[\#04121b\]{color:var(--data-ink)}
.ide-body .text-\[\#055387\]{color:var(--accent)}
.ide-body .text-\[\#64748B\]{color:var(--muted)}
.ide-body .text-\[\#A0D7EC\]{color:var(--fg-2)}
.ide-body .text-white\/70{color:color-mix(in srgb,var(--fg) 70%,transparent)}
.ide-body .text-white\/85{color:color-mix(in srgb,var(--fg) 85%,transparent)}
.ide-body .text-white\/90{color:color-mix(in srgb,var(--fg) 90%,transparent)}
.ide-body .accent-\[\#1E9AD1\]{accent-color:var(--accent)}
.ide-body .shadow-\[\#1E9AD1\]\/40{--tw-shadow-color:color-mix(in srgb,var(--accent) 40%,transparent)}
@media(hover:hover){.ide-body .group-hover\:bg-\[\#1E9AD1\]:is(:where(.group):hover *){background-color:var(--accent)}.ide-body .group-hover\:text-\[\#1E9AD1\]:is(:where(.group):hover *){color:var(--accent)}.ide-body .group-hover\:text-\[\#2DD4BF\]:is(:where(.group):hover *){color:var(--data)}}
@media(hover:hover){.ide-body .hover\:border-\[\#1E9AD1\]:hover{border-color:var(--accent)}.ide-body .hover\:border-\[\#2DD4BF\]:hover{border-color:var(--data)}.ide-body .hover\:border-\[\#055387\]:hover{border-color:var(--accent)}.ide-body .hover\:bg-\[\#0A1A2E\]:hover{background-color:var(--panel)}.ide-body .hover\:bg-\[\#2DD4BF\]\/10:hover{background-color:color-mix(in srgb,var(--data) 10%,transparent)}.ide-body .hover\:bg-\[\#03304F\]:hover{background-color:var(--panel-2)}.ide-body .hover\:bg-\[\#055387\]:hover{background-color:var(--accent)}.ide-body .hover\:text-\[\#1E9AD1\]:hover{color:var(--accent)}.ide-body .hover\:text-\[\#4FB3DE\]:hover{color:var(--accent)}.ide-body .hover\:text-\[\#055387\]:hover{color:var(--accent)}}
.ide-body .text-white{color:var(--fg)}
.ide-body .text-white\/70{color:color-mix(in srgb,var(--fg) 70%,transparent)}
@supports (color:color-mix(in lab,red,red)){.ide-body .text-white\/70{color:color-mix(in srgb,var(--fg) 70%,transparent)}}
.ide-body .text-white\/80{color:color-mix(in srgb,var(--fg) 80%,transparent)}
@supports (color:color-mix(in lab,red,red)){.ide-body .text-white\/80{color:color-mix(in srgb,var(--fg) 80%,transparent)}}
.ide-body .text-white\/85{color:color-mix(in srgb,var(--fg) 85%,transparent)}
@supports (color:color-mix(in lab,red,red)){.ide-body .text-white\/85{color:color-mix(in srgb,var(--fg) 85%,transparent)}}
.ide-body .text-white\/90{color:color-mix(in srgb,var(--fg) 90%,transparent)}
@supports (color:color-mix(in lab,red,red)){.ide-body .text-white\/90{color:color-mix(in srgb,var(--fg) 90%,transparent)}}
@media(hover:hover){.ide-body .group-hover\:text-white:is(:where(.group):hover *){color:var(--fg)}}
@media(hover:hover){.ide-body .hover\:text-white:hover{color:var(--fg)}}

/* ---------- old layouts/terminal content components ---------- */
.term .kw{color:var(--accent)}
.term .str{color:var(--accent)}
.term .fn{color:var(--fg-2)}
.term .cmt{color:var(--muted);font-style:italic}
.term .var{color:var(--fg)}
.term .pmt{color:var(--accent)}
.term .pane{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.term a.btn,.term button.btn{background:linear-gradient(135deg, var(--accent), var(--accent));color:var(--accent-ink);padding:12px 22px;border-radius:8px;transition:all .25s;font-family:'Inter', sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.term a.btn:hover,.term button.btn:hover:not(:disabled){box-shadow:0 0 24px color-mix(in srgb,var(--accent) 60%,transparent);transform:translateY(-1px)}
.term button.btn:disabled{opacity:.5;cursor:not-allowed}
.term .logo-chip{background:white;padding:6px 10px;border-radius:8px;display:inline-block}
.tree{font-size:13px;line-height:1.7}
.tree button{display:flex;align-items:center;gap:6px;width:100%;text-align:left;color:var(--muted);padding:3px 8px;border-radius:4px;transition:all .15s;font-family:inherit;font-size:inherit;background:transparent;border:none;cursor:pointer}
.tree button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--fg-2)}
.tree button.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.tree .folder-icon{width:10px;text-align:center;transition:transform .2s;color:var(--accent);flex-shrink:0}
.tree [aria-expanded="true"] > .folder-icon{transform:rotate(90deg)}
.tree .file-icon{color:var(--accent);flex-shrink:0}
.tree .children{max-height:800px;overflow:hidden;transition:max-height .3s ease-out}
.tree [aria-expanded="false"] + .children{max-height:0}
.tree .indent-1{padding-left:16px}
.tree .indent-2{padding-left:30px}
.reveal{opacity:1;transform:none}
.chat-log{background:var(--editor);border:1px solid var(--line);border-radius:8px;padding:14px;min-height:160px;max-height:340px;overflow-y:auto;font-size:13px;line-height:1.65}
.chat-log .user{color:var(--fg-2);margin-top:10px}
.chat-log .user::before{content:"~/you $ ";color:var(--accent)}
.chat-log .bot{color:var(--accent);margin-top:8px;padding-left:14px;border-left:2px solid var(--accent);white-space:pre-wrap;word-wrap:break-word}
.chat-log .bot strong{color:var(--fg);font-weight:600}
.chat-log .bot em{color:var(--fg-2);font-style:normal}
.chat-log .bot .fa-thinking{opacity:.8}
.chat-log .bot .fa-thinking-el{opacity:.55;font-variant-numeric:tabular-nums}
.chat-input{background:var(--editor);border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:8px}
.chat-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.chat-input input,.chat-input textarea{background:transparent;border:none;outline:none;flex:1;color:var(--fg);font-family:inherit;font-size:14px;min-width:0;resize:none}
.chat-input input::placeholder,.chat-input textarea::placeholder{color:var(--muted)}
.send-btn{color:var(--accent);background:transparent;border:none;cursor:pointer;font-size:16px;padding:4px 8px}
.send-btn:hover{color:var(--fg)}
.chat-log::-webkit-scrollbar{width:6px}
.chat-log::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:3px}
.faq summary{cursor:pointer;padding:14px 16px;list-style:none;display:flex;align-items:center;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"▸";color:var(--accent);transition:transform .2s;display:inline-block;flex-shrink:0}
.faq details[open] summary::before{transform:rotate(90deg)}
.faq summary:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.faq .ans{padding:4px 16px 16px 34px;color:var(--fg-2);font-size:13px;line-height:1.7}
.sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.sec-head .pmt{color:var(--accent)}
.sec-head .kw{color:var(--accent)}
.sec-head .str{color:var(--accent)}
.chapter{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.chapter .bar{width:4px;align-self:stretch;min-height:46px;border-radius:3px;background:linear-gradient(180deg, var(--accent), var(--accent));flex-shrink:0;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 50%,transparent)}
.chapter .num{font-family:'JetBrains Mono', monospace;font-size:11px;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:color-mix(in srgb,var(--accent) 8%,transparent);white-space:nowrap;align-self:flex-start}
.chapter .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.chapter h2{margin:0}
.svc-icon{width:58px;height:58px;border-radius:14px;flex-shrink:0;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .25s}
.svc-icon img{width:38px;height:38px}
.group:hover .svc-icon{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-2px)}
.uc-icon{width:46px;height:46px;border-radius:11px;flex-shrink:0;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .25s}
.uc-icon img{width:30px;height:30px}
.group:hover .uc-icon{border-color:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}
.tone-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.tone-pain{color:var(--rt-pain)}
.tone-solve{color:var(--rt-solve)}
.tone-data{color:var(--rt-data)}
.pain-block{border-left:2px solid var(--rt-pain);padding:10px 14px;border-radius:0 8px 8px 0;background:linear-gradient(90deg, color-mix(in srgb, var(--rt-pain) 12%, transparent), transparent)}
.solve-block{border-left:2px solid var(--rt-solve);padding:10px 14px;border-radius:0 8px 8px 0;background:linear-gradient(90deg, color-mix(in srgb, var(--rt-solve) 12%, transparent), transparent)}
.rh-tint{background:linear-gradient(180deg, color-mix(in srgb, var(--rt-data) 7%, transparent), transparent)}
.svc-tint{background:linear-gradient(180deg, color-mix(in srgb, var(--rt-solve) 7%, transparent), transparent)}
.rh-band{background:linear-gradient(135deg, color-mix(in srgb, var(--rt-data) 10%, transparent),
    color-mix(in srgb, var(--rt-solve) 5%, transparent) 60%, transparent)}
.tool-logo{width:40px;height:40px;border-radius:10px;background:#fff;padding:5px;object-fit:contain;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.tool-desc{min-height:3.25em}
.tool-tag{display:inline-flex;align-items:center;font-family:'JetBrains Mono', monospace;font-size:10px;line-height:1;padding:3px 7px;border-radius:999px;white-space:nowrap;color:var(--muted);background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.metric-num{color:var(--rt-data)}
.metric-cmd{color:var(--rt-data)}
.sec-divider{display:flex;align-items:center;gap:16px;margin:8px 4px}
.sec-divider::before,.sec-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg, transparent, var(--panel-2), transparent)}
.sec-divider span{font-family:'JetBrains Mono', monospace;font-size:10px;color:var(--muted);letter-spacing:.12em;white-space:nowrap}

/* ---------- old --rt-* tone variables → tokens ---------- */
html[data-theme]{--rt-text:var(--fg-2);--rt-strong:var(--fg);--rt-pain:var(--pain);--rt-solve:var(--solve);--rt-data:var(--data)}

/* ---------- content wrapper inside the editor ---------- */
.lg-body{padding:clamp(28px,3.4vw,48px) clamp(18px,3vw,44px) clamp(40px,4vw,60px)}
.term{font-family:var(--font-sans);color:var(--fg-2)}
.term .kw,.term .str,.term .fn,.term .cmt,.term .var,.term .pmt,.term code,.term pre,.term .font-mono{font-family:var(--font-mono)}
.term .kw{color:var(--kw)}
.term .str{color:var(--str)}
.term .var{color:var(--fg)}
.term .cmt{font-style:normal}
.term .pane{box-shadow:var(--card-shadow);border-radius:14px}
.term a.btn,.term button.btn{background:var(--accent);color:var(--accent-ink);font-weight:700;border-radius:10px;box-shadow:0 10px 28px -12px var(--accent)}
.term a.btn:hover,.term button.btn:hover:not(:disabled){box-shadow:0 12px 30px -10px var(--accent);filter:brightness(1.06)}
.chapter .bar{background:var(--accent);box-shadow:none}
.sec-divider::before,.sec-divider::after{background:linear-gradient(90deg,transparent,var(--line),transparent)}
/* white text sitting on an accent-coloured utility button stays readable in both themes */
.ide-body [class~="bg-[#1E9AD1]"].text-white,.ide-body [class~="bg-[#055387]"].text-white,.ide-body [class~="bg-[#1787BD]"].text-white,
.ide-body [class~="bg-[#1E9AD1]"] .text-white,.ide-body [class~="bg-[#055387]"] .text-white{color:var(--accent-ink)}


/* ---------- page-level <style> blocks, re-emitted on tokens ---------- */
/* --- pages/blog-single.blade.php --- */
html[data-theme] .ide-body html[data-art-size="m"]{--art-scale:1.15}
html[data-theme] .ide-body html[data-art-size="l"]{--art-scale:1.32}
html[data-theme] .ide-body .article-prose{font-family:'Inter', 'Noto Sans TC', sans-serif;color:var(--fg-2);font-size:calc(17px * var(--art-scale, 1));line-height:1.86;word-break:break-word;overflow-wrap:anywhere}
html[data-theme] .ide-body .article-prose > *:first-child{margin-top:0}
html[data-theme] .ide-body .article-prose p{margin:1.25em 0}
html[data-theme] .ide-body .article-prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);transition:all .15s}
html[data-theme] .ide-body .article-prose a:hover{color:var(--fg);border-bottom-color:var(--accent)}
html[data-theme] .ide-body .article-prose strong,html[data-theme] .ide-body .article-prose b{color:var(--fg);font-weight:700}
html[data-theme] .ide-body .article-prose em,html[data-theme] .ide-body .article-prose i{color:var(--fg-2)}
html[data-theme] .ide-body .article-prose h2,html[data-theme] .ide-body .article-prose h3,html[data-theme] .ide-body .article-prose h4{font-family:'Inter', 'Noto Sans TC', sans-serif;color:var(--fg);font-weight:700;line-height:1.35;scroll-margin-top:84px}
html[data-theme] .ide-body .article-prose h2{font-size:calc(1.55rem * var(--art-scale, 1));margin:2.2em 0 .85em;padding-bottom:.4em;border-bottom:1px solid var(--line)}
html[data-theme] .ide-body .article-prose h2::before{content:"## ";color:var(--accent);font-family:'JetBrains Mono', monospace;font-weight:500}
html[data-theme] .ide-body .article-prose h3{font-size:calc(1.25rem * var(--art-scale, 1));margin:1.8em 0 .6em;color:var(--fg-2)}
html[data-theme] .ide-body .article-prose h3::before{content:"### ";color:var(--accent);font-family:'JetBrains Mono', monospace;font-weight:500;font-size:.85em}
html[data-theme] .ide-body .article-prose h4{font-size:calc(1.08rem * var(--art-scale, 1));margin:1.5em 0 .5em;color:var(--fg-2)}
html[data-theme] .ide-body .article-prose ul,html[data-theme] .ide-body .article-prose ol{margin:1.25em 0;padding-left:1.6em}
html[data-theme] .ide-body .article-prose li{margin:.5em 0;padding-left:.2em}
html[data-theme] .ide-body .article-prose ul li::marker{color:var(--accent)}
html[data-theme] .ide-body .article-prose ol li::marker{color:var(--accent);font-variant-numeric:tabular-nums}
html[data-theme] .ide-body .article-prose li > ul,html[data-theme] .ide-body .article-prose li > ol{margin:.4em 0}
html[data-theme] .ide-body .article-prose blockquote{margin:1.6em 0;padding:.9em 1.2em;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--fg-2)}
html[data-theme] .ide-body .article-prose blockquote p{margin:.4em 0}
html[data-theme] .ide-body .article-prose code{font-family:'JetBrains Mono', 'IBM Plex Mono', monospace;font-size:.88em;background:var(--editor);color:#7FD3F0;padding:.15em .45em;border:1px solid var(--line);border-radius:5px}
html[data-theme] .ide-body .article-prose pre{margin:1.6em 0;padding:1.1em 1.3em;overflow-x:auto;background:var(--editor);border:1px solid var(--line);border-radius:10px;font-family:'JetBrains Mono', 'IBM Plex Mono', monospace;font-size:.86em;line-height:1.7}
html[data-theme] .ide-body .article-prose pre code{background:none;border:0;padding:0;color:var(--fg-2);font-size:inherit}
html[data-theme] .ide-body .article-prose pre::-webkit-scrollbar{height:8px}
html[data-theme] .ide-body .article-prose pre::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:4px}
html[data-theme] .ide-body .article-prose img{max-width:100%;height:auto;display:block;margin:1.7em auto;border-radius:12px;border:1px solid var(--line)}
html[data-theme] .ide-body .article-prose figure{margin:1.7em 0}
html[data-theme] .ide-body .article-prose figcaption{color:var(--muted);font-size:.85em;text-align:center;margin-top:.6em}
html[data-theme] .ide-body .article-prose .aligncenter,html[data-theme] .ide-body .article-prose img.aligncenter{margin-left:auto;margin-right:auto}
html[data-theme] .ide-body .article-prose .alignright{float:right;margin:.4em 0 1em 1.4em}
html[data-theme] .ide-body .article-prose .alignleft{float:left;margin:.4em 1.4em 1em 0}
html[data-theme] .ide-body .article-prose .wp-caption{max-width:100%}
@media (max-width: 640px){html[data-theme] .ide-body .article-prose .alignright,html[data-theme] .ide-body .article-prose .alignleft{float:none;margin:1.5em auto}}
html[data-theme] .ide-body .article-prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.92em;display:block;overflow-x:auto}
html[data-theme] .ide-body .article-prose th,html[data-theme] .ide-body .article-prose td{border:1px solid var(--line);padding:.6em .85em;text-align:left}
html[data-theme] .ide-body .article-prose th{background:color-mix(in srgb,var(--accent) 12%,transparent);color:#fff;font-weight:600}
html[data-theme] .ide-body .article-prose tbody tr:nth-child(even){background:rgba(255,255,255,0.02)}
html[data-theme] .ide-body .article-prose hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
@media (max-width: 640px){html[data-theme] .ide-body .article-prose{font-size:calc(16px * var(--art-scale, 1));line-height:1.8}html[data-theme] .ide-body .article-prose h2{font-size:calc(1.35rem * var(--art-scale, 1))}html[data-theme] .ide-body .article-prose h3{font-size:calc(1.15rem * var(--art-scale, 1))}}
html[data-theme] .ide-body .toc-list{list-style:none;margin:0;padding:0}
html[data-theme] .ide-body .toc-link{display:block;padding:5px 10px 5px 12px;color:var(--muted);font-size:12.5px;line-height:1.55;border-left:2px solid var(--line);transition:color .15s, background .15s, border-color .15s;word-break:break-word}
html[data-theme] .ide-body .toc-link:hover{color:var(--fg-2);background:color-mix(in srgb,var(--accent) 7%,transparent)}
html[data-theme] .ide-body .toc-link.is-active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
html[data-theme] .ide-body .toc-lv3 .toc-link{padding-left:26px;font-size:12px}
html[data-theme] .ide-body .toc-inline{margin:0 0 2rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--editor) 55%,transparent);overflow:hidden}
html[data-theme] .ide-body .toc-inline summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:12px 14px;font-family:'JetBrains Mono', 'Noto Sans TC', monospace;font-size:13px}
html[data-theme] .ide-body .toc-inline summary::-webkit-details-marker{display:none}
html[data-theme] .ide-body .toc-inline summary::after{content:"▾";margin-left:auto;color:var(--accent);transition:transform .2s}
html[data-theme] .ide-body .toc-inline:not([open]) summary::after{transform:rotate(-90deg)}
html[data-theme] .ide-body .toc-inline .toc-list{padding:2px 12px 12px}
html[data-theme] .ide-body .toc-rail{display:none}
@media (min-width: 1280px){html[data-theme] .ide-body .toc-inline{display:none}html[data-theme] .ide-body .toc-rail{display:block;position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:80}html[data-theme] .ide-body .toc-mini{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:0;padding:12px 9px;cursor:pointer;border-radius:999px;background:color-mix(in srgb,var(--editor) 72%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);backdrop-filter:blur(8px);transition:opacity .18s, border-color .18s}html[data-theme] .ide-body .toc-rail:hover .toc-mini{border-color:var(--accent)}html[data-theme] .ide-body .toc-bar{display:block;height:2px;border-radius:1px;background:#2b4a72;transition:background .15s, width .15s}html[data-theme] .ide-body .toc-bar.toc-lv2{width:18px}html[data-theme] .ide-body .toc-bar.toc-lv3{width:10px}html[data-theme] .ide-body .toc-bar.is-read{background:#14618a}html[data-theme] .ide-body .toc-bar.is-active{background:var(--accent);width:22px;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 80%,transparent)}html[data-theme] .ide-body .toc-panel{position:absolute;right:0;top:50%;width:290px;max-height:min(74vh, 660px);overflow-y:auto;background:rgba(8,22,40,0.96);border:1px solid var(--line);border-radius:12px;padding:14px 10px 16px;backdrop-filter:blur(12px);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 14%,transparent), 0 24px 64px -16px rgba(0,0,0,0.7);opacity:0;pointer-events:none;transform:translateY(-50%) translateX(10px);transition:opacity .18s ease-out, transform .18s ease-out}html[data-theme] .ide-body .toc-rail:hover .toc-panel,html[data-theme] .ide-body .toc-rail.is-open .toc-panel,html[data-theme] .ide-body .toc-rail:focus-within .toc-panel{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0)}html[data-theme] .ide-body .toc-rail:hover .toc-mini,html[data-theme] .ide-body .toc-rail.is-open .toc-mini,html[data-theme] .ide-body .toc-rail:focus-within .toc-mini{opacity:0}html[data-theme] .ide-body .toc-panel::-webkit-scrollbar{width:5px}html[data-theme] .ide-body .toc-panel::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:3px}}
@media (min-width: 1920px){html[data-theme] .ide-body .toc-rail{right:16px}html[data-theme] .ide-body .toc-mini{display:none}html[data-theme] .ide-body .toc-panel{opacity:1;pointer-events:auto;transform:translateY(-50%);transition:none}}
html[data-theme] .ide-body .toc-head{font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:0 12px;margin-bottom:8px}
html[data-theme] .ide-body .toc-progress{height:2px;background:color-mix(in srgb,var(--line) 60%,transparent);border-radius:1px;margin:0 12px 10px;overflow:hidden}
html[data-theme] .ide-body .toc-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg, var(--accent), var(--accent))}
@media (prefers-reduced-motion: reduce){html[data-theme] .ide-body .toc-inline summary::after{transition:none}}
html[data-theme] .ide-body .share-bar{margin:0 0 2rem;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--editor) 55%,transparent);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
html[data-theme] .ide-body .share-bar--bottom{margin-top:2.5rem}
html[data-theme] .ide-body .share-bar__label{font-family:'JetBrains Mono', 'Noto Sans TC', monospace;font-size:11.5px;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
html[data-theme] .ide-body .share-bar__btns{display:flex;flex-wrap:wrap;gap:8px}
html[data-theme] .ide-body .share-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,0.02);color:var(--fg-2);font-size:13px;font-weight:600;line-height:1;font-family:'Inter','Noto Sans TC',sans-serif;transition:color .15s, background .15s, border-color .15s, transform .12s;-webkit-tap-highlight-color:transparent}
html[data-theme] .ide-body .share-btn svg{flex:none}
html[data-theme] .ide-body .share-btn:hover{transform:translateY(-1px);color:var(--fg)}
html[data-theme] .ide-body .share-btn:active{transform:translateY(0)}
html[data-theme] .ide-body .share-btn--line:hover{background:#06C755;border-color:#06C755;color:#fff}
html[data-theme] .ide-body .share-btn--fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}
html[data-theme] .ide-body .share-btn--threads:hover{background:#000;border-color:#fff;color:#fff}
html[data-theme] .ide-body .share-btn--x:hover{background:#000;border-color:#fff;color:#fff}
html[data-theme] .ide-body .share-btn--mail:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
html[data-theme] .ide-body .share-btn--copy:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
html[data-theme] .ide-body .share-btn--native:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
html[data-theme] .ide-body .share-btn.is-copied{background:#06C755;border-color:#06C755;color:#fff}
@media (max-width: 520px){html[data-theme] .ide-body .share-bar{flex-direction:column;align-items:stretch}html[data-theme] .ide-body .share-bar__label{margin-bottom:2px}html[data-theme] .ide-body .share-btn span{display:inline}}
html[data-theme] .ide-body html[data-art-size] .faq summary{font-size:calc(1em * var(--art-scale, 1))}
html[data-theme] .ide-body html[data-art-size] .faq .ans{font-size:calc(13px * var(--art-scale, 1))}
html[data-theme] .ide-body .fs-bar{display:flex;align-items:center;gap:9px;margin:0 0 1.35rem}
html[data-theme] .ide-body .fs-bar__label{font-family:"JetBrains Mono", monospace;font-size:11.5px;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
html[data-theme] .ide-body .fs-bar__btns{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--editor) 55%,transparent)}
html[data-theme] .ide-body .fs-btn{border:0;background:none;cursor:pointer;border-radius:999px;padding:5px 13px;line-height:1;font-weight:600;color:var(--muted);font-family:"Inter", "Noto Sans TC", sans-serif;transition:color .15s, background .15s;-webkit-tap-highlight-color:transparent}
html[data-theme] .ide-body .fs-btn[data-fs="s"]{font-size:12px}
html[data-theme] .ide-body .fs-btn[data-fs="m"]{font-size:14px}
html[data-theme] .ide-body .fs-btn[data-fs="l"]{font-size:16px}
html[data-theme] .ide-body .fs-btn:hover{color:var(--fg-2)}
html[data-theme] .ide-body .fs-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html[data-theme] .ide-body html[data-art-size="s"] .fs-btn[data-fs="s"],html[data-theme] .ide-body html[data-art-size="m"] .fs-btn[data-fs="m"],html[data-theme] .ide-body html[data-art-size="l"] .fs-btn[data-fs="l"],html[data-theme] .ide-body html:not([data-art-size]) .fs-btn[data-fs="s"]{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
html[data-theme="light"] .ide-body .toc-link{color:var(--muted);border-left-color:var(--line)}
html[data-theme="light"] .ide-body .toc-link:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
html[data-theme="light"] .ide-body .toc-link.is-active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
html[data-theme="light"] .ide-body .toc-inline{border-color:var(--line);background:var(--panel)}
html[data-theme="light"] .ide-body .toc-inline summary::after{color:var(--accent)}
html[data-theme="light"] .ide-body .toc-mini{background:color-mix(in srgb,var(--panel) 85%,transparent);border-color:var(--line)}
html[data-theme="light"] .ide-body .toc-rail:hover .toc-mini{border-color:var(--accent)}
html[data-theme="light"] .ide-body .toc-bar{background:#CBC3B2}
html[data-theme="light"] .ide-body .toc-bar.is-read{background:#8FB4CC}
html[data-theme="light"] .ide-body .toc-bar.is-active{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 55%,transparent)}
html[data-theme="light"] .ide-body .toc-panel{background:color-mix(in srgb,var(--panel) 97%,transparent);border-color:var(--line);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 10%,transparent), 0 24px 64px -16px rgba(60,50,30,0.22)}
html[data-theme="light"] .ide-body .toc-panel::-webkit-scrollbar-thumb{background:var(--panel-2)}
html[data-theme="light"] .ide-body .toc-head{color:var(--accent)}
html[data-theme="light"] .ide-body .toc-progress{background:var(--panel-2)}
html[data-theme="light"] .ide-body .fs-bar__label{color:var(--muted)}
html[data-theme="light"] .ide-body .fs-bar__btns{border-color:var(--line);background:var(--panel)}
html[data-theme="light"] .ide-body .fs-btn{color:var(--muted)}
html[data-theme="light"] .ide-body .fs-btn:hover{color:var(--accent)}
html[data-theme="light"] .ide-body [data-art-size="s"] .fs-btn[data-fs="s"],html[data-theme="light"] .ide-body [data-art-size="m"] .fs-btn[data-fs="m"],html[data-theme="light"] .ide-body [data-art-size="l"] .fs-btn[data-fs="l"],html[data-theme="light"] .ide-body :not([data-art-size]) .fs-btn[data-fs="s"]{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
/* --- pages/portfolio.blade.php --- */
html[data-theme] .ide-body .cat-tab{font-family:'JetBrains Mono', monospace;font-size:12px;color:var(--muted);padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 40%,transparent);cursor:pointer;transition:all .15s;white-space:nowrap}
html[data-theme] .ide-body .cat-tab:hover{color:var(--fg-2);border-color:var(--accent)}
html[data-theme] .ide-body .cat-tab.is-active{color:var(--editor);background:var(--accent);border-color:var(--accent);font-weight:600}
html[data-theme] .ide-body .cat-tab .cat-count{opacity:.55;margin-left:2px}
html[data-theme] .ide-body .cat-tab.is-active .cat-count{opacity:.7}
html[data-theme] .ide-body .pf-num,html[data-theme] .ide-body .pf-tag{position:absolute;top:8px;z-index:10;display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono', monospace;font-weight:500;line-height:1;white-space:nowrap;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--editor) 62%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(125,211,252,.16);box-shadow:0 2px 10px rgba(0,0,0,.35)}
html[data-theme] .ide-body .pf-num{left:8px;font-size:10px;color:var(--accent);padding:4px 8px}
html[data-theme] .ide-body .pf-tag{right:8px;font-size:11px;color:var(--fg-2);letter-spacing:.02em}
html[data-theme] .ide-body .pf-tag .pf-dot{width:6px;height:6px;border-radius:50%;background:#34D399;box-shadow:0 0 7px rgba(52,211,153,.85);flex-shrink:0}
html[data-theme] .ide-body .pf-tag--featured{color:#FCD34D;border-color:rgba(251,191,36,.42);background:rgba(20,14,2,.62)}
html[data-theme] .ide-body .pf-tag--featured .pf-star{color:#FBBF24;font-size:10px;line-height:1}
html[data-theme] .ide-body .site-card:hover .pf-tag{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
html[data-theme] .ide-body .rt-modal{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;padding:16px}
html[data-theme] .ide-body .rt-modal[data-open="true"]{display:flex}
html[data-theme] .ide-body .rt-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--editor) 82%,transparent);backdrop-filter:blur(6px);cursor:zoom-out}
html[data-theme] .ide-body .rt-modal-dialog{position:relative;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 0 48px color-mix(in srgb,var(--accent) 18%,transparent), 0 32px 80px -16px rgba(0,0,0,.8);display:flex;flex-direction:column;overflow:hidden;animation:rtPop .24s cubic-bezier(.4,0,.2,1)}
html[data-theme] .ide-body .rt-browser{max-width:1080px;max-height:90vh}
html[data-theme] .ide-body .rt-video{max-width:960px}
@keyframes rtPop{ from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
html[data-theme] .ide-body .rt-browser-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--editor) 60%,transparent);flex-shrink:0}
html[data-theme] .ide-body .rt-urlbar{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2);font-family:'JetBrains Mono', monospace;background:var(--editor);border:1px solid var(--line);border-radius:6px;padding:5px 10px}
html[data-theme] .ide-body .rt-open-btn{flex-shrink:0;font-size:11px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:6px;padding:5px 10px;transition:all .15s;white-space:nowrap}
html[data-theme] .ide-body .rt-open-btn:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);color:#fff}
html[data-theme] .ide-body .rt-close{flex-shrink:0;width:30px;height:30px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--fg-2);cursor:pointer;font-size:13px;transition:all .15s}
html[data-theme] .ide-body .rt-close:hover{background:rgba(239,68,68,.15);border-color:#ef4444;color:#fff}
html[data-theme] .ide-body .rt-desc{flex-shrink:0;padding:11px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--editor) 45%,transparent);color:var(--fg-2);font-size:13px;line-height:1.55}
html[data-theme] .ide-body .rt-desc::before{content:"// ";color:var(--accent)}
html[data-theme] .ide-body .rt-desc:empty{display:none}
html[data-theme] .ide-body .rt-browser-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--editor);position:relative}
html[data-theme] .ide-body .rt-shot{width:100%;display:block}
html[data-theme] .ide-body .rt-browser-body.is-thumb{display:flex;align-items:center;justify-content:center;padding:28px}
html[data-theme] .ide-body .rt-browser-body.is-thumb .rt-shot{width:auto;max-width:460px;max-height:60vh;border:1px solid var(--line);border-radius:8px}
html[data-theme] .ide-body .rt-browser-body::-webkit-scrollbar{width:10px}
html[data-theme] .ide-body .rt-browser-body::-webkit-scrollbar-track{background:var(--editor)}
html[data-theme] .ide-body .rt-browser-body::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:5px}
html[data-theme] .ide-body .rt-browser-body::-webkit-scrollbar-thumb:hover{background:var(--accent)}
html[data-theme] .ide-body .rt-scrollhint{position:sticky;bottom:12px;left:0;width:max-content;margin:12px auto 16px;padding:5px 14px;background:color-mix(in srgb,var(--accent) 92%,transparent);color:#fff;font-size:11px;border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.45);pointer-events:none;animation:rtBounce 1.6s ease-in-out infinite}
@keyframes rtBounce{ 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
html[data-theme] .ide-body .rt-video-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}
html[data-theme] .ide-body .rt-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (prefers-reduced-motion: reduce){html[data-theme] .ide-body .rt-modal-dialog{animation:none}html[data-theme] .ide-body .rt-scrollhint{animation:none}}
/* --- pages/web-design.blade.php --- */
html[data-theme] .ide-body .ai-demo{border:1px solid var(--line);border-radius:.5rem;overflow:hidden}
html[data-theme] .ide-body .ai-demo-bar{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-bottom:1px solid var(--panel-2);background:var(--panel)}
html[data-theme] .ide-body .ai-dot{width:.625rem;height:.625rem;border-radius:9999px}
html[data-theme] .ide-body .ai-demo-path{margin-left:.5rem;font-family:Consolas,Monaco,monospace;font-size:11px;color:var(--muted)}
html[data-theme] .ide-body .ai-demo-replay{margin-left:auto;font-family:Consolas,Monaco,monospace;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:.25rem;padding:.125rem .5rem;transition:.2s;cursor:pointer;background:none}
html[data-theme] .ide-body .ai-demo-replay:hover{color:var(--accent);border-color:var(--accent)}
html[data-theme] .ide-body .ai-demo-body{padding:1rem;display:flex;flex-direction:column;gap:1rem;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.8;min-height:190px}
@media (min-width:640px){html[data-theme] .ide-body .ai-demo-body{padding:1.25rem}}
html[data-theme] .ide-body .ai-msg{display:flex;gap:.625rem;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
html[data-theme] .ide-body .ai-msg.is-shown{opacity:1;transform:none}
html[data-theme] .ide-body .ai-who{flex-shrink:0}
html[data-theme] .ide-body .ai-msg--you .ai-who{color:var(--accent)}
html[data-theme] .ide-body .ai-msg--you .ai-text{color:var(--fg)}
html[data-theme] .ide-body .ai-msg--ai .ai-who{color:var(--accent)}
html[data-theme] .ide-body .ai-msg--ai .ai-text{color:var(--fg-2)}
html[data-theme] .ide-body .ai-typing{display:none;gap:.625rem}
html[data-theme] .ide-body .ai-typing.is-on{display:flex}
html[data-theme] .ide-body .ai-typing .ai-who{color:var(--accent)}
html[data-theme] .ide-body .ai-dots{display:inline-flex;align-items:center;gap:.25rem;padding-top:.55rem}
html[data-theme] .ide-body .ai-dots i{width:5px;height:5px;border-radius:9999px;background:var(--accent);opacity:.35;animation:aiBlink 1.05s infinite}
html[data-theme] .ide-body .ai-dots i:nth-child(2){animation-delay:.16s}
html[data-theme] .ide-body .ai-dots i:nth-child(3){animation-delay:.32s}
@keyframes aiBlink{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){html[data-theme] .ide-body .ai-msg{opacity:1;transform:none;transition:none}html[data-theme] .ide-body .ai-dots i{animation:none}html[data-theme] .ide-body .ai-demo-replay{display:none}}
html[data-theme="light"] .ide-body .ai-demo-bar{background:var(--panel-2)}
html[data-theme="light"] .ide-body .ai-demo-path,html[data-theme="light"] .ide-body .ai-demo-replay{color:var(--muted)}
html[data-theme="light"] .ide-body .ai-msg--you .ai-text{color:var(--fg)}
html[data-theme="light"] .ide-body .ai-msg--ai .ai-text{color:var(--fg-2)}
html[data-theme="light"] .ide-body .ai-msg--you .ai-who{color:var(--accent)}
html[data-theme="light"] .ide-body .ai-msg--ai .ai-who,html[data-theme="light"] .ide-body .ai-typing .ai-who{color:var(--accent)}
html[data-theme="light"] .ide-body .ai-dots i{background:var(--accent)}

/* ---------- legacy frame layout ---------- */
.lg-body{min-width:0;padding:0}
.term [data-file],.term section[id]{scroll-margin-top:calc(var(--nav-h) + 14px)}

/* ---------- sections read like the home page: full-width blocks split by rules, no card frame ---------- */
.term > :is(section,.article-layout,div.mt-6){margin:0 !important;padding:clamp(40px,4.4vw,64px) clamp(22px,3.6vw,52px) !important;border-top:0 !important;border-bottom:1px solid var(--line-soft)}
.term > :is(section,.article-layout,div.mt-6) > :not([class*="max-w-"]){max-width:1156px}
.term > .pane{background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0;box-shadow:none}
.term > section.pane > div:first-child:has(> span.rounded-full){display:none}
@media (max-width:719px){.term > :is(section,.article-layout,div.mt-6){padding:40px 16px !important}}

/* ---------- section headers (x-section-header) in the home page's voice ---------- */
.term .chapter{gap:14px;margin-bottom:28px;padding:0}
.term .chapter .bar{display:none}
.term .chapter .eyebrow{font:500 13px/1.4 var(--font-mono);letter-spacing:.02em;text-transform:none;color:var(--muted);margin-bottom:12px}
.term .chapter h2{font-size:clamp(1.65rem,1.2rem + 1.2vw,2.4rem);font-weight:800;line-height:1.28;letter-spacing:-.01em;color:var(--fg)}
.term .chapter .num{font:500 12px var(--font-mono);color:var(--muted);border:0;background:none;padding:0;letter-spacing:.08em}

