.pub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pub-panel{min-width:0;min-height:290px;border:1px solid var(--line);background:var(--cream);padding:32px 34px}
.pub-panel-header{padding-bottom:25px;border-bottom:1px solid var(--line)}
.pub-kicker{margin:0 0 14px;color:var(--muted);font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}
.pub-panel-title{margin:0;font-family:var(--serif);font-size:clamp(28px,2.8vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.pub-empty{display:flex;align-items:flex-start;gap:16px;padding:31px 0 9px}
.pub-empty-line{display:block;flex:0 0 23px;height:1px;background:var(--terra);margin-top:11px}
.pub-empty p{max-width:330px;margin:0;color:var(--muted);font-size:13px;line-height:1.85}
.pub-list{padding:0;margin:0;list-style:none}
.pub-list-item+.pub-list-item{border-top:1px solid var(--line)}
.pub-entry{padding:27px 0 23px}
.pub-list-item:last-child .pub-entry{padding-bottom:0}
.pub-date{display:block;color:var(--muted);font-family:var(--sans);font-size:11px;line-height:1.6;margin:0 0 12px}
.pub-demo{display:table;margin:0 0 14px;padding:4px 9px;border:1px solid var(--line);background:var(--paper);color:var(--terra);font-family:var(--sans);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.015em}
.pub-reader-demo{margin-bottom:18px}
.pub-entry-title{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.pub-excerpt{font-family:var(--sans);font-size:13px;line-height:1.85;color:var(--muted);margin:13px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.pub-read,.pub-library{display:inline-flex;align-items:center;gap:12px;background:none;border:0;border-bottom:1px solid var(--terra);padding:7px 0 4px;margin-top:15px;color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none}
.pub-read:after,.pub-library:after{content:'↗';color:var(--terra);font-size:17px;font-weight:400;line-height:1}
.pub-read:hover,.pub-library:hover{color:var(--terra)}
.pub-read:focus-visible,.pub-library:focus-visible,.pub-close:focus-visible{outline:3px solid var(--terra);outline-offset:5px}
.pub-notice{margin:18px 0;color:var(--muted);font-family:var(--sans);font-size:13px;line-height:1.7}
.pub-retry{margin:0 0 0 8px}
.pub-dialog{padding:0;width:min(760px,calc(100% - 40px));max-height:calc(100dvh - 48px);border:1px solid var(--line);background:var(--cream);color:var(--ink);overscroll-behavior:contain}
.pub-dialog::backdrop{background:rgba(24,30,26,.58)}
.pub-reader{padding:30px 42px 40px}
.pub-reader-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.pub-reader-bar .pub-kicker{margin:0}
.pub-close{flex:0 0 auto;min-height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 14px;font-family:var(--sans);font-size:12px;line-height:1.5;cursor:pointer}
.pub-close:hover{border-color:var(--ink)}
.pub-reader-title{font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}
.pub-reader-date{margin-top:17px;margin-bottom:0}
.pub-reader-body{margin-top:29px;font-family:var(--sans);font-size:15px;line-height:1.95;overflow-wrap:anywhere}
.pub-reader-body p{margin:0;white-space:pre-line}
.pub-reader-body p+p{margin-top:20px}
.pub-library{margin-top:29px}
.pub-library[hidden],.pub-reader-date[hidden],.pub-reader-demo[hidden]{display:none}
@media(max-width:760px){.pub-grid{grid-template-columns:1fr;gap:18px}.pub-panel{min-height:235px;padding:25px 23px}.pub-panel-header{padding-bottom:21px}.pub-kicker{font-size:9px;margin-bottom:11px}.pub-panel-title{font-size:31px}.pub-empty{padding-top:26px}.pub-empty p{font-size:12px}.pub-entry-title{font-size:25px}.pub-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.pub-reader{padding:20px 23px 30px}.pub-reader-bar{gap:14px;margin-bottom:25px}.pub-reader-bar .pub-kicker{max-width:175px}.pub-reader-title{font-size:34px}.pub-reader-body{font-size:14px;line-height:1.9;margin-top:23px}}
