:root{--paper:#f1efe9;--paper-dim:#e8e5dc;--ink:#17160f;--ink-soft:#5b5748;--ink-faint:#8c876f;--line:#d6d1c2;--accent:#2f6f5e;--accent-soft:rgba(47,111,94,.1);--accent-line:rgba(47,111,94,.35);--mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"IBM Plex Sans",-apple-system,sans-serif;--display:"Fraunces",Georgia,serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.shell{display:grid;grid-template-columns:340px 1fr;min-height:100vh}@media (max-width:880px){.shell{grid-template-columns:1fr}}.log{border-right:1px solid var(--line);padding:28px 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}@media (max-width:880px){.log{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--line)}}.log-head{padding:0 28px 22px;border-bottom:1px solid var(--line)}.mark{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.log-head h1{font-family:var(--display);font-weight:560;font-size:22px;margin:0 0 6px}.log-head p{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin:0;line-height:1.6}.log-list{list-style:none;margin:0;padding:10px 0 0}.log-item{display:flex;align-items:baseline;gap:14px;padding:13px 28px;cursor:pointer;border-left:2px solid transparent;transition:background .15s ease,border-color .15s ease}.log-item:hover{background:var(--paper-dim)}.log-item.active{background:var(--accent-soft);border-left-color:var(--accent)}.log-num{font-family:var(--mono);font-size:11px;color:var(--ink-faint);min-width:34px}.log-item.active .log-num{color:var(--accent)}.log-title{font-weight:500;font-size:13.5px;display:block;margin-bottom:2px}.log-status{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}.log-item.active .log-status{color:var(--accent)}.detail{padding:64px;max-width:840px}@media (max-width:880px){.detail{padding:40px 24px 80px}}.detail-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;display:flex;gap:10px;align-items:center}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.detail-num{font-family:var(--display);font-weight:300;font-size:96px;line-height:1;margin:0 0 18px}@media (max-width:640px){.detail-num{font-size:64px}}.detail-title{font-family:var(--display);font-weight:560;font-size:34px;margin:0 0 18px}.detail-desc{font-size:16.5px;line-height:1.75;color:var(--ink-soft);max-width:60ch}.detail-desc p{margin:0 0 16px}.meta-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.meta-item{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.meta-item b{display:block;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:3px;font-family:var(--sans)}.records{margin-top:48px}.records-head{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:16px;display:flex;justify-content:space-between}.record{border-top:1px solid var(--line);padding:22px 0}.record:last-child{border-bottom:1px solid var(--line)}.record-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.record-title{font-family:var(--display);font-size:19px;font-weight:560}.record-tag{font-family:var(--mono);font-size:10px;color:var(--ink-faint);white-space:nowrap}.record-sub{font-size:14px;color:var(--ink-soft);margin-top:6px;max-width:56ch}.empty{border-top:1px solid var(--line);padding:30px 0;color:var(--ink-faint);font-family:var(--mono);font-size:12px;line-height:1.8}.empty b{color:var(--ink-soft);font-family:var(--sans);font-size:13px;display:block;margin-bottom:6px}.inst-group{margin-top:36px}.inst-group h3{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px;font-weight:400}.inst-grid{display:flex;flex-wrap:wrap;gap:10px}.inst-chip{font-family:var(--mono);font-size:12.5px;padding:8px 14px;border:1px solid var(--line);border-radius:2px;cursor:pointer;color:var(--ink-soft);background:none}.inst-chip:hover{border-color:var(--accent-line);color:var(--ink);background:var(--accent-soft)}.inst-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--paper)}.inst-related{margin-top:14px;font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);line-height:1.8;min-height:1.8em}.inst-related b{color:var(--accent);font-family:var(--sans);font-weight:500;font-size:12.5px}.link-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--line);text-decoration:none}.link-row:last-child{border-bottom:1px solid var(--line)}.link-plat{font-family:var(--display);font-size:19px}.link-url{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}.link-row:hover .link-url{color:var(--accent)}.site-footer{margin-top:70px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink-faint);line-height:1.9}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;font-family:var(--sans);background:var(--paper);color:var(--ink)}.admin-nav{border-right:1px solid var(--line);padding:24px}.admin-nav a{display:block;padding:8px 0;font-size:14px;text-decoration:none;color:var(--ink-soft)}.admin-nav a:hover{color:var(--accent)}.admin-main{padding:32px 40px;max-width:900px}.admin-main h1{font-family:var(--display)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.admin-form label{display:block;margin:16px 0 6px;font-size:13px;color:var(--ink-soft)}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:8px 10px;border:1px solid var(--line);background:#fff;font-family:var(--sans);font-size:14px;border-radius:3px}.admin-form textarea{min-height:100px}.btn{display:inline-block;padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;text-decoration:none}.btn.secondary{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn.danger{background:#a3392f}.badge{font-family:var(--mono);font-size:10px;padding:3px 8px;border-radius:10px;background:var(--paper-dim);color:var(--ink-faint)}.badge.published{background:var(--accent-soft);color:var(--accent)}