.led-shell{background:#03142e;place-items:center;width:100vw;height:100vh;min-height:100dvh;display:grid;overflow:hidden}.led-stage{aspect-ratio:3840/1560;isolation:isolate;background:#06265b url(/led-night-river-v3.png) 50%/100% 100% no-repeat;width:min(100vw,246.154vh);height:min(100vh,40.625vw);position:relative;overflow:hidden}.led-background-video{z-index:0;object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.river-current{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.river-particle{width:var(--particle-size,0.8%);opacity:0;animation:river-particle-flow var(--particle-duration,48s) linear var(--particle-delay,0s) infinite;will-change:left, transform, opacity;display:block;position:absolute;left:-3%}.river-particle--petal{aspect-ratio:1.8;background:linear-gradient(135deg,#fff0c2 8%,#f7a6aa 52%,#e87586 100%);border-radius:85% 15%;box-shadow:0 0 9px #ffc6a952}.river-particle--flower{aspect-ratio:1}.river-flower{display:block;position:absolute;inset:0}.river-flower i{width:26%;height:58%;transform:rotate(var(--petal-turn,0deg));transform-origin:50% 82%;filter:drop-shadow(0 0 3px #ffd9ac6b);background:linear-gradient(#ffe8a5,#f59aa1 82%);border-radius:70% 70% 48% 48%;position:absolute;top:4%;left:37%}.river-flower i:first-child{--petal-turn:0deg}.river-flower i:nth-child(2){--petal-turn:72deg}.river-flower i:nth-child(3){--petal-turn:144deg}.river-flower i:nth-child(4){--petal-turn:216deg}.river-flower i:nth-child(5){--petal-turn:288deg}.river-flower b{background:#fff2b2;border-radius:50%;width:16%;height:16%;position:absolute;top:40%;left:42%;box-shadow:0 0 6px #ffe299d9}.river-particle--glint{aspect-ratio:1;filter:drop-shadow(0 0 5px #61e5eecc);background:radial-gradient(circle,#fff5c5 0 20%,#81e6ebd1 36%,#0000 75%);border-radius:50%}.floating-krathong{z-index:2;aspect-ratio:400/420;will-change:left;animation:river-crossing var(--travel-duration,82s) linear var(--travel-delay,0s) infinite both;background:0 0;border:0;outline:0;padding:0;position:absolute}.floating-lantern{aspect-ratio:240/300;animation:lantern-ascent var(--travel-duration,34s) linear var(--travel-delay,0s) infinite both}.floating-lantern .krathong-bob{animation-duration:var(--bob-duration,5.1s)}.floating-object-spin{z-index:1;transform-origin:50%;animation:object-rotation var(--rotation-duration,9s) ease-in-out var(--rotation-delay,0s) infinite alternate both;will-change:transform;position:absolute;inset:0}.floating-lantern .krathong-bob:before{content:"";z-index:0;filter:blur(18px);opacity:.86;pointer-events:none;background:radial-gradient(#ffffecfa 0%,#fff6cad6 22%,#ffde9785 43%,#ffbe683d 62%,#ffa55b14 76%,#0000 86%);border-radius:50%;animation:2.15s ease-in-out infinite alternate lantern-glow-pulse;position:absolute;inset:0% -42%}.floating-lantern .lantern-illustration{z-index:1;width:100%;height:100%;position:relative}.floating-lantern .lantern-illustration-image{filter:brightness(1.12)grayscale(.42)saturate(.62)drop-shadow(0 8px 10px #1711031a)}.floating-lantern .lantern-illustration--lotus .lantern-illustration-image{filter:drop-shadow(0 8px 10px #1711031a)}.krathong-bob{transform-origin:50% 78%;animation:water-bob var(--bob-duration,3.8s) ease-in-out var(--bob-delay,0s) infinite;will-change:transform;position:absolute;inset:0}.krathong-art{z-index:3;filter:drop-shadow(0 9px 10px #00050a6b);pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.krathong-art svg,.krathong-reflection svg,.krathong-art img,.krathong-reflection img,.krathong-art>span,.krathong-reflection>span{object-fit:contain;width:100%;height:100%;display:block;overflow:visible}.krathong-art svg #candle-flame{transform-box:fill-box;transform-origin:50% 95%;animation:1.25s ease-in-out infinite alternate candle-flicker}.krathong-light{z-index:4;pointer-events:none;position:absolute}.krathong-light:before{content:"";filter:blur(1.2px);background:radial-gradient(#fff9baf5 0 14%,#ffb230db 28%,#ff721e57 53%,#0000 75%);border-radius:50%;animation:1.1s ease-in-out infinite alternate paper-candle-flicker;display:block;position:absolute;inset:0}.candle-tip-light{width:14%;height:14%;top:13%;left:43%}.candle-tip-light:before{filter:blur(2px)drop-shadow(0 0 10px #ffda68eb);background:radial-gradient(#fffde4 0 18%,#fff8b1 30%,#ffc039f0 48%,#ff7b1e85 68%,#0000 84%)}.incense-tip-light{width:4.5%;height:7%;top:1%}.incense-tip-one{left:25%}.incense-tip-two{animation-delay:-.37s;left:34%}.incense-tip-three{animation-delay:-.72s;left:43%}.incense-tip-two:before{animation-delay:-.37s}.incense-tip-three:before{animation-delay:-.72s}.incense-tip-light:before{background:radial-gradient(#fff59d 0 8%,#ffab35db 22%,#ff6e1c47 49%,#0000 73%)}.krathong-reflection{z-index:1;opacity:.68;filter:brightness(1.2)blur(.7px)saturate(1.18)contrast(1.14);transform-origin:50%;width:100%;height:100%;animation:water-reflection-shimmer 5.4s ease-in-out var(--bob-delay,0s) infinite;will-change:transform, opacity, filter;pointer-events:none;position:absolute;top:70%;left:0;transform:translate(-1%)scaleY(-.5);-webkit-mask-image:linear-gradient(#0000 24%,#00000094);mask-image:linear-gradient(#0000 24%,#00000094)}.water-ripple{z-index:2;width:118%;height:15%;animation:water-ripple-sway var(--bob-duration,4s) ease-in-out var(--bob-delay,0s) infinite;border:1.5px solid #75e8e7a8;border-radius:50%;position:absolute;bottom:-5%;left:50%;transform:translate(-50%);box-shadow:0 0 19px #35bebc52,inset 0 0 12px #35bebc2e}.water-ripple:before,.water-ripple:after{content:"";opacity:0;animation:water-ripple-pulse 5.2s ease-out var(--bob-delay,0s) infinite;border:1.5px solid #91f2ef6b;border-radius:50%;position:absolute;inset:-28% -10%;transform:scale(.64,.72)}.water-ripple:after{animation-delay:calc(var(--bob-delay,0s) - 2.6s);border-color:#91f2ef52;inset:-46% -18%}.water-reflection{z-index:0;filter:blur(5.5px);opacity:.9;height:24%;animation:water-glow-shimmer 4.7s ease-in-out var(--bob-delay,0s) infinite;pointer-events:none;background:radial-gradient(#ffc75c94,#35aedc57 46%,#0000 76%);border-radius:50%;position:absolute;bottom:-10%;left:8%;right:8%}.water-reflection:before,.water-reflection:after{content:"";filter:blur(1.25px);mix-blend-mode:screen;height:20%;animation:reflected-light-ripple 2.8s ease-in-out var(--bob-delay,0s) infinite;background:linear-gradient(90deg,#0000 0%,#5cdaee1f 19%,#ffdc91e0 48%,#6fdaea5c 69%,#0000 100%);border-radius:50%;position:absolute;top:33%;left:-18%;right:-18%;box-shadow:0 0 15px #ffc76859}.water-reflection:after{opacity:.7;height:13%;animation-duration:3.7s;animation-delay:calc(var(--bob-delay,0s) - 1.5s);top:59%}@keyframes river-crossing{0%{left:var(--start-left,-8%)}to{left:100%}}@keyframes river-particle-flow{0%{opacity:0;transform:translateY(0) rotate(var(--particle-angle,0deg));left:-3%}12%{opacity:var(--particle-opacity,.5)}50%{transform:translateY(var(--particle-wave,0px)) rotate(calc(var(--particle-angle,0deg) + 180deg))}88%{opacity:var(--particle-opacity,.5)}to{opacity:0;transform:translateY(0) rotate(calc(var(--particle-angle,0deg) + 360deg));left:103%}}@keyframes lantern-rise{0%,to{top:var(--start-top,34%)}50%{top:calc(var(--start-top,34%) - var(--lantern-rise-distance,4%))}}@keyframes lantern-ascent{0%{left:var(--lantern-drift-start,50%);opacity:0;top:48%;transform:translate(-50%)scale(.1)}3.33%{left:var(--lantern-drift-mid,50%);opacity:1;top:45%;transform:translate(-50%)scale(.22)}25%{left:var(--lantern-drift-mid,50%);opacity:1;top:34%;transform:translate(-50%)scale(.62)}50%{left:var(--lantern-drift-end,50%);opacity:1;top:20%;transform:translate(-50%)scale(1)}78%{left:var(--lantern-drift-mid,50%);opacity:.5;top:7%;transform:translate(-50%)scale(.45)}to{left:var(--lantern-drift-start,50%);opacity:0;top:-8%;transform:translate(-50%)scale(0)}}@keyframes object-rotation{0%{transform:rotate(var(--rotation-start,0deg))}to{transform:rotate(var(--rotation-end,360deg))}}@keyframes lantern-glow-pulse{0%{opacity:.66;filter:blur(14px)saturate();transform:scale(.9)}to{opacity:1;filter:blur(22px)saturate(1.18);transform:scale(1.16)}}@keyframes water-bob{0%,to{transform:translate3d(0, 0, 0) rotate(var(--tilt,0deg))}50%{transform:translate3d(0, calc(0% - var(--bob-height,5%)), 0) rotate(calc(var(--tilt,0deg) + 1deg))}}@keyframes water-ripple-pulse{0%{opacity:0;transform:scale(.64,.72)}18%{opacity:.56}to{opacity:0;transform:scale(1.34,1.52)}}@keyframes water-ripple-sway{0%,to{transform:translate(-50%)scaleX(.94)}50%{transform:translate(-50%)scaleX(1.08)}}@keyframes water-reflection-shimmer{0%,to{opacity:.42;filter:blur(1.05px)saturate(.9)contrast(1.04);transform:translate(-1.2%)scaleY(-.48)skew(-.5deg)}50%{opacity:.68;filter:blur(.55px)saturate(1.18)contrast(1.16);transform:translate(1.1%)scaleY(-.58)skew(.65deg)}}@keyframes water-glow-shimmer{0%,to{opacity:.58;transform:scaleX(.88)scaleY(.84)}50%{opacity:.94;transform:scaleX(1.08)scaleY(1.08)}}@keyframes reflected-light-ripple{0%,to{opacity:.34;transform:translate(-5%)scaleX(.66)scaleY(.72)}42%{opacity:.96;transform:translate(1%)scaleX(1.08)scaleY(1.2)}76%{opacity:.58;transform:translate(5%)scaleX(.82)scaleY(.86)}}@keyframes candle-flicker{0%{opacity:.85;filter:drop-shadow(0 0 5px #ff9a29a8);transform:scale(.94,1.04)rotate(-1.5deg)}to{opacity:1;filter:drop-shadow(0 0 12px #ffb740f5);transform:scale(1.04,.96)rotate(1.5deg)}}@keyframes paper-candle-flicker{0%{opacity:.54;transform:scale(.84)}45%{opacity:.98;transform:scale(1.08)}to{opacity:.72;transform:scale(.93)}}@media (prefers-reduced-motion:reduce){.krathong-bob{animation:none}.krathong-art svg #candle-flame{animation-duration:2.5s}}.staff-gate{color:#1c2122;background:#f4f6f5;place-items:center;min-height:100svh;padding:24px;font-family:Anuphan,system-ui,sans-serif;display:grid}.staff-login{background:#fff;border:1px solid #d5d8d6;border-radius:20px;gap:14px;width:min(100%,420px);padding:32px;display:grid;box-shadow:0 18px 54px #1c21220f}.staff-login img{width:min(260px,80%);height:auto;margin:0 auto 12px}.staff-login h1{text-align:center;margin:0;font-size:25px}.staff-login p{color:#596164;text-align:center;margin:0}.staff-login label{margin-top:10px;font-weight:700}.staff-login input{min-height:48px;font:inherit;border:2px solid #44494a;border-radius:10px;padding:8px 12px}.staff-login button{color:#fff;min-height:48px;font:inherit;cursor:pointer;background:#f36e21;border:0;border-radius:10px;font-weight:700}.staff-login button:disabled{opacity:.55;cursor:wait}.staff-login .staff-login-error{color:#ae2e24;text-align:left}@media (width<=480px){.staff-login{padding:24px}}.moderation-shell{color:#111918;background:#f4f6f5;min-height:100vh;padding:32px clamp(18px,4vw,56px) 40px}.moderation-header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1100px;margin:0 auto 32px;display:flex}.moderation-header h1{margin:0 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.25}.moderation-header p{color:#4c5856;margin:0;font-size:16px;line-height:1.55}.moderation-header-actions{align-items:center;gap:10px;display:flex}.scan-intake-link{color:#fff;white-space:nowrap;background:#006e68;border-radius:7px;align-items:center;min-height:46px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.restore-demo,.remove-from-screen{min-height:46px;font:inherit;cursor:pointer;border-radius:7px;padding:10px 18px;font-weight:650}.restore-demo{color:#005b56;white-space:nowrap;background:#fff;border:1px solid #006e68}.moderation-shell section{max-width:1100px;margin:0 auto}.active-heading{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.active-heading h2{margin:0;font-size:20px;line-height:1.4}.active-heading span{color:#56615f;font-size:14px}.moderation-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.moderation-row{background:#fff;border:1px solid #dce3e1;border-radius:8px;grid-template-columns:94px minmax(160px,1fr) auto;align-items:center;gap:20px;min-height:118px;padding:12px 16px;display:grid}.moderation-art{place-items:center;width:86px;height:90px;display:grid}.moderation-art>div{place-items:center;width:100%;height:100%;display:grid}.moderation-art .lantern-illustration{width:72%;height:100%}.moderation-art svg{width:100%;height:100%}.moderation-art img{object-fit:contain;width:100%;height:100%}.moderation-message{min-width:0}.moderation-id{color:#64716e;font-size:12px}.moderation-message p{overflow-wrap:anywhere;margin:5px 0 0;font-size:17px;font-weight:600;line-height:1.45}.remove-from-screen{color:#8f211b;background:#fff;border:1px solid #a42c25}.remove-from-screen:hover{background:#fff4f2}.restore-demo:focus-visible,.remove-from-screen:focus-visible{outline-offset:2px;outline:3px solid #fbbf24}.moderation-empty{color:#4c5856;text-align:center;background:#fff;border:1px dashed #aab5b2;border-radius:8px;padding:38px 20px}.moderation-footnote{color:#586360;margin:18px 0 0;font-size:14px;line-height:1.55}@media (width<=650px){.moderation-shell{padding-top:22px}.moderation-header{flex-direction:column}.moderation-header-actions{flex-wrap:wrap}.moderation-row{grid-template-columns:72px minmax(100px,1fr);gap:12px}.moderation-art{width:68px;height:78px}.remove-from-screen{grid-column:2;justify-self:start;min-height:42px}}.scan-shell{color:#17201e;background:#f4f7f6;width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:30px clamp(18px,4vw,56px) 26px}.scan-header{margin-bottom:24px}.scan-header a{color:#006e68;font-size:15px;font-weight:650;text-decoration:none}.scan-header h1{letter-spacing:-.03em;margin:17px 0 4px;font-size:clamp(25px,3vw,36px);line-height:1.25}.scan-header p{color:#5d6966;margin:0;font-size:16px}.scan-upload{background:#fff;border:1px solid #d9e2df;border-radius:12px;gap:9px;padding:16px 18px;display:grid}.scan-input-actions{flex-wrap:wrap;gap:10px;display:flex}.scan-file-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.scan-file-button,.scan-device-button{color:#005f59;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #006e68;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.scan-device-button{color:#fff;background:#006e68}.scan-device-button:disabled{opacity:.5;cursor:not-allowed}.scan-upload p{color:#687370;margin:0;font-size:13px;line-height:1.45}.scan-workspace{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:20px;margin-top:20px;display:grid}.scan-pane{background:#fff;border:1px solid #d9e2df;border-radius:12px;min-width:0;padding:16px}.scan-pane-title{justify-content:space-between;align-items:baseline;gap:12px;min-height:32px;margin-bottom:12px;display:flex}.scan-pane-title h2{margin:0;font-size:18px}.scan-pane-title span{color:#73807c;text-overflow:ellipsis;white-space:nowrap;max-width:55%;font-size:12px;overflow:hidden}.scan-source-preview,.scan-cutout-preview{background:#eef2f0;border:1px solid #e0e5e3;border-radius:8px;place-items:center;height:min(56vh,520px);min-height:260px;display:grid;position:relative;overflow:hidden}.scan-source-preview img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.scan-cutout-preview{background-color:#fafbf9;background-image:linear-gradient(45deg,#e8eeeb 25%,#0000 25%),linear-gradient(-45deg,#e8eeeb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e8eeeb 75%),linear-gradient(-45deg,#0000 75%,#e8eeeb 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px}.scan-cutout-preview img{object-fit:contain;filter:drop-shadow(0 8px 12px #0d1f1a29);max-width:82%;max-height:92%;display:block}.scan-source-empty>div{color:#78837f;text-align:center;flex-direction:column;align-items:center;gap:5px;display:flex}.scan-source-empty strong{color:#34403d;font-size:15px}.scan-empty-icon{color:#006e68;border:1px dashed #8caaa3;border-radius:50%;place-items:center;width:40px;height:40px;margin-bottom:7px;font-size:27px;display:grid}.scan-footer{justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex}.scan-footer p{color:#4d5b57;margin:0;font-size:14px}.scan-submit{color:#fff;cursor:pointer;background:#006e68;border:0;border-radius:9px;flex:none;min-height:50px;padding:0 22px;font-weight:700}.scan-submit:disabled{opacity:.45;cursor:not-allowed}.scan-scanner-backdrop{z-index:100;background:#081210b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.scan-scanner-dialog{background:#fff;border-radius:14px;width:min(620px,100%);padding:20px;box-shadow:0 20px 80px #0000004d}.scan-scanner-dialog header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.scan-scanner-dialog header h2{margin:0 0 4px;font-size:21px}.scan-scanner-dialog header p{color:#65716e;margin:0;font-size:14px}.scan-scanner-dialog header button{color:#26332f;cursor:pointer;background:#edf2f0;border:0;border-radius:50%;width:38px;height:38px;font-size:25px}.scan-scanner-dialog header button:disabled{opacity:.45;cursor:not-allowed}.scan-device-select{color:#43504c;gap:8px;margin-bottom:14px;font-size:14px;font-weight:650;display:grid}.scan-device-select select{min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5d1;border-radius:7px;padding:0 10px}.scan-device-status,.scan-device-help{color:#5d6966;margin:8px 0 14px;font-size:14px;line-height:1.5}.scan-device-help{background:#f2f6f4;border-radius:8px;padding:12px}.scan-device-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.scan-device-actions button{min-height:44px;font:inherit;cursor:pointer;border-radius:8px;padding:0 17px;font-weight:700}.scan-device-cancel{color:#35413d;background:#fff;border:1px solid #cbd5d1}.scan-device-start{color:#fff;background:#006e68;border:0}.scan-device-actions button:disabled{opacity:.45;cursor:not-allowed}@media (width<=850px){.scan-workspace{grid-template-columns:1fr}.scan-source-preview,.scan-cutout-preview{height:min(52vh,460px)}.scan-footer{flex-direction:column;align-items:stretch}}@media (width<=520px){.scan-shell{padding:20px 14px}.scan-upload{grid-template-columns:1fr}.scan-input-actions>*{flex:1}.scan-pane{padding:11px}.scan-pane-title h2{font-size:16px}.scan-pane-title span{font-size:11px}.scan-source-preview,.scan-cutout-preview{min-height:235px}.scan-scanner-dialog{padding:13px}}@font-face{font-family:Anuphan;src:url(/assets/fonts/Anuphan-Variable.ttf)format("truetype");font-style:normal;font-weight:100 700;font-display:swap}:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--teal:#006e68;--teal-dark:#005d58;--orange:#f36c21;--orange-dark:#df5c12;--charcoal:#414141;--muted:#626970;--line:#d5dcda;--page-pad:22px;background:#fff;font-family:Anuphan,Leelawadee UI,Tahoma,sans-serif;font-weight:400}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#fff;min-height:100vh}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:#fff;width:min(100%,480px);min-height:100dvh;margin:0 auto}.screen{min-height:100dvh;padding:12px var(--page-pad) calc(16px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.screen-header{grid-template-columns:48px 1fr 48px;align-items:center;min-height:52px;display:grid}.screen-header h1{text-align:center;letter-spacing:-.025em;margin:0;font-size:22px;font-weight:700;line-height:1.3}.blessing-header{grid-template-columns:48px 1fr}.blessing-header h1{text-align:left}.icon-button{color:var(--teal);cursor:pointer;background:0 0;border:0;place-items:center;width:46px;height:46px;padding:10px;display:grid}.icon-button svg,.outline-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.header-spacer{width:46px;height:46px}.artwork-stage{flex:auto;place-items:center;min-height:0;padding:6px 0 10px;display:grid}.editor-artwork{max-height:48dvh}.krathong-svg{place-items:center;width:100%;height:100%;display:grid}.krathong-svg svg{width:auto;max-width:100%;height:100%;display:block;overflow:visible}.editor-artwork .krathong-svg{width:100%;height:100%}.editor-artwork .krathong-svg svg{max-height:100%}.krathong-svg [data-paintable=true]{cursor:pointer;transition:fill .15s}.krathong-svg [data-paintable=true]:focus-visible{filter:drop-shadow(0 0 2px var(--teal));outline:none}.palette{justify-content:space-between;align-items:center;gap:10px;padding:4px 0 17px;display:flex}.swatch{background:var(--swatch);cursor:pointer;border:0;border-radius:50%;flex:0 0 clamp(42px,12vw,54px);width:clamp(42px,12vw,54px);height:clamp(42px,12vw,54px);padding:0;box-shadow:inset 0 0 0 1px #0000000d}.swatch.selected{box-shadow:0 0 0 3px var(--teal), inset 0 0 0 1px #0000000d;outline:3px solid #fff}.editor-actions{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;display:grid}.outline-action{border:1.5px solid var(--teal);color:#151b1a;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:8px 12px;font-size:16px;font-weight:600;line-height:1.2;display:flex}.outline-action:disabled{opacity:.48;cursor:default}.outline-action svg{width:22px;height:22px;color:var(--teal)}.primary-action{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:19px;width:100%;min-height:68px;font-size:21px;font-weight:700;line-height:1.25;transition:background .15s,transform .15s,opacity .15s}.primary-action:active:not(:disabled){background:var(--orange-dark);transform:scale(.99)}.primary-action:disabled{opacity:.45;cursor:not-allowed}.editor-next{margin-top:auto}.blessing-screen{gap:0;padding:0 16px 14px}.brand-header{flex:0 0 114px;place-items:center;height:114px;display:grid;position:relative}.brand-logo{object-fit:contain;width:108px;height:108px;display:block}.back-button{width:44px;height:44px;color:var(--charcoal);cursor:pointer;background:0 0;border:0;padding:0;font-family:Arial,sans-serif;font-size:42px;line-height:1;position:absolute;top:31px;left:0}.blessing-title{text-align:center;letter-spacing:-.025em;margin:0 0 7px;font-size:22px;font-weight:800;line-height:1.3}.blessing-preview{flex:0 0 194px;place-items:center;height:194px;margin:-4px 0 0;display:grid;overflow:visible}.blessing-preview .lantern-preview-art{width:178px;height:222px}.blessing-form{flex-direction:column;flex:1;min-height:0;padding-top:0;display:flex}.lantern-style-picker{border:0;min-width:0;margin:0 0 5px;padding:0;position:relative}.lantern-style-picker legend{margin-bottom:6px;font-size:17px;font-weight:800;line-height:1.35}.lantern-mascot{z-index:3;pointer-events:none;width:136px;height:auto;position:absolute;top:-91px;left:calc(83.3333% - 56px)}.lantern-style-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.lantern-style-option{border:2px solid var(--charcoal);color:#171717;text-align:center;cursor:pointer;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:112px;padding:6px 2px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .14s,background .14s,box-shadow .14s;display:flex;position:relative}.lantern-style-option.selected{border-color:var(--orange);color:var(--orange-dark);background:#fff2e9}.lantern-style-option input{z-index:1;width:16px;height:16px;accent-color:var(--orange);margin:0;position:absolute;top:7px;right:7px}.blessing-form .lantern-style-option{margin:0;font-size:12px;font-weight:700;line-height:1.2}.lantern-style-option:focus-within{outline-offset:2px;outline:3px solid #f36c2138}.lantern-style-preview{width:58px;height:72px;display:block}.lantern-style-preview .lantern-illustration{width:100%;height:100%}.lantern-style-preview .lantern-message{display:none}@media (width<=380px){.lantern-mascot{width:124px;top:-82px;left:calc(83.3333% - 52px)}}.blessing-form label{margin-bottom:5px;font-size:17px;font-weight:800;line-height:1.35}.blessing-hint{color:#5a6463;margin:0 0 7px;font-size:14px;line-height:1.4}.blessing-form textarea{resize:vertical;border:2px solid var(--charcoal);color:#171b1b;background:#fff;border-radius:14px;outline:none;width:100%;height:92px;min-height:92px;padding:11px 13px;font-size:16px;line-height:1.55}.blessing-form textarea::placeholder{color:#777e82;opacity:1}.blessing-form textarea:focus-visible{box-shadow:0 0 0 3px #41414124}.character-count{color:var(--muted);text-align:left;padding:5px 4px 8px;font-size:14px}.send-action{border-radius:16px;min-height:58px;margin-top:auto}.text-action{min-height:54px;color:var(--teal);cursor:pointer;background:0 0;border:0;margin-top:4px;font-size:17px;font-weight:600}.success-screen{justify-content:center}.success-content{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex;transform:translateY(-8px)}.success-artwork{place-items:center;width:min(100%,335px);height:305px;margin-bottom:26px;display:grid;position:relative}.success-artwork .krathong-svg{z-index:1;width:76%;height:76%}.lantern-success-art .lantern-illustration{z-index:1;width:46%;height:82%;position:relative}.success-glow{filter:blur(38px);opacity:.3;background:#ffbf49;border-radius:50%;width:34%;height:38%;position:absolute;top:25%}.lantern-illustration{width:100%;height:100%;display:block;position:relative;container-type:inline-size}.lantern-illustration-image{object-fit:contain;filter:drop-shadow(0 8px 10px #1711031a);width:100%;height:100%;display:block}.lantern-message{width:64%;height:28%;box-shadow:none;color:#39260c;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px #ffffffb3;background:0 0;border:0;border-radius:8%;place-items:center;padding:3%;font-size:clamp(12px,9.5cqw,22px);font-weight:800;line-height:1.08;display:grid;position:absolute;top:33%;left:18%;overflow:hidden}.lantern-illustration--lotus .lantern-message{border-radius:18%;width:64%;height:25%;font-size:clamp(11px,9cqw,21px);top:42%;left:18%}.lantern-illustration--round .lantern-message{border-radius:12%;width:72%;height:25%;font-size:clamp(12px,9.5cqw,22px);top:35%;left:14%}.lantern-message--long{font-size:clamp(12px,8cqw,19px);line-height:1.04}.lantern-illustration--lotus .lantern-message--long{font-size:clamp(11px,7.8cqw,18px)}.lantern-illustration--round .lantern-message--long{font-size:clamp(11px,8.2cqw,19px)}.ripple{border:2px solid var(--teal);border-top:0;border-radius:0 0 50% 50%;width:88%;height:28px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.ripple-two{width:68%;bottom:7px}.sparkle{color:#e4a61b;font-size:27px;line-height:1;position:absolute}.sparkle-one{top:43%;left:8%}.sparkle-two{color:var(--teal);font-size:21px;top:53%;right:8%}.success-content h1{letter-spacing:-.03em;max-width:100%;margin:0 0 12px;font-size:26px;font-weight:750;line-height:1.35}.success-content p{color:#343a3b;max-width:340px;margin:0 0 34px;font-size:16px;line-height:1.6}.home-action{max-width:100%}button:focus-visible{outline-offset:3px;outline:3px solid #fbbf24}@media (width>=700px){body{background:#f5f7f6}.app-shell{max-width:430px;min-height:min(900px,100vh);box-shadow:none;border:0}.screen{min-height:min(900px,100vh)}}@media (height<=720px){.screen{padding-top:8px}.screen-header{min-height:44px}.screen-header h1{font-size:20px}.editor-artwork{max-height:42dvh}.swatch{flex-basis:42px;width:42px;height:42px}.palette{padding-bottom:12px}.outline-action{min-height:50px}.primary-action{min-height:58px}.blessing-preview{flex-basis:25dvh;min-height:165px}.success-artwork{height:245px;margin-bottom:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.blessing-screen{min-height:100dvh;padding:8px 16px calc(12px + env(safe-area-inset-bottom));border:0;border-radius:0;margin:0 auto;overflow:visible}.brand-header{flex-basis:96px;height:96px}.brand-logo{object-fit:contain;width:min(190px,60%);height:54px}.back-button{width:42px;height:42px;font-size:40px;top:15px;left:0}.blessing-title{letter-spacing:-.035em;margin:8px 0 3px;font-size:clamp(26px,7vw,31px);line-height:1.25}.lantern-style-picker{margin-bottom:4px}.lantern-style-heading-row{justify-content:space-between;align-items:center;width:100%;height:76px;margin-bottom:0;display:flex}.lantern-style-heading{letter-spacing:-.02em;white-space:nowrap;flex:0 auto;align-items:center;gap:10px;margin:0;font-size:clamp(19px,5vw,22px);font-weight:800;line-height:1.3;display:flex}.lantern-section-marker,.blessing-form>label:before{content:"";background:var(--orange);border-radius:8px;flex:0 0 8px;width:8px;height:30px;display:block}.lantern-selector-stage{padding-top:0;position:relative}.lantern-mascot{z-index:3;pointer-events:none;flex:0 0 108px;align-self:flex-end;width:108px;height:auto;margin:0 -5px -6px 8px;position:relative;inset:auto;transform:translate(-8px)}.lantern-style-options{gap:8px}.lantern-style-option,.blessing-form .lantern-style-option{border-width:3px;border-radius:16px;gap:4px;min-height:120px;padding:7px 3px;font-size:clamp(12px,3.45vw,14px);line-height:1.25}.lantern-style-option.selected{box-shadow:0 3px 10px #f36c211f}.lantern-style-preview{width:64px;height:76px}.blessing-preview{isolation:isolate;flex-basis:250px;height:250px;margin:0 0 20px;position:relative}.blessing-preview:before{content:"";z-index:0;filter:blur(9px);pointer-events:none;background:radial-gradient(#ffb1375c 0%,#ffc66142 35%,#ffdb9921 58%,#fff4dd00 78%);border-radius:50%;width:78%;height:92%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.blessing-preview .lantern-preview-art{z-index:1;filter:drop-shadow(0 10px 16px #ff9e1e33);width:220px;height:270px;position:relative}.blessing-form>label{align-items:center;gap:10px;margin:0 0 4px;font-size:clamp(19px,5vw,22px);line-height:1.3;display:flex}.blessing-form>label:before{height:30px}.blessing-hint{margin-bottom:8px;font-size:16px}.blessing-form textarea{border-width:3px;border-radius:18px;height:112px;min-height:112px;padding:12px 14px;font-size:17px}.character-count{padding-top:5px;font-size:16px}.send-action{border-radius:18px;min-height:62px;font-size:22px}@media (width<=360px){.blessing-screen{padding-left:12px;padding-right:12px}.lantern-style-options{gap:6px}.lantern-style-option,.blessing-form .lantern-style-option{font-size:12px}.lantern-mascot{flex-basis:108px;width:108px;margin-left:0}.blessing-preview .lantern-preview-art{width:200px}}@media (height<=760px){.blessing-screen{padding-top:4px}.brand-header{flex-basis:86px;height:86px}.brand-logo{height:50px}.back-button{top:12px}.blessing-preview{flex-basis:230px;height:230px}.blessing-preview .lantern-preview-art{height:250px}.lantern-style-option,.blessing-form .lantern-style-option{min-height:112px}}.success-artwork{width:min(100%,360px);height:350px;margin-bottom:20px}.lantern-success-art .lantern-illustration{width:62%;height:94%}.success-glow{z-index:0;filter:blur(30px);opacity:.78;background:radial-gradient(#ffeba6d1 0%,#ffbe488a 40%,#ff822438 63%,#ff822400 78%);border-radius:50%;width:78%;height:82%;top:8%}.success-cloud{z-index:0;width:35%;height:auto;fill:var(--orange);opacity:.32;filter:drop-shadow(0 5px 10px #f36c2129);pointer-events:none;position:absolute}.success-cloud--left{top:33%;left:0;transform:rotate(-9deg)}.success-cloud--right{width:32%;top:22%;right:0;transform:rotate(8deg)scaleX(-1)}@media (height<=680px){.success-artwork{height:310px;margin-bottom:14px}.success-content h1{font-size:23px}}.success-content h1{overflow-wrap:anywhere;max-width:min(100%,320px)}
