:root{--paper:#f6f2e8;--paper-card:#fdfaf2;--paper-deep:#ece5d3;--ink:#211d16;--ink-soft:#6d6353;--ink-faint:#9a907e;--line:#d8cfba;--line-strong:#b3a88c;--seal:#9d3b26;--seal-deep:#7d2e1c;--seal-wash:#f3e4dc;--moss:#42684f;--moss-wash:#e4ecdf;--umber:#6f6350;--serif:"Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background: repeating-linear-gradient(0deg, #211d1604 0 1px, transparent 1px 7px), var(--paper);color:var(--ink);font-family:var(--sans);border-top:4px solid var(--ink);box-shadow:inset 0 3px 0 -1px var(--seal);margin:0;font-size:16px;line-height:1.7}::selection{background:var(--seal);color:#fdfaf2}a{color:var(--seal-deep);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--seal)}:focus-visible{outline:2px solid var(--seal);outline-offset:2px}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:700;line-height:1.35}code{font-family:var(--mono);background:var(--paper-deep);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;padding:.1em .45em;font-size:.92em}.shell{flex-direction:column;max-width:46rem;min-height:100vh;margin:0 auto;padding:0 1.1rem;display:flex}main{flex:1;padding:1.6rem 0 2.4rem}.site-head{border-bottom:1px solid var(--line-strong);box-shadow:0 3px 0 -2px var(--line);flex-wrap:wrap;align-items:baseline;gap:.4rem 1.2rem;padding:1.1rem 0 .9rem;display:flex}.brand{font-family:var(--serif);letter-spacing:.14em;color:var(--ink);align-items:center;gap:.5em;font-size:1.22rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:before{content:"";background:var(--seal);flex:none;width:.5em;height:.5em}.brand:hover{color:var(--seal-deep)}.site-head nav{flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.9rem;display:flex}.site-head nav a{color:var(--ink-soft);border-bottom:1px solid #0000;padding-bottom:2px;text-decoration:none}.site-head nav a:hover{color:var(--seal);border-bottom-color:var(--seal)}.site-foot{border-top:1px solid var(--line-strong);box-shadow:0 -3px 0 -2px var(--line);color:var(--ink-faint);padding:1.1rem 0 1.6rem;font-size:.82rem}.site-foot p{margin:.25rem 0}.site-foot a{color:var(--ink-soft)}.page-head{margin-bottom:1.6rem}.page-head h1{letter-spacing:.08em;margin-bottom:.4rem;font-size:1.9rem}.page-head h1:after{content:"";background:var(--seal);width:2.4rem;height:3px;margin-top:.55rem;display:block}.lede{color:var(--ink-soft);margin:.9rem 0 0;font-size:.95rem}.filters{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;align-items:end;gap:.8rem 1.4rem;margin-bottom:1.6rem;padding:1rem 1.1rem 1.1rem;display:flex}.filters label{color:var(--ink-soft);letter-spacing:.06em;flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.filters select{appearance:none;font:inherit;color:var(--ink);background:var(--paper-card) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236d6353' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .7em center;border:1px solid var(--line-strong);cursor:pointer;border-radius:3px;min-width:11em;padding:.45rem 2.1em .45rem .8em;font-size:.95rem}.filters select:hover:not(:disabled){border-color:var(--seal)}.filters select:disabled{opacity:.45;cursor:not-allowed}.hint{color:var(--seal-deep);flex-basis:100%;margin:0;font-size:.8rem}.error{border-left:3px solid var(--seal);background:var(--seal-wash);color:var(--seal-deep);align-items:center;gap:.8rem;margin-bottom:1.4rem;padding:.8rem 1rem;font-size:.92rem;display:flex}.error button{font:inherit;color:var(--seal-deep);border:1px solid var(--seal);cursor:pointer;background:0 0;border-radius:3px;padding:.15rem .8rem;font-size:.88rem}.error button:hover{background:var(--seal);color:#fdfaf2}.loading,.empty{text-align:center;color:var(--ink-faint);font-family:var(--serif);letter-spacing:.12em;margin:0;padding:2.6rem 1rem}.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline{border-left:1px solid var(--line-strong);margin:0 0 1.6rem;padding:.2rem 0 .2rem 1.3rem;list-style:none;position:relative}.timeline:before{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px;position:absolute;top:0;left:-4px}.card{background:var(--paper-card);border:1px solid var(--line);border-radius:4px;margin:0 0 1.15rem;padding:1.1rem 1.2rem 1.05rem;animation:.45s backwards card-rise;position:relative}.card:before{content:"";background:var(--seal);border:2px solid var(--paper);box-sizing:content-box;width:9px;height:9px;position:absolute;top:1.55rem;left:-1.72rem}.card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 2px 10px #211d1612}.card:first-child{animation-delay:20ms}.card:nth-child(2){animation-delay:60ms}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.14s}.card:nth-child(5){animation-delay:.18s}.card:nth-child(6){animation-delay:.22s}.card:nth-child(7){animation-delay:.26s}.card:nth-child(8){animation-delay:.3s}@keyframes card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin-bottom:.55rem;font-size:.8rem;display:flex}.card-meta time{font-variant-numeric:tabular-nums;letter-spacing:.04em}.seq{font-family:var(--mono);letter-spacing:.06em;color:var(--seal-deep);border:1px solid var(--seal);background:0 0;border-radius:3px;padding:.08em .5em;font-size:.78rem;font-weight:600}.tag{letter-spacing:.05em;border:1px solid var(--line-strong);color:var(--ink-soft);background:0 0;border-radius:999px;padding:.1em .7em;font-size:.78rem}.tag-ongoing{border-color:var(--ink);color:var(--ink);font-weight:600}.tag-closed_resolved{border-color:var(--moss);background:var(--moss-wash);color:var(--moss)}.tag-closed_unresolved{border-color:var(--umber);color:var(--umber);background:#6f635014}.tag-escalated{border-color:var(--seal);color:var(--seal-deep);background:var(--seal-wash);font-weight:600}.card h2{letter-spacing:.04em;font-size:1.18rem}.card h2 a{color:var(--ink);text-decoration:none}.card h2 a:hover{color:var(--seal-deep);text-decoration:underline;-webkit-text-decoration-color:var(--seal);text-decoration-color:var(--seal)}.counterparty{color:var(--ink-soft);margin:.45rem 0 0;font-size:.9rem}.counterparty:before{content:"— ";color:var(--ink-faint)}.summary{color:var(--ink);overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.95rem;line-height:1.75}.source{letter-spacing:.04em;border-radius:3px;margin:.7rem 0 0;padding:.18em .7em;font-size:.8rem;display:inline-block}.source-owner{color:var(--moss);border:1px solid var(--moss);background:var(--moss-wash)}.source-visitor{color:#fdfaf2;background:var(--seal);border:1px solid var(--seal-deep);box-shadow:0 1px 0 var(--seal-deep);font-weight:700}.more{font:inherit;letter-spacing:.1em;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;margin:0 auto 1.4rem;padding:.5rem 2.4rem;font-size:.92rem;display:block}.more:hover:not(:disabled){border-color:var(--ink);background:var(--ink);color:var(--paper)}.more:disabled{opacity:.55;cursor:wait}.foot-note{color:var(--ink-soft);margin:0 0 .5rem;font-size:.88rem}.detail{max-width:42rem}.crumbs{margin-bottom:1.2rem;font-size:.88rem}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--seal);text-decoration:underline}.detail header{margin-bottom:1.5rem}.detail h1{letter-spacing:.05em;overflow-wrap:anywhere;margin:.7rem 0 .6rem;font-size:1.7rem}.detail .facts{border-top:1px solid var(--line);grid-template-columns:1fr;gap:.9rem;margin:0 0 1.8rem;padding-top:1.2rem;display:grid}.facts dt{letter-spacing:.18em;color:var(--ink-faint);font-size:.8rem;font-weight:600}.facts dd{overflow-wrap:anywhere;margin:.25rem 0 0}.prose{white-space:pre-wrap;line-height:1.8}.prose em{color:var(--ink-faint)}.evidence{margin-bottom:1.8rem}.evidence h2{letter-spacing:.08em;border-left:3px solid var(--seal);margin-bottom:1rem;padding-left:.7rem;font-size:1.1rem}.gallery{grid-template-columns:repeat(2,1fr);gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.gallery li{margin:0}.thumb-btn{background:var(--paper-card);border:1px solid var(--line);cursor:zoom-in;border-radius:4px;width:100%;margin:0;padding:0;line-height:0;display:block;overflow:hidden}.thumb-btn img{width:100%;height:auto;display:block}.thumb-btn:hover{border-color:var(--seal)}.thumb-btn:hover img{opacity:.92}.caption{color:var(--ink-faint);text-align:center;overflow-wrap:anywhere;margin:.35rem 0 0;font-size:.8rem}.detail-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;padding-top:1.2rem;font-size:.9rem;display:flex}.detail-foot>a:not(.btn){color:var(--ink-soft)}.btn{letter-spacing:.05em;color:var(--seal-deep);border:1px solid var(--seal);border-radius:999px;padding:.4rem 1.3rem;font-size:.9rem;text-decoration:none;display:inline-block}.btn:hover{background:var(--seal);border-color:var(--seal);color:#fdfaf2;text-decoration:none}.lightbox{cursor:zoom-out;z-index:50;background:#0f0c09ed;place-items:center;padding:2rem;animation:.2s lightbox-in;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;background:var(--paper-card);border:1px solid var(--line-strong);max-width:min(92vw,1200px);max-height:88vh;padding:.5rem}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.prose-page{max-width:38rem}.prose-page h1{letter-spacing:.08em;margin-bottom:1.1rem;font-size:1.9rem}.prose-page h2{letter-spacing:.08em;border-left:3px solid var(--seal);margin:2rem 0 .7rem;padding-left:.7rem;font-size:1.2rem}.prose-page p{margin:.7rem 0;line-height:1.8}.prose-page ol{margin:.7rem 0;padding-left:1.6rem}.prose-page li{margin:.45rem 0;line-height:1.8}.prose-page li::marker{color:var(--seal);font-weight:700}.submit-form{flex-direction:column;gap:1.3rem;margin-top:1.6rem;display:flex}.submit-form .field{flex-direction:column;gap:.4rem;display:flex}.submit-form .field>label{letter-spacing:.06em;color:var(--ink-soft);font-size:.82rem}.submit-form .hint{flex-basis:auto}.submit-form input[type=text],.submit-form input[type=date],.submit-form textarea,.submit-form select{font:inherit;color:var(--ink);background:var(--paper-card);border:1px solid var(--line-strong);border-radius:3px;width:100%;padding:.5rem .75rem;font-size:.95rem}.submit-form input:hover:not(:disabled):not([type=file]),.submit-form textarea:hover:not(:disabled),.submit-form select:hover:not(:disabled){border-color:var(--seal)}.submit-form textarea{resize:vertical;line-height:1.7}.submit-form select{appearance:none;background:var(--paper-card) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236d6353' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .7em center;cursor:pointer;padding-right:2.1em}.submit-form fieldset.field{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;margin:0;padding:1rem 1.1rem 1.1rem}.submit-form legend{font-family:var(--serif);letter-spacing:.05em;margin-bottom:.3rem;padding:0;font-size:1rem;font-weight:700}.submit-form input[type=file]{color:var(--ink-soft);font-size:.88rem}.submit-form input[type=file]::file-selector-button{font:inherit;color:var(--ink);background:var(--paper-card);border:1px solid var(--line-strong);cursor:pointer;border-radius:3px;margin-right:.8rem;padding:.35rem .9rem;font-size:.85rem}.submit-form input[type=file]::file-selector-button:hover{border-color:var(--seal);color:var(--seal-deep)}.image-list{gap:.7rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.img-item{background:var(--paper-card);border:1px solid var(--line);border-radius:4px;align-items:flex-start;gap:.8rem;padding:.7rem .8rem;display:flex}.img-item img{background:var(--paper-deep);border:1px solid var(--line);flex:none;width:84px;height:auto;display:block}.img-item>div{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.img-item input[type=text]{padding:.35rem .6rem;font-size:.85rem}.ph{width:84px;height:84px;font-family:var(--serif);color:var(--ink-faint);background:var(--paper-deep);border:1px dashed var(--line-strong);flex:none;place-items:center;display:grid}.fn{overflow-wrap:anywhere;font-size:.82rem}.st{letter-spacing:.03em;color:var(--ink-soft);font-size:.78rem}.img-done .st{color:var(--moss)}.img-error{border-color:var(--seal);background:var(--seal-wash)}.img-error .st{color:var(--seal-deep)}.img-item button{font:inherit;color:var(--ink-soft);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:3px;flex:none;align-self:flex-start;padding:.3rem .7rem;font-size:.8rem}.img-item button:hover{color:var(--seal-deep);border-color:var(--seal)}.pledge label{align-items:flex-start;gap:.55rem;font-size:.92rem;line-height:1.6;display:flex}.pledge input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--seal);flex:none;margin:.25rem 0 0}.btn.primary{font:inherit;letter-spacing:.1em;color:#fdfaf2;background:var(--seal);border:1px solid var(--seal-deep);cursor:pointer;border-radius:999px;align-self:flex-start;padding:.55rem 2rem;font-size:.95rem;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--seal-deep);border-color:var(--seal-deep);color:#fdfaf2}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.tabs{border-bottom:1px solid var(--line-strong);gap:.2rem;margin:0 0 1.4rem;display:flex}.tabs button{font:inherit;letter-spacing:.08em;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:4px 4px 0 0;padding:.5rem 1.1rem;font-size:.95rem}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);background:var(--paper-card);border-color:var(--line-strong);box-shadow:inset 0 3px 0 -1px var(--seal);font-weight:600}.queue{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.queue-item{background:var(--paper-card);border:1px solid var(--line);border-radius:4px;overflow:hidden}.queue-head{width:100%;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:.35rem .8rem;padding:.7rem 1.1rem;display:flex}.queue-head:hover{background:var(--paper-deep)}.queue-head strong{letter-spacing:.03em;overflow-wrap:anywhere;font-size:.98rem}.queue-head time{font-variant-numeric:tabular-nums;color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:.78rem}.kind{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--ink);color:var(--ink);border-radius:3px;flex:none;padding:.06em .5em;font-size:.74rem}.submitter{background:var(--paper-deep);border-top:1px solid var(--line);grid-template-columns:max-content minmax(0,1fr);gap:.25rem .8rem;margin:0;padding:.55rem 1.1rem .65rem;font-size:.82rem;display:grid}.submitter dt{letter-spacing:.14em;color:var(--ink-soft);white-space:nowrap;padding-top:.12rem;font-size:.72rem}.submitter dd{min-width:0;margin:0}.submitter dd code{font-size:.78rem}.submitter .ua{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-family:var(--mono);font-size:.74rem;overflow:hidden}.review{border-top:1px dashed var(--line-strong);flex-direction:column;gap:1.1rem;padding:.9rem 1.1rem 1rem;display:flex}.admin .facts{grid-template-columns:1fr;gap:.75rem;margin:0;display:grid}.diff-target{border:1px solid var(--line-strong);border-left:3px solid var(--umber);background:#6f635012;border-radius:4px;padding:.7rem .9rem .9rem}.diff-target h3{letter-spacing:.05em;color:var(--umber);margin-bottom:.6rem;font-size:.95rem}.admin .evidence h3{letter-spacing:.06em;border-left:3px solid var(--seal);margin-bottom:.8rem;padding-left:.7rem;font-size:1.02rem}.gallery .ev-pending .thumb-btn,.gallery .ev-rejected .thumb-btn{border-style:dashed}.gallery .ev-pending .thumb-btn{border-color:var(--seal);background:var(--seal-wash)}.gallery .ev-rejected .thumb-btn{border-color:var(--line-strong);background:var(--paper-deep);opacity:.55}.gallery .ev-rejected .caption{color:var(--ink-faint)}.admin .gallery .thumb-btn:disabled{cursor:not-allowed}.admin .gallery .ph{background:0 0;border:none;width:100%;height:7.5rem;font-size:.85rem}.bytes{font-family:var(--mono);letter-spacing:.02em;margin-top:.15rem;font-size:.72rem;display:block}.actions{border-top:1px solid var(--line);flex-direction:column;gap:.8rem;padding-top:.9rem;display:flex}.actions label{letter-spacing:.06em;color:var(--ink-soft);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.admin .actions input[type=text],.admin .actions select{font:inherit;color:var(--ink);background:var(--paper-card);border:1px solid var(--line-strong);border-radius:3px;padding:.5rem .75rem;font-size:.95rem}.admin .actions input[type=text]:hover:not(:disabled),.admin .actions select:hover:not(:disabled){border-color:var(--seal)}.admin .actions select{appearance:none;background:var(--paper-card) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236d6353' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .7em center;cursor:pointer;padding-right:2.1em}.admin .actions .btn{align-self:flex-start}.admin .actions .hint{flex-basis:auto}.btn.danger{font:inherit;letter-spacing:.1em;color:var(--seal-deep);border:1px solid var(--seal-deep);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem 2rem;font-size:.95rem;font-weight:600}.btn.danger:hover:not(:disabled){background:var(--seal-deep);color:#fdfaf2}.btn.danger:disabled{opacity:.45;cursor:not-allowed}.filters button{font:inherit;letter-spacing:.05em;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:3px;padding:.4rem 1.1rem;font-size:.85rem}.filters button:hover{border-color:var(--seal);color:var(--seal-deep)}.table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.88rem}.admin-table th{font-family:var(--serif);letter-spacing:.14em;text-align:left;color:var(--ink-soft);border-bottom:2px solid var(--line-strong);white-space:nowrap;padding:.45rem .6rem;font-size:.76rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--line);vertical-align:middle;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding:.5rem .6rem}.admin-table tbody tr:hover{background:var(--paper-deep)}.admin-table button{font:inherit;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:.25rem .7rem;font-size:.8rem}.admin-table button:hover:not(:disabled){border-color:var(--seal);color:var(--seal-deep)}.admin-table button:disabled{opacity:.45;cursor:wait}.admin-table .row-hidden_complaint,.admin-table tbody tr.row-hidden_complaint:hover{background:var(--seal-wash)}.admin-table .row-hidden_complaint td:nth-child(5){color:var(--seal-deep);font-weight:600}.stats{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0 0 1.6rem;padding:0;list-style:none;display:grid}.stats li{background:var(--paper-card);border:1px solid var(--line);color:var(--ink-soft);border-radius:4px;align-items:baseline;gap:.5rem;padding:.6rem .8rem;font-size:.82rem;display:flex}.stats strong{font-family:var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1}.stats li:first-child strong{color:var(--seal-deep)}.admin .lightbox{padding:1.5rem;display:block;overflow:auto}.admin .lightbox img{max-width:none;max-height:none;margin:0 auto}@media (width>=640px){body{font-size:16.5px}.shell{padding:0 1.6rem}.site-head{padding-top:1.4rem}.brand{font-size:1.35rem}.facts{grid-template-columns:5.5em 1fr;column-gap:1.4rem}.facts dt{padding-top:.15rem}.facts dd{margin-top:0}.gallery{grid-template-columns:repeat(3,1fr)}.admin .facts{grid-template-columns:5.5em 1fr;column-gap:1.4rem}.admin .facts dt{padding-top:.15rem}.admin .facts dd{margin-top:0}.submitter{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr)}.admin .stats{grid-template-columns:repeat(3,1fr)}.admin .actions{flex-flow:wrap;align-items:end}.admin .actions label{flex:14rem}.admin .actions .btn{flex:none}}@media (prefers-reduced-motion:reduce){.card,.lightbox{animation:none}.card:hover{transform:none}}
