:root{--ink:#352b34;--accent:#7d4f66;--paper:#faf6f7;--line:#e4d6de}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--accent);background:white;color:var(--accent);border-radius:7px;padding:8px 14px;text-decoration:none}button:hover,.button:hover{background:#f1e5ec}button:disabled{opacity:.5;cursor:wait}.pub-header{padding:28px max(5vw,20px);border-bottom:1px solid var(--line);background:#fffafc}.wordmark{font:600 38px Georgia,serif;text-decoration:none;display:block}.wordmark span{display:block;font:12px system-ui;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.pub-header nav,.publishing-strip{display:flex;gap:18px;flex-wrap:wrap;padding:20px 0}.pub-header nav a,.publishing-strip a{font-size:14px;text-decoration:none}.pub-header form{display:flex;gap:8px;max-width:520px}.pub-header form input{flex:1;min-width:0}.publishing-strip{justify-content:center;padding:14px 20px;border-bottom:1px solid var(--line)}input,textarea,select{width:100%;padding:11px;border:1px solid #cbb8c3;border-radius:6px;background:white;color:var(--ink)}.pub-main{max-width:880px;margin:55px auto;padding:0 22px}.pub-main h1{font:48px/1.15 Georgia,serif;letter-spacing:-1px}.post{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;margin:24px 0;overflow:hidden}.post h2{font:30px/1.3 Georgia,serif;margin:14px 0}.post h2 a{text-decoration:none;color:var(--ink)}.quotation h2{font-size:34px}.quotation .prose{display:none}.post-meta,.byline{font-size:12px;letter-spacing:.5px;color:#776470}.post-meta{text-transform:uppercase}.subtitle{font-size:20px;color:#776470}.prose{overflow-wrap:anywhere;line-height:1.85}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px}.gallery figure{margin:16px 0;min-width:100%;scroll-snap-align:start}.gallery img,.gallery video{display:block;max-width:100%;width:100%;max-height:640px;object-fit:contain;border-radius:8px;background:#f5eff2}.gallery figcaption{font-size:13px;color:#776470}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.actions button{font-size:13px}.tags{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.share-links{font-size:12px;margin-top:12px}.share-links a{margin-right:14px}.thread{border-left:2px solid var(--line);padding-left:30px}.thread li{padding:10px 0}.pagination{display:flex;justify-content:space-between;gap:20px}.muted{color:#776470}.empty{padding:35px;background:#fff;border:1px dashed var(--line);border-radius:12px}footer{border-top:1px solid var(--line);padding:30px 5vw;font-size:13px;display:flex;gap:20px;flex-wrap:wrap}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;z-index:1000;max-width:90vw;padding:0}#notice:not(:empty){padding:12px 20px}.editor label{display:block;margin:20px 0 5px;font-size:14px;font-weight:600}.editor textarea{min-height:160px}.editor .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor [type=checkbox]{width:auto}.editor .toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.editor #preview{background:white;border:1px solid var(--line);padding:24px;border-radius:10px;white-space:pre-wrap}.media-edit{padding:12px;border:1px solid var(--line);margin:12px 0;border-radius:6px}.media-edit img,.media-edit video{max-height:150px;max-width:100%}.dashboard-item{padding:18px 0;border-bottom:1px solid var(--line)}.dashboard-item a{margin-right:15px}.notice{padding:16px;background:#f1e5ec;border-radius:8px;font-size:14px}dt{font-weight:600}dd{margin-left:0}.section .post .prose{font-size:16px}@media(max-width:600px){.pub-main{margin-top:30px}.pub-main h1{font-size:36px}.post{padding:20px}.post h2,.quotation h2{font-size:27px}.editor .row{grid-template-columns:1fr}.pub-header nav{gap:12px}.pub-header{padding:22px}.actions button{padding:8px 10px}}

.pub-main .books-showcase{display:none}.pub-main .section img{max-width:100%;height:auto}.pub-main .platforms-grid{display:flex;gap:18px;flex-wrap:wrap}.pub-main .platform-card span{display:block}.pub-main .frameworks-grid{display:grid;gap:20px}.pub-main .framework-card{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}
.actions .heart-button{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:#211e20;padding:6px 10px 6px 0;min-height:48px;font-size:18px;font-weight:650}.heart-button svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.actions .heart-button[aria-pressed=true]{color:#a33c60}.heart-button[aria-pressed=true] svg{fill:currentColor}.actions .heart-button:hover{background:transparent;transform:scale(1.04)}.like-surface{position:relative;touch-action:manipulation}.like-surface::after{content:'♥';position:absolute;left:50%;top:50%;font:90px/1 system-ui;color:white;text-shadow:0 2px 14px #60243c;pointer-events:none;transform:translate(-50%,-50%) scale(0);opacity:0}.like-surface.heart-burst::after{animation:heart-pop .8s ease-out}.read-quote{display:inline-block;font-size:13px;margin-top:14px}.social-profile{overflow:hidden;background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:38px}.profile-cover{background:#6d3d53;color:#fff4e5;min-height:205px;padding:30px 30px 50px;text-align:center}.profile-cover p{font:italic 28px/1.35 Georgia,serif;margin:4px 0}.profile-cover span{font:18px Georgia,serif}.profile-avatar{position:relative;display:block;width:110px;height:110px;object-fit:cover;object-position:center 28%;border-radius:50%;border:5px solid white;margin:-50px 0 0 25px}.profile-bio{padding:8px 25px 24px}.profile-bio h2{font:700 26px/1.3 system-ui;margin:12px 0 2px}.profile-bio h2 span{font-weight:450}.profile-bio p{margin:7px 0}.profile-bio>a{font-size:13px}.profile-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.profile-tabs{display:flex;gap:24px;overflow-x:auto;padding:16px 25px 0;border-top:1px solid var(--line)}.profile-tabs a{white-space:nowrap;text-decoration:none;padding-bottom:12px}.profile-tabs [aria-current]{border-bottom:3px solid var(--accent);font-weight:700}@keyframes heart-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%,65%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@media(prefers-reduced-motion:reduce){.like-surface.heart-burst::after{animation:none;opacity:1;transform:translate(-50%,-50%) scale(1)}}
/* Open publishing feed */
.platform-body{background:#fff}.platform-header{max-width:880px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.platform-brand{font:600 32px Georgia,serif;text-decoration:none;color:var(--accent)}.platform-tools{display:flex;align-items:center;gap:24px}.platform-tools>a{font-size:30px;line-height:1;text-decoration:none}.platform-menu{position:relative}.platform-menu summary{cursor:pointer;font-size:22px;list-style:none}.platform-menu nav{position:absolute;right:0;top:35px;z-index:20;width:210px;background:white;border:1px solid var(--line);box-shadow:0 8px 25px #352b3414;padding:12px}.platform-menu nav a{display:block;padding:8px 12px;text-decoration:none}.platform-body .pub-main{margin:0 auto;padding-top:18px;padding-bottom:65px}.post{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin:0;padding:28px 0 24px;overflow:visible}.post .gallery img,.post .gallery video{border-radius:0}.social-profile{border:0;border-radius:0;box-shadow:none;background:transparent}.composer-shortcut{display:flex;align-items:center;gap:14px;padding:10px 0 22px;text-decoration:none;font-size:16px;color:#776470}.composer-shortcut img{width:46px;height:46px;object-fit:cover;border-radius:50%}.composer-shortcut span:last-child{font-size:28px;margin-left:auto}.platform-stats{display:flex;gap:24px;font-size:13px;color:#776470;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.platform-stats strong{color:var(--ink)}.mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:12px 8px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:clamp(20px,6vw,55px)}.mobile-tabs a{text-decoration:none;font-size:13px;font-weight:600}.platform-body footer{padding-bottom:80px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.platform-body .pub-main{padding-left:18px;padding-right:18px}.post{padding:24px 0}.post .gallery{margin-left:-18px;margin-right:-18px}.platform-header{padding:16px 18px}.platform-brand{font-size:29px}.platform-tools{gap:20px}.post h2,.quotation h2{font-size:25px}.composer-shortcut{font-size:14px}}
/* Personal publishing profile and simple composer */
.platform-header{position:sticky;top:0;background:#fff;z-index:30}.platform-tools svg{width:27px;height:27px;display:block}.platform-header .platform-brand{font-size:30px}.social-profile{margin-top:-18px;margin-left:-22px;margin-right:-22px;margin-bottom:0}.profile-cover{min-height:250px;display:flex;flex-direction:column;justify-content:center;padding:30px 28px 65px;background:#eee7dc;color:#453e37;border-bottom:5px solid #7d4f66}.profile-cover p{font-size:clamp(21px,3.5vw,31px);line-height:1.4;max-width:620px;margin:auto}.profile-cover span{font-size:17px;margin-top:12px}.profile-avatar{width:130px;height:130px;margin-top:-58px;margin-left:22px;border:5px solid #fff}.profile-bio{padding:4px 22px 20px}.profile-bio h2{font-size:27px}.profile-bio>.muted{font-size:14px}.profile-bio>p{font-size:16px}.profile-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-buttons .button{text-align:center;font-size:14px;border:0;background:#f1ecef;padding:13px 8px}.primary-button,.profile-buttons .primary-button{background:#7d4f66;color:white;border-color:#7d4f66}.primary-button:hover{background:#663d51;color:white}.profile-tabs{padding:0 22px;border-top:1px solid #eee;gap:26px}.profile-tabs a{padding:16px 0;font-size:14px}.platform-stats{gap:30px;justify-content:center;padding:18px 0;font-size:13px}.platform-stats strong{display:block;text-align:center;font-size:23px;line-height:1.2}.composer-shortcut{padding:20px 0}.quick-publish{display:flex;justify-content:space-around;padding:16px 0;border-bottom:6px solid #f3f0f2}.quick-publish a{text-decoration:none;font-size:13px;font-weight:600}.feed-heading{font:650 19px system-ui;margin:24px 0 0}.empty{background:transparent;border:0;text-align:center;color:#8b7a84;padding:55px 15px}.mobile-tabs{padding-top:10px;gap:0;justify-content:space-evenly;box-shadow:0 -4px 15px #352b3408}.mobile-tabs a{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px;font-size:10px;color:#70666c}.mobile-tabs svg{width:25px;height:25px}.mobile-tabs [aria-current=page]{color:#7d4f66}.mobile-tabs [aria-current=page] svg{stroke-width:2.6}.post-author{display:flex;align-items:center;gap:12px}.post-author img{width:42px;height:42px;border-radius:50%;object-fit:cover}.post-author a{text-decoration:none;color:#352b34;font-weight:650;font-size:15px}.post-author a span{font-size:12px;font-weight:400;color:#8b7a84}.post-author .post-meta{font-size:11px;text-transform:none}.post:not(.quotation) h2{font:500 20px/1.45 system-ui}.compose-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.compose-heading h1{font:650 23px system-ui}.compose-heading>a{font-size:13px;text-decoration:none}.compose-identity{display:flex;gap:12px;align-items:center;margin:25px 0 10px}.compose-identity img{width:46px;height:46px;border-radius:50%;object-fit:cover}.compose-identity small{display:block;font-size:12px;color:#8b7a84}.simple-editor #body{border:0;resize:vertical;min-height:180px;padding:16px 0;font-size:19px;line-height:1.6;outline-color:#7d4f66}.simple-editor #tags{border:0;border-bottom:1px solid var(--line);border-radius:0;padding-left:0}.simple-editor .upload-label{font-size:15px;color:#7d4f66}.simple-editor input[type=file]{font-size:13px;border:0;background:#f7f3f5}.upload-hint{font-size:11px;color:#8b7a84}.more-options{margin:24px 0;font-size:14px}.more-options>summary{cursor:pointer;color:#7d4f66}.simple-editor .toolbar{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.simple-editor .toolbar button{font-size:14px;padding:12px 4px}@media(max-width:600px){.social-profile{margin-left:-18px;margin-right:-18px}.profile-cover{min-height:225px}.profile-avatar{width:120px;height:120px}.profile-bio h2{font-size:23px}.profile-bio h2 span{display:block;font-size:15px;margin-top:3px}.profile-tabs{gap:24px}.post .gallery figure{margin-bottom:0}.platform-body footer{font-size:11px}.platform-stats{padding:15px 0}.simple-editor .row{display:block}}

.post .actions{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;margin-top:14px}.post .actions .heart-button,.post .actions .social-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 0;border:0;background:transparent;color:#211e20;font-size:14px;font-weight:650;border-radius:0}.post .actions svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.post .actions .heart-button:hover{transform:none}.post .actions .heart-button[aria-pressed=true]{color:#a33c60}.post .actions [aria-pressed=true] svg{fill:currentColor}.post .actions .save-post{margin-left:auto}.post-utilities{display:flex;gap:18px;margin-top:10px}.post-utilities button{border:0;background:transparent;padding:4px 0;font-size:13px}.post .actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

[data-owner-only][hidden]{display:none!important}
/* Message sharing and downloadable images */
.post-utilities{flex-wrap:wrap;gap:10px 20px}.post-utilities button{min-height:38px}.share-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 28px));max-height:85dvh;overflow:auto;padding:30px 26px;border:0;border-radius:22px;background:#faf8f2;color:#392f30;box-shadow:0 18px 80px #0003}.share-dialog::backdrop{background:rgba(24,21,18,.65)}.share-dialog h2{font:36px/1.15 Georgia,serif;margin:8px 40px 10px 0}.share-close{position:absolute;right:19px;top:16px;border:0;background:none;color:inherit;font-size:36px;line-height:1;width:44px;height:44px;padding:0}.share-quote-preview{margin:0 0 22px;font-size:18px;line-height:1.5}.share-dialog textarea{box-sizing:border-box;display:block;width:100%;min-height:150px;resize:vertical;border:1px solid #ded7cf;border-radius:12px;background:transparent;padding:18px;color:inherit;font:18px/1.5 system-ui}.share-dialog .share-primary,.share-download{box-sizing:border-box;display:block;width:100%;margin-top:22px;padding:17px;border:0;border-radius:10px;text-align:center;background:#6d4354;color:white;font:18px/1.4 system-ui;text-decoration:none}.share-download{background:#eee6e5;color:#5b3446;margin-top:12px}.share-copy{display:block;border:0;background:none;color:#6d4354;margin:14px auto 0;text-align:center;font-size:14px}.share-status{font:14px/1.5 system-ui}.share-status:empty{display:none}.share-image-preview{display:block;width:auto;max-width:100%;max-height:44dvh;height:auto;object-fit:contain;margin:14px auto}.share-dialog button:focus-visible,.share-dialog a:focus-visible,.share-dialog textarea:focus-visible{outline:3px solid #9c7185;outline-offset:3px}@media(max-width:480px){.share-dialog{padding:25px 20px}.share-dialog h2{font-size:30px}.post .actions{gap:14px}}

/* Artwork cards match the reading and sharing layout of the quote collection. */
.platform-body:has(.artwork-post){background:#faf8f2}
.artwork-post{margin:30px 0;background:#fffdf8;border:1px solid #e2dbcf;border-radius:11px;padding:0;overflow:hidden;box-shadow:0 0 0 1px #e8e1d626}
.post.artwork-post .gallery{margin:0;gap:0}
.post.artwork-post .gallery figure{margin:0;flex:0 0 100%;min-width:100%}
.post.artwork-post .gallery img{width:100%;height:auto;max-height:none;display:block;border-radius:0;background:#f3eee4}
.artwork-body{padding:28px 24px 30px}
.artwork-category{font:600 10px/1.5 system-ui;letter-spacing:3px;color:#8b7f70}
.post.artwork-post .artwork-title{font:30px/1.25 Georgia,serif;margin:16px 0 18px;letter-spacing:0;overflow-wrap:anywhere}
.post.artwork-post .artwork-title a{color:#39332e;text-decoration:none}
.artwork-caption{font:21px/1.55 Georgia,serif;color:#39332e}.artwork-caption p{margin:0}
.artwork-byline{font:17px/1.5 Georgia,serif;color:#796f64;margin:12px 0 24px}
.artwork-note,.artwork-sources p{font:13px/1.65 system-ui;color:#7d7469}
.artwork-sources{border-top:1px solid #e2dbcf;margin-top:16px;padding:20px 0;font-size:14px;color:#39332e}
.artwork-sources summary{cursor:pointer}
.post.artwork-post .actions{margin-top:26px;gap:16px;flex-wrap:nowrap}
.post.artwork-post .actions svg{width:26px;height:26px}
.post.artwork-post .actions button{font-size:15px;min-width:28px;gap:6px;color:#231f1c}
.post.artwork-post .actions .heart-button[aria-pressed=true]{color:#a33c60}
.post.artwork-post .actions .action-icon{display:flex}
.post.artwork-post .post-utilities{margin-top:18px;gap:12px 18px;display:flex;flex-wrap:wrap}
.artwork-post .post-utilities button{font:14px/1.5 system-ui;color:#6d4354;display:inline-flex;align-items:center;gap:6px;min-height:40px}
.artwork-post .post-utilities svg{width:17px;height:17px}
.artwork-post .owner-post-actions{padding:12px 20px;background:#f8f3eb}
@media(max-width:380px){.artwork-body{padding:24px 18px}.post.artwork-post .actions{gap:11px}.post.artwork-post .actions svg{width:24px;height:24px}.post.artwork-post .actions button{font-size:14px}}

.post-utilities a,.post-utilities button{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:#6d4354;font:14px/1.5 system-ui;text-decoration:none}.post-utilities svg{width:17px;height:17px}.post-utilities a:focus-visible,.post-utilities button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
