:root{--paper:#F3F0E9;--ink:#1B1A17;--acute:#C1272D;--chronic:#1C3D5A;--meta:#6E6A5E;--rule:#D8D2C2;--body2:#4A463C}
*{box-sizing:border-box}
body{max-width:880px;margin:0 auto;padding:0 20px 80px;background:var(--paper);color:var(--ink);line-height:1.65;
font-family:Pretendard,-apple-system,'Apple SD Gothic Neo',sans-serif;word-break:keep-all}
.mono,nav,.no,.tags,.src,.sig,.meta-line{font-family:'IBM Plex Mono',Consolas,monospace}
a{color:inherit}
header.mast{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:3px double var(--ink);padding:34px 0 16px}
.mast-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.brand{font-family:Hahmlet,Georgia,serif;font-weight:700;font-size:40px;letter-spacing:-.02em;margin:0;line-height:1.1}
.brand a{text-decoration:none}
.meta-line{font-size:11px;letter-spacing:2px;color:var(--meta);margin-top:8px}
nav{font-size:12px;letter-spacing:1px;padding-bottom:4px;white-space:nowrap}
nav a{text-decoration:none;color:var(--meta);margin-left:16px}
nav a:hover{color:var(--ink)}
.seal{flex:none;width:92px;height:92px;border:3px double var(--acute);border-radius:50%;color:var(--acute);
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transform:rotate(-6deg);
font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1px;margin-bottom:6px}
.seal b{font-size:22px;letter-spacing:0}
.thesis{font-size:16.5px;line-height:1.8;margin:26px 0 6px}
h2{font-family:Hahmlet,Georgia,serif;font-size:19px;margin:44px 0 2px}
.section-sub{font-size:11px;color:var(--meta);letter-spacing:1.5px;margin-bottom:6px}
.row{display:grid;grid-template-columns:76px 1fr 150px;gap:20px;padding:22px 0 24px;border-top:1px solid var(--rule)}
.row .no{font-size:12.5px;color:var(--meta);padding-top:4px;letter-spacing:.5px}
.tags{font-size:11px;letter-spacing:.4px;color:var(--meta);margin:0}
.tags b{font-weight:600}
.ol a,.no a{color:inherit;text-decoration:none}
.ol a:hover{text-decoration:underline}
.crumb{font-size:11px;color:var(--meta);margin:26px 0 18px}
.crumb a{color:var(--meta);text-decoration:none}
.detail h1.ol{font-size:24px;line-height:1.5;margin:10px 0 8px}
.detail .ctx{font-size:16px;line-height:1.75;margin:14px 0}
.detail-sig{font-family:'IBM Plex Mono',monospace;margin:14px 0 4px}
.detail-sig b{font-size:32px;font-weight:600}
.detail-sig.acute b{color:var(--acute)}
.detail-sig.chronic b{color:var(--chronic)}
.detail-sig span{font-size:11px;color:var(--meta);letter-spacing:1.5px;margin-left:8px}
.srcs{font-size:13px;word-break:break-all;padding-left:18px}
.srcs a{color:#8A8577}
.card{border-top:1px solid var(--rule);padding:18px 0 20px}
.card-t{font-size:16px;font-weight:700;margin:6px 0 8px}
.card-t a{color:inherit;text-decoration:none}
.card-t a:hover{text-decoration:underline}
.card-sigs{margin:2px 0 6px}
.card-sigs span{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:15px;margin-right:18px}
.card-sigs .acute{color:var(--acute)}
.card-sigs .chronic{color:var(--chronic)}
.pn{display:flex;justify-content:space-between;gap:12px;border-top:3px double var(--ink);margin-top:44px;padding-top:14px;font-size:12px}
.pn a{color:var(--meta);text-decoration:none}
.pn a:hover{color:var(--ink)}
.ctx,.src{margin:0}
.src{margin-top:9px}
.row.acute .tags b,.row.acute .sig b{color:var(--acute)}
.row.chronic .tags b,.row.chronic .sig b{color:var(--chronic)}
.ol{font-size:17px;font-weight:700;line-height:1.55;margin:7px 0 5px}
.ctx{font-size:14.5px;color:var(--body2)}
.src{font-size:11px;margin-top:9px}
.src a{color:#8A8577}
.sig{text-align:right;padding-top:2px}
.sig b{display:block;font-size:23px;font-weight:600;line-height:1.3}
.sig span{font-size:10.5px;color:var(--meta);letter-spacing:1.5px}
form.sub{display:flex;gap:10px;margin:22px 0 40px;max-width:600px}
form.sub input{flex:1;padding:12px 14px;font-size:15px;font-family:inherit;border:1.5px solid var(--ink);background:#FBF9F3;border-radius:0;color:var(--ink)}
form.sub input:focus{outline:2px solid var(--acute);outline-offset:1px}
form.sub button{padding:12px 22px;font-size:14px;font-family:'IBM Plex Mono',monospace;letter-spacing:1px;background:var(--ink);color:var(--paper);border:none;border-radius:0;cursor:pointer}
form.sub button:hover{background:var(--acute)}
#msg{font-size:13px;color:var(--body2);margin:-30px 0 30px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.filters select{font-family:'IBM Plex Mono',monospace;font-size:12px;padding:7px 9px;border:1px solid var(--meta);background:#FBF9F3;color:var(--ink);border-radius:0}
ul.arch{list-style:none;padding:0}
ul.arch li{border-top:1px solid var(--rule);padding:14px 0;font-family:'IBM Plex Mono',monospace;font-size:14px}
ul.arch a{text-decoration:none}
.more{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;margin-top:26px;color:var(--ink)}
footer{border-top:3px double var(--ink);margin-top:70px;padding-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--meta);line-height:1.9}
@media(max-width:640px){
.brand{font-size:30px}
header.mast{flex-wrap:wrap}
.seal{display:none}
.row{grid-template-columns:1fr;gap:4px;padding:18px 0 20px}
.row .no{padding:0}
.sig{text-align:left;padding:2px 0 0}
form.sub{flex-direction:column}
}