/* 精神病和偏执狂应该统治世界 /paranoia/ —— 临时政府展馆。原型 https://claude.ai/artifact/ActDhqTZLEGeeu2iE2SEcT
   自成一个世界：本页不加载全站样式。色板 = 原型 MC 调色版；字体用系统中文字体（不引境外 CDN）。 */
.pz-body{
  --ground:#E9DDBA; --paper:#F1E7CA; --paper2:#F7EFD8; --line:#B9A77E; --hatchA:#D3C39A; --hatchB:#E2D5B0;
  --muted:#5C4A32; --body:#3D2F1E; --text2:#2E2418; --ink:#1F160D;
  --red:#B3261E; --red-d:#7E1A14; --blue:#2D4CA0; --portal:#4A1C7C; --portal-t:#F0E2FF; --portal-s:#2A0F48;
  --serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC","Noto Serif CJK SC","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --hand:"Kaiti SC","STKaiti","KaiTi","BiauKai",cursive;
  --amp:3;
  margin:0; background:var(--ground); color:var(--ink); font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
.pz-body[data-lvl="0"]{ --amp:.6 }
.pz-body[data-lvl="2"]{ --amp:9 }
.pz-body *{ box-sizing:border-box }
.pz-body a{ color:var(--red) }
.pz-body a:hover{ color:var(--red-d) }
.pz{
  min-height:100vh; background:var(--ground);
  background-image:linear-gradient(rgba(31,22,13,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,22,13,.05) 1px,transparent 1px);
  background-size:16px 16px; overflow-x:hidden;
}
.pz-page{ max-width:1240px; margin:0 auto; padding:28px 24px 80px; transition:transform .6s }
.pz-body[data-lvl="2"] .pz-page{ transform:rotate(-1.2deg) }
.pz-mono{ font:500 13px var(--mono); color:var(--muted) }

/* 顶栏 */
.pz-top{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px }
.pz-body .pz-back{ font-size:14px; font-weight:700; text-decoration:none; color:var(--ink); border-bottom:2px solid var(--ink); padding:10px 0 }
.pz-body .pz-back:hover{ color:var(--red); border-color:var(--red) }

/* 红头 */
.pz-head{ text-align:center; margin-top:40px; position:relative }
.pz-kicker{ font:500 16px var(--serif); letter-spacing:.5em; color:var(--red) }
.pz-title{ margin:14px 0 0; font:900 clamp(40px,6.4vw,88px)/1.1 var(--serif); color:var(--red); letter-spacing:.04em }
.pz-rule{ margin:22px auto 0; max-width:900px; border-top:4px solid var(--red); border-bottom:1px solid var(--red); height:4px }
.pz-docno{ margin-top:14px; font:500 15px var(--serif); color:var(--body) }
.pz-seal{ position:absolute; right:4%; top:84px; width:150px; height:150px; border:5px solid rgba(179,38,30,.78); border-radius:50%; transform:rotate(-14deg); display:flex; align-items:center; justify-content:center; font:900 22px/1.3 var(--serif); color:rgba(179,38,30,.78); text-align:center; pointer-events:none }
.pz-seal--small{ position:static; margin:24px auto 0; width:120px; height:120px; border-width:4px; transform:rotate(-12deg); font-size:18px; color:rgba(179,38,30,.8); border-color:rgba(179,38,30,.8) }

/* 立国宣言 */
.pz-manifesto{ margin:48px auto 0; max-width:860px; background:var(--paper); border:1px solid var(--line); padding:32px 40px; font:500 18px/2 var(--serif) }
.pz-manifesto__h{ font:900 22px var(--serif); margin-bottom:8px }
.pz-last{ display:inline-block; transition:transform .5s }
.pz-body[data-lvl="1"] .pz-last, .pz-body[data-lvl="2"] .pz-last{ transform:scaleX(-1) }

/* 控制条 */
.pz-controls{ margin-top:56px; display:flex; flex-wrap:wrap; gap:24px; align-items:flex-end; justify-content:space-between; border-top:2px solid var(--ink); padding-top:24px }
.pz-label{ font:700 13px var(--sans); color:var(--muted); margin-bottom:10px }
.pz-pills{ display:flex; gap:8px; flex-wrap:wrap }
.pz-pill{ font:700 14px var(--sans); padding:10px 16px; min-height:44px; border:2px solid var(--ink); background:transparent; color:var(--ink); cursor:pointer; border-radius:0 }
.pz-pill.on{ background:var(--ink); color:var(--ground) }
.pz-pill:focus-visible, .pz-body a:focus-visible, .pz-add :focus-visible{ outline:3px solid var(--portal); outline-offset:2px }
.pz-body .pz-rabbit{ display:inline-flex; align-items:center; min-height:52px; padding:0 24px; background:var(--portal); color:var(--portal-t); box-shadow:0 4px 0 var(--portal-s); text-decoration:none; font:700 16px var(--sans) }
.pz-body .pz-rabbit:hover{ color:#fff; transform:translateY(1px); box-shadow:0 3px 0 var(--portal-s) }
.pz-body .pz-rabbit--sm{ min-height:48px; padding:0 20px; font-size:15px }

/* 部委 */
.pz-depts{ margin-top:24px; display:flex; flex-wrap:wrap; gap:10px 22px; font:500 15px var(--serif) }
.pz-body .pz-depts a{ color:var(--ink); text-decoration:none; padding:8px 0 }
.pz-body .pz-depts a.on{ color:var(--red); text-decoration:underline }
.pz-stats{ margin-top:18px; font:500 13px var(--mono); color:var(--muted) }

/* 展品墙 */
.pz-wall{ margin-top:28px; display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:34px 28px }
.pz-body .pz-card{ display:block; text-decoration:none; color:var(--ink); background:var(--paper2); border:1px solid var(--line); padding:22px 22px 18px; position:relative; box-shadow:4px 5px 0 rgba(31,22,13,.18);
  transform:rotate(calc(var(--r,0) * var(--amp) * 1deg)); transition:transform .5s cubic-bezier(.3,1.6,.5,1) }
.pz-body .pz-card.alt{ background:var(--paper) }
.pz-body .pz-card:hover{ transform:rotate(0deg) scale(1.03); z-index:2; color:var(--ink) }
.pz-card[hidden]{ display:none }
.pz-card__meta{ display:flex; justify-content:space-between; font:500 12px var(--mono); color:var(--muted) }
.pz-card__dept{ margin-top:10px; font:500 13px var(--serif); color:var(--red) }
.pz-card__img{ margin-top:12px; height:120px; background:repeating-linear-gradient(45deg,var(--hatchA) 0 8px,var(--hatchB) 8px 16px); overflow:hidden }
.pz-card__img img{ width:100%; height:100%; object-fit:cover; display:block }
.pz-card__title{ margin-top:10px; font:900 20px/1.45 var(--serif) }
.pz-card__line{ margin-top:8px; font-size:14px; line-height:1.7; color:var(--body) }
.pz-card__foot{ margin-top:16px; display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:12px; color:var(--muted) }
.pz-bar{ font-family:var(--mono); letter-spacing:1px; white-space:nowrap }
.pz-stamp{ position:absolute; right:-10px; top:-14px; padding:4px 10px; border:3px solid; font:900 15px var(--serif); transform:rotate(12deg); background:rgba(233,221,186,.85); pointer-events:none }
.pz-stamp--orig{ color:var(--red); border-color:var(--red) }
.pz-stamp--found{ color:var(--blue); border-color:var(--blue) }
.pz-empty{ margin-top:28px; font:500 16px var(--serif); color:var(--muted) }

/* 站长收录 */
.pz-add{ margin-top:72px; border:2px dashed var(--muted); padding:24px 28px; background:rgba(241,231,202,.7) }
.pz-add__head{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px }
.pz-add__h{ font:900 18px var(--serif) }
.pz-add__k{ font-size:12px; color:var(--muted) }
.pz-add__grid{ margin-top:16px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px }
.pz-add label{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700 }
.pz-add label[hidden]{ display:none }
.pz-add input, .pz-add select, .pz-add textarea{ min-height:44px; border:1px solid var(--ink); background:#fff; color:var(--ink); padding:0 12px; font:400 14px var(--sans); border-radius:0 }
.pz-add textarea{ padding:11px 12px; resize:vertical; line-height:1.5 }
.pz-add.drag textarea{ outline:3px dashed var(--portal) }
.pz-add__file{ font:500 12px var(--mono); color:var(--portal) }
.pz-add__btn{ margin-top:16px; min-height:44px; padding:0 22px; background:var(--red); color:#fff; border:0; font:700 15px var(--sans); cursor:pointer; border-radius:0 }
.pz-add__btn:disabled{ opacity:.6; cursor:wait }
.pz-add__msg{ margin-left:14px; font-size:14px; color:var(--muted) }

.pz-foot{ margin-top:28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center; color:var(--muted); font-size:14px; border-top:1px solid var(--line); padding-top:20px }
.pz-foot .pz-mono{ font-size:12px }

/* ---------- 档案页 ---------- */
.pz-one{ margin-top:36px; display:flex; flex-wrap:wrap; gap:40px; align-items:flex-start }
.pz-one__main{ flex:999 1 560px; min-width:0 }
.pz-one__dept{ font:500 14px var(--serif); color:var(--red) }
.pz-one__title{ margin:10px 0 0; font:900 clamp(32px,4vw,52px)/1.25 var(--serif) }
.pz-one__line{ margin:14px 0 0; font:500 18px/1.8 var(--serif); color:var(--body) }
.pz-one__media{ margin-top:28px; min-height:340px; background:repeating-linear-gradient(45deg,var(--hatchA) 0 10px,var(--hatchB) 10px 20px); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:14px; position:relative; padding:28px }
.pz-one__media.has-img{ padding:0; background:var(--paper) }
.pz-one__media img{ display:block; max-width:100%; max-height:640px; object-fit:contain }
.pz-body .pz-one__linkcard{ display:flex; flex-direction:column; gap:10px; align-items:center; text-decoration:none; background:var(--paper2); border:1px solid var(--line); padding:26px 34px; box-shadow:4px 5px 0 rgba(31,22,13,.18); color:var(--ink); max-width:100% }
.pz-one__linkcard span{ font:500 13px var(--mono); color:var(--muted); overflow-wrap:anywhere }
.pz-one__linkcard b{ font:900 22px var(--serif); color:var(--red) }
.pz-one__textonly{ font:900 26px/1.5 var(--serif); color:var(--text2); text-align:center; max-width:560px }
.pz-stamp--big{ left:-18px; right:auto; top:auto; bottom:-22px; padding:6px 14px; border-width:4px; font-size:22px; transform:rotate(-9deg); background:rgba(233,221,186,.9) }
.pz-one__h{ margin-top:44px; font:900 20px var(--serif) }
.pz-one__why{ margin-top:12px; font:500 18px/2 var(--serif); color:var(--text2) }
.pz-one__why p{ margin:0 0 .6em }
.pz-note{ margin-top:28px; padding:18px 22px; background:var(--paper); border:1px solid var(--line); transform:rotate(-.6deg); max-width:520px }
.pz-note__k{ font:700 13px var(--sans); color:var(--muted) }
.pz-note__t{ margin-top:8px; font:400 22px/1.6 var(--hand); color:var(--red) }
.pz-dossier{ flex:1 1 300px; min-width:0; background:var(--paper2); border:1px solid var(--line); padding:24px 26px; box-shadow:4px 5px 0 rgba(31,22,13,.15) }
.pz-dossier__h{ font:900 18px var(--serif); border-bottom:2px solid var(--ink); padding-bottom:10px }
.pz-dossier dl{ margin:14px 0 0; display:grid; grid-template-columns:88px 1fr; gap:12px 10px; font-size:14px; line-height:1.6 }
.pz-dossier dt{ color:var(--muted) }
.pz-dossier dd{ margin:0; overflow-wrap:anywhere }
.pz-dossier dd.pz-bar{ letter-spacing:2px }
.pz-dossier__cr{ margin-top:20px; font-size:12px; line-height:1.7; color:var(--muted) }
.pz-next{ margin-top:64px; border-top:2px solid var(--ink); padding-top:24px }
.pz-next__head{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center }
.pz-next__h{ font:900 20px var(--serif) }
.pz-next__grid{ margin-top:22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px }
.pz-body .pz-mini{ display:block; text-decoration:none; color:var(--ink); background:var(--paper2); border:1px solid var(--line); padding:18px }
.pz-body .pz-mini.alt{ background:var(--paper) }
.pz-body .pz-mini:hover{ color:var(--ink); box-shadow:4px 5px 0 rgba(31,22,13,.18) }
.pz-mini__k{ font:500 12px var(--mono); color:var(--muted) }
.pz-mini__t{ margin-top:8px; font:900 18px/1.45 var(--serif) }

/* ---------- 手机（原型 ④） ---------- */
@media (max-width:640px){
  .pz-page{ padding:20px 16px 96px }
  .pz-mono{ font-size:11px }
  .pz-body .pz-back{ font-size:13px; padding:12px 0 }
  .pz-head{ margin-top:12px }
  .pz-kicker{ font-size:12px; letter-spacing:.4em }
  .pz-title{ margin-top:8px; font-size:34px; line-height:1.2 }
  .pz-rule{ margin-top:12px; border-top-width:3px; height:3px }
  .pz-docno{ font-size:13px }
  .pz-head .pz-seal{ display:none }
  .pz-manifesto{ margin-top:28px; padding:20px 18px; font-size:15px; line-height:1.9 }
  .pz-manifesto__h{ font-size:18px }
  .pz-controls{ margin-top:32px; gap:16px }
  .pz-pill{ font-size:13px; padding:10px 12px }
  .pz-controls .pz-rabbit{ position:fixed; left:16px; right:16px; bottom:20px; justify-content:center; z-index:20 }
  .pz-wall{ gap:22px }
  .pz-body .pz-card{ padding:16px; box-shadow:3px 4px 0 rgba(31,22,13,.18) }
  .pz-card__meta{ font-size:11px }
  .pz-card__title{ margin-top:6px; font-size:18px; line-height:1.4 }
  .pz-card__line{ font-size:13px }
  .pz-card .pz-stamp{ right:-6px; top:-12px; padding:3px 8px; font-size:13px }
  .pz-add{ padding:18px 16px }
  .pz-one{ margin-top:20px; gap:28px }
  .pz-one__media{ min-height:220px }
  .pz-stamp--big{ left:-8px; font-size:18px }
  .pz-one__why{ font-size:16px }
}
@media (prefers-reduced-motion:reduce){
  .pz-page, .pz-body .pz-card, .pz-last{ transition:none }
}
