/* carparkcapital.wiki — 沥青停车位告示板（本作专属，勿与他站共用） */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700 800;
  src:url("assets/fonts/barlow-condensed.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 600;
  src:url("assets/fonts/figtree.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:400 700;
  src:url("assets/fonts/space-mono.woff2") format("woff2");font-display:swap}

:root{
  --asphalt:#121410; --asphalt-2:#1a1c16; --panel:#1a1c16; --panel-2:#24261f;
  --paint:#e8c547; --paint-dk:#c9a227; --cone:#9a2e14; --cone-dk:#7a2410;
  --sky:#5e90bc; --ticket:#d6d0c4; --ticket-ink:#1c1810;
  --ink:#f4f1ea; --ink-dim:#8b93a0; --muted:#8b93a0;
  --grass:#2e3d1c; --line:#2a2d24; --border:#2a2d24; --hard:#050505;
  --radius:2px; --radius-sm:2px; --maxw:1180px;
  --font:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--asphalt)}
body{margin:0;color:var(--ink);font:16.5px/1.7 var(--font);background:var(--asphalt);
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--paint);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline;color:#fff3b8}
a:focus-visible{outline:2px dashed var(--paint);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--paint);color:var(--hard);padding:8px 12px;z-index:50}
.muted{color:var(--ink-dim)}

/* 黄漆车位虚线 */
.stall{height:5px;background:repeating-linear-gradient(90deg,var(--paint) 0 22px,transparent 22px 36px)}

/* ribbon = 闸机灯带 */
.ribbon{background:var(--paint);color:var(--hard)}
.ribbon .wrap{padding:6px 20px;font:700 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}

/* topbar */
.topbar{position:sticky;top:0;z-index:40;background:var(--asphalt-2);
  border-bottom:5px solid var(--paint)}
.topbar .bar{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:800 20px/1 var(--display);
  letter-spacing:.04em;text-transform:uppercase}
.brand img{width:40px;height:40px;border-radius:var(--radius);border:2px solid var(--hard);
  box-shadow:3px 3px 0 var(--hard)}
.brand span{white-space:nowrap}
.nav{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}
.nav > ul{display:flex;gap:2px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.nav > ul > li{position:relative}
.nav a{color:var(--ink);font:700 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;
  padding:10px 11px;display:inline-block}
.nav a:hover{color:var(--paint);text-decoration:none}
.nav .active > a{color:var(--paint)}
.nav .kids{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--ticket);
  border:3px solid var(--hard);padding:8px;flex-direction:column;
  box-shadow:5px 5px 0 var(--hard);z-index:41}
.nav .kids a{color:var(--ticket-ink);font:700 13px/1.3 var(--mono);text-transform:none;padding:7px 9px}
.nav .kids a:hover{background:var(--paint);color:var(--hard);text-decoration:none}
.nav li.has-kids::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:12px;z-index:39}
.nav li.has-kids:hover .kids,.nav li.has-kids:focus-within .kids{display:flex}
.nav .cta{background:var(--cone);color:#fff;border:3px solid var(--hard);font-family:var(--display);
  box-shadow:4px 4px 0 var(--hard);padding:8px 14px;letter-spacing:.06em;text-transform:uppercase;font-weight:800}
.nav .cta:hover{background:var(--cone-dk);color:#fff;text-decoration:none}
@media (max-width:900px){
  .topbar .bar{flex-wrap:wrap;padding:10px 0}
  .nav{margin-left:0;width:100%;overflow-x:auto;gap:8px;min-width:0}
  .nav > ul{flex-wrap:nowrap;white-space:nowrap}
  .nav > ul > li.has-kids{display:flex;align-items:center}
  .nav .kids{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;border:0;box-shadow:none;background:transparent;padding:0 0 0 4px;min-width:0}
  .nav .kids a{color:var(--ink-dim);padding:8px 8px}
  .nav li.has-kids::after{display:none}
  .nav .cta{box-shadow:none}
}

/* hero */
.hero{position:relative;min-height:440px;
  background:var(--hero) 50% 32%/cover no-repeat,var(--asphalt-2);
  border-bottom:6px solid var(--paint)}
.hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(18,20,16,.78) 0%,rgba(18,20,16,.42) 36%,rgba(18,20,16,.10) 64%,rgba(18,20,16,.02) 100%)}
.hero-in{position:relative;padding:78px 20px 56px;max-width:720px;min-height:440px}
.eyebrow{font:700 12px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--paint);margin:0 0 14px}
.hero h1{font:800 clamp(40px,8vw,72px)/.92 var(--display);text-transform:uppercase;letter-spacing:.01em;
  margin:0 0 10px;color:#fff8ec;text-shadow:4px 4px 0 var(--hard)}
.lead{color:#e6e0d4;font-size:18px;max-width:54ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;background:var(--cone);color:#fff;border:3px solid var(--hard);
  font:800 16px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;padding:13px 18px;
  box-shadow:4px 4px 0 var(--hard)}
.btn:hover{background:var(--cone-dk);color:#fff;text-decoration:none;transform:translate(1px,1px);box-shadow:3px 3px 0 var(--hard)}
.btn.ghost{background:rgba(18,20,16,.7);color:var(--ink);border-color:var(--paint);box-shadow:none}

/* facts = 闸机小票 */
.facts-strip{background:var(--asphalt-2);border-bottom:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;background:var(--line)}
.fact{background:var(--asphalt-2);padding:14px 16px}
.fact-k{display:block;font:700 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.fact-v{display:block;margin-top:5px;font:800 22px/1.1 var(--display);letter-spacing:.02em;color:var(--paint);
  font-variant-numeric:tabular-nums}

/* section */
.section-head{margin:44px 0 4px}
.overline{display:inline-flex;align-items:center;gap:8px;font:700 11.5px/1 var(--mono);
  letter-spacing:.2em;text-transform:uppercase;color:var(--paint)}
.overline::before{content:"";width:10px;height:10px;background:var(--paint);box-shadow:2px 2px 0 var(--hard)}
.section-head h2{font:800 clamp(26px,3.8vw,36px)/1.1 var(--display);text-transform:uppercase;
  letter-spacing:.02em;margin:10px 0 0;padding-bottom:12px;color:#fff8ec;
  border-bottom:5px solid transparent;
  border-image:repeating-linear-gradient(90deg,var(--paint) 0 18px,transparent 18px 30px) 5}
.count-pill{font:700 12px/1 var(--mono);color:var(--hard);background:var(--paint);
  padding:4px 8px;margin-left:10px;vertical-align:middle;box-shadow:2px 2px 0 var(--hard)}

/* stall cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:18px;margin:20px 0 8px;counter-reset:stall}
.grid[data-n="2"]{grid-template-columns:repeat(2,1fr)}
.grid[data-n="3"]{grid-template-columns:repeat(3,1fr)}
.card{position:relative;display:flex;flex-direction:column;background:var(--ticket);color:var(--ticket-ink);
  border:3px solid var(--hard);border-left:10px solid var(--paint);overflow:hidden;
  box-shadow:5px 5px 0 var(--hard);min-width:0}
.card::before{counter-increment:stall;content:"STALL " counter(stall, decimal-leading-zero);
  position:absolute;top:8px;right:8px;z-index:2;font:700 10px/1 var(--mono);letter-spacing:.08em;
  background:var(--hard);color:var(--paint);padding:4px 6px}
.card img,.thumb img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}
.thumb{position:relative;display:block}
.pill-tag{position:absolute;left:8px;bottom:8px;font:700 10px/1 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;background:var(--paint);color:var(--hard);padding:4px 7px;border:2px solid var(--hard)}
.card-body{padding:12px 14px 16px}
.card h3{margin:4px 0 6px;font:800 20px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--ticket-ink)}
.card p{margin:0 0 10px;color:#4a453c;font-size:14px}
.card .go{color:var(--cone-dk);font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.card .stamp{display:block;color:#3a342c;font:400 11px/1.3 var(--mono);margin-top:8px}
.card.sm .card-body{padding:10px 12px 12px}
.card.sm h3{font-size:16px}
a.card:hover{text-decoration:none;transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--hard)}

/* article */
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:start}
article{padding:26px 0 40px;max-width:none}
article > p,article > h2,article > ul,article > ol,article > .callout,article > blockquote{max-width:92ch}
article h1{font:800 clamp(30px,5.4vw,48px)/1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:8px 0 16px}
article h2{margin-top:34px;font:800 26px/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em;
  border-bottom:5px solid transparent;padding-bottom:8px;
  border-image:repeating-linear-gradient(90deg,var(--paint) 0 16px,transparent 16px 28px) 5}
article h3{margin-top:24px;font:800 19px/1.2 var(--display);text-transform:uppercase;color:var(--paint)}
article img.zoom{border:3px solid var(--hard);cursor:zoom-in;display:block;margin:14px 0;box-shadow:4px 4px 0 var(--hard)}
.tbl-wrap{overflow-x:auto;margin:14px 0;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:15px;border:3px solid var(--hard)}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:left}
th{background:var(--asphalt-2);color:var(--paint);font:700 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
td{background:#161811}
.callout,.callout.note{border-left:6px solid var(--paint);background:var(--asphalt-2);padding:12px 14px;margin:16px 0}
.callout.warning{border-left-color:var(--cone)}
blockquote{border-left:5px dashed var(--paint);margin:16px 0;padding:4px 14px;color:var(--ink-dim);font-style:italic}
code{background:var(--panel-2);padding:1px 5px;font-family:var(--mono);font-size:.92em}
.quick-answer{background:var(--ticket);color:var(--ticket-ink);border:3px solid var(--hard);
  box-shadow:5px 5px 0 var(--hard);padding:16px 18px 14px;margin:8px 0 22px;position:relative}
.qa-stamp{display:inline-block;background:var(--cone);color:#fff;font:800 11px/1 var(--mono);
  letter-spacing:.14em;text-transform:uppercase;padding:5px 8px;transform:rotate(-2deg);
  border:2px solid var(--hard);margin-bottom:8px}
.quick-answer p{margin:8px 0 0;font-size:17px}
.crumb{font:400 12px/1.4 var(--mono);color:var(--ink-dim);margin:18px 0 6px}
.crumb a{color:var(--paint)}
.sep{opacity:.5;margin:0 6px}
.here{color:var(--ink)}
.toc{position:sticky;top:84px;padding:12px 0}
.toc .overline{margin-bottom:8px}
.toc-list{display:flex;flex-direction:column;gap:6px}
.toc-list a{font:700 12px/1.3 var(--mono);color:var(--ink-dim)}
.toc-list a:hover{color:var(--paint)}
.all-guides{margin-top:40px}

@media (hover: hover) and (pointer: fine){ .ad-slot{display:block} }
@media not all and (hover: hover) and (pointer: fine){ .ad-slot{display:none} }
.ad-slot{margin:26px auto;max-width:var(--maxw)}
.ad-inner{min-height:90px;border:2px dashed var(--line);background:var(--panel);overflow:hidden}

.foot{border-top:6px solid var(--paint);background:var(--asphalt-2);padding:22px 0;margin-top:28px}
.foot .muted{color:var(--ink-dim);font-size:13px}
.foot-links a{color:var(--ink);font-weight:700}
.disclaimer{color:var(--ink-dim);font-size:13px}

@media (max-width:1100px){
  .article-grid{grid-template-columns:1fr}
  .toc{position:static}
  .grid[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .grid,.grid[data-n="2"],.grid[data-n="3"]{grid-template-columns:minmax(0,1fr)}
  .hero-in{min-height:0;padding:48px 20px 36px}
  .nav > ul > li{min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .btn:hover,.card:hover{transform:none}
}
