:root{--brown:#6e4030;--cream:#fff8ef;--sage:#b8c9b3;--pink:#f6c2c0;--blue:#a9d4e5;--yellow:#f6cb67;--ink:#4b352d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink)}button{font:inherit}.app{min-height:100svh;background:radial-gradient(circle at 8% 4%,#dfe8d8 0 10%,transparent 26%),radial-gradient(circle at 96% 8%,#f9d1cd 0 9%,transparent 24%),linear-gradient(160deg,#fffaf4,#fff4e9);overflow:hidden}.screen{display:none;min-height:100svh;padding:22px;position:relative}.screen.active{display:flex}.intro{align-items:center;text-align:center;flex-direction:column;gap:12px;overflow:auto}.brand-logo{width:min(250px,62vw);mix-blend-mode:multiply}.eyebrow{margin:0;font-size:11px;letter-spacing:.18em;font-weight:600;color:#8b604f}.intro h1{font-family:'Playfair Display',serif;font-size:clamp(36px,9vw,58px);line-height:1;margin:0;color:var(--brown);font-weight:500}.intro h1 em{font-weight:500}.intro-text{margin:0 0 4px;max-width:390px;font-size:16px;line-height:1.4}.frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(900px,100%);margin:6px auto 10px}.frame-card{position:relative;border:3px solid transparent;background:white;border-radius:18px;padding:7px;box-shadow:0 8px 24px rgba(75,53,45,.1);cursor:pointer;color:var(--brown)}.frame-card img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:11px}.frame-card span{display:block;padding:8px 3px 4px;font-weight:600;font-size:13px}.frame-card i{display:none;position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;background:var(--brown);color:#fff;font-style:normal;place-items:center}.frame-card.selected{border-color:var(--brown);transform:translateY(-2px)}.frame-card.selected i{display:grid}.btn{border:0;border-radius:999px;padding:15px 26px;width:min(430px,100%);min-height:54px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;cursor:pointer}.primary{background:var(--brown);color:white;box-shadow:0 12px 28px rgba(110,64,48,.2)}.primary:disabled{opacity:.35;cursor:not-allowed}.secondary{background:var(--sage);color:var(--ink)}.file-btn{display:flex;align-items:center;justify-content:center}.file-btn input{display:none}.privacy{font-size:11px;opacity:.62;max-width:340px;margin:0 0 12px}.camera-screen{flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#38271f;color:white}.topbar{position:absolute;top:calc(14px + env(safe-area-inset-top));left:18px;right:18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.topbar span{text-align:right}.top-link{border:0;background:none;color:white;text-align:left;padding:0;cursor:pointer}.camera-wrap{width:min(92vw,440px);aspect-ratio:2/3;overflow:hidden;position:relative;background:#111;box-shadow:0 30px 80px rgba(0,0,0,.35)}video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.live-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.shutter{width:78px;height:78px;border-radius:50%;border:6px solid rgba(255,255,255,.65);background:#fff;cursor:pointer}.text-button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.result-screen{flex-direction:column;align-items:center;gap:14px;padding:16px 14px 28px}.result-screen .text-button{color:var(--brown)}#posterCanvas{width:min(100%,430px);height:auto;box-shadow:0 20px 60px rgba(75,53,45,.2)}.result-screen .btn{width:min(430px,100%)}@media(max-width:700px){.frame-grid{grid-template-columns:repeat(2,1fr);max-width:430px}.frame-card span{font-size:12px}.brand-logo{width:min(220px,58vw)}}

.share-actions{width:min(430px,100%);display:flex;flex-direction:column;gap:10px}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social{background:#fff;color:var(--brown);border:1px solid rgba(110,64,48,.2);box-shadow:0 6px 18px rgba(75,53,45,.08)}.share-hint{font-size:11px;line-height:1.4;opacity:.65;text-align:center;margin:0 10px 4px}.share-actions .btn{width:100%}@media(max-width:360px){.social-row{grid-template-columns:1fr}}

/* Enquadramento aberto: imagem inteira sobre fundo suave da propria camera. */
.camera-wrap .video-bg{object-fit:cover;filter:blur(18px) brightness(.78) saturate(.9);transform:scaleX(-1) scale(1.09)}
.camera-wrap .video-main{object-fit:contain}
.camera-wrap.kids-frame{background:#fffaf5}
.camera-wrap.kids-frame video{clip-path:polygon(50% 21.8%,60% 22.4%,70% 24.3%,77% 27.4%,81% 32%,81.6% 39%,81.6% 84%,18.6% 84%,18.6% 39%,19% 32%,23% 27.4%,30% 24.3%,40% 22.4%)}
