/* NuliBlog showcase pages */
.nuliblog-showcase{--showcase-accent:var(--theme-color,#0e38b1);--showcase-line:#e5e9f0;--showcase-muted:#737e90;--showcase-tint:#f2f5fc}
.artshow.nuliblog-showcase>.box{padding:30px 32px!important;min-width:0}
.nuliblog-showcase *, .nuliblog-showcase *::before,.nuliblog-showcase *::after{box-sizing:border-box}
.nuliblog-showcase [hidden]{display:none!important}
.nuliblog-showcase .showcase-heading{padding:8px 0 24px;margin-bottom:20px;border-bottom:1px solid var(--showcase-line)}
.nuliblog-showcase .showcase-heading h1{font-size:30px!important;line-height:1.3!important;margin:12px 0 10px!important;padding:0!important;border:0!important;color:#18243b!important;font-weight:700}
.nuliblog-showcase .showcase-heading p{color:var(--showcase-muted);margin:0;line-height:1.7}
.showcase-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--showcase-accent);font-size:12px;font-weight:600;letter-spacing:.04em}
.showcase-eyebrow svg,.showcase-button svg{width:17px;height:17px;flex:none}
.nuliblog-showcase .showcase-page-content{margin:0 0 24px;padding:0!important;min-height:0}
.showcase-page-content:empty{display:none}
.showcase-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;flex-wrap:wrap}
.showcase-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}
.showcase-filter button{border:0;background:var(--showcase-tint);color:#556176;padding:7px 13px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;line-height:1.4}
.showcase-filter button[aria-pressed=true]{background:var(--showcase-accent);color:white}
.showcase-search{margin:0;flex:0 1 220px;min-width:140px}
.showcase-search input{width:100%;padding:9px 12px;border:1px solid var(--showcase-line);border-radius:8px;background:#fff;color:#27364e;font:inherit;font-size:13px;outline:none}
.nuliblog-showcase :is(a,button,input):focus-visible{outline:2px solid var(--showcase-accent);outline-offset:3px}
.showcase-search-count{color:var(--showcase-muted);font-size:12px;margin:8px 0 20px;min-height:18px}
.showcase-group{margin:0 0 28px}
.showcase-section-title{display:flex;align-items:center;gap:12px;margin:0 0 13px}
.nuliblog-showcase .showcase-section-title h2{font-size:17px!important;line-height:1.4;margin:0!important;border:0!important;padding:0!important;color:#23304a!important}
.showcase-section-title>span{font-size:12px;color:var(--showcase-muted)}
.showcase-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nuliblog-showcase .showcase-link-card{display:flex;align-items:center;gap:12px;position:relative;min-width:0;padding:17px 14px;border:1px solid var(--showcase-line);border-radius:12px;background:#fff;color:#24334c;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}
.showcase-link-card:hover,.showcase-project-card:hover{border-color:#acbce5;box-shadow:0 5px 18px #173b8110;transform:translateY(-2px)}
.showcase-avatar,.showcase-profile-avatar{position:relative;display:grid;place-items:center;overflow:hidden;background:#e9eefb;color:var(--showcase-accent);flex:none;border-radius:12px;width:44px;height:44px}
.showcase-monogram{font-size:23px;font-weight:600}
.showcase-avatar img,.showcase-profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.showcase-link-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.showcase-link-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--showcase-accent)}
.showcase-link-copy>span{font-size:12px;color:var(--showcase-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55;min-height:19px;overflow-wrap:anywhere}
.showcase-card-arrow{font-size:14px;color:#93a2bc;align-self:flex-start}
.showcase-site-info{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;border-radius:14px;border:1px solid #dce4f7;background:var(--showcase-tint);padding:24px;margin-top:32px}
.nuliblog-showcase .showcase-site-info h2{font-size:20px!important;margin:10px 0!important;border:0;padding:0;color:#23304a}
.showcase-site-info p{color:var(--showcase-muted);font-size:13px;line-height:1.7}
.showcase-site-details dl{display:grid;grid-template-columns:34px 1fr;gap:8px 12px;margin:0 0 16px;font-size:13px}
.showcase-site-details dt{font-weight:400;color:var(--showcase-muted)}
.showcase-site-details dd{margin:0;overflow-wrap:anywhere;color:#30425f}
.nuliblog-showcase .showcase-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--showcase-accent);color:white;padding:8px 13px;border-radius:7px;font:inherit;font-size:13px;line-height:1.4;text-decoration:none;cursor:pointer;white-space:normal;text-align:center}
.nuliblog-showcase .showcase-button.secondary{background:#fff;color:var(--showcase-accent);border-color:#d8e0f1}
.nuliblog-showcase .showcase-button:hover{filter:brightness(.94)}
.showcase-copy-status{font-size:12px;color:var(--showcase-muted);margin-left:10px}
.showcase-projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.showcase-project-card{border:1px solid var(--showcase-line);border-radius:14px;overflow:hidden;background:#fff;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.showcase-project-cover{height:160px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#edf2ff,#dde6fa);overflow:hidden}
.showcase-project-cover .showcase-monogram{font-size:58px;color:#4b69b6;opacity:.6}
.showcase-project-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showcase-status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 9px;font-size:11px;line-height:1.3;background:#fff;color:#32528c;letter-spacing:0;white-space:nowrap;font-weight:500}
.showcase-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.showcase-project-cover .showcase-status{position:absolute;right:12px;top:12px;box-shadow:0 2px 8px #12234912}
.status-active{color:#17806e}.status-developing{color:#b07615}.status-maintained{color:#245cc4}.status-archived{color:#758092}
.showcase-project-copy{padding:20px}
.showcase-card-category{color:var(--showcase-muted);font-size:12px}
.nuliblog-showcase .showcase-project-copy h3{font-size:20px!important;color:var(--showcase-accent);margin:7px 0 9px!important;line-height:1.35}
.showcase-project-copy>p{font-size:14px;line-height:1.7;color:#657186;margin:0 0 18px;overflow-wrap:anywhere}
.showcase-project-actions,.showcase-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.nuliblog-showcase .showcase-text-link{color:var(--showcase-accent);font-size:13px;text-decoration:none;overflow-wrap:anywhere}
.showcase-text-link:hover{text-decoration:underline}
.nuliblog-showcase .showcase-updated{font-size:12px!important;color:var(--showcase-muted)!important;margin:15px 0 0!important}
.showcase-project-hero .showcase-hero-actions{margin-top:20px}
.showcase-project-hero .showcase-status{margin-left:8px;background:var(--showcase-tint)}
.showcase-detail-cover{position:relative;display:grid;place-items:center;min-height:150px;background:var(--showcase-tint);border-radius:12px;overflow:hidden;margin-top:24px}
.showcase-detail-cover .showcase-monogram{position:absolute;font-size:52px;color:#8ba0cb}
.showcase-detail-cover img{display:block;position:relative;width:100%;max-height:400px;object-fit:contain;background:var(--showcase-tint)}
.showcase-back{padding-top:20px;border-top:1px solid var(--showcase-line);margin-top:30px}
.showcase-profile{display:flex;gap:24px;padding:25px;background:var(--showcase-tint);border:1px solid #dfe6f5;border-radius:14px;margin-bottom:28px}
.showcase-profile-avatar{width:86px;height:86px;border-radius:20px}
.showcase-profile-avatar .showcase-monogram{font-size:40px}
.showcase-profile>div{min-width:0}
.nuliblog-showcase .showcase-profile h2{font-size:25px!important;margin:8px 0!important;border:0;padding:0;color:#1e2e4a}
.showcase-profile p{font-size:14px;line-height:1.75;color:#637087;margin:8px 0;overflow-wrap:anywhere}
.showcase-profile .showcase-profile-tagline{color:#2f4365;font-weight:500}
.showcase-interests{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}
.showcase-interests span{padding:4px 10px;background:#fff;border:1px solid #dce3f1;border-radius:5px;color:#526c9f;font-size:12px}
.showcase-profile .showcase-hero-actions{margin-top:16px}
.nuliblog-showcase .showcase-timeline{list-style:none!important;padding:0!important;margin:24px 0!important}
.showcase-timeline li{display:grid;grid-template-columns:100px 1fr;gap:20px;position:relative;padding:0 0 25px!important;margin:0!important;font-size:14px!important;list-style:none!important}
.showcase-timeline li>span{font-size:12px;color:var(--showcase-muted);padding-top:3px}
.showcase-timeline li>div{padding:0 0 0 22px;border-left:1px solid #dce3f1;position:relative}
.showcase-timeline li>div::before{content:"";position:absolute;top:5px;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--showcase-accent);box-shadow:0 0 0 4px #f1f4fc}
.nuliblog-showcase .showcase-timeline h3{font-size:16px!important;margin:0 0 7px!important;color:#2f4365}
.showcase-timeline p{font-size:14px;color:var(--showcase-muted);margin:0;line-height:1.7}
.showcase-comments{margin-top:32px;padding-top:20px;border-top:1px solid var(--showcase-line)}
.showcase-empty{padding:32px 20px;border:1px dashed #d5ddeb;border-radius:12px;text-align:center;color:var(--showcase-muted);font-size:14px}
.showcase-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}
.showcase-toolbar-label{font-size:13px;color:#707c91;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1250px){.showcase-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.artshow.nuliblog-showcase>.box{padding:20px 16px!important}.nuliblog-showcase .showcase-heading h1{font-size:26px!important}.showcase-filter{gap:12px}.showcase-search{flex-basis:100%}.showcase-links-grid,.showcase-projects-grid,.showcase-site-info{grid-template-columns:1fr}.showcase-projects-grid{gap:16px}.showcase-profile{flex-direction:column;gap:16px;padding:20px}.showcase-profile-avatar{width:72px;height:72px}.showcase-site-info{padding:20px;gap:20px}.showcase-timeline li{grid-template-columns:65px 1fr;gap:10px}.showcase-toolbar-label{max-width:120px}.showcase-heading{margin-bottom:16px}.showcase-project-copy{padding:18px}}
@media(prefers-reduced-motion:reduce){.showcase-link-card,.showcase-project-card{transition:none}.showcase-link-card:hover,.showcase-project-card:hover{transform:none}}

.nuliblog-showcase .showcase-heading h1{text-align:left!important}
.showcase-toolbar .btnList{margin-left:auto!important}
.showcase-toolbar .homelink{cursor:pointer}
.showcase-featured .showcase-projects-grid{grid-template-columns:1fr}
.showcase-featured .showcase-project-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.showcase-featured .showcase-project-cover{height:100%;min-height:230px}
@media(max-width:767px){.showcase-featured .showcase-project-card{grid-template-columns:1fr}.showcase-featured .showcase-project-cover{height:160px;min-height:0}}

/* Shared action icon alignment for project cards, details and contacts. */
.nuliblog-showcase .showcase-project-actions .showcase-text-link{display:inline-flex;align-items:center;gap:6px;line-height:1.5}
.nuliblog-showcase .showcase-text-link svg,.nuliblog-showcase .showcase-button svg{display:block;width:16px;height:16px;flex:none}
.nuliblog-showcase .showcase-button>span{min-width:0}
.showcase-project-back{margin-left:2px}
