:root{--maroon:#6b0f0f;--maroon-deep:#4a0808;--maroon-light:#8b1a1a;--gold:#c9a84c;--gold-light:#e8c97a;--cream:#fdf8f3;--cream-dark:#f5ede0;--white:#fff;--text-dark:#1a0a0a;--text-mid:#5a3a3a;--text-light:#856060;--shadow-sm:0 2px 12px #6b0f0f1a;--shadow-md:0 8px 32px #6b0f0f29;--shadow-lg:0 20px 60px #6b0f0f33;--r-sm:8px;--r-md:16px;--r-lg:24px;--r-xl:40px;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--ease:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--text-dark);line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15}.btn-primary{background:var(--maroon);color:#fff;border-radius:var(--r-xl);cursor:pointer;transition:var(--ease);border:none;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 4px 20px #6b0f0f4d}.btn-primary:hover{background:var(--maroon-deep);transform:translateY(-2px);box-shadow:0 8px 28px #6b0f0f66}.pb-hero{background:linear-gradient(135deg, #1a0505 0%, var(--maroon-deep) 50%, #2d0a0a 100%);text-align:center;padding:90px 0 50px}.pb-hero h1{font-family:var(--font-display);color:#fff;margin-bottom:12px;font-size:clamp(2.2rem,5vw,3.8rem)}.pb-hero h1 em{color:var(--gold-light);font-style:italic}.pb-hero p{color:#ffffffa6;max-width:500px;margin:0 auto 30px;font-size:1rem}.pb-setup{max-width:700px;margin:0 auto;padding:50px 24px}.pb-setup h2{font-family:var(--font-display);color:var(--maroon-deep);text-align:center;margin-bottom:32px;font-size:1.9rem}.layout-choices{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;display:grid}.layout-choice{border:3px solid var(--border);text-align:center;cursor:pointer;background:#fff;border-radius:16px;padding:28px 20px;transition:all .25s}.layout-choice:hover{border-color:var(--maroon);transform:translateY(-4px);box-shadow:0 8px 24px #6b0f0f1f}.layout-choice.active{border-color:var(--maroon);background:#6b0f0f0a}.layout-choice .icon{width:44px;height:44px;color:var(--maroon);margin:0 auto 14px}.layout-choice .choice-title{font-family:var(--font-display);color:var(--maroon-deep);margin-bottom:6px;font-size:1.3rem}.layout-choice .choice-desc{color:var(--text-light);margin:0;font-size:.82rem}.layout-choice .shots-badge{background:var(--maroon);color:#fff;border-radius:100px;margin-top:8px;padding:3px 12px;font-size:.72rem;font-weight:700;display:inline-block}.layout-choice,.filter-pill{color:inherit;font-family:inherit}.layout-choice{width:100%}.filter-pill{width:auto}.layout-choice .choice-title,.layout-choice .choice-desc{display:block}.filter-row{scrollbar-width:thin;gap:12px;margin-bottom:28px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-pill{border:2px solid var(--border);cursor:pointer;min-height:44px;color:var(--text-mid);white-space:nowrap;background:#fff;border-radius:100px;flex-shrink:0;align-items:center;padding:8px 18px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.filter-pill:hover{border-color:var(--maroon);color:var(--maroon)}.filter-pill.active{background:var(--maroon);border-color:var(--maroon);color:#fff}.pb-error{color:var(--text-mid);text-align:left;background:#6b0f0f0f;border:1px solid #6b0f0f40;border-radius:12px;margin-top:16px;padding:14px 16px;font-size:.82rem}.pb-error strong,.pb-error span{display:block}.pb-error strong{color:var(--maroon-deep);margin-bottom:4px}.pb-camera-wrap{max-width:900px;margin:0 auto;padding:40px 24px;display:none}.pb-camera-inner{grid-template-columns:1fr 200px;align-items:start;gap:24px;display:grid}@media (width<=700px){.pb-camera-inner{grid-template-columns:1fr}}.video-container{aspect-ratio:4/3;background:#000;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 12px 40px #0000004d}#pbVideo{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}#pbVideo.filter-bw{filter:grayscale()}#pbVideo.filter-vintage{filter:sepia(60%)contrast(90%)brightness(110%)}#pbVideo.filter-glam{filter:brightness(115%)contrast(105%)saturate(120%)}#pbVideo.filter-film{filter:grayscale(30%)contrast(110%)brightness(95%)}#pbVideo.filter-vivid{filter:saturate(200%)contrast(110%)}.countdown-overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.countdown-num{font-family:var(--font-display);color:#fff;text-shadow:0 4px 20px #00000080;font-size:9rem;font-weight:900;line-height:1;animation:.8s popIn}@keyframes popIn{0%{opacity:0;transform:scale(2)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.flash-anim{z-index:20;opacity:0;pointer-events:none;background:#fff;transition:opacity .1s;position:absolute;inset:0}.flash-anim.go{opacity:1}.shot-progress{background:#6b0f0f0f;border:1px solid #6b0f0f1a;border-radius:12px;margin-bottom:16px;padding:16px}.shot-progress h4{color:var(--maroon-deep);margin-bottom:10px;font-size:.85rem;font-weight:700}.shot-dots{flex-wrap:wrap;gap:10px;display:flex}.shot-dot{border:2px dashed var(--border);background:#f8f8f8;border-radius:6px;justify-content:center;align-items:center;width:44px;height:60px;font-size:1.2rem;transition:all .3s;display:flex;overflow:hidden}.shot-dot.taken{border:2px solid var(--maroon);background:var(--maroon)}.shot-dot.taken img{object-fit:cover;width:100%;height:100%}.shot-dot.current{border:2px solid var(--gold);animation:1s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #d4aa6266}50%{box-shadow:0 0 0 6px #d4aa6200}}.cam-controls{flex-direction:column;gap:10px;display:flex}.btn-capture{background:var(--maroon);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.btn-capture:hover:not(:disabled){background:var(--maroon-dark);transform:translateY(-2px)}.btn-capture:disabled{opacity:.5;cursor:not-allowed}.btn-restart{width:100%;color:var(--text-mid);border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-restart:hover{border-color:var(--maroon);color:var(--maroon)}.pb-result-wrap{text-align:center;max-width:900px;margin:0 auto;padding:40px 24px;display:none}.result-grid{text-align:left;grid-template-columns:1fr 1fr;align-items:start;gap:32px;margin-bottom:32px;display:grid}@media (width<=700px){.result-grid{grid-template-columns:1fr}}.result-actions{flex-direction:column;gap:10px;display:flex}.pb-loading{text-align:center;padding:60px 24px;display:none}.spinner{border:5px solid #6b0f0f1a;border-top-color:var(--maroon);border-radius:50%;width:56px;height:56px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pb-icons{display:none}.icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}
