.nlp-post-page { background: #dce5ed; }
.post-site-header {
    background-image: linear-gradient(rgba(32, 35, 45, .24), rgba(32, 35, 45, .2)), url("../images/background1.png");
    background-position: 92% center;
    background-repeat: no-repeat;
    background-size: 155% auto;
    min-height: 0;
}
.post-title-card { color: var(--charcoal); margin: 0 auto; max-width: 1040px; padding: 82px 30px 70px; }
.post-title-card h1 {
    font-size: clamp(2.7rem, 6vw, 5.4rem);
    letter-spacing: -.05em;
    line-height: 1;
    margin: 0;
    max-width: 900px;
    text-shadow: 0 2px 12px rgba(255, 255, 255, .7);
}
.post-meta {
    align-items: center;
    color: #403a40;
    display: flex;
    flex-wrap: wrap;
    font-family: "Courier New", monospace;
    font-size: .72rem;
    gap: 13px;
    margin-top: 26px;
    text-shadow: 0 1px 7px rgba(255, 255, 255, .8);
}
.post-meta span { color: #684790; }
.post-meta a { color: inherit; font-weight: 700; }
.post-inline-header {
    border-bottom: 3px double #a8bbc9;
    margin-bottom: 50px;
    padding-bottom: 34px;
}
.post-inline-header h1 {
    border: 0;
    color: #293954;
    font-size: clamp(2.35rem, 5vw, 4rem);
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0;
    padding: 0;
}
.post-inline-header .post-meta {
    color: #625b61;
    margin-top: 20px;
    text-shadow: none;
}
.post-shell {
    align-items: start;
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, 780px) 190px;
    justify-content: center;
    padding: 90px 28px 110px;
}
.post-paper {
    background-color: #fffdf8;
    background-image: repeating-linear-gradient(transparent, transparent 31px, rgba(207, 222, 233, .7) 32px);
    border: 1px solid #cabfaf;
    box-shadow: 13px 15px 0 rgba(46, 63, 83, .16);
    color: #2c2b2a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.06rem;
    line-height: 1.85;
    min-width: 0;
    padding: clamp(34px, 7vw, 78px);
    position: relative;
    transform: rotate(-.25deg);
}
.post-tape {
    background: rgba(215, 234, 159, .78);
    height: 34px;
    left: calc(50% - 62px);
    position: absolute;
    top: -18px;
    transform: rotate(1.5deg);
    width: 124px;
}
.post-paper > :first-child { margin-top: 0; }
.post-paper > :last-child { margin-bottom: 0; }
.post-paper p { margin: 0 0 1.55em; }
.post-paper h1, .post-paper h2, .post-paper h3, .post-paper h4 { color: #293954; line-height: 1.2; margin: 1.55em 0 .7em; }
.post-paper h1 { border-bottom: 3px double #a8bbc9; font-size: 2.2rem; padding-bottom: .35em; }
.post-paper h2 { font-size: 1.75rem; }
.post-paper h3 { font-size: 1.4rem; }
.post-paper h4 { color: #684790; font-size: 1.1rem; }
.post-paper strong { color: #24354e; }
.post-paper em { color: #51495a; }
.post-paper a { color: #604381; text-decoration-color: #a7cbd1; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.post-paper a:hover { background: rgba(215, 234, 159, .6); }
.post-paper blockquote {
    background: rgba(219, 232, 235, .58);
    border-left: 5px solid #8db5bd;
    color: #45464c;
    font-style: italic;
    margin: 2em 0;
    padding: 18px 22px;
}
.post-paper blockquote p:last-child { margin-bottom: 0; }
.post-paper code {
    background: #ece9e3;
    border-radius: 3px;
    color: #694975;
    font-family: "Courier New", monospace;
    font-size: .86em;
    padding: .14em .32em;
}
.post-paper pre {
    background: #283243;
    border-left: 5px solid #b9d9dc;
    box-shadow: 5px 6px 0 rgba(106, 75, 131, .18);
    color: #edf3ed;
    line-height: 1.55;
    margin: 2em 0;
    max-width: 100%;
    overflow-x: auto;
    padding: 22px;
    transform: rotate(.12deg);
}
.post-paper pre code { background: transparent; color: inherit; font-size: .8rem; padding: 0; }
.post-paper img {
    background: white;
    border: 1px solid #c9c0b4;
    box-shadow: 7px 8px 0 rgba(157, 199, 206, .45);
    display: block;
    height: auto;
    margin: 2.2em auto;
    max-width: 100%;
    padding: 8px;
    transform: rotate(-.35deg);
}
.post-paper ul, .post-paper ol { margin: 0 0 1.6em; padding-left: 1.6em; }
.post-paper li { margin-bottom: .55em; padding-left: .25em; }
.post-paper hr { border: 0; border-top: 2px dashed #b6a9bd; margin: 3em 0; }
.post-margin-note {
    background: #fff8a8;
    box-shadow: 6px 7px 0 rgba(69, 68, 83, .17);
    color: #383431;
    font-family: "Courier New", monospace;
    margin-top: 38px;
    padding: 24px 20px;
    position: sticky;
    top: 24px;
    transform: rotate(2deg);
}
.post-margin-note p { color: #76559a; font-size: .62rem; letter-spacing: .1em; margin: 0 0 10px; text-transform: uppercase; }
.post-margin-note strong { display: block; font-family: Georgia, serif; font-size: 1rem; line-height: 1.35; margin-bottom: 24px; }
.post-margin-note a { color: #383431; display: block; font-size: .68rem; margin-top: 12px; text-decoration: none; }
@media (max-width: 900px) {
    .post-shell { grid-template-columns: minmax(0, 760px); }
    .post-margin-note { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; order: -1; position: static; transform: rotate(-.5deg); }
    .post-margin-note p, .post-margin-note strong { display: none; }
    .post-margin-note a { margin: 0; }
}
@media (max-width: 560px) {
    .post-inline-header { margin-bottom: 38px; }
    .post-shell { padding: 65px 12px 75px; }
    .post-paper { font-size: .98rem; padding: 38px 22px; transform: none; }
    .post-paper pre { margin-left: -10px; margin-right: -10px; padding: 17px; }
}
@media (prefers-reduced-motion: reduce) { .nlp-post-page * { transition: none !important; } }
