:root{--ink:#17232b;--paper:#edf0ee;--line:#aeb8b9;--blue:#234c63;--red:#8f332c;--amber:#9a662b;--muted:#647279;--dark:#0b1419}*{box-sizing:border-box}body{margin:0;background:#cfd5d4;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}a{color:inherit}.topbar{height:58px;background:var(--dark);color:#dce5e7;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:4px solid #496575;position:sticky;top:0;z-index:20}.brand{font-weight:700;letter-spacing:2px}.caseid{font:13px ui-monospace,monospace;color:#8fa4ae}.wrap{width:min(1180px,94vw);margin:28px auto}.hero{min-height:570px;background:linear-gradient(90deg,rgba(5,13,18,.96),rgba(5,13,18,.42)),url('assets/port-scene.png') center/cover;border:1px solid #42545d;color:#eef3f4;padding:65px;display:flex;align-items:flex-end}.hero h1{font-family:"Songti SC",serif;font-size:clamp(58px,9vw,120px);line-height:.95;margin:12px 0}.hero h1 span{color:#d2a25e}.hero p{max-width:650px;color:#c6d1d5;font-size:18px}.stamp{display:inline-block;border:2px solid #a94b43;color:#e16e64;padding:6px 12px;transform:rotate(-2deg);font-weight:700}.btn{border:0;background:var(--blue);color:white;padding:12px 20px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn.red{background:var(--red)}.btn.light{background:#dce3e2;color:#18262e;border:1px solid #839497}.section-title{font-family:"Songti SC",serif;font-size:34px;margin:38px 0 14px}.deskgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.desk{background:#e8ebea;border:1px solid #9da9aa;border-left:5px solid var(--blue);padding:20px;text-decoration:none;min-height:142px}.desk:hover{background:#f6f7f5}.desk b{font-size:19px}.desk small{display:block;color:var(--muted);margin-top:10px}.desk.locked{opacity:.55}.paper{background:var(--paper);border:1px solid #aeb8b9;box-shadow:0 8px 25px rgba(17,32,40,.1);padding:28px;margin-bottom:18px}.paper h1,.paper h2,.paper h3{font-family:"Songti SC",serif}.paper h1{font-size:38px;margin-top:0}.meta{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:15px 0}.meta div{padding:9px;border-right:1px solid var(--line)}.meta div:last-child{border:0}.label{color:var(--muted);font-size:12px;display:block}.photo{width:100%;display:block;border:8px solid white;box-shadow:0 2px 8px #899}.caption{font-size:13px;color:var(--muted);margin:6px 0 18px}.twocol{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.notice{border-left:5px solid var(--amber);background:#f1e9dc;padding:14px 18px}.danger{border-left-color:var(--red);background:#efe0dd}.record{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#152127;color:#d2dddf;padding:15px;white-space:pre-wrap;overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{border:1px solid #aab4b5;padding:8px;text-align:left;vertical-align:top}.table th{background:#dce2e1}.redact{background:#20282c;color:#20282c;padding:0 18px}.searchbox{display:flex;gap:8px;margin:15px 0}.searchbox input,.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #849497;background:#fff;font:inherit}.result{min-height:48px}.tag{display:inline-block;border:1px solid #788b94;padding:2px 8px;margin:2px;font-size:12px}.evidence{position:fixed;right:18px;bottom:18px;background:#111d23;color:#d7e2e4;width:280px;max-height:45vh;overflow:auto;padding:14px;box-shadow:0 8px 25px #0007}.evidence h4{margin:0 0 8px}.evidence ol{padding-left:22px;font-size:12px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{background:#e4e9e8;padding:12px}.error{color:var(--red);font-weight:700;margin-top:10px}.success{color:#235e45;font-weight:700}.mobile{width:min(520px,94vw);margin:25px auto;background:#101b20;color:#dbe4e6;min-height:90vh;border:10px solid #26363e;border-radius:30px;padding:24px}.mobile input{width:100%;padding:13px;margin:6px 0 14px}.mobile .paper{color:#17232b}.seal{border:2px dashed #b24e46;padding:15px;margin:15px 0}.footer{padding:40px;text-align:center;color:#617078;font-size:13px}@media(max-width:800px){.hero{padding:28px;min-height:520px}.deskgrid,.twocol,.formgrid,.meta{grid-template-columns:1fr}.evidence{position:static;width:auto;margin:20px}.topbar{font-size:12px}.wrap{width:96vw}.paper{padding:18px}}
