/* Project albums: deliberately independent of theme cards and the posting form. */
.kmpp-album{--kmpp-ink:#3d4b43;--kmpp-green:#2c6651;--kmpp-paper:#f6f0e3;--kmpp-columns:3;position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:1120px;min-width:0;margin:32px auto;padding:34px 34px 30px 54px;border:1px solid #e0d7c4;border-radius:8px 18px 18px 8px;background:repeating-linear-gradient(0deg,transparent 0,transparent 31px,#b1a58a14 31px,#b1a58a14 32px),var(--kmpp-paper);box-shadow:0 8px 30px #3a34200d,inset 10px 0 0 #e8dfcd;color:var(--kmpp-ink);font-family:inherit;line-height:1.65;overflow-wrap:anywhere;text-align:left;scroll-margin-top:30px}.kmpp-album *{box-sizing:border-box}.kmpp-album::before{content:"";position:absolute;left:24px;top:20px;bottom:20px;border-left:2px dashed #bfb39a;pointer-events:none}.kmpp-album--cols-1{--kmpp-columns:1}.kmpp-album--cols-2{--kmpp-columns:2}.kmpp-album--cols-4{--kmpp-columns:4}.kmpp-album .kmpp-album__header{margin:0 0 20px;padding:0 0 18px;border:0;border-bottom:1px solid #d9cebb;background:none;border-radius:0}.kmpp-album__eyebrow{display:inline-block;padding:5px 12px;background:#dce8d8;color:#325d45;font-size:12px;font-weight:700;letter-spacing:.08em;transform:rotate(-1deg)}.kmpp-album .kmpp-album__header h2{margin:14px 0 8px;padding:0;border:0;background:none;color:var(--kmpp-ink);font-size:clamp(22px,3.5vw,32px);font-weight:700;line-height:1.4}.kmpp-album .kmpp-album__header h2::before,.kmpp-album .kmpp-album__header h2::after{display:none}.kmpp-album .kmpp-album__header p{margin:8px 0 0;font-size:14px;color:#646c60}.kmpp-album__meta{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;margin-bottom:26px;font-size:12px;letter-spacing:.03em;color:#697261}.kmpp-album__grid{display:grid;grid-template-columns:repeat(var(--kmpp-columns),minmax(0,1fr));align-items:start;gap:34px 25px;padding:5px 5px 16px}.kmpp-album .kmpp-album__photo{position:relative;min-width:0;margin:0;padding:11px 11px 15px;border:1px solid #e5e1d7;background:#fffef9;box-shadow:1px 4px 8px #4a3e281c;transform:rotate(-1.2deg);transition:transform .18s,box-shadow .18s}.kmpp-album .kmpp-album__photo:nth-child(3n+2){transform:rotate(1.3deg)}.kmpp-album .kmpp-album__photo:nth-child(3n){transform:rotate(-.5deg)}.kmpp-album__photo::before{content:"";position:absolute;z-index:1;top:-11px;left:calc(50% - 29px);width:58px;height:23px;background:#d2dbbae0;box-shadow:0 1px 2px #443b2612;transform:rotate(-5deg);clip-path:polygon(2% 0,98% 2%,96% 100%,0 97%);pointer-events:none}.kmpp-album__photo:nth-child(3n+2)::before{background:#ead2bde0;transform:rotate(5deg)}.kmpp-album__photo:nth-child(3n)::before{background:#c6d9e1e0}.kmpp-album .kmpp-album__photo:focus-within{transform:rotate(0);z-index:2;box-shadow:0 5px 16px #4a3e2830}.kmpp-album .kmpp-album__open{display:block;margin:0;padding:0;border:0;text-decoration:none;background:#f1efe8;cursor:zoom-in;line-height:0}.kmpp-album .kmpp-album__open img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:4/3;margin:0;border:0;border-radius:0;object-fit:contain;box-shadow:none}.kmpp-album .kmpp-album__photo figcaption{display:flex;flex-direction:column;gap:3px;margin:12px 2px 0;padding:0;color:#405249;text-align:left;font-size:14px;line-height:1.5}.kmpp-album__name{font-weight:700}.kmpp-album__name small{font-weight:400;font-size:11px}.kmpp-album__photo time{font-size:11px;color:#717c6c}.kmpp-album__empty{padding:35px 10px;text-align:center;color:#66705f}.kmpp-album__pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:24px;font-size:13px}.kmpp-album__pages a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #c9d1c1;border-radius:5px;background:#fffdf5;color:#275b42;text-decoration:none}.kmpp-album a:focus-visible,.kmpp-album button:focus-visible{outline:3px solid #bc8a32;outline-offset:4px}.kmpp-album .kmpp-album__viewer:not([open]){display:none}.kmpp-album .kmpp-album__viewer{position:fixed;inset:0;width:min(1060px,calc(100vw - 24px));height:auto;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px;border:1px solid #ffffff33;border-radius:14px;background:#172620;color:#fff;box-shadow:0 16px 80px #0008;overflow:auto;overscroll-behavior:contain}.kmpp-album__viewer::backdrop{background:#0b1512dc}.kmpp-album__viewer-content{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.kmpp-album__image-area{position:relative;display:flex;align-items:center;justify-content:center;min-height:140px;background:#101c17;border-radius:6px;overflow:hidden}.kmpp-album .kmpp-album__image-area img{display:block;width:100%;height:min(64vh,700px);height:min(64dvh,700px);max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px);min-height:80px;object-fit:contain;margin:0;border:0;border-radius:0;box-shadow:none}.kmpp-album .kmpp-album__image-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:20px;color:#e3eae6;text-align:center;font-size:14px;pointer-events:none}.kmpp-album .kmpp-album__image-status:empty{display:none}.kmpp-album .kmpp-album__caption{margin:0;text-align:center;font-size:14px;color:#eff5ef;line-height:1.5;overflow-wrap:anywhere}.kmpp-album .kmpp-album__caption:empty{display:none}.kmpp-album__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.kmpp-album .kmpp-album__controls button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:76px;min-height:44px;margin:0;padding:10px 14px;border:1px solid #7f9388;border-radius:7px;background:#2c4437;color:#fff;font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:none}.kmpp-album .kmpp-album__controls button[data-album-close]{background:#fff7e4;color:#263c30;border-color:#fff7e4;margin-left:14px}.kmpp-album .kmpp-album__controls button:disabled{opacity:.4;cursor:default}.kmpp-album__position{min-width:55px;text-align:center;font-size:13px;color:#e1e9e3}.kmpp-album__viewer-hint{text-align:center;font-size:11px;color:#bbcabc}@media(hover:hover){.kmpp-album .kmpp-album__photo:hover{transform:rotate(0) translateY(-3px);z-index:2;box-shadow:0 7px 17px #4a3e282c}.kmpp-album__pages a:hover{background:#e7efdf}}@media(max-width:800px){.kmpp-album{padding:28px 22px 26px 40px}.kmpp-album::before{left:18px}.kmpp-album__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.kmpp-album--cols-1 .kmpp-album__grid{grid-template-columns:1fr}}@media(max-width:520px){.kmpp-album{margin:22px auto;padding:24px 15px 23px 28px;border-radius:6px 12px 12px 6px;box-shadow:inset 6px 0 0 #e8dfcd}.kmpp-album::before{left:12px;top:18px;bottom:18px;border-left-width:1px}.kmpp-album__grid{gap:27px 13px;padding-left:2px;padding-right:2px}.kmpp-album .kmpp-album__photo{padding:7px 7px 11px}.kmpp-album .kmpp-album__photo figcaption{font-size:12px;margin-top:9px}.kmpp-album__photo time{font-size:10px}.kmpp-album .kmpp-album__viewer{padding:10px}.kmpp-album .kmpp-album__controls button{min-width:68px;padding:10px}.kmpp-album .kmpp-album__controls button[data-album-close]{margin-left:0}.kmpp-album__controls{gap:6px}.kmpp-album__position{min-width:44px}}@media(max-width:380px){.kmpp-album__grid{grid-template-columns:1fr;max-width:280px;margin:0 auto}}@media(prefers-reduced-motion:reduce){.kmpp-album .kmpp-album__photo{transition:none}}@media print{.kmpp-album{box-shadow:none;break-inside:auto}.kmpp-album__viewer,.kmpp-album__pages,.kmpp-album__meta span:last-child{display:none!important}.kmpp-album .kmpp-album__photo{break-inside:avoid}}
