/* 鱼缸小镇 · 悬赏板 (crime.html) and 审判 (trial.html): a cork board with wanted posters, the cells of the 拘留室, a courtroom bench. */
.cr-page .wl-wrap{padding-top:calc(10px + env(safe-area-inset-top))}
.cr-hero{position:relative;padding:54px 14px 14px;border-radius:22px;color:#fff;overflow:hidden;
  background:radial-gradient(120% 90% at 85% 0%,rgba(255,210,122,.25),transparent 60%),linear-gradient(160deg,#2a3f8f,#18224f);box-shadow:0 18px 36px -20px rgba(16,30,80,.75)}
.cr-hero .wback{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92)}
.cr-ht{display:grid;gap:2px}.cr-ht b{font-size:21px;letter-spacing:1px}.cr-ht span{font-size:12.5px;opacity:.9}
.cr-police{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cr-cop{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.cr-cop span{display:grid;line-height:1.15}.cr-cop b{font-size:12.5px}.cr-cop small{font-size:10.5px;opacity:.85}
.cr-cop.chief{background:rgba(255,210,122,.22);border-color:rgba(255,210,122,.6)}
.cr-cop .s2av{box-shadow:0 0 0 2px #fff}
.cr-tabs{margin:12px 0 10px}
.cr-body{display:grid;gap:12px}
.cr-sec{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);overflow:hidden}
.cr-sec h2{margin:0;display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:15px;color:var(--accent-deep);background:linear-gradient(90deg,var(--accent-soft),#fff);border-bottom:1px solid var(--line)}
.cr-sec h2 i{font-style:normal;font-size:12px;color:var(--muted)}
.cr-sec .hl-none{margin:0}
.cr-note{margin:8px 14px 0;font-size:11.5px;color:var(--muted)}
.cr-red{font-style:normal;font-size:10px;font-weight:900;padding:1px 6px;border-radius:6px;background:#fdecec;color:#c0353a;margin-left:3px}
/* the cork board and its posters */
.cr-posters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px;
  background:radial-gradient(circle at 20% 30%,rgba(120,80,40,.08) 0 2px,transparent 3px) 0 0/14px 14px,linear-gradient(160deg,#d9b98a,#c9a271)}
.cr-poster{position:relative;display:grid;justify-items:center;gap:5px;padding:16px 10px 10px;background:linear-gradient(180deg,#fffaf0,#f3e6c8);
  border-radius:4px;box-shadow:0 6px 14px -6px rgba(80,50,20,.6);transform:rotate(-1.5deg);text-align:center}
.cr-poster:nth-child(2n){transform:rotate(1.5deg)}
.cr-pin{position:absolute;top:6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff8a8a,#c0353a);box-shadow:0 2px 3px rgba(0,0,0,.35)}
.cr-poster h3{margin:4px 0 0;font-size:22px;letter-spacing:6px;color:#7a3a1a;font-weight:900}
.cr-who{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cr-who>span{display:grid;justify-items:center;gap:2px}.cr-who b{font-size:13px;color:#4a2c12}
.cr-unknown i{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:26px;font-weight:900;color:#fff;background:#2a2a35;
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.25)}
.cr-what{margin:0;font-size:12px;color:#6b4a2a}
.cr-bounty{margin:0;font-size:12px;color:#7a3a1a}.cr-bounty b{font-size:18px;color:#c0353a}
.cr-poster time{font-size:10.5px;color:#9a7a4a}
/* the 拘留室 */
.cr-jail{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:12px}
.cr-cell{position:relative;display:grid;justify-items:center;gap:3px;padding:12px 6px 10px;border-radius:14px;background:linear-gradient(180deg,#e9edf5,#d8deea);overflow:hidden;text-align:center}
.cr-cell .bars{position:absolute;inset:0 0 auto;height:66px;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(70,80,100,.55) 13px 16px)}
.cr-cell b{font-size:13px}.cr-cell small{font-size:10.5px;color:var(--muted)}
.cr-cell em{font-style:normal;font-size:11px;font-weight:800;color:#c0353a}
/* red names, recent cases */
.cr-reds{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 14px}
.cr-reds>span{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 3px;border-radius:999px;background:#fdecec}
.cr-reds b{font-size:12.5px;color:#c0353a}.cr-reds small{font-size:10.5px;color:#a0565a}
.cr-cases{list-style:none;margin:0;padding:8px 10px;display:grid;gap:4px}
.cr-cases li{display:flex;align-items:center;gap:8px;padding:6px 6px;border-radius:12px;font-size:13px}
.cr-cases li:nth-child(odd){background:#f7f9ff}
.cr-cases .ic{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:#8a94a8}
.cr-cases .ic.c-pickpocket{background:#e8963a}.cr-cases .ic.c-fraud{background:#8b63cf}.cr-cases .ic.c-robbery{background:#c0353a}
.cr-cases .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-cases em{flex:none;font-style:normal;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#5b6b80}
.cr-cases em.s-guilty{background:#fdecec;color:#c0353a}.cr-cases em.s-not_guilty{background:#e8f6ef;color:#1f7a5a}
.cr-cases time{flex:none;font-size:11px;color:var(--muted)}
/* the trial list */
.cr-trials{display:grid;gap:8px}
.cr-trial{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text)}
.cr-trial .m{flex:1;min-width:0;display:grid}.cr-trial .m b{font-size:15px}.cr-trial .m small{font-size:12px;color:var(--muted)}
.cr-trial em{font-style:normal;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.cr-trial em.on{background:#fdecec;color:#c0353a}.cr-trial em.g{background:#fdecec;color:#c0353a}.cr-trial em.ng{background:#e8f6ef;color:#1f7a5a}
.cr-trial time{font-size:11px;color:var(--muted)}
.cr-empty{padding:30px 0}
/* the courtroom */
.tr-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;padding:6px 0 8px;background:linear-gradient(180deg,#f4f7fe 85%,rgba(244,247,254,0))}
.tr-tt{display:grid}.tr-tt b{font-size:16px}.tr-tt span{font-size:11.5px;color:var(--muted)}
.tr-bench{position:relative;display:grid;gap:10px;padding:14px;border-radius:22px;color:#fff;background:linear-gradient(170deg,#5a3a22,#3a2414);box-shadow:0 14px 30px -18px rgba(60,30,10,.8);overflow:hidden}
.tr-row{display:flex;justify-content:space-around}
.tr-p{display:grid;justify-items:center;gap:2px}.tr-p b{font-size:13px}.tr-p small{font-size:10.5px;opacity:.8}
.tr-p.chief .s2av{box-shadow:0 0 0 3px #ffd27a}
.tr-jury{display:grid;gap:4px;padding:8px;border-radius:14px;background:rgba(255,255,255,.08)}
.tr-jury>small{font-size:11px;opacity:.85;text-align:center}
.tr-jury>div{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.tr-j{display:grid;justify-items:center;gap:2px;padding:5px 0;border-radius:10px;transition:background .3s}
.tr-j i{font-style:normal;font-size:10.5px;font-weight:800}
.tr-j.g{background:rgba(224,80,80,.35)}.tr-j.ng{background:rgba(80,190,140,.35)}.tr-j.wait{opacity:.55}
.tr-j.wait .s2av{background:#8a7a6a}
.tr-tally{margin:0;text-align:center;font-size:12px;font-weight:800}
.tr-stamp{position:absolute;right:12px;top:12px;padding:4px 12px;border:3px solid;border-radius:8px;font-size:20px;font-weight:900;transform:rotate(-12deg);animation:s2stamp2 .5s ease-out}
.tr-stamp.g{color:#ff8a8a}.tr-stamp.ng{color:#7fe0b5}
.tr-feed{display:grid;gap:9px;margin-top:12px}
.tr-it.new{animation:s2in .5s ease-out}
.tr-open{display:grid;gap:6px;padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.tr-open .gavel{justify-self:start;font-size:12px;font-weight:900;color:#fff;background:#5a3a22;padding:3px 10px;border-radius:999px}
.tr-open p{margin:0;font-size:14px;line-height:1.55}
.tr-charge{font-size:12.5px !important;color:var(--text-2)}.tr-charge b{color:#c0353a}
.tr-evi{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border-radius:14px;background:#fffaf0;border:1px dashed #d9b98a}
.tr-evi .tag{flex:none;font-size:10.5px;font-weight:900;color:#7a3a1a;background:#f3e6c8;padding:2px 7px;border-radius:6px}
.tr-evi p{margin:0;font-size:13.5px;line-height:1.5}
.tr-say.conf .s2bb{background:#fff4ea;border-color:#f6d6ae}
.tr-vote{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);border-left:4px solid #8a94a8}
.tr-vote.g{border-left-color:#e05050}.tr-vote.ng{border-left-color:#1f9a7e}
.tr-vote p{margin:0;font-size:13px}.tr-vote p em{font-style:normal;font-weight:900;margin-left:6px}
.tr-vote.g p em{color:#c0353a}.tr-vote.ng p em{color:#1f7a5a}
.tr-vote .r{color:var(--text-2);margin-top:2px}
.tr-verdict{display:grid;justify-items:center;gap:3px;padding:16px;border-radius:20px;color:#fff;text-align:center}
.tr-verdict.g{background:linear-gradient(150deg,#e05050,#a02a3a)}.tr-verdict.ng{background:linear-gradient(150deg,#2fb383,#1f7a5a)}
.tr-verdict b{font-size:28px;letter-spacing:4px}.tr-verdict small{font-size:12px;opacity:.9}.tr-verdict p{margin:0;font-size:13.5px}
.tr-sent{position:relative;display:grid;gap:3px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#e9edf5,#d8deea);overflow:hidden}
.tr-sent .bars{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(70,80,100,.18) 22px 26px);pointer-events:none}
.tr-sent p{position:relative;margin:0;font-size:13.5px}.tr-sent .t{color:var(--text-2)}
.tr-wait{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted);padding:6px}
/* ---- 小镇法庭 (trial.html, 11-13 court): the court picture with everyone in place, the line being spoken, the steps ---- */
.ct-court{display:grid;gap:8px}
.ct-pic{position:relative;aspect-ratio:3/2;border-radius:22px;overflow:hidden;background:#252b3d url("art/court-day.webp") center/cover no-repeat;box-shadow:0 18px 36px -20px rgba(16,30,80,.75)}
.ct-fig{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:1px;transition:transform .25s;z-index:1}
.ct-fig .s2av{box-shadow:0 0 0 2px #fff,0 4px 10px -2px rgba(0,0,0,.5)}
.ct-fig small{font-size:9.5px;font-weight:800;color:#fff;background:rgba(20,28,60,.72);padding:1px 6px;border-radius:999px;white-space:nowrap}
.ct-fig.on{transform:translate(-50%,-100%) scale(1.22);z-index:3}
.ct-fig.on .s2av{box-shadow:0 0 0 3px #ffd27a,0 0 18px 4px rgba(255,210,122,.75)}
.ct-fig.judge small{background:#5a3a22}.ct-fig.pros small{background:#3d3fb8}.ct-fig.def small{background:#1f7a5a}
.ct-fig.dock small{background:#8a3a3a}.ct-fig.dock.conf small{background:#b06a12}.ct-fig.wit small{background:#2b6f9e}
.ct-fig.chief{opacity:.9}.ct-fig.chief small{background:#6b5a2a}
.ct-fig.jur .s2av{box-shadow:0 0 0 2px rgba(255,255,255,.85)}.ct-fig.jur.g .s2av{box-shadow:0 0 0 3px #e05050}.ct-fig.jur.ng .s2av{box-shadow:0 0 0 3px #2fb383}
.ct-fig.jur.on .s2av{box-shadow:0 0 0 3px #ffd27a,0 0 14px 3px rgba(255,210,122,.8)}
.ct-tally{position:absolute;z-index:2;transform:translate(-50%,0);font-size:10px;font-weight:900;color:#fff;background:rgba(20,28,60,.78);padding:2px 8px;border-radius:999px;white-space:nowrap}
.ct-tally .g{color:#ff9a9a}.ct-tally .ng{color:#8fe8c2}
.ct-empty{background:rgba(255,255,255,.35) !important;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.6) !important}
.ct-stamp{position:absolute;left:14px;top:12px;z-index:4;padding:4px 14px;border:4px solid;border-radius:10px;font-size:26px;font-weight:900;background:rgba(255,255,255,.85);transform:rotate(-12deg);animation:s2stamp2 .5s ease-out}
.ct-stamp.g{color:#c0353a}.ct-stamp.ng{color:#1f7a5a}
.ct-wait{position:absolute;inset:auto 0 0;z-index:4;display:grid;justify-items:center;gap:2px;padding:12px;color:#fff;background:linear-gradient(180deg,rgba(15,22,48,0),rgba(15,22,48,.82))}
.ct-wait b{font-size:15px}.ct-wait span{font-size:12.5px;opacity:.92}
.ct-line{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:16px;background:#fff;border:1.5px solid #ffd27a;box-shadow:0 8px 20px -14px rgba(160,110,20,.7);min-height:44px}
.ct-line p{margin:0;font-size:14px;line-height:1.5}.ct-line b{color:var(--accent-deep);margin-right:6px}
.ct-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ct-steps li{text-align:center;font-size:11px;font-weight:700;padding:4px 0;border-radius:8px;background:#eef2f7;color:#8a94a8}
.ct-steps li.done{background:#dde6f7;color:var(--accent-deep)}.ct-steps li.on{background:var(--accent);color:#fff}
/* the record */
.ct-open{display:grid;gap:6px;padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ct-open .gavel{justify-self:start;font-size:12px;font-weight:900;color:#fff;background:#5a3a22;padding:3px 10px;border-radius:999px}
.ct-open p{margin:0;font-size:14px;line-height:1.55}
.ct-charge{font-size:12.5px !important;color:var(--text-2)}.ct-charge b{color:#c0353a}
.ct-law{font-size:12px !important;color:#7a3a1a;background:#fffaf0;border-left:3px solid #d9b98a;padding:4px 8px;border-radius:4px}
.ct-cast{display:flex;flex-wrap:wrap;gap:6px}
.ct-cast>span{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;border-radius:999px;background:#f4f7fe;font-size:12px}
.ct-cast i{font-style:normal;font-size:10.5px;color:var(--muted)}
.ct-say{display:grid;gap:5px;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c)}
.ct-say .h{display:flex;align-items:center;gap:7px}.ct-say p{margin:0;font-size:14px;line-height:1.55}
.ct-who{display:flex;align-items:baseline;gap:6px}.ct-who b{font-size:13px}.ct-who i{font-style:normal;font-size:11px;color:var(--muted)}
.ct-say.pros{border-left-color:#3d3fb8}.ct-say.dock{border-left-color:#8a3a3a}.ct-say.conf{border-left-color:#e8963a;background:#fff8ef}
.ct-say.wit{border-left-color:#2b6f9e}.ct-say.def{border-left-color:#1f9a7e;background:#f2fbf7}
.ct-evi{display:flex;gap:7px;padding:10px 12px;border-radius:14px;background:#fffaf0;border:1px dashed #d9b98a}
.ct-evi .tag{flex:none;align-self:flex-start;font-size:10.5px;font-weight:900;color:#7a3a1a;background:#f3e6c8;padding:2px 7px;border-radius:6px}
.ct-evi ol{margin:0;padding-left:18px;display:grid;gap:3px;font-size:13px;line-height:1.5}
.ct-delib{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:#f1f3f9;text-align:center}
.ct-delib span{font-size:11px;font-weight:800;color:var(--muted)}.ct-delib p{margin:0;font-size:13.5px}
.ct-judg{position:relative;display:grid;gap:6px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#e9edf5,#d8deea);overflow:hidden}
.ct-judg .bars{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(70,80,100,.14) 22px 26px);pointer-events:none}
.ct-judg>*{position:relative}.ct-judg .h{display:flex;align-items:center;gap:7px}.ct-judg p{margin:0;font-size:14px;line-height:1.55}
.ct-terms{display:flex;flex-wrap:wrap;gap:6px}
.ct-terms span{display:grid;padding:6px 12px;border-radius:12px;background:#fff}.ct-terms b{font-size:14px;color:#8a3a3a}.ct-terms small{font-size:10.5px;color:var(--muted)}
.ct-sorry{display:grid;gap:4px;padding:14px;border-radius:18px;background:linear-gradient(150deg,#e8f6ef,#fff);border:1px solid #bfe6d3;text-align:center}
.ct-sorry span{font-size:12px;font-weight:900;color:#1f7a5a}.ct-sorry p{margin:0;font-size:14px}
.ct-cap{justify-self:center}
/* 悬赏板: officers' posts, upcoming trials, 镇规 */
.cr-cop.judge{background:rgba(160,120,80,.3);border-color:rgba(230,190,140,.6)}.cr-cop.prosecutor{background:rgba(120,120,240,.25);border-color:rgba(170,170,255,.55)}
.cr-trial em.soon{background:#fff3d1;color:#8a5a00}
.cr-law{background:#fffaf0;border:1px solid #ecdcb8;border-radius:22px;padding:14px;box-shadow:var(--shadow-sm)}
.cr-law h2{margin:0 0 10px;text-align:center;font-size:17px;color:#7a3a1a;letter-spacing:2px}
.cr-law ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cr-law li{display:flex;gap:10px;padding:10px;border-radius:14px;background:#fff;border:1px solid #f1e6cf}
.cr-law .no{flex:none;min-width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:#7a3a1a}
.cr-law b{font-size:14px;color:#4a2c12}.cr-law p{margin:3px 0 0;font-size:13px;line-height:1.55;color:var(--text-2)}.cr-law small{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#8a3a3a;background:#fdecec;padding:1px 7px;border-radius:6px}
.cr-tabs{grid-template-columns:repeat(3,1fr)}
.ct-stamp{background:rgba(255,255,255,.94)}
