:root{
  --paper:#FBF9F4; --ink:#1B1B19; --soft:#6A675F; --line:#DEDACF;
  --green:#1F3D33; --red:#B4532A; --mark:#F6E27A; --mark2:#CFE6D9;
  --cyan:#3BE8FF; --mag:#FF4FD8; --violet:#8A5CFF; --lime:#9BFF5A; --amber:#FFB547; --navy:#141B3D;
  --serif:"Noto Serif TC",serif; --sans:"Noto Sans TC",system-ui,sans-serif; --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.9;-webkit-font-smoothing:antialiased;
  background-color:var(--paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' shape-rendering='crispEdges'%3E%3Crect x='118' y='34' width='4' height='4' fill='%233BE8FF' fill-opacity='.5'/%3E%3Crect x='22' y='126' width='4' height='4' fill='%23FF4FD8' fill-opacity='.4'/%3E%3Crect x='78' y='90' width='2' height='2' fill='%238A5CFF' fill-opacity='.6'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' shape-rendering='crispEdges'%3E%3Cg fill='%231B1B19' fill-opacity='.055'%3E%3Crect width='96' height='1'/%3E%3Crect width='1' height='96'/%3E%3C/g%3E%3Cg fill='%231B1B19' fill-opacity='.025'%3E%3Crect y='24' width='96' height='1'/%3E%3Crect y='48' width='96' height='1'/%3E%3Crect y='72' width='96' height='1'/%3E%3Crect x='24' width='1' height='96'/%3E%3Crect x='48' width='1' height='96'/%3E%3Crect x='72' width='1' height='96'/%3E%3C/g%3E%3Crect x='47' y='47' width='3' height='3' fill='%239BFF5A' fill-opacity='.55'/%3E%3Crect x='71' y='11' width='2' height='2' fill='%23FFB547' fill-opacity='.6'/%3E%3C/svg%3E");
  background-size:160px 160px,96px 96px}
body::before{content:"";position:fixed;left:0;right:0;top:0;height:4px;z-index:10;
  background:linear-gradient(90deg,var(--cyan) 0 16.6%,var(--violet) 0 33.3%,var(--mag) 0 50%,var(--amber) 0 66.6%,var(--lime) 0 83.3%,#FF6B5A 0)}
a{color:inherit;text-decoration-color:var(--line);text-underline-offset:4px}
a:hover{text-decoration-color:var(--red)}
.wrap{max-width:760px;margin:0 auto;padding:22px 16px 56px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-weight:900;letter-spacing:.06em}
.brand i{display:block;width:14px;height:14px;background:linear-gradient(135deg,var(--cyan),var(--violet) 55%,var(--mag));box-shadow:2px 2px 0 var(--ink)}
.brand small{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--violet);letter-spacing:.02em}
.crumbs{font-size:13px;color:var(--soft);margin:16px 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs li+li::before{content:"／";margin-right:4px;color:var(--line)}
.eyebrow{font-size:13px;letter-spacing:.14em;color:var(--red);margin:26px 0 8px}
.tag{display:inline-block;font-size:12px;border:1px solid var(--line);padding:0 7px;line-height:20px;color:var(--soft);margin:0 4px 4px 0;white-space:nowrap;background:var(--paper)}
.tag.r{border-color:var(--red);color:var(--red)}
.tag.gn{border-color:var(--green);color:var(--green)}
.tag.yun{border-color:var(--violet);color:var(--violet)}
h1{font-family:var(--serif);font-weight:900;font-size:clamp(28px,6vw,44px);line-height:1.35;margin:6px 0 12px;letter-spacing:.01em}
.lead{font-size:18px;color:var(--soft);margin:0 0 18px}
.answer{background:#fff;border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:14px 18px;margin:22px 0 8px}
.answer b{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--violet);margin-bottom:2px}
.answer p{margin:0}
article h2{font-family:var(--serif);font-weight:700;font-size:23px;margin:38px 0 8px;line-height:1.45;display:flex;align-items:center;gap:10px}
article h2::before{content:"";width:10px;height:10px;flex:none;background:var(--mag);box-shadow:2px 2px 0 var(--ink)}
article h2:nth-of-type(3n+2)::before{background:var(--cyan)}
article h2:nth-of-type(3n)::before{background:var(--lime)}
article p{margin:0 0 12px}
ol.steps{list-style:none;counter-reset:s;margin:6px 0 0;padding:0;border-top:1px solid var(--ink)}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);background:rgba(251,249,244,.85)}
ol.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--paper);background:var(--navy);text-align:center;line-height:24px;box-shadow:2px 2px 0 var(--mag)}
figure{margin:24px 0 0}
figcaption{font-size:13px;color:var(--soft);margin-top:6px}
.fig svg{display:block;width:100%;height:auto;border:1px solid var(--ink)}
.lockbox{border:1px dashed var(--red);background:#fff;padding:16px 18px;margin:26px 0 0}
.lockbox p{margin:0 0 6px}
.lockbox .px-lock-icon{width:48px;height:48px;float:left;margin:0 14px 6px 0}
.member-on{font-size:14px;color:var(--green);font-weight:700}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 0}
.btn{display:inline-block;border:1px solid var(--ink);padding:9px 18px;text-decoration:none;font-weight:500;background:var(--paper);box-shadow:3px 3px 0 var(--ink);font-size:15px}
.btn.fill{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--mag)}
.btn:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}
.btn.fill:hover{box-shadow:2px 2px 0 var(--mag)}
.faq dt{font-family:var(--serif);font-weight:700;margin-top:16px}
.faq dd{margin:2px 0 0;color:var(--soft)}
.related{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--ink)}
.related li{border-bottom:1px solid var(--line);background:rgba(251,249,244,.85)}
.related a{display:block;padding:12px 0;text-decoration:none}
.related b{display:block;font-family:var(--serif);font-size:17.5px}
.related span{font-size:14px;color:var(--soft)}
.related a:hover b{color:var(--red)}
.cat{margin-top:34px}
.cat h2{font-size:21px}
.cat .pain{font-size:14.5px;color:var(--soft);margin:0 0 4px}
.meta{font-size:13px;color:var(--soft)}
footer{border-top:1px solid var(--line);margin-top:48px;padding-top:14px;font-size:13px;color:var(--soft);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}}
