/* Shared presentation controls and article features. Loaded after component styles. */
.moment-list-entry .post-entry-body{position:relative}
.moment-list-quote{position:absolute;right:0;top:-9px;color:#2563eb26;font:52px/1 Georgia,serif;pointer-events:none;user-select:none}
.moment-list-entry .moment-list-heading{padding-right:28px}
.article-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0;padding-top:16px;border-top:1px dashed #d9dee7}
.article-neighbor{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border:1px solid #e2e7f0;border-radius:9px;background:#f8faff;color:#2563eb}
.article-neighbor small{font-size:11px;color:#8a96a9}.article-neighbor span{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-neighbor:hover{background:#edf3ff;text-decoration:none}.article-neighbor.is-next{grid-column:2;text-align:right}
.showcase-heading,.special-photo .special-post-heading{position:relative;isolation:isolate;overflow:hidden;border-radius:12px}
.heading-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,transparent 38%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 38%,#000 100%)}
.heading-art img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
.showcase-heading:has(.heading-art){padding:24px;min-height:135px;background:#f5f8ff}
.showcase-heading:has(.heading-art)>:not(.heading-art){position:relative;max-width:65%}
.showcase-view-tools,.photo-layout-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 18px;font-size:12px;color:#71809a}
.showcase-view-tools>div{display:flex;gap:4px}.showcase-view-tools>div:only-child{margin-left:auto}
.showcase-view-tools button,.photo-layout-tools button{appearance:none;border:1px solid #dfe5ef;border-radius:6px;background:#fff;color:#72809a;font:inherit;font-size:12px;padding:6px 12px;cursor:pointer}
.showcase-view-tools button[aria-pressed=true],.photo-layout-tools button[aria-pressed=true]{color:#2563eb;border-color:#aac3f8;background:#eef4ff}
.showcase-view-tools button:focus-visible,.photo-layout-tools button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.showcase-view-tools select{margin-left:6px;border:1px solid #dfe5ef;border-radius:6px;padding:5px 7px;background:white;color:#56657e;font:inherit}
.showcase-reading-card{padding:16px;align-items:flex-start}.showcase-reading-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;min-height:19px}
.showcase-reading-copy .showcase-reading-meta .showcase-extra-tag{margin:0}
.showcase-reading-detail{position:static;margin-left:auto;white-space:nowrap;font-size:11px;line-height:18px}
.nuliblog-showcase .showcase-reading-detail .showcase-text-link{font-size:11px}
[data-showcase=reading][data-view-mode=compact] .extra-reading{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
[data-view-mode=compact] .showcase-reading-card{display:block;padding:0;border:0;border-radius:0}
[data-view-mode=compact] .showcase-reading-cover{width:100%;aspect-ratio:3/4;min-height:0;border-radius:7px}
[data-view-mode=compact] .showcase-reading-copy{padding:9px 0}
[data-view-mode=compact] .showcase-reading-copy>p:not(.showcase-creator),[data-view-mode=compact] .showcase-reading-meta,[data-view-mode=compact] .showcase-rating{display:none}
.nuliblog-showcase[data-view-mode=compact] .showcase-reading-copy h2{font-size:14px!important;margin:0;line-height:1.5}
[data-showcase=resources][data-view-mode="2"] .extra-resources{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-showcase=resources][data-view-mode="3"] .extra-resources{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-showcase=resources][data-view-mode="4"] .extra-resources{grid-template-columns:repeat(4,minmax(0,1fr))}
.showcase-resource-card{min-width:0;overflow-wrap:anywhere}
[data-view-mode="4"] .showcase-resource-card{flex-wrap:wrap;gap:10px;padding:14px}
.special-photo .special-post-heading{padding:22px 24px;border:1px solid #e4eaf3;background:#f8faff;margin-bottom:20px}
.special-photo .special-post-heading h1{position:relative;font-size:27px!important;line-height:1.4;margin:20px 0 10px}
.special-photo .moment-author{position:relative}.special-photo .photo-summary{font-size:14px;color:#64728a;line-height:1.7;position:relative;max-width:75%}
.photo-properties{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0 0;position:relative}
.photo-properties>div{display:flex;flex-direction:column;gap:3px}.photo-properties dt{font-size:10px;color:#8a97aa;font-weight:400}.photo-properties dd{font-size:12px;color:#485973;margin:0}
.photo-layout-tools{justify-content:flex-start;position:relative;margin:20px 0 0;padding-top:14px;border-top:1px solid #e2e8f2}
.special-photo .words .photo-frame{display:block;min-width:0;max-width:100%;margin:0!important;break-inside:avoid}
.special-photo .words .photo-frame>a{display:block}
.special-photo .words .photo-frame img{display:block;width:100%;max-width:100%;height:auto;margin:0!important;border-radius:7px}
.special-photo .words .photo-frame figcaption{font-size:12px!important;color:#7c889b!important;line-height:1.5;padding:7px 3px 0;margin:0;overflow-wrap:anywhere}
.special-photo .words .special-image-grid{display:flex!important;flex-direction:column;gap:20px;margin:20px 0;align-items:stretch}
.special-photo[data-photo-layout=grid] .words .special-image-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.special-photo[data-photo-layout=masonry] .words .special-image-grid{display:block!important;columns:3;column-gap:16px}
.special-photo[data-photo-layout=masonry] .words .photo-frame{margin-bottom:16px!important}
.special-photo[data-photo-layout=justified] .words .special-image-grid{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:start}
.special-photo[data-photo-layout=justified] .words .photo-frame{flex:none}
.special-photo[data-photo-layout=single] .words .photo-frame{width:100%}
/* The viewer uses a bright canvas; image colours retain their original contrast. */
.showcase-lightbox{background:#fff;color:#37455b;border:1px solid #e0e5ee;box-shadow:0 22px 90px #27334835}
.showcase-lightbox::backdrop{background:#e9edf3df;backdrop-filter:blur(5px)}
.showcase-lightbox-bar{border-color:#e7eaf0}.showcase-lightbox-actions{display:flex;gap:8px;flex:none}
.showcase-lightbox button{color:#53647e;border-color:#d9e0ea;background:#fff}.showcase-lightbox button:hover{background:#edf3ff;color:#2563eb}
.showcase-lightbox-stage{background:#f4f6f9}.showcase-lightbox-caption{color:#68778f}.showcase-lightbox-counter,.showcase-lightbox-error{color:#7c889c}
.showcase-lightbox:fullscreen,.showcase-lightbox.is-window-fullscreen{width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;border:0;border-radius:0;margin:0;display:flex;flex-direction:column}
.showcase-lightbox:fullscreen .showcase-lightbox-stage,.showcase-lightbox.is-window-fullscreen .showcase-lightbox-stage{flex:1;min-height:0;overflow:hidden}
.showcase-lightbox:fullscreen .showcase-lightbox-stage img,.showcase-lightbox.is-window-fullscreen .showcase-lightbox-stage img{max-height:calc(100dvh - 160px);max-width:100%;object-fit:contain}
@media(max-width:1100px){[data-showcase=resources][data-view-mode="4"] .extra-resources{grid-template-columns:repeat(2,minmax(0,1fr))}[data-showcase=reading][data-view-mode=compact] .extra-reading{grid-template-columns:repeat(3,minmax(0,1fr))}.special-photo[data-photo-layout=masonry] .words .special-image-grid{columns:2}}
@media(max-width:767px){
.showcase-heading:has(.heading-art){padding:16px;min-height:100px}.heading-art{mask-image:linear-gradient(to right,transparent 0%,transparent 55%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 55%,#000 100%)}
.showcase-heading:has(.heading-art)>:not(.heading-art){max-width:85%}.showcase-reading-card{padding:13px;gap:12px}.showcase-reading-cover{width:72px;min-height:108px}.showcase-reading-detail{margin-left:auto}.showcase-reading-meta{gap:4px}
[data-showcase=reading][data-view-mode=compact] .extra-reading{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
[data-showcase=resources][data-view-mode] .extra-resources{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.showcase-resource-card{display:block;padding:12px}.showcase-resource-card>.showcase-avatar{margin-bottom:8px}.showcase-resource-card .showcase-card-arrow{display:none}
.special-photo .special-post-heading{padding:16px}.special-photo .special-post-heading h1{font-size:22px!important}.special-photo .photo-summary{max-width:100%}.photo-properties{gap:12px 18px}.photo-layout-tools{gap:6px}.photo-layout-tools button{padding:6px 10px}
.special-photo[data-photo-layout=grid] .words .special-image-grid{gap:10px}.special-photo .words .photo-frame figcaption{font-size:11px!important}
.article-neighbors{gap:8px;margin:22px 0}.article-neighbor{padding:10px}.article-neighbor span{font-size:12px}
.showcase-lightbox-bar{padding:10px;gap:8px}.showcase-lightbox-title{font-size:13px}.showcase-lightbox-actions{gap:5px}.showcase-lightbox button{padding:5px 8px;font-size:12px}
}
@media(max-width:360px){[data-showcase=resources][data-view-mode] .extra-resources{grid-template-columns:1fr}}
/* Toolbar shortcuts share the outline toggle's visual treatment. */
section.toolbar.nb-reading-toolbar{gap:8px;flex-wrap:nowrap}
.nb-toolbar-name{display:block;flex:0 1 auto;min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--accent,#0e38b1);text-decoration:none}
.nb-toolbar-navigation,.nb-toolbar-right{display:flex;align-items:center;gap:8px;flex:none;min-width:0}
.nb-toolbar-right{margin-left:auto}
section.toolbar .nb-toolbar-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 10px;margin:0;border:1px solid var(--line,#dfe4ee);border-radius:7px;background:var(--surface,#fff);color:var(--accent,#0e38b1);font:inherit;font-size:12px;line-height:1.5;white-space:nowrap;cursor:pointer;text-decoration:none}
.nb-toolbar-button svg{width:15px;height:15px;flex:none}
section.toolbar .nb-toolbar-button:hover{background:var(--accent-soft,#eef2fb)}
section.toolbar .nb-toolbar-button:disabled{opacity:.38;cursor:default;background:#fff}
.nb-toolbar-button:focus-visible{outline:2px solid var(--accent,#0e38b1);outline-offset:2px}
section.toolbar .nb-toolbar-right .article-toc-toggle{margin-left:0}
section.toolbar.showcase-toolbar .showcase-toolbar-label{min-width:0}
/* Project views apply to featured and ordinary groups without changing their order. */
[data-showcase=projects][data-view-mode="2"] .showcase-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-showcase=projects][data-view-mode="3"] .showcase-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-showcase=projects][data-view-mode] .showcase-project-card{display:block}
[data-showcase=projects][data-view-mode] .showcase-project-cover{height:160px;min-height:0}
[data-showcase=projects][data-view-mode] .showcase-featured .showcase-project-card{border-color:#b7c9ee}
[data-showcase=projects][data-view-mode=list] .showcase-projects-grid{grid-template-columns:1fr}
[data-showcase=projects][data-view-mode=list] .showcase-project-card{display:grid;grid-template-columns:minmax(150px,27%) minmax(0,1fr)}
[data-showcase=projects][data-view-mode=list] .showcase-project-cover{height:100%;min-height:160px}
[data-showcase=projects][data-view-mode=list] .showcase-project-copy{padding:18px 22px}
/* Moment collection only: compact cards, with the home-list treatment left intact. */
[data-showcase=moments] .feed-moment{gap:12px}
[data-showcase=moments] .moment-stream-row{padding:16px 18px;border:1px solid #e6eaf0;border-radius:10px;background:#fff;box-shadow:none}
[data-showcase=moments] .content-type-legacy .extra-moments{display:grid;gap:12px}
[data-showcase=moments] .content-type-legacy .showcase-moment{padding:16px 18px;border:1px solid #e6eaf0;border-radius:10px}
@media(max-width:1100px){.nb-toolbar-name{max-width:180px}section.toolbar .nb-toolbar-button{min-height:30px;padding:5px 8px;font-size:11px}[data-showcase=projects][data-view-mode="3"] .showcase-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
section.toolbar.nb-reading-toolbar{gap:6px}
.nb-reading-toolbar .nb-toolbar-name{display:none}
.nb-toolbar-navigation,.nb-toolbar-right{gap:5px}
section.toolbar .nb-toolbar-button{width:30px;min-width:30px;min-height:28px;height:28px;padding:5px}
.nb-toolbar-button .nb-button-label{display:none}
.nb-reading-toolbar .nb-toolbar-right .article-toc-toggle{width:30px;min-width:30px;height:28px;min-height:28px;padding:5px}
.nb-reading-toolbar .nb-toolbar-right .article-toc-toggle>span{display:none}
[data-showcase=projects][data-view-mode] .showcase-projects-grid{grid-template-columns:1fr;gap:14px}
[data-showcase=projects][data-view-mode=list] .showcase-project-card{grid-template-columns:100px minmax(0,1fr)}
[data-showcase=projects][data-view-mode=list] .showcase-project-copy{padding:13px}
[data-showcase=projects][data-view-mode=list] .showcase-project-cover{min-height:150px}
[data-showcase=projects][data-view-mode=list] .showcase-project-cover .showcase-status{font-size:10px;top:7px;right:5px;padding:3px 5px}
[data-showcase=projects][data-view-mode=list] .showcase-project-actions{gap:7px;flex-wrap:wrap}
[data-showcase=moments] .moment-stream-row{padding:13px 12px;gap:9px}
[data-showcase=moments] .content-type-legacy .showcase-moment{padding:13px 12px}
}
