@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,600;1,6..96,400&family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&display=swap";:root{color:#efffe8;font-synthesis:none;--lime:#d6ff57;--aqua:#75f1df;--ink:#061b1c;--glass:#dffff00d;--line:#dffff026;background:#041717;font-family:IBM Plex Sans Thai,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button{font:inherit;color:inherit}.app,.idle{background:radial-gradient(circle at 70% 20%,#164d46 0,#0000 38%),linear-gradient(145deg,#062a28,#041616 65%);width:100vw;height:100vh;position:relative;overflow:hidden}.idle{text-align:left;cursor:pointer;border:0;padding:0;display:block}.ambient{pointer-events:none;position:absolute;inset:0;overflow:hidden}.caustics{opacity:.25;filter:blur(2px);background:repeating-radial-gradient(at 40% 30%,#0000 0 9%,#8af0c31c 10% 11%,#0000 12% 20%);animation:16s linear infinite drift;position:absolute;inset:-30%}.plant{opacity:.25;filter:blur(4px);transform-origin:bottom;background:linear-gradient(25deg,#134c35,#8ecb62);border-radius:100% 0;width:25vw;height:70vh;animation:6s ease-in-out infinite alternate sway;position:absolute;bottom:-10%}.plant-a{left:-9%;transform:rotate(25deg)}.plant-b{height:85vh;animation-delay:-2s;right:-7%;transform:rotate(-30deg)}.bubbles i{--size:calc(5px + var(--i)*1px);width:var(--size);height:var(--size);left:calc(6% + var(--i)*7%);animation:bubble calc(7s + var(--i)*.35s) linear infinite;animation-delay:calc(var(--i)*-.9s);border:1px solid #cfffff66;border-radius:50%;position:absolute;bottom:-30px}.idle-copy{z-index:2;position:absolute;top:50%;left:10vw;transform:translateY(-52%)}.kicker,.stage-heading>span{letter-spacing:.24em;color:var(--lime);font-size:11px;font-weight:700}.idle h1,.stage h1,.thanks h1{letter-spacing:-.035em;margin:28px 0;font-family:Instrument Serif,serif;font-size:clamp(72px,10vw,152px);font-weight:400;line-height:.82}.idle h1 em,.stage h1 em{color:var(--aqua);font-weight:400}.idle p{opacity:.72;margin-bottom:40px;font-size:18px}.dive-button,.next{background:var(--lime);color:var(--ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:18px;padding:8px 10px 8px 24px;font-weight:700;display:inline-flex;box-shadow:0 12px 50px #b8ff4740}.dive-button i{background:#123e36;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 7px #123e361a}.dive-button svg,.next svg{color:#fff;background:#062a28;border-radius:50%;width:48px;height:48px;padding:12px}.idle-footer{letter-spacing:.2em;opacity:.55;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:28px;left:4vw;right:4vw}.idle-fish{color:#85edcf33;font-size:72px;animation:14s linear infinite swim;position:absolute}.fish-one{top:20%;left:-10%}.fish-two{font-size:40px;animation-delay:-7s;top:72%;left:-20%}.topbar{z-index:3;border-bottom:1px solid #d8fff014;justify-content:space-between;align-items:center;height:78px;padding:0 4vw;display:flex;position:relative}.icon-button{cursor:pointer;background:#d5fff50c;border:1px solid #d5fff52b;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.brand{letter-spacing:.16em;align-items:center;gap:8px;font-weight:700;display:flex}.brand small{opacity:.55;margin-top:13px;margin-left:-4px;font-size:8px}.brand svg{color:var(--lime)}.session{letter-spacing:.15em;opacity:.5;text-align:right;min-width:100px;font-size:10px}.progress{z-index:4;opacity:.7;flex-direction:column;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;top:50%;left:4vw;transform:translateY(-50%)}.progress>div{flex-direction:column;gap:8px;display:flex}.progress i{background:#dfffff25;border-radius:9px;width:3px;height:16px}.progress i.active{background:var(--lime);height:30px}.stage{z-index:2;grid-template-rows:1fr auto;grid-template-columns:minmax(320px,.72fr) minmax(520px,1.28fr);align-items:center;gap:24px 7vw;height:calc(100vh - 78px);padding:5vh 8vw 4vh 11vw;display:grid;position:relative}.stage-heading h1{margin:20px 0;font-family:DM Sans,sans-serif;font-size:clamp(48px,5.5vw,82px);font-weight:500;line-height:.98}.stage-heading h1 em{font-weight:400}.stage-heading{align-self:center}.stage>.next{position:absolute;bottom:4vh;right:5vw}.choice-grid{align-self:center;gap:16px;display:grid}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{cursor:pointer;background:#c9fff50b;border:1px solid #caffe72a;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:250px;padding:28px 18px;transition:all .25s;display:flex;position:relative}.choice:hover,.choice.active,.template-card.active,.overlay-card.active{border-color:var(--lime);background:#c6ff6915;transform:translateY(-5px)}.choice-icon{width:76px;height:76px;color:var(--aqua);background:#8fe5d018;border-radius:50%;place-items:center;display:grid}.choice-icon svg{width:31px;height:31px}.choice b{font-size:18px}.choice small{opacity:.55}.check,.selected{background:var(--lime);width:26px;height:26px;color:var(--ink);border-radius:50%;padding:6px;position:absolute;top:16px;right:16px}.popular{letter-spacing:.16em;background:var(--lime);color:var(--ink);border-radius:30px;padding:6px 12px;font-size:8px;position:absolute;top:-10px}.template-list{flex-direction:column;gap:14px;display:flex}.template-card{text-align:left;cursor:pointer;background:#d8fff009;border:1px solid #d8fff022;border-radius:24px;grid-template-columns:65px 1fr auto;align-items:center;gap:18px;min-height:104px;padding:18px 22px;transition:all .22s;display:grid}.template-number{color:var(--aqua);font-family:Instrument Serif;font-size:42px}.template-card b{font-size:18px;display:block}.template-card small{opacity:.5;margin-top:5px;display:block}.act-pill{letter-spacing:.12em;border:1px solid #cfffff35;border-radius:99px;padding:8px 12px;font-size:9px}.overlay-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.overlay-card{cursor:pointer;background:#d8fff009;border:1px solid #d8fff022;border-radius:24px;flex-direction:column;justify-content:flex-end;align-items:flex-start;height:180px;padding:20px;transition:all .22s;display:flex;position:relative;overflow:hidden}.overlay-card b{font-size:16px}.overlay-card small{opacity:.5;margin-top:3px}.orb{filter:blur(.2px);border-radius:50%;width:120px;height:120px;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.orb i{border:1px solid #fff8;border-radius:50%;position:absolute;inset:25%}.orb-bubbles{background:radial-gradient(circle at 35% 25%,#fff9,#0000 12%),radial-gradient(circle,#74e7d955,#17514f)}.orb-tetra{background:conic-gradient(#65e6d5,#d1ff56,#7a61ff,#65e6d5)}.orb-moss{background:radial-gradient(circle at 30% 30%,#d8ff73,#1c5337 65%)}.orb-deep{background:radial-gradient(circle at 60% 30%,#817cff,#071f39 62%)}.surprise{color:var(--lime);letter-spacing:.18em;cursor:pointer;background:0 0;border:0;margin-top:14px;font-size:10px}.guide-card{background:#d9fff00d;border:1px solid #d9fff01d;border-radius:34px;grid-template-columns:150px 1fr;gap:34px;padding:32px;display:grid}.lens{background:radial-gradient(circle,#183c3b 0 28%,#09191a 30% 45%,#75dec54a 46% 48%,#0000 50%);border:1px solid #aaffd844;border-radius:50%;place-items:center;width:140px;height:140px;animation:2.5s infinite pulse;display:grid}.guide-steps{flex-direction:column;gap:18px;display:flex}.guide-steps>div{align-items:center;gap:14px;display:flex}.guide-steps>div>span{width:32px;height:32px;color:var(--lime);background:#bfff6517;border-radius:50%;place-items:center;font-family:Instrument Serif;font-size:18px;display:grid}.guide-steps p{margin:0;font-size:14px}.guide-steps small{letter-spacing:.15em;color:var(--aqua);margin-bottom:3px;font-size:8px;display:block}.look-hint{text-align:center;opacity:.5;font-size:12px}.capture-stage{z-index:5;background:#020c0c;position:absolute;inset:0}.camera-feed{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-shade{background:linear-gradient(#001a1b9c,#0000 25% 60%,#001212d9);position:absolute;inset:0}.camera-badge{letter-spacing:.12em;background:#041f1f99;border:1px solid #d9fff333;border-radius:99px;padding:9px 14px;font-size:9px;position:absolute;top:24px;left:24px}.camera-badge i{background:var(--lime);width:7px;height:7px;box-shadow:0 0 9px var(--lime);border-radius:50%;margin-right:6px;display:inline-block}.act-status{text-align:center;position:absolute;top:45px;left:50%;transform:translate(-50%)}.act-status small{letter-spacing:.2em;color:var(--lime)}.act-status strong{margin-top:8px;font-family:Instrument Serif;font-size:34px;font-weight:400;display:block}.focus-frame{position:absolute;inset:17% 21% 19%}.focus-frame i{border-color:#d8fff099;width:55px;height:55px;position:absolute}.focus-frame i:first-child{border-top:2px solid;border-left:2px solid;top:0;left:0}.focus-frame i:nth-child(2){border-top:2px solid;border-right:2px solid;top:0;right:0}.focus-frame i:nth-child(3){border-bottom:2px solid;border-left:2px solid;bottom:0;left:0}.focus-frame i:nth-child(4){border-bottom:2px solid;border-right:2px solid;bottom:0;right:0}.shutter{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.shutter>span{background:var(--lime);width:76px;height:76px;color:var(--ink);background-clip:padding-box;border:7px solid #d9fff128;border-radius:50%;place-items:center;display:grid}.shutter small{letter-spacing:.12em;font-size:10px}.countdown{background:#073a373d;place-items:center;display:grid;position:absolute;inset:0}.countdown span{width:180px;height:180px;color:var(--ink);background:#bfff65ed;border-radius:50%;place-items:center;font-family:Instrument Serif;font-size:120px;animation:.8s ease-out pop;display:grid}.camera-error{text-align:center;background:#041f1fe8;border:1px solid #d9fff333;border-radius:28px;max-width:430px;padding:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-error svg{color:var(--lime);width:42px;height:42px}.camera-error p{opacity:.65}.camera-error button{background:var(--lime);color:var(--ink);border:0;border-radius:99px;padding:12px 22px;font-weight:700}.photo-composition{aspect-ratio:4/3;max-height:57vh;color:var(--ink);background:#d7efe2;border-radius:25px;gap:8px;padding:12px;display:grid;position:relative;overflow:hidden}.photo-composition figure{border-radius:14px;margin:0;position:relative;overflow:hidden}.photo-composition img{object-fit:cover;width:100%;height:100%}.photo-composition figure span{color:#fff;font-size:9px;position:absolute;top:8px;left:8px}.layout-2{grid-template-columns:1fr 1fr}.layout-3{grid-template-rows:1fr 1fr;grid-template-columns:1.35fr .65fr}.layout-3 figure:first-child{grid-row:span 2}.composition-mark{color:#fff;text-shadow:0 2px 15px #000;font-family:Instrument Serif;font-size:28px;line-height:.65;position:absolute;bottom:23px;left:26px}.composition-mark small{letter-spacing:.18em;font-family:DM Sans;font-size:6px}.empty-preview{opacity:.5;place-items:center;display:grid}.preview-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.secondary,.delivery-actions button{cursor:pointer;background:#d9fff10b;border:1px solid #d9fff22d;border-radius:99px;align-items:center;gap:9px;padding:14px 22px;display:flex}.secondary svg,.delivery-actions svg{width:17px}.next.inline{position:static}.delivery-card{background:#d8fff00d;border:1px solid #d8fff022;border-radius:28px;grid-template-columns:180px 1fr;align-items:center;gap:28px;padding:28px;display:grid}.qr-wrap{color:var(--ink);text-align:center;background:#efffe9;border-radius:18px;padding:12px}.qr-wrap img{border-radius:8px;width:100%;display:block}.qr-wrap span{letter-spacing:.18em;font-size:8px;font-weight:800}.delivery-copy b{color:var(--lime);letter-spacing:.15em;font-size:12px}.delivery-copy p{font-family:Instrument Serif;font-size:25px;line-height:1.05}.delivery-copy small{opacity:.55}.delivery-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.delivery-actions button{padding:11px 15px;font-size:11px}.thanks{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.thanks small{letter-spacing:.2em;color:var(--lime)}.thanks h1{margin:25px;font-size:clamp(56px,7vw,100px);line-height:.9}.thanks p{opacity:.55}.final-fish{color:var(--aqua);font-size:75px;animation:2s ease-in-out infinite alternate float}.reset-line{background:#e5fff01a;width:240px;height:2px;margin-top:30px;overflow:hidden}.reset-line i{background:var(--lime);transform-origin:0;width:100%;height:100%;animation:7s linear forwards reset;display:block}.print-sheet{display:none}@keyframes bubble{to{opacity:0;transform:translateY(-115vh)translate(30px)}}@keyframes drift{to{transform:translate(20%,10%)rotate(12deg)}}@keyframes sway{to{transform:rotate(8deg)skew(4deg)}}@keyframes swim{to{left:110%;transform:translateY(70px)}}@keyframes pulse{50%{box-shadow:0 0 0 18px #aaffd808}}@keyframes pop{0%{opacity:0;transform:scale(.3)}}@keyframes float{to{transform:translateY(-15px)}}@keyframes reset{0%{transform:scaleX(0)}}@media (width<=850px){.stage{grid-template-columns:1fr;align-content:start;padding:4vh 8vw 11vh;overflow:auto}.stage-heading{text-align:center}.stage-heading h1{font-size:58px}.choice-grid.three{grid-template-columns:1fr}.choice{min-height:130px}.progress{display:none}.overlay-grid{grid-template-columns:1fr 1fr}.guide-card{grid-template-columns:1fr}.lens{margin:auto}.idle-copy{left:8vw}.idle h1{font-size:72px}.session{display:none}}@media print{@page{size:6in 4in;margin:0}body{background:#fff}.topbar,.progress,.stage-heading,.preview-actions,.delivery-actions,.delivery-card,.stage>.next,.ambient{display:none!important}.app{background:#fff;width:6in;height:4in}.stage{height:4in;padding:0;display:block}.print-sheet{background:#061b1c;width:6in;height:4in;display:block;position:relative;overflow:hidden}.print-photo{object-fit:cover;width:100%;height:100%}.print-sheet:after{content:"";background:linear-gradient(#0000 55%,#031717cc);position:absolute;inset:0}.print-brand{z-index:2;color:#fff;flex-direction:column;display:flex;position:absolute;bottom:.2in;left:.25in}.print-brand b{font-family:Instrument Serif;font-size:34pt;line-height:.8}.print-brand span{letter-spacing:.18em;font-size:6pt}.print-brand small{opacity:.7;margin-top:7px;font-size:6pt}.print-qr{z-index:3;background:#fff;width:.72in;height:.72in;padding:4px;position:absolute;bottom:.2in;right:.2in}}.idle-copy{width:min(78vw,1080px);top:48%;left:8vw;transform:translateY(-50%)}.idle-copy:before{content:"01  /  AQUA ENCOUNTER";border-bottom:1px solid var(--line);letter-spacing:.22em;width:260px;color:var(--aqua);padding-bottom:12px;font-size:12px;position:absolute;top:-68px;left:0}.kicker,.stage-heading>span{letter-spacing:.2em;font-size:13px;font-weight:600}.idle h1,.thanks h1{letter-spacing:-.055em;font-family:Bodoni Moda,IBM Plex Sans Thai,serif;line-height:.78}.idle p{border-left:1px solid var(--aqua);max-width:380px;margin:34px 0 38px 31vw;padding-left:22px;font-size:17px}.idle-footer{letter-spacing:.18em;font-size:12px}.brand small,.session,.progress{font-size:12px}.stage{grid-template-columns:minmax(320px,.86fr) minmax(520px,1.14fr);gap:24px 5vw;padding:5vh 6vw 5vh 10vw}.stage:after{content:"";z-index:-1;aspect-ratio:1;border:1px solid #90ffda19;border-radius:50%;width:18vw;position:absolute;top:8%;left:7vw;box-shadow:0 0 0 4vw #90ffda05,0 0 0 8vw #90ffda03}.stage-heading{position:relative}.stage-heading:before{content:"HIDDEN LIVING WORLD";writing-mode:vertical-rl;letter-spacing:.25em;opacity:.26;font-family:Bodoni Moda,serif;font-size:12px;position:absolute;top:-36px;right:0}.stage-heading h1{letter-spacing:-.055em;max-width:600px;margin:24px 0;font-family:IBM Plex Sans Thai,sans-serif;font-size:clamp(48px,5.2vw,80px);font-weight:500;line-height:.98}.stage-heading h1 em{color:#0000;-webkit-text-stroke:1px var(--aqua);text-shadow:0 0 28px #75f1df20;font-family:Bodoni Moda,IBM Plex Sans Thai,serif;font-weight:400}.choice{border-color:var(--line);background:linear-gradient(145deg,#dffff00c,#071d1d99);border-radius:8px 48px;gap:14px;min-height:270px;padding:32px 18px;transition:all .3s cubic-bezier(.2,.8,.2,1);overflow:hidden}.choice:before{content:"";border:1px solid #8fffe02a;border-radius:50%;width:140px;height:140px;position:absolute;top:-72px;right:-50px}.choice b{font-family:Bodoni Moda,IBM Plex Sans Thai,serif;font-size:22px;font-weight:500}.choice small{font-size:14px}.popular{letter-spacing:.1em;border-radius:0 0 14px;padding:7px 14px;font-size:12px;top:0;left:0}.template-list{gap:12px;transform:rotate(-1deg)}.template-card{border-color:var(--line);background:linear-gradient(90deg,#d8fff00d,#0000);border-radius:4px 34px;grid-template-columns:82px 1fr auto;min-height:112px;padding:18px 24px}.template-card:nth-child(2){margin-left:28px}.template-card:nth-child(3){margin-left:56px}.template-number{font-family:Bodoni Moda,serif;font-size:48px;font-style:italic}.template-card b{font-family:Bodoni Moda,IBM Plex Sans Thai,serif;font-size:21px;font-weight:500}.template-card small{font-size:14px}.act-pill{font-size:12px}.overlay-grid{gap:12px}.overlay-card{border-color:var(--line);background:linear-gradient(160deg,#d8fff010,#041717cc);border-radius:40px 6px;height:190px;padding:22px;transition:all .26s}.overlay-card:nth-child(2n){border-radius:6px 40px}.overlay-card b{font-family:Bodoni Moda,IBM Plex Sans Thai,serif;font-size:20px}.overlay-card small,.surprise{font-size:13px}.guide-card{border-color:var(--line);background:linear-gradient(135deg,#d9fff011,#031515cc);border-radius:6px 54px;padding:36px}.guide-steps p{font-size:16px}.guide-steps small{font-size:12px}.look-hint{font-size:14px}.camera-badge{font-size:12px}.act-status strong{font-family:Bodoni Moda,IBM Plex Sans Thai,serif}.shutter small{font-size:12px}.composition-mark{font-family:Bodoni Moda,serif}.composition-mark small{font-family:IBM Plex Sans Thai,sans-serif;font-size:8px}.qr-wrap span{font-size:12px}.delivery-copy p{font-family:Bodoni Moda,IBM Plex Sans Thai,serif}.delivery-actions button{font-size:14px}.camera-error small{opacity:.48;margin-top:16px;font-size:12px;display:block}@media (width<=850px){.idle-copy:before,.stage-heading:before{display:none}.idle p{margin:26px 0 34px}.template-card:nth-child(2),.template-card:nth-child(3){margin-left:0}.template-list{transform:none}.stage{padding:4vh 8vw 11vh}.stage-heading h1{font-size:52px}.choice{min-height:140px}}
