:root{color:#fffaf3;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#100f14;font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}#root{min-height:100vh}*{box-sizing:border-box}body{color:#fffaf3;background:#100f14;min-width:320px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{border:0}.page{background:linear-gradient(90deg,#100f14f0,#100f14c7),url(/backgrounds/festival.jpg) 50%/cover fixed;min-height:100vh;padding:28px}.appShell{grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);align-items:center;gap:clamp(24px,5vw,72px);width:min(1180px,100%);min-height:calc(100vh - 56px);margin:0 auto;display:grid}.controlPanel{max-width:650px}.brandPill{color:#ffe7b8;letter-spacing:.12em;background:#fffaf31a;border:1px solid #fffaf338;border-radius:999px;align-items:center;min-height:34px;padding:7px 14px;font-size:.82rem;font-weight:900;display:inline-flex}h1{color:#fffaf3;letter-spacing:0;text-transform:uppercase;max-width:720px;margin:22px 0 16px;font-size:clamp(2.75rem,7vw,6.8rem);font-weight:950;line-height:.9}.intro{color:#f5e8d4;max-width:580px;margin:0 0 30px;font-size:clamp(1.05rem,2vw,1.32rem);line-height:1.55}.stepGroup{margin-top:24px}.stepLabel{color:#f5c16d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:900}.styleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.styleCard{color:#fffaf3;cursor:pointer;text-align:left;background:#fffaf317;border:1px solid #fffaf32e;border-radius:8px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:78px;padding:8px;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.styleCard:hover{border-color:#f5c16dbf;transform:translateY(-1px)}.styleCard img{object-fit:cover;border-radius:5px;width:62px;height:62px}.styleCard span{gap:3px;display:grid}.styleCard strong{font-size:.93rem;line-height:1.12}.styleCard small{color:#decbb0;font-size:.76rem;line-height:1.2}.selectedStyle{background:#f5c16d2e;border-color:#f5c16d}.planBox{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.planButton{color:#fffaf3;cursor:pointer;text-align:left;background:#fffaf31a;border:1px solid #fffaf32e;border-radius:8px;flex-direction:column;justify-content:center;min-height:88px;padding:16px;transition:border-color .18s,background-color .18s,transform .18s;display:flex}.planButton:hover{border-color:#f5c16dbf;transform:translateY(-1px)}.planButton span{font-size:1rem;font-weight:950}.planButton small{color:#decbb0;margin-top:4px;font-size:.86rem;line-height:1.25}.activePlan{color:#15110b;background:#f5c16d;border-color:#f5c16d}.activePlan small{color:#4f3814}.uploadActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hiddenFileInput{display:none}.uploadButton{color:#fffaf3;cursor:pointer;background:#fffaf31a;border:1px solid #fffaf36b;border-radius:8px;min-height:58px;padding:0 16px;font-weight:900;transition:border-color .18s,background .18s,transform .18s}.cameraButton{background:#f5c16d2e;border-color:#f5c16dad}.uploadButton:hover{background:#f5c16d38;border-color:#f5c16d;transform:translateY(-1px)}.fileStatus{color:#decbb0;text-overflow:ellipsis;white-space:nowrap;margin:10px 0 0;font-size:.88rem;overflow:hidden}.fileStatus.hasPhoto{color:#8be5bf}.actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.primaryAction,.download,.share,.premiumPayButton,.premiumGenerateButton{cursor:pointer;border-radius:8px;min-height:54px;padding:0 24px;font-weight:950;transition:opacity .18s,transform .18s,box-shadow .18s}.primaryAction{color:#fffaf3;background:#e84f35;box-shadow:0 16px 36px #e84f3557}.download{color:#15110b;background:#fffaf3;justify-content:center;align-items:center;display:inline-flex}.posterActions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.share{color:#fffaf3;background:#e84f35;justify-content:center;align-items:center;display:inline-flex}.mobileSaveHint{color:#decbb0;margin:10px 0 0;font-size:.86rem}.primaryAction:hover,.download:hover,.share:hover,.premiumPayButton:hover,.premiumGenerateButton:hover{transform:translateY(-1px)}.primaryAction:disabled,.premiumPayButton:disabled,.premiumGenerateButton:disabled{cursor:not-allowed;opacity:.48;box-shadow:none;transform:none}.premiumBox{background:#fffaf31a;border:1px solid #f5c16d57;border-radius:8px;gap:12px;margin-top:24px;padding:18px;display:grid}.premiumBox p{color:#f2dfc2;margin:0;font-size:.95rem;line-height:1.4}.premiumUnlocked{border-color:#50dcaac7}.premiumStatus{font-weight:800;color:#b8f4d7!important}.premiumPayButton{color:#15110b;background:#f5c16d;box-shadow:0 16px 36px #f5c16d42}.premiumGenerateButton{color:#fffaf3;background:#fffaf324;border:1px solid #fffaf33d}.previewPanel{flex-direction:column;justify-content:center;align-items:center;display:flex}.posterFrame{aspect-ratio:2/3;background:#fffaf314;border:1px solid #fffaf329;border-radius:8px;width:min(100%,430px);position:relative;overflow:hidden;box-shadow:0 30px 90px #0000006b}.posterPlaceholder,.posterCanvas{position:absolute;inset:0}.posterPlaceholder{place-items:end start;padding:24px;display:grid}.placeholderTemplate{object-fit:cover;opacity:.52;width:100%;height:100%;position:absolute;inset:0}.posterPlaceholder:after{content:"";background:linear-gradient(#0000 35%,#100f14e6);position:absolute;inset:0}.placeholderCopy{z-index:1;text-align:left;gap:6px;max-width:calc(100% - 108px);display:grid;position:relative}.previewBrand{justify-content:flex-end;width:min(100%,430px);padding-top:14px;display:flex}.previewBrand a{border-radius:8px;transition:opacity .18s,transform .18s;display:inline-flex}.previewBrand a:hover,.previewBrand a:focus-visible{opacity:.86;transform:translateY(-2px)}.previewBrand img{width:96px;height:auto;display:block}.posterPlaceholder strong{font-size:1.12rem;line-height:1.15}.posterPlaceholder span{color:#f2dfc2;max-width:310px;font-size:.92rem;line-height:1.35}.posterCanvas{width:100%;height:100%;display:none}.posterCanvas.isReady{display:block}@media (width<=820px){.page{background-attachment:scroll;padding:18px}.appShell{grid-template-columns:1fr;align-items:start;min-height:auto}.controlPanel{max-width:none}.planBox,.styleGrid{grid-template-columns:1fr}.actions{display:grid}.uploadActions,.posterActions{grid-template-columns:1fr}.posterActions{display:grid}.primaryAction,.download,.share,.premiumPayButton,.premiumGenerateButton{width:100%}.previewPanel{justify-content:flex-start;align-items:flex-start}.posterFrame{width:min(100%,360px)}}
