:root{color-scheme:light;--bg:#f6f3ec;--paper:#fffdf8;--ink:#1c1915;--muted:#5e584e;--line:#e3dbcf;--accent:#7c2d12;--accent-soft:#f3e6dc;--max:52rem;--measure:44rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Noto Sans TC,PingFang HK,PingFang TC,Microsoft JhengHei,Heiti TC,sans-serif;font-size:1.05rem;line-height:1.7}img,svg,video{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.15em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{background:var(--ink);color:var(--paper);z-index:10;padding:.4rem .7rem;position:absolute;top:-4rem;left:.75rem}.skip:focus{top:.75rem}.shell{width:min(100% - 2rem, var(--max));margin-inline:auto}.site-header,.site-footer{background:var(--paper)}.site-header{border-bottom:1px solid var(--line)}.brand-row,.site-footer .shell{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.brand-row{padding:.85rem 0 .2rem}.brand{color:var(--ink);font-size:1.25rem;font-weight:700;text-decoration:none}.brand:hover,.nav-link:hover{color:var(--accent)}.nav-link{color:var(--ink);align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.cat-nav ul,.footer-nav{flex-wrap:wrap;gap:.15rem .9rem;margin:0;padding:.35rem 0 .75rem;list-style:none;display:flex}.cat-nav a,.footer-nav a{color:var(--ink);align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.cat-nav a[aria-current=page],.nav-link[aria-current=page]{color:var(--accent);text-underline-offset:.2em;text-decoration:underline}main{padding:1.5rem 0 3rem}.lede{max-width:var(--measure);color:var(--muted);margin-top:0}h1{margin:0 0 .6rem;font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.3}.prose{max-width:var(--measure)}.prose h2{margin:1.8rem 0 .5rem;font-size:1.35rem;line-height:1.35}.prose h3{margin:1.3rem 0 .35rem;font-size:1.1rem;line-height:1.4}.prose ul,.prose ol{padding-left:1.2rem}.cat-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.cat-grid a{background:var(--paper);border:1px solid var(--line);color:var(--ink);min-height:100%;padding:.8rem .9rem;text-decoration:none;display:block}.cat-grid a:hover{border-color:var(--accent)}.cat-grid strong{display:block}.cat-grid span{color:var(--muted);margin-top:.2rem;font-size:.92rem;display:block}.cards{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.cards article{background:var(--paper);border:1px solid var(--line);padding:.95rem 1rem 1rem}.cards h2,.cards h3{margin:.15rem 0 .35rem;font-size:1.15rem;line-height:1.4}.cards h2 a,.cards h3 a{color:var(--ink);text-decoration:none}.cards h2 a:hover,.cards h3 a:hover{color:var(--accent)}.kicker,.meta{color:var(--muted);margin:0;font-size:.92rem}.kicker a{color:var(--accent)}.cards p:last-child{margin-bottom:0}.empty{background:var(--paper);border:1px dashed var(--line);max-width:var(--measure);padding:1rem}.meta time+time:before{content:" · "}.direct-answer,.faq,.toc,.sources,.related,.notice{max-width:var(--measure)}.direct-answer{background:var(--accent-soft);border-left:3px solid var(--accent);margin:1.1rem 0 1.25rem;padding:.7rem .95rem .85rem}.direct-answer h2,.faq h2,.related h2{margin:0 0 .35rem;font-size:1.15rem}.direct-answer p,.faq p{margin:0}.faq{margin:0 0 1.25rem}.faq-item+.faq-item{margin-top:.85rem}.faq h3{margin:0 0 .15rem;font-size:1rem}.toc{background:var(--paper);border:1px solid var(--line);margin:0 0 1.25rem;padding:.7rem .95rem}.toc p{margin:0 0 .25rem;font-weight:700}.toc ol{margin:0;padding-left:1.2rem}.toc li.sub{margin-left:.8rem;font-size:.95rem}.related ul{padding-left:1.15rem}.sources{margin-top:1.25rem}.sources summary{cursor:pointer;align-items:center;min-height:2.75rem;display:flex}.notice{color:var(--muted);margin-top:1rem;font-size:.95rem}.site-footer{border-top:1px solid var(--line);padding-bottom:1.5rem}.site-footer p{color:var(--muted);margin:0;font-size:.92rem}.footer-nav{padding-top:.8rem}@media (width<=40rem){body{font-size:1rem}.shell{width:min(100% - 1.5rem, var(--max))}}
