/* Shared publication components: all editions and both web/app surfaces. */
:root{--publication-font:TazikPixel,monospace;--publication-size:12px;--image-shadow:4px 4px 0 #cbbd9e;--publication-line:#c7b999}
body.tazik-app{--publication-font:TazikCompact,TazikText,Arial,sans-serif;--publication-size:16px}
:is(.site,.mini,.tazik-app) .hero-art img,:is(.site,.mini,.tazik-app) .article-image img,:is(.site,.mini,.tazik-app) .digest-section>img,:is(.site,.mini,.tazik-app) .hub-card img{box-shadow:var(--image-shadow);border:1px solid var(--publication-line)}
:is(.site,.mini,.tazik-app) .toc ol{margin:0;padding:0 0 12px 22px}
:is(.site,.mini,.tazik-app) .toc li{padding:0;margin:0 0 6px}
:is(.site,.mini,.tazik-app) .toc a{font:var(--publication-size)/1.35 var(--publication-font);padding:3px 0}
:is(.site,.mini,.tazik-app) .prose .faq{padding:0;margin:0;border-top:1px solid var(--publication-line)}
:is(.site,.mini,.tazik-app) .prose .faq summary{font:var(--publication-size)/1.35 var(--publication-font);min-height:44px;padding:12px 0;color:#41644e}
:is(.site,.mini,.tazik-app) .prose .faq p{margin:0 0 14px;padding:2px 0 0}
:is(.site,.mini,.tazik-app) .prose details[open]:not(:where(.d-action-menu))>summary{margin-bottom:10px}
:is(.site,.mini,.tazik-app) .prose .faq[open]>summary{margin-bottom:4px}
:is(.site,.mini,.tazik-app) .prose .pixel-note[open]>summary,:is(.site,.mini,.tazik-app) .prose .methodology[open]>summary{padding-bottom:12px}
:is(.site,.mini,.tazik-app) .reading-reward [data-claim],:is(.site,.mini,.tazik-app) .reading-reward [data-claim]:disabled{font:var(--publication-size)/1.3 var(--publication-font);min-height:42px;padding:10px 14px}
:is(.site,.mini,.tazik-app) .site-footer{font:var(--publication-size)/1.4 var(--publication-font);padding:18px 16px;margin:0 auto;display:block;text-align:center;background:transparent;color:#737663}
:is(.site,.mini,.tazik-app) .site-footer>.shell{padding:0;display:flex;align-items:center;justify-content:center;gap:8px 14px;flex-wrap:wrap}
:is(.site,.mini,.tazik-app) .site-footer>.shell>span:first-child{flex-basis:100%}
:is(.site,.mini,.tazik-app) .site-footer [aria-hidden=true]{display:none}
:is(.site,.mini,.tazik-app) .hub-footer{gap:14px;align-items:center;font:var(--publication-size)/1.4 var(--publication-font)}
:is(.site,.mini,.tazik-app) .app-help-link{font:var(--publication-size)/1.4 var(--publication-font);padding:0;min-height:32px;vertical-align:middle}
:is(.site,.mini,.tazik-app) .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* One comment anatomy: author row, full-width body, square action strip. */
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment{padding:14px 0;margin:0;min-height:0;position:relative;border-bottom:1px solid var(--publication-line)}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment>.d-author{display:flex;align-items:center;gap:10px;margin:0 0 8px;min-height:40px}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-author>.cat-avatar-button{position:static!important;padding:0!important;flex:0 0 40px}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-author canvas{width:40px;height:40px;display:block}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-author>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:0;flex:1}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-author strong{font:600 13px/1.3 TazikText,Arial,sans-serif}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-author time{font:11px/1.3 TazikText,Arial,sans-serif;color:#737663}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment>p{width:100%;margin:8px 0 10px;font:14px/1.5 TazikText,Arial,sans-serif}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment-footer{display:flex;align-items:center;width:100%;margin:0;gap:6px;flex-wrap:nowrap}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment-footer .d-reactions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;gap:4px;min-width:0;padding:0;margin:0}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment .d-reaction{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;height:36px;padding:5px 3px;gap:4px;border:1px solid var(--publication-line);border-radius:0;background:#fff7e3;box-shadow:1px 1px #d3c6aa;font:14px/1 var(--publication-font)}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-reaction svg{width:17px;height:18px;flex-shrink:0}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment-actions{display:flex;flex:none;margin:0}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment-actions>button:first-child{width:40px;height:36px;min-height:36px;padding:8px;border:1px solid var(--publication-line);background:#fff7e3;border-radius:0;font-size:0;overflow:hidden}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-comment-actions>button:first-child:before{content:'';display:block;width:20px;height:20px;background:currentColor;clip-path:polygon(0 40%,40% 0,40% 25%,70% 25%,70% 40%,85% 40%,85% 55%,100% 55%,100% 100%,80% 100%,80% 70%,65% 70%,65% 55%,40% 55%,40% 80%)}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-action-menu{position:relative;margin-left:auto;flex:0 0 32px;align-self:center}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-action-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:32px;height:36px;min-height:36px;padding:0;font:20px/1 var(--publication-font);border:1px solid var(--publication-line);background:#fff7e3;cursor:pointer}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-action-menu>summary::marker{content:''}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-action-menu>div{position:absolute;right:0;top:40px;z-index:10;width:160px;padding:4px;background:#fff7e3;border:1px solid #41644e;box-shadow:3px 3px #cbbd9e;display:grid;gap:3px}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-action-menu button{font:var(--publication-size)/1.3 var(--publication-font);width:100%;min-height:38px;padding:8px;text-align:left;white-space:nowrap;border:0;background:transparent;box-shadow:none}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-heading button{font:var(--publication-size)/1.2 var(--publication-font)!important;min-height:36px;padding:7px 10px!important;background:#fff7e3;border:1px solid var(--publication-line);box-shadow:2px 2px #d3c6aa;color:#41644e}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-thread{margin:0 0 8px 12px;padding-left:10px;border-left:2px solid var(--publication-line)}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-thread>summary{font:var(--publication-size)/1.3 var(--publication-font);color:#41644e;min-height:38px;padding:8px 0;cursor:pointer;list-style:none}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-thread>summary:before{content:'+';margin-right:8px}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-thread[open]>summary:before{content:'−'}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-parent{display:block;width:100%;min-width:0;margin:8px 0;padding:4px 8px;border:0;border-left:2px solid var(--publication-line);background:transparent;text-align:left;font:13px/1.35 var(--font-body,'TazikText',sans-serif);color:#7b7b68;box-shadow:none}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-parent strong{display:block;font:inherit;color:#41644e}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-parent span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
body:is(.site,.mini,.tazik-app) [data-discussion] .d-compose{margin-top:16px}

/* About Tazik: a single, reserved editorial tile and an ordinary soft pulse. */
.about-tazik-tile{position:relative;border:2px solid #c48b50!important;background:#e7edda!important;isolation:isolate}
.about-tazik-tile::after{content:"";position:absolute;inset:-5px;border:2px solid #cf8548;pointer-events:none;opacity:.25;animation:about-border 5s ease-in-out infinite}
.about-tazik-tile h2{color:#315d4a}.about-tazik-tile .eyebrow{color:#3f6350}
@keyframes about-border{0%,65%,100%{opacity:.15}78%{opacity:.85}90%{opacity:.3}}
.about-invite{margin:28px 0;padding:22px;border:2px solid #6f9278;background:#dfebd7;box-shadow:0 4px 10px #415b3d1c}
.about-invite h2{margin-top:0}.about-invite input{width:100%;min-width:0;box-sizing:border-box;padding:12px;color:#315d4a;background:#fffcf0;border:1px solid #79947b}
.about-share-actions{display:flex;gap:10px;margin-top:12px}.about-share-actions>*{flex:1;min-width:0}.about-share-status{min-height:1.5em;font-size:14px}
.about-gift-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 32px));border:2px solid #71947b;background:#fff8e6;color:#33372f;padding:24px;box-shadow:0 12px 40px #223a3f40;text-align:center}
.about-gift-dialog::backdrop{background:#243b3980}.about-gift-dialog img{display:block;width:180px;height:180px;object-fit:contain;margin:12px auto;image-rendering:pixelated}.about-gift-dialog .button{margin:6px}
.about-copied{animation:about-copied .6s ease-out}@keyframes about-copied{40%{transform:translateY(-3px);box-shadow:0 0 0 5px #dfac5755}}
@media(prefers-reduced-motion:reduce){.about-tazik-tile::after,.about-copied{animation:none}}

/* Keep the frame away from the image and title without touching the viewport. */
body.tazik-app .hub-grid .hub-card.about-tazik-tile{box-sizing:border-box;width:calc(100% + 12px);margin:10px -6px 16px;padding:12px 10px;gap:14px;}
.article-grid .article-tile.about-tazik-tile{box-sizing:border-box;padding:12px;}
.about-tazik-tile::after{inset:-3px;}
body.tazik-app .digest-section :is(h2,h3),.digest-document :is(h2,h3){color:#282c25;font-weight:400;}
body.tazik-app .digest-caption>p>strong:only-child,.digest-caption p>strong{color:#282c25;font-weight:700;}
.digest-caption p a strong,.digest-caption p strong a{font-weight:700;}
.digest-caption :is(h2,h3) :is(a,strong,b),body.tazik-app .digest-caption :is(h2,h3) :is(a,strong,b){color:inherit;font-weight:inherit;}
body.site .digest-news{display:flow-root;position:relative;}
body.site .digest-news>h2{position:sticky;top:var(--header-height,64px);z-index:5;background:#fff7e5;padding:12px 0;}
