@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap";:root{--dark: #0d1729;--panel: rgba(255,255,255,.12);--line: rgba(255,255,255,.18);--pink: #ef4f8d;--rose: #ff8a65;--yellow: #ffd34f;--blue: #56c5dc;--ink: #172033;color:#fff;background:var(--dark);font-family:Nunito,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,a{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Baloo 2",Nunito,sans-serif;line-height:.98}.kiosk-page{min-height:100vh;padding:32px;background:radial-gradient(circle at 12% 10%,rgba(239,79,141,.28),transparent 34%),radial-gradient(circle at 90% 18%,rgba(86,197,220,.24),transparent 34%),linear-gradient(135deg,#0d1729,#101a2f 60%,#0b1323)}.kiosk-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:900}.kiosk-top a,.kiosk-top span{border-radius:999px;padding:10px 18px;background:#ffffff1a;border:1px solid var(--line)}.kiosk-top span{color:var(--pink);background:#ffe6f0;border:0}.package-step,.payment-step,.shoot-step,.result-step{width:min(1500px,100%);min-height:calc(100vh - 130px);margin:42px auto 0;display:grid;align-content:center}.intro,.center-title{text-align:center}.flower{display:block;font-size:72px;margin-bottom:18px}.intro h1,.center-title h1{font-size:clamp(70px,9vw,132px);color:#fff;text-shadow:0 16px 50px rgba(0,0,0,.28)}.intro b{display:inline-flex;margin:18px 0 20px;padding:8px 18px;border-radius:999px;background:var(--pink)}.intro p,.center-title p,.center-title span{color:#ffffffad;font-size:24px;font-weight:800}.trial-pill{display:inline-flex;margin-top:18px;padding:10px 16px;border-radius:999px;color:#172033;background:#ffd34f;font-weight:900}.packages{width:min(860px,100%);margin:38px auto 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.packages button{position:relative;min-height:260px;padding:30px;text-align:left;color:#fff;border-radius:34px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;box-shadow:0 28px 90px #0000002e}.packages button.highlight{color:#fff;border:0;background:linear-gradient(160deg,#f73682,#ff8a65)}.packages em{position:absolute;top:-18px;right:28px;padding:8px 16px;border-radius:999px;background:var(--yellow);color:#29131c;font-style:normal;font-weight:900}.packages span{display:block;font:900 34px "Baloo 2"}.packages strong{display:block;margin-top:14px;font:900 48px "Baloo 2"}.packages small{display:block;margin-top:12px;color:#fffc;font-size:18px;line-height:1.3}.packages i{display:inline-flex;margin-top:24px;padding:8px 14px;border-radius:999px;background:#ffffff29;font-style:normal;font-weight:900}.free-modes{display:flex;justify-content:center;gap:14px}.free-modes button,.ghost,.primary{border:0;min-height:54px;border-radius:999px;padding:0 24px;font-weight:900}.free-modes button,.ghost{color:#fff;background:#ffffff1f;border:1px solid var(--line)}.primary{color:#fff;background:linear-gradient(135deg,var(--pink),var(--rose));box-shadow:0 22px 50px #ef4f8d3d}.payment-step{justify-items:center;gap:30px}.center-title h1{font-size:clamp(64px,7vw,104px);background:linear-gradient(135deg,#ff704d,#ffd34f,#83d8bf);-webkit-background-clip:text;color:transparent}.qris-card,.download-card{width:min(430px,92vw);padding:32px;border-radius:36px;color:var(--ink);background:#fff;text-align:center;box-shadow:0 30px 100px #ef4f8d2e}.voucher-area{margin-bottom:16px;text-align:left}.voucher-area label{display:block;margin-bottom:8px;font-weight:900}.voucher-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.voucher-row input{width:100%;min-height:46px;border-radius:12px;border:1px solid #d3ddea;padding:0 12px}.voucher-row .apply{min-height:46px;color:var(--ink);background:#f6f9ff;border:1px solid #d3ddea}.voucher-note{margin-top:8px;color:#8c5563;font-weight:800}.voucher-note.success{color:#1f8a56}.pricing-box{border:1px solid #e3e8f2;border-radius:18px;padding:12px;margin-bottom:16px;background:#f8fbff}.pricing-box div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#3c4a62}.pricing-box .total{margin-top:4px;padding-top:10px;border-top:1px dashed #ccd9ed;color:#15243f;font-weight:900}.qris-head{display:grid;grid-template-columns:60px 1fr;gap:0 12px;text-align:left;align-items:center}.qris-head b{grid-row:span 2;display:grid;place-items:center;width:60px;height:60px;border-radius:18px;color:#fff;background:var(--pink)}.qris-head span{font-weight:900;font-size:22px}.qris-head small{color:#7a8598}.fake-qris{width:260px;height:260px;margin:24px auto;display:grid;place-items:center;border:8px solid var(--dark);border-radius:24px;background:repeating-linear-gradient(45deg,#0d1729 0,#0d1729 5px,#fff 5px,#fff 10px);font-size:34px}.fake-qris.small{width:190px;height:190px;border-color:var(--pink)}.qris-card strong{display:block;margin:18px 0;color:#23945f}.qris-card div:last-child,.result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.mode-pill{justify-self:center;margin-bottom:18px;padding:12px 22px;border-radius:999px;color:#fff;background:var(--pink);font-weight:900}.shoot-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}.camera-stage{position:relative;min-height:610px;border-radius:32px;border:12px solid var(--pink);background:radial-gradient(circle at center,rgba(255,255,255,.12),transparent 22%),linear-gradient(135deg,#1f314d,#241431);overflow:hidden;display:grid;place-items:center;box-shadow:0 40px 120px #00000040}.camera-stage:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(255,255,255,.12);border-radius:24px}.camera-stage.trial{border-color:#ffd34f}.camera-stage span,.camera-stage strong,.camera-stage small{position:absolute;z-index:2;font-weight:900}.camera-stage span{top:22px;left:24px}.camera-stage strong{top:22px;right:24px;border-radius:999px;padding:8px 14px;background:#0000008c}.camera-stage small{bottom:22px;left:24px;right:24px;text-align:center;text-shadow:0 4px 18px rgba(0,0,0,.6)}.camera-stage .watermark{position:absolute;z-index:2;inset:auto 0 46%;transform:rotate(-18deg);text-align:center;color:#ffffff38;font:900 clamp(52px,9vw,118px) "Baloo 2";font-style:normal;letter-spacing:0;pointer-events:none}.camera-face{position:absolute;z-index:3;top:44px;right:34px;bottom:64px;left:34px;border-radius:22px;display:grid;place-items:center;background:#00000038;box-shadow:inset 0 0 0 1px #ffffff2e;overflow:hidden}.camera-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1);background:#0000008c}.camera-face b{position:relative;z-index:2;font:900 clamp(70px,10vw,150px) "Baloo 2"}.camera-face em{position:relative;z-index:2;font-size:110px;font-style:normal}.control-panel{border-radius:28px;padding:22px;background:#ffffff14;border:1px solid var(--line)}.control-panel h2{margin:16px 0 12px;font-size:22px}.option-grid,.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option-grid button,.sticker-grid button{min-height:70px;border-radius:18px;border:1px solid rgba(255,255,255,.18);color:#fff;background:#0000002e;font-weight:900}.sticker-grid{grid-template-columns:repeat(6,1fr)}.sticker-grid button{min-height:42px;border-radius:12px;padding:0}.selected{outline:4px solid var(--pink);outline-offset:2px}.control-panel input{width:100%;min-height:48px;margin-bottom:14px;border-radius:16px;border:1px solid rgba(255,255,255,.18);color:#fff;background:#ffffff1f;padding:0 16px}.camera-error{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:#ff48482e;border:1px solid rgba(255,72,72,.4);font-weight:700;color:#ffd9d9}.capture,.control-panel .ghost{width:100%;margin-top:10px}.thumb-row{margin-top:26px;display:flex;align-items:center;gap:12px}.thumb-row span{font-weight:900;color:#ffffffbd}.thumb-row i{width:92px;height:92px;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.28);border-radius:18px;color:#fff6;font:900 30px "Baloo 2";font-style:normal}.thumb-row i.filled{color:#fff;background:linear-gradient(135deg,var(--pink),var(--yellow));border:0}.result-step{justify-items:center}.result-grid{margin-top:28px;display:grid;grid-template-columns:minmax(0,620px) 310px;gap:28px;align-items:stretch}.strip{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.strip-photo{position:relative;min-height:260px;border-radius:28px;background:radial-gradient(circle at 40% 22%,rgba(255,255,255,.5),transparent 18%),linear-gradient(135deg,#ffcfdd,#ffd9a5);display:grid;align-items:end;justify-items:center;padding:18px;color:#fff;font-weight:900;text-shadow:0 4px 18px rgba(0,0,0,.28);overflow:hidden}.strip-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.strip-photo span,.strip-photo i{position:relative;z-index:2}.strip-photo.trial:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:2px dashed rgba(255,255,255,.55);border-radius:20px}.strip-photo i{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(-18deg);color:#ffffff73;font:900 48px "Baloo 2";font-style:normal;letter-spacing:0;white-space:nowrap;pointer-events:none}.download-card{display:grid;align-content:center;gap:10px}.download-card button,.download-card a{border:0;border-radius:999px;padding:12px 16px;color:#172033;background:#ffe8f1;font-weight:900}.download-card a:nth-of-type(1){background:#50d3e4}.download-card a:nth-of-type(2){background:#ffd34f}.result-actions{margin-top:24px}.state-card{width:min(520px,calc(100% - 40px));min-height:220px;margin:18vh auto 0;border-radius:30px;display:grid;place-items:center;background:#ffffff1f;border:1px solid var(--line);font-weight:900}.error{color:#ffd34f}@media (max-width: 900px){.kiosk-page{padding:18px}.kiosk-top{font-size:14px}.packages,.shoot-grid,.result-grid{grid-template-columns:1fr}.packages button{min-height:210px}.camera-stage{min-height:460px}.control-panel{order:-1}.free-modes{flex-direction:column}.thumb-row{overflow-x:auto;padding-bottom:8px}.strip-photo{min-height:200px}}
