/* Homepage entries. A small visible glyph retains a larger touch target. */
.posts-item .item-thumbnail.m3am-thumbnail{position:relative}
.posts-item .item-thumbnail button.m3am-trigger{position:absolute;right:11px;bottom:11px;z-index:4;display:grid;place-items:center;width:var(--m3am-trigger-size,26px);height:var(--m3am-trigger-size,26px);min-width:0;min-height:0;max-width:none;margin:0;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#fff;color:#4c3d49;box-shadow:0 2px 10px #18101c24;cursor:pointer;line-height:1;touch-action:manipulation;opacity:var(--m3am-trigger-opacity,.7);transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}
.posts-item .item-thumbnail .m3am-trigger::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.posts-item .item-thumbnail .m3am-trigger>svg{display:block;width:65%;height:65%;pointer-events:none}
.posts-item .item-thumbnail .m3am-trigger:hover{transform:scale(1.07);box-shadow:0 3px 14px #18101c35}
.posts-item .item-thumbnail .m3am-trigger:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 .posts-item .item-thumbnail button.m3am-trigger{opacity:0;pointer-events:none;transform:translateY(3px)}
 .posts-item .item-thumbnail:hover .m3am-trigger,.posts-item .item-thumbnail .m3am-trigger:focus-visible{opacity:var(--m3am-trigger-opacity,.7);pointer-events:auto;transform:translateY(0)}
}
/* The shell has fixed geometry; only opacity and transform animate. */
.m3am-dialog{--m3am-theme:#684553;position:fixed;inset:0;z-index:999990;box-sizing:border-box;width:min(980px,calc(100vw - 72px));height:min(650px,calc(100vh - 64px));height:min(650px,calc(100dvh - 64px));max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--m3am-theme);color:#fff;box-shadow:0 26px 90px #100b184d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;line-height:1.6;isolation:isolate}
.m3am-dialog:focus{outline:0}
.m3am-dialog:not([open]){display:none!important}
.m3am-dialog[open]{display:block;animation:m3am-in .24s cubic-bezier(.22,1,.36,1) both}
.m3am-dialog[open].is-closing{animation:m3am-out .18s ease-in both;pointer-events:none}
.m3am-dialog::backdrop,.m3am-backdrop{background:#15101c80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:m3am-shade-in .24s ease-out both}
.m3am-dialog.is-closing::backdrop,.m3am-backdrop.is-closing{animation:m3am-shade-out .18s ease-in both}
.m3am-backdrop{position:fixed;inset:0;z-index:999980}
.m3am-dialog *{box-sizing:border-box}
.m3am-dialog [hidden]{display:none!important}
.m3am-dialog button{font:inherit;cursor:pointer;touch-action:manipulation}
.m3am-dialog :is(button,a,summary,[tabindex]):focus-visible{outline:2px solid #fff;outline-offset:3px}
.m3am-dialog .m3am-stage{position:relative;width:100%;height:100%;min-height:0}
.m3am-dialog .m3am-stage[aria-busy=true]{pointer-events:none}
.m3am-dialog .m3am-stage[aria-busy=true]>.m3album{opacity:.4}
.m3am-dialog .m3am-loading{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;gap:10px;background:#1e15201a;color:#fff;font-size:12px;pointer-events:auto}
.m3am-dialog .m3am-loader{width:16px;height:16px;border:1.5px solid #ffffff45;border-top-color:#fff;border-radius:50%;animation:m3am-spin .7s linear infinite}
/* Zibll slideshow rhythm: arrows appear at the two edges and deepen on hover. */
.m3am-dialog button.m3am-tool{position:absolute;top:50%;z-index:8;display:grid;place-items:center;width:30px;height:52px;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;color:#fff;background:transparent;line-height:1;box-shadow:none;opacity:0;transform:translateY(-50%);transition:opacity .24s ease,background-color .2s ease,left .24s ease,right .24s ease}
.m3am-dialog button.m3am-prev{left:-12px}
.m3am-dialog button.m3am-next{right:-12px}
.m3am-dialog:hover button.m3am-prev{left:0;opacity:.16}
.m3am-dialog:hover button.m3am-next{right:0;opacity:.16}
.m3am-dialog button.m3am-tool:hover,.m3am-dialog button.m3am-tool:focus-visible{opacity:.65;background:#00000025}
.m3am-dialog button.m3am-tool:disabled{opacity:0!important;pointer-events:none;cursor:default}
.m3am-dialog .m3am-tool>svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;filter:drop-shadow(0 1px 3px #0005);pointer-events:none}
.m3am-dialog a.m3am-download{position:absolute;top:17px;right:22px;z-index:9;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #ffffff30;border-radius:3px;background:#ffffff0b;backdrop-filter:blur(6px);color:#ffffffe6;text-decoration:none;font-size:11px;font-weight:400;line-height:1.6;transition:background-color .18s,color .18s}
.m3am-dialog a.m3am-download:hover{background:#ffffff1f;color:#fff}
.m3am-dialog .m3am-download>svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
/* Full-height cover fades into the exact album background at the right edge. */
.m3am-dialog .m3album{display:grid;grid-template-columns:47% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;margin:0!important;padding:0;border-radius:0;border:0;overflow:hidden;box-shadow:none;container-type:inline-size;background:var(--m3a-bg);color:#fff}
.m3am-dialog .m3album .m3a-art{position:relative;grid-column:1;grid-row:1 / span 2;min-width:0;min-height:0;width:100%;height:100%;margin:0;padding:0;aspect-ratio:auto;overflow:hidden;background:var(--m3a-bg)}
.m3am-dialog .m3am-art-frame{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
.m3am-dialog .m3am-art-frame>:is(img,video.m3a-motion){display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover;object-position:center;pointer-events:none}
.m3am-dialog .m3am-art-frame>video.m3a-motion{position:absolute!important;inset:0;opacity:0;background:var(--m3a-bg)}
.m3am-dialog .m3a-art.is-motion-ready .m3am-art-frame>video.m3a-motion{opacity:1}
.m3am-dialog .m3a-art.is-motion-ready .m3am-art-frame>[data-m3a-cover]{opacity:0}
.m3am-dialog .m3portfolio .m3am-art-frame>:is(img,video){object-position:center 35%}
.m3am-dialog .m3album .m3a-art::after{content:"";position:absolute;inset:0;z-index:1;display:block!important;pointer-events:none;background:linear-gradient(90deg,transparent 30%,var(--m3a-bg) 100%)}
@supports(background:color-mix(in srgb,black,white)){
 .m3am-dialog .m3album .m3a-art::after{background:linear-gradient(90deg,transparent 30%,color-mix(in srgb,var(--m3a-bg) 9%,transparent) 45%,color-mix(in srgb,var(--m3a-bg) 55%,transparent) 72%,var(--m3a-bg) 100%)}
}
.m3am-dialog .m3album .m3a-intro{grid-column:2;grid-row:1;min-width:0;max-height:285px;margin:0;padding:65px 36px 24px 26px;overflow:auto;overscroll-behavior:contain;text-align:left;background:none}
.m3am-dialog .m3album h2.m3a-title{margin:0;font-size:23px;line-height:1.4;font-weight:600;letter-spacing:-.015em;text-wrap:pretty}
.m3am-dialog .m3album button.m3a-name-toggle{text-align:left;border-radius:2px}
.m3am-dialog .m3album .m3a-name-text{text-wrap:pretty;-webkit-line-clamp:2}
.m3am-dialog .m3album .m3a-name-hint{margin-top:3px;font-size:10px;line-height:1.4}
.m3am-dialog .m3album .m3a-artist{margin-top:7px;font-size:14px;line-height:1.55;font-weight:400;opacity:.95;text-wrap:pretty}
.m3am-dialog .m3album .m3a-meta{margin-top:9px;font-size:11px;line-height:1.8;opacity:.77}
.m3am-dialog .m3album .m3a-body{display:flex;flex-direction:column;grid-column:2;grid-row:2;min-width:0;min-height:0;margin:0;padding:0 32px 25px 26px;overflow:hidden}
.m3am-dialog .m3a-body>.m3a-list-head{flex:none}
.m3am-dialog .m3am-list-scroll{flex:1 1 0;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch}
.m3am-dialog .m3am-list-scroll:focus-visible{outline-offset:-3px}
.m3am-dialog .m3am-list-footer{flex:none;min-width:0;padding:15px 0 0}
.m3am-dialog .m3am-list-footer.m3am-details-only{display:none}
.m3am-dialog .m3album .m3am-copyright{margin:0;padding:0;font-size:10.5px;line-height:1.8;font-weight:400;opacity:.65;overflow-wrap:anywhere}
.m3am-dialog .m3am-list-footer>.m3a-details{display:none}
.m3am-dialog .m3album .m3a-list-head{gap:10px;margin-bottom:10px}
.m3am-dialog .m3album .m3a-list-head h3{font-size:11px;line-height:1.6;font-weight:500;letter-spacing:0;opacity:.9}
.m3am-dialog .m3album .m3a-list-head .m3a-count{font-size:10px;opacity:.65}
.m3am-dialog .m3album ol.m3a-tracks{border-top-color:#ffffff20}
.m3am-dialog .m3album .m3a-tracks>li{border-bottom-color:#ffffff17}
.m3am-dialog .m3album button.m3a-track{min-height:46px;padding:10px 3px;grid-template-columns:22px minmax(0,1fr) 42px;column-gap:9px;border-radius:3px}
.m3am-dialog .m3album .m3a-track-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;line-height:1.7}
.m3am-dialog .m3album .m3a-track-name.has-video{display:flex}
.m3am-dialog .m3album .m3a-track-info>small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3am-dialog .m3album .m3a-number{font-size:11px}
.m3am-dialog .m3album .m3a-track-end{width:42px;min-width:42px;font-size:10.5px;opacity:.65}
.m3am-dialog .m3album .m3a-track-end>small{font-size:9px}
.m3am-dialog .m3album .m3a-disc h4{padding:18px 0 8px;font-size:10px}
.m3am-dialog .m3album .m3a-disc:first-of-type h4{padding-top:0}
.m3am-dialog .m3am-description{margin:0 0 15px;padding:0;border:0;background:none}
.m3am-dialog .m3am-description>summary{padding:5px 0;font-size:11px;line-height:1.7;cursor:pointer;opacity:.85}
.m3am-dialog .m3album .m3am-description .m3a-description{width:100%;max-width:none;margin:7px 0 14px;padding:0;font-size:12px;line-height:1.85;text-align:left}
/* Collections continue using the existing expansion and playback controllers. */
.m3am-dialog .m3portfolio .m3p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 13px;margin-bottom:-18px}
.m3am-dialog .m3portfolio button.m3p-card{margin-bottom:18px}
.m3am-dialog .m3portfolio .m3p-card>strong{font-size:11.5px}
.m3am-dialog .m3portfolio .m3p-card>time{font-size:10px}
.m3am-dialog .m3portfolio .m3p-type{bottom:5px;left:5px;font-size:8px}
.m3am-dialog .m3portfolio .m3p-group+.m3p-group{margin-top:27px}
.m3am-dialog .m3portfolio .m3p-panel{padding:15px}
.m3am-dialog .m3portfolio .m3p-release-head{margin-bottom:11px}
.m3am-dialog .m3portfolio .m3p-release-head h3{font-size:16px;line-height:1.5}
.m3am-dialog .m3portfolio .m3p-release-head .m3p-release-artist{font-size:11px}
.m3am-dialog .m3portfolio .m3p-panel-grid{grid-template-columns:65px minmax(0,1fr);gap:10px 12px}
.m3am-dialog .m3portfolio .m3p-panel-art{grid-column:1;grid-row:1}
.m3am-dialog .m3portfolio .m3p-panel-info{display:contents}
.m3am-dialog .m3portfolio .m3p-meta-stack{grid-column:2;grid-row:1;min-width:0;align-self:center}
.m3am-dialog .m3portfolio .m3p-release-meta{font-size:10px;gap:2px 9px}
.m3am-dialog .m3portfolio .m3p-release-meta>span,.m3am-dialog .m3portfolio p.m3p-copyright{font-size:10px;line-height:1.65}
.m3am-dialog .m3portfolio .m3p-panel .m3a-disc{grid-column:1/-1}
.m3am-dialog .m3portfolio .m3p-panel .m3a-tracks{columns:1}
.m3am-dialog .m3portfolio .m3p-panel button.m3a-track{min-height:42px;padding:8px 0;grid-template-columns:20px minmax(0,1fr) 35px;gap:7px}
.m3am-dialog .m3portfolio .m3p-panel .m3a-track-end{width:35px;min-width:35px}
.m3am-dialog .m3portfolio .m3p-panel .m3a-track-name{font-size:12px}
.m3am-dialog .m3am-error{display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:14px;height:100%;padding:55px 25px;text-align:center}
.m3am-dialog .m3am-error h2,.m3am-dialog .m3am-error p{flex-basis:100%;padding:0;margin:0;color:#fff;border:0;background:none}
.m3am-dialog .m3am-error h2{font-size:20px;font-weight:550}
.m3am-dialog .m3am-error p{font-size:12px;opacity:.8}
.m3am-dialog .m3am-error button,.m3am-dialog .m3am-error a{padding:8px 18px;border:1px solid #ffffff55;border-radius:3px;background:#ffffff12;color:#fff;text-decoration:none;font-size:12px}
.m3am-dialog .m3am-sr.m3am-nav-notice{position:absolute!important;inset:auto 32px 12px auto!important;z-index:10;width:auto!important;height:auto!important;max-width:calc(100% - 64px);margin:0!important;padding:6px 10px!important;clip:auto!important;white-space:normal!important;border-radius:3px;background:#211a24e6;color:#fff;font-size:11px;line-height:1.7;pointer-events:none}
.m3am-dialog .m3a-intro,.m3am-dialog .m3am-list-scroll{scrollbar-width:none;-ms-overflow-style:none}
.m3am-dialog ::-webkit-scrollbar{display:none;width:0;height:0}
.m3am-dialog .m3am-sr{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}
@keyframes m3am-spin{to{transform:rotate(360deg)}}
@keyframes m3am-in{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes m3am-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(5px) scale(.985)}}
@keyframes m3am-shade-in{from{opacity:0}to{opacity:1}}
@keyframes m3am-shade-out{from{opacity:1}to{opacity:0}}
@media(max-width:767px){
 .m3am-dialog{width:calc(100vw - 24px);height:calc(100vh - 32px);height:calc(100dvh - 32px)}
 .m3am-dialog .m3album{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,36%) auto minmax(0,1fr)}
 .m3am-dialog .m3album .m3a-art{grid-column:1;grid-row:1;padding:0}
 .m3am-dialog .m3album .m3a-art::after{background:linear-gradient(180deg,transparent 20%,var(--m3a-bg) 100%)}
 .m3am-dialog .m3album .m3a-intro{position:relative;z-index:2;grid-column:1;grid-row:2;max-height:182px;padding:0 27px 7px;margin:-24px 0 0;text-align:center}
 .m3am-dialog .m3album h2.m3a-title{font-size:20px;line-height:1.35}
 .m3am-dialog .m3album button.m3a-name-toggle{text-align:center}
 .m3am-dialog .m3album .m3a-artist{font-size:13px;margin-top:6px}
 .m3am-dialog .m3album .m3a-meta{font-size:10.5px;margin-top:7px}
 .m3am-dialog .m3album .m3a-body{grid-column:1;grid-row:3;padding:17px 23px max(18px,env(safe-area-inset-bottom))}
 .m3am-dialog .m3am-list-footer{padding-top:12px}
 .m3am-dialog .m3am-list-footer.m3am-details-only{display:block}
 .m3am-dialog .m3album .m3am-list-footer>.m3a-details{display:flex;flex-wrap:wrap;gap:8px 23px;margin:0 0 8px;padding:0}
 .m3am-dialog .m3am-list-footer .m3a-details dt{font-size:9px;opacity:.6;margin-bottom:2px}
 .m3am-dialog .m3am-list-footer .m3a-details dd{font-size:10px;line-height:1.6}
 .m3am-dialog .m3album .m3am-copyright{font-size:9.5px;line-height:1.7}
 .m3am-dialog a.m3am-download{top:12px;right:14px;background:#211c2426;border-color:#ffffff2b}
 .m3am-dialog button.m3am-tool{top:19%;width:36px;height:56px}
 .m3am-dialog .m3portfolio .m3p-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
 .m3am-dialog .m3portfolio .m3p-card>strong{font-size:12px}
}
@supports(background:color-mix(in srgb,black,white)){
 @media(max-width:767px){.m3am-dialog .m3album .m3a-art::after{background:linear-gradient(180deg,transparent 24%,color-mix(in srgb,var(--m3a-bg) 10%,transparent) 40%,color-mix(in srgb,var(--m3a-bg) 70%,transparent) 75%,var(--m3a-bg) 100%)}}
}
@media(hover:none),(pointer:coarse){
 .m3am-dialog button.m3am-prev{left:0;opacity:.25;width:44px}
 .m3am-dialog button.m3am-next{right:0;opacity:.25;width:44px}
}
@media(max-height:520px) and (min-width:768px){
 .m3am-dialog .m3album .m3a-intro{max-height:205px;padding-top:51px;padding-bottom:14px}
 .m3am-dialog .m3album h2.m3a-title{font-size:19px}
}
@media(max-height:520px) and (max-width:767px){
 .m3am-dialog .m3album{grid-template-rows:minmax(54px,22%) auto minmax(0,1fr)}
 .m3am-dialog .m3album .m3a-intro{max-height:100px;margin-top:-12px;padding-bottom:3px}
 .m3am-dialog .m3album h2.m3a-title{font-size:17px}
 .m3am-dialog .m3album .m3a-artist{font-size:11px;margin-top:3px}
 .m3am-dialog .m3album .m3a-meta{font-size:9px;margin-top:3px}
 .m3am-dialog .m3album .m3a-body{padding-top:9px;padding-bottom:10px}
 .m3am-dialog .m3am-list-footer{padding-top:7px}
 .m3am-dialog .m3album .m3am-list-footer>.m3a-details{gap:4px 12px;margin-bottom:4px}
 .m3am-dialog .m3am-list-footer .m3a-details>div{display:flex;align-items:baseline;gap:5px}
 .m3am-dialog .m3am-list-footer .m3a-details dt{font-size:8px;margin:0}
 .m3am-dialog .m3am-list-footer .m3a-details dd{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .m3am-dialog,.m3am-dialog *,.m3am-dialog::backdrop,.m3am-backdrop,.posts-item .item-thumbnail button.m3am-trigger{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .m3am-dialog .m3am-loader{border-color:#ffffff70}
}
