:root{--ink:#fff;--ink-soft:#1d1a16;--paper:#fff;--paper-dim:#6e6e6e;--accent:#c04e4e;--accent-soft:#8a5555;--line:hsla(39,39%,93%,.615);--line-strong:hsla(39,39%,93%,.688)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--ink);color:#fff;color:var(--paper);font-family:Inter,sans-serif}.sprockets{background:#0a0908;display:flex;gap:14px;overflow:hidden;padding:10px clamp(16px,4vw,48px)}.sprockets span{background:#6e6e6e;background:var(--paper-dim);border-radius:2px;flex-shrink:0;height:8px;opacity:.35;width:8px}.hero{align-items:flex-end;background:#000;display:flex;min-height:92vh;overflow:hidden;position:relative}.hero img{height:100%;object-fit:cover;opacity:.86;width:100%}.hero img,.hero:after{inset:0;position:absolute}.hero:after{background:linear-gradient(180deg,#0a090826,#0a090826 40%,#0a0908f2);content:""}.hero-content{display:flex;flex-direction:column;height:100%;justify-content:center;padding:0 0 clamp(48px,7vw,88px);position:absolute;width:100%;z-index:2}.eyebrow{align-items:center;color:#c04e4e;color:var(--accent);display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:12px;gap:10px;letter-spacing:.18em;margin-bottom:18px;text-transform:uppercase}.eyebrow:before{background:#c04e4e;background:var(--accent);content:"";display:inline-block;height:1px;width:24px}.hero h1{font-size:clamp(42px,9vw,108px);font-weight:500;letter-spacing:-.01em;line-height:.98}.hero h1,.hero span{font-family:Fraunces,serif;font-style:italic}.hero span{bottom:20px;font-family:fangsong;font-weight:100;position:absolute;text-align:center;width:100%}.hero-meta{color:#c04e4e;color:var(--accent);display:flex;flex-wrap:wrap;font-size:14px;gap:28px;margin-top:22px}.hero-meta strong{color:var(--ppa-bg);font-weight:500}.scroll-cue{align-items:center;bottom:clamp(48px,7vw,88px);color:#6e6e6e;color:var(--paper-dim);display:flex;flex-direction:column;font-family:IBM Plex Mono,monospace;font-size:11px;gap:10px;letter-spacing:.1em;position:absolute;right:clamp(20px,5vw,64px);z-index:2}.scroll-cue .line{background:hsla(39,39%,93%,.688);background:var(--line-strong);height:46px;overflow:hidden;position:relative;width:1px}.scroll-cue .line:after{animation:drip 1.8s ease-in-out infinite;background:#c04e4e;background:var(--accent);content:"";height:16px;left:0;position:absolute;top:0;width:100%}@keyframes drip{0%{transform:translateY(-16px)}to{transform:translateY(46px)}}.gallery-section{margin:0 auto;max-width:1500px;padding:clamp(56px,8vw,110px) clamp(20px,5vw,64px) clamp(80px,10vw,140px)}.gallery-head{align-items:flex-end;border-bottom:1px solid hsla(39,39%,93%,.615);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:clamp(32px,5vw,56px);padding-bottom:24px}.gallery-head h2{font-family:Fraunces,serif;font-size:clamp(28px,3.4vw,40px);font-weight:500}.gallery-head h2,.gallery-head p{color:#6e6e6e;color:var(--paper-dim)}.gallery-head p{font-size:14px;max-width:36ch}.count-badge{color:#c04e4e;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.08em}.grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.frame{background:#1d1a16;background:var(--ink-soft);border-radius:2px;break-inside:avoid;cursor:pointer;margin-bottom:18px;overflow:hidden;page-break-inside:avoid;position:relative}.frame img{display:block;transition:transform .7s cubic-bezier(.16,1,.3,1);width:100%}.frame:hover img{transform:scale(1.045)}.frame-index{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a09088c;border-radius:2px;color:#fff;color:var(--paper);font-family:IBM Plex Mono,monospace;font-size:11px;left:12px;letter-spacing:.05em;padding:4px 8px;position:absolute;top:12px;z-index:2}.frame-scrim{align-items:flex-end;background:linear-gradient(180deg,#0a090800 40%,#0a0908d1);display:flex;inset:0;justify-content:flex-end;opacity:0;padding:14px;position:absolute;transition:opacity .35s ease}.frame:hover .frame-scrim{opacity:1}.dl-btn{align-items:center;background:#0a09088c;border:none;border-radius:50%;color:#fff;color:var(--paper);cursor:pointer;display:flex;height:40px;justify-content:center;opacity:0;text-decoration:none;transform:translateY(6px);transition:transform .35s ease,opacity .35s ease,background .2s ease;width:40px}.frame:hover .dl-btn{opacity:1;transform:translateY(0)}.dl-btn:hover{background:#c04e4e;background:var(--accent);color:#fff;color:var(--ink)}.dl-btn svg{height:17px;width:17px}.lightbox-download .dl-btn{background:#c04e4e;background:var(--accent);background:#0000;color:#fff;color:var(--ink);opacity:1;transform:translateY(0)}.download-all{align-items:center;background:#c04e4e;background:var(--accent);border:none;border-radius:999px;bottom:22px;box-shadow:0 10px 30px #0006;color:#fff;color:var(--ink);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:10px;padding:14px 20px;position:fixed;right:22px;transition:transform .2s ease,background .2s ease;z-index:50}.download-all:hover{background:#d4685e;transform:translateY(-2px)}.download-all:disabled{cursor:progress;opacity:.6;transform:none}.download-all svg{height:18px;width:18px}.shutter{background:#fff;background:var(--ink);border-radius:50%;flex-shrink:0;height:8px;width:8px}.lightbox{align-items:center;background:#080706f5;display:none;inset:0;justify-content:center;padding:40px 20px;position:fixed;z-index:100}.lightbox.open{display:flex}.lightbox img{box-shadow:0 30px 80px #0009;max-height:82vh;max-width:min(1100px,calc(100vw - 60px));object-fit:contain}.lightbox-close,.lightbox-download,.lightbox-nav{align-items:center;background:#0000;border:1px solid hsla(39,39%,93%,.688);border:1px solid var(--line-strong);border-radius:50%;color:#fff;color:var(--paper);cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;transition:background .2s ease;width:44px}.lightbox-close:hover,.lightbox-nav:hover{background:#f4efe61a}.lightbox-download{left:24px;top:24px}.lightbox-close{right:24px;top:24px}.lightbox-nav.prev{left:5px;top:50%;transform:translateY(-50%)}.lightbox-nav.next{right:5px;top:50%;transform:translateY(-50%)}.lightbox-caption{bottom:28px;color:#6e6e6e;color:var(--paper-dim);font-family:IBM Plex Mono,monospace;font-size:12px;left:50%;letter-spacing:.08em;position:absolute;transform:translateX(-50%)}@media (max-width:640px){.lightbox-nav{height:38px;width:38px}}footer{border-top:1px solid hsla(39,39%,93%,.615);border-top:1px solid var(--line);color:#6e6e6e;color:var(--paper-dim);font-size:13px;padding:36px 20px 48px;text-align:center}footer span{color:#c04e4e;color:var(--accent)}.ppa-root{--ppa-bg:#0a0908;--ppa-surface:#14120f;--ppa-surface-hover:#1d1a16;--ppa-border:var(--line);--ppa-border-strong:var(--line-strong);-webkit-font-smoothing:antialiased;background:var(--ppa-bg);color:#fff;color:var(--paper);font-family:Inter,sans-serif;min-height:100vh}.ppa-container{margin:0 auto;max-width:1024px;padding:40px 24px}.ppa-header{align-items:center;border-bottom:1px solid var(--ppa-border);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.ppa-title{font-family:Fraunces,serif;font-size:30px;font-style:italic;font-weight:500;letter-spacing:-.01em;margin:0}.ppa-subtitle{color:#6e6e6e;color:var(--paper-dim);font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;margin:6px 0 0}.ppa-btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;padding:11px 20px;transition:transform .2s ease,background-color .2s ease}.ppa-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.ppa-btn-primary{background:#c04e4e;background:var(--accent);color:#fff;color:var(--paper)}.ppa-btn-primary:hover:not(:disabled){background:#d4685e;transform:translateY(-1px)}.ppa-btn-ghost{background:#0000;border:1px solid var(--ppa-border-strong);color:#fff;color:var(--paper)}.ppa-btn-ghost:hover{background:#f4efe614}.ppa-btn-danger{background:#0000;border:1px solid #8a5555;border:1px solid var(--accent-soft);color:#c04e4e;color:var(--accent)}.ppa-btn-danger:hover{background:#c04e4e;background:var(--accent);color:#fff;color:var(--paper)}.ppa-btn-sm{font-size:12px;padding:7px 14px}.ppa-icon-btn{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0908b3;border:1px solid var(--ppa-border);border-radius:50%;color:#fff;color:var(--paper);cursor:pointer;display:flex;height:34px;justify-content:center;transition:background-color .2s ease,border-color .2s ease;width:34px}.ppa-icon-btn:hover{background:#0a0908e6;border-color:var(--ppa-border-strong)}.ppa-icon-btn-danger:hover{background:#c04e4e;background:var(--accent);border-color:#c04e4e;border-color:var(--accent)}.ppa-empty{align-items:center;border:1px dashed var(--ppa-border);border-radius:2px;display:flex;flex-direction:column;justify-content:center;padding:96px 0;text-align:center}.ppa-empty-icon{margin-bottom:12px;opacity:.6}.ppa-empty-icon,.ppa-empty-text{color:#6e6e6e;color:var(--paper-dim)}.ppa-empty-text{font-family:IBM Plex Mono,monospace;font-size:13px;letter-spacing:.03em}.ppa-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ppa-card{background:var(--ppa-surface);border:1px solid var(--ppa-border);border-radius:2px;overflow:hidden;position:relative;transition:border-color .2s ease}.ppa-card:hover{border-color:var(--ppa-border-strong)}.ppa-card:hover .ppa-card-actions{opacity:1}.ppa-card-thumb{aspect-ratio:4/3;background:#1d1a16;background:var(--ink-soft);overflow:hidden;position:relative}.ppa-card-img{display:block;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1);width:100%}.ppa-card:hover .ppa-card-img{transform:scale(1.04)}.ppa-card-placeholder{align-items:center;color:#6e6e6e;color:var(--paper-dim);display:flex;height:100%;justify-content:center;opacity:.5;width:100%}.ppa-card-count{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0908b3;border-radius:999px;bottom:8px;color:#fff;color:var(--paper);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;padding:3px 9px;position:absolute;right:8px}.ppa-card-body{padding:16px}.ppa-card-name{font-family:Fraunces,serif;font-size:17px;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppa-card-date{align-items:center;color:#c04e4e;color:var(--accent);display:flex;font-family:IBM Plex Mono,monospace;font-size:11px;gap:6px;letter-spacing:.04em;margin-top:6px}.ppa-card-actions{display:flex;gap:6px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.ppa-confirm-overlay{align-items:center;background:#0a0908f5;display:flex;flex-direction:column;gap:14px;inset:0;justify-content:center;padding:16px;position:absolute;text-align:center}.ppa-confirm-text{font-family:Fraunces,serif;font-size:15px;font-style:italic;margin:0}.ppa-confirm-actions{display:flex;gap:8px}.ppa-editor{max-width:640px}.ppa-back-link{align-items:center;background:none;border:none;color:#6e6e6e;color:var(--paper-dim);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:12px;gap:6px;letter-spacing:.06em;margin-bottom:24px;padding:0;transition:color .2s ease}.ppa-back-link:hover{color:#fff;color:var(--paper)}.ppa-editor-title{margin-bottom:24px}.ppa-form{gap:22px}.ppa-field,.ppa-form{display:flex;flex-direction:column}.ppa-label{color:#c04e4e;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.ppa-input{background:var(--ppa-surface);border:1px solid var(--ppa-border);border-radius:2px;box-sizing:border-box;color:#fff;color:var(--paper);font-family:Inter,sans-serif;font-size:14px;outline:none;padding:11px 14px;transition:border-color .2s ease;width:100%}.ppa-input:focus{border-color:#c04e4e;border-color:var(--accent)}.ppa-dropzone{align-items:center;border:1px dashed var(--ppa-border);border-radius:2px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:32px 0;transition:border-color .2s ease,background-color .2s ease}.ppa-dropzone:hover{border-color:var(--ppa-border-strong)}.ppa-dropzone-active{background:var(--ppa-surface);border-color:#c04e4e;border-color:var(--accent)}.ppa-dropzone-icon{color:#6e6e6e;color:var(--paper-dim);margin-bottom:8px}.ppa-dropzone-text{color:#6e6e6e;color:var(--paper-dim);font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.04em;margin:0}.ppa-hidden-input{display:none}.ppa-thumbs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:14px}.ppa-thumb{aspect-ratio:1/1;background:var(--ppa-surface);border-radius:2px;overflow:hidden;position:relative}.ppa-thumb:hover .ppa-thumb-remove{opacity:1}.ppa-thumb-img{display:block;height:100%;object-fit:cover;width:100%}.ppa-thumb-remove{align-items:center;background:#0a0908bf;border:none;border-radius:50%;color:#fff;color:var(--paper);cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .2s ease,background-color .2s ease;width:24px}.ppa-thumb-remove:hover{background:#c04e4e;background:var(--accent)}.ppa-actions{display:flex;gap:8px;padding-top:8px}.ppa-error{align-items:center;background:#c04e4e1f;border:1px solid #8a5555;border:1px solid var(--accent-soft);border-radius:2px;color:#e8a3a3;display:flex;font-family:IBM Plex Mono,monospace;font-size:12px;gap:12px;justify-content:space-between;letter-spacing:.02em;margin-bottom:20px;padding:12px 16px}.ppa-error-close{background:none;border:none;color:inherit;cursor:pointer;display:flex;padding:0}.ppa-spin{animation:ppa-spin .8s linear infinite}@keyframes ppa-spin{to{transform:rotate(1turn)}}.ppa-login-root{align-items:center;background:#0a0908;color:#fff;color:var(--paper);display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:24px}.ppa-login-card{background:#14120f;border:1px solid hsla(39,39%,93%,.615);border:1px solid var(--line);border-radius:2px;display:flex;flex-direction:column;gap:18px;max-width:340px;padding:36px 30px;width:100%}.ppa-login-icon{align-items:center;background:#c04e4e24;border-radius:50%;color:#c04e4e;color:var(--accent);display:flex;height:40px;justify-content:center;width:40px}.ppa-login-title{font-family:Fraunces,serif;font-size:22px;font-style:italic;font-weight:500;margin:0 0 4px}.ppa-login-submit{justify-content:center;margin-top:4px}@media (max-width:640px){.ppa-header{align-items:flex-start;flex-direction:column;gap:12px}.ppa-thumbs{grid-template-columns:repeat(3,1fr)}}
/*# sourceMappingURL=main.b2e743e0.css.map*/