:root{--cream:#fbf6ee;--paper:#fffdf8;--ink:#3b2f2f;--muted:#8a7a72;--rose:#b76e79;--gold:#b08d57;--line:#ecdfcf;--line2:#dccab4;--field:#fff;--err:#b33;--ok:#3b7a4f}html.admin-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream:#12100e;--paper:#1d1a17;--ink:#ece6df;--muted:#a09489;--rose:#c47b87;--gold:#c9a76a;--line:#352f2a;--line2:#4a423b;--field:#242018;--err:#ff8f86;--ok:#7cc79a}html.admin-dark a:not(.btn){color:#d8b878}html[lang=lo] body,html[lang=lo] button,html[lang=lo] input,html[lang=lo] select,html[lang=lo] textarea{font-family:Noto Sans Lao,Poppins,system-ui,sans-serif}html[lang=th] body,html[lang=th] button,html[lang=th] input,html[lang=th] select,html[lang=th] textarea{font-family:Noto Sans Thai,Poppins,system-ui,sans-serif}html[lang=lo] .script{font-family:var(--font-script,"Great Vibes"),"Noto Serif Lao","Noto Sans Lao",serif}html[lang=th] .script{font-family:var(--font-script,"Great Vibes"),"Noto Serif Thai","Noto Sans Thai",serif}html[lang=lo] .ivory,html[lang=lo] .root{font-family:var(--font-body,"Cormorant Garamond"),"Noto Sans Lao",serif}html[lang=th] .ivory,html[lang=th] .root{font-family:var(--font-body,"Cormorant Garamond"),"Noto Sans Thai",serif}html.admin-dark body{font-family:Uni Sans,Montserrat,system-ui,sans-serif;font-size:16px}.err{color:var(--err)}.ok{color:var(--ok)}.dangerbtn{color:var(--err)!important;border-color:var(--err)!important}*{box-sizing:border-box}body,html{background:var(--cream);color:var(--ink);margin:0}body{font-family:Cormorant Garamond,Noto Sans Lao,Noto Sans Thai,Georgia,serif;font-size:18px;line-height:1.5}.root{font-family:var(--font-body);min-height:100vh}button,input,select,textarea{font-family:inherit}h1,h2,h3{margin:0;font-weight:500}.script{font-family:var(--font-script)}.cust-toggle{cursor:pointer;font:inherit;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid #00000026;border-radius:999px;padding:7px 14px;font-size:.8rem;top:12px}.cust-toggle,.panel{z-index:30;color:#3b2f2f;position:fixed;right:12px}.panel{background:#fffdf8;border:1px solid #e4d3bd;border-radius:10px;gap:14px;width:calc(min(92vw,320px));max-height:calc(100vh - 70px);padding:16px;font-size:.9rem;display:grid;top:52px;overflow:auto;box-shadow:0 12px 40px #0003}.panel h4{letter-spacing:.15em;text-transform:uppercase;color:#8a7a72;margin:0 0 6px;font-size:.75rem;font-weight:500}.panel .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel button{font:inherit;cursor:pointer;color:inherit;background:#fff;border:1px solid #dccab4;border-radius:999px;padding:5px 12px}.panel input[type=color]{cursor:pointer;border-radius:6px;width:44px;height:34px;padding:2px}.panel .grow{text-align:center;flex:1}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-size:.8rem}.intro{z-index:10;background:radial-gradient(circle at 50% 40%,var(--bg1),var(--bg2));color:var(--ink-env);place-items:center;transition:opacity .8s,visibility .8s;display:grid;position:fixed;inset:0}.intro.gone{opacity:0;visibility:hidden}.envelope{aspect-ratio:3/2;cursor:pointer;background:0 0;border:0;width:calc(min(82vw,380px));margin:0 auto;padding:0;display:block;position:relative}.env-back,.env-flap,.env-front{position:absolute;inset:0}.env-back{background:var(--body);border-radius:6px;box-shadow:0 20px 40px #28141447}.env-front{background:linear-gradient(135deg,var(--front1) 50%,transparent 50%) 0/50% 100% no-repeat,linear-gradient(225deg,var(--front2) 50%,transparent 50%) 100%/50% 100% no-repeat;border-radius:6px}.env-flap{background:var(--flap);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;z-index:2;transition:transform .7s}.envelope.open .env-flap{z-index:0;transform:rotateX(180deg)}.seal{z-index:3;background:var(--seal);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.5rem;transition:opacity .3s;display:grid;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000004d}.envelope.open .seal{opacity:0}.d1 .env-flap{clip-path:polygon(0 0,100% 0,50% 80%)}.d1 .seal{top:70%;box-shadow:0 0 0 5px #ffffff59,0 4px 10px #0000004d}.d2 .seal{border-radius:10px;transform:translate(-50%,-50%)rotate(45deg)}.d2 .seal i{font-style:normal;transform:rotate(-45deg)}.d3:after{content:"";background:var(--seal);opacity:.9;z-index:2;pointer-events:none;width:26px;transition:opacity .4s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.d3.open:after{opacity:0}.d3 .seal{border-radius:6px;width:46px;height:46px;top:50%}.d4 .env-back{background:repeating-linear-gradient(135deg,var(--seal) 0 14px,#fff 14px 28px,var(--flap) 28px 42px,#fff 42px 56px)}.d4 .env-back:after{content:"";background:var(--body);border-radius:3px;position:absolute;inset:8px}.d4 .env-front{inset:8px}.d4 .env-flap{clip-path:polygon(0 0,100% 0,50% 55%);inset:8px}.tap{text-align:center;opacity:.75;letter-spacing:.2em;text-transform:uppercase;margin:1.5rem 0 .5rem;font-size:.85rem}main{max-width:560px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--paper);text-align:center;border:1px solid #ecdfcf;border-radius:4px;margin-bottom:24px;padding:48px 28px;position:relative;box-shadow:0 10px 30px #785a3c14}.card:before{content:"";pointer-events:none;border:1px solid #e4d3bd;position:absolute;inset:8px}.names{color:var(--rose);margin:12px 0;font-size:calc(clamp(3rem,14vw,4.6rem));line-height:1.05}.amp{color:var(--gold);font-size:.5em;display:block}.divider{background:var(--gold);width:60px;height:1px;margin:20px auto}.big{font-size:1.5rem}.fade{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(16px)}.shown .fade{opacity:1;transform:none}.countdown{justify-content:center;gap:14px;margin-top:18px;display:flex}.countdown div{min-width:64px}.countdown b{color:var(--rose);font-size:2rem;font-weight:500;display:block}.countdown span{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.schedule{margin:18px 0 0;padding:0;list-style:none}.schedule li{border-bottom:1px dashed #e4d3bd;justify-content:space-between;padding:8px 0;display:flex}.btn,.schedule li:last-child{border:0}.btn{background:var(--rose);color:#fff;cursor:pointer;font:inherit;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-top:18px;padding:12px 28px;font-size:.85rem;text-decoration:none;display:inline-block}.btn.ghost{color:var(--rose);border:1px solid var(--rose);background:0 0}form{text-align:left;gap:14px;margin-top:18px}form,label{display:grid}label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:.85rem}input,select,textarea{font:inherit;border:1px solid var(--line2);background:var(--field);color:var(--ink);border-radius:4px;width:100%;padding:10px 12px}.hint{color:var(--muted);font-size:.9rem}.action-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.action-row .btn{margin-top:14px;padding:10px 18px;font-size:.75rem}html.admin-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream:#0e0d0b;--paper:#181613;--paper2:#1f1c18;--ink:#efe9df;--muted:#a39a8d;--rose:#e3cba3;--gold:#e3cba3;--gold-ink:#1c1710;--line:#2b2722;--line2:#3a342c;--field:#12100d;--err:#ff8f86;--ok:#7cc79a;--radius:14px}html.admin-dark body{background:var(--cream);color:var(--ink);font-family:Poppins,Noto Sans Lao,Noto Sans Thai,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;font-style:normal;line-height:1.55}html.admin-dark *,html.admin-dark :after,html.admin-dark :before{font-style:normal}html.admin-dark h1{letter-spacing:-.01em;margin:4px 0 6px;font-size:1.7rem}html.admin-dark h1,html.admin-dark h2,html.admin-dark h3,html.admin-dark strong{font-weight:600}html.admin-dark .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:600}html.admin-dark .hint{color:var(--muted);font-size:.85rem}html.admin-dark .hint.small,html.admin-dark .small{font-size:.75rem}html.admin-dark a:not(.btn){color:var(--gold);font-weight:500;text-decoration:none}html.admin-dark a:not(.btn):hover{text-underline-offset:3px;text-decoration:underline}.adm-bar{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#0e0d0bdb;position:sticky;top:0}.adm-bar-in{gap:18px;max-width:1040px;margin:0 auto;padding:10px 16px}.adm-bar-in,.adm-brand{align-items:center;display:flex}.adm-brand{letter-spacing:-.01em;gap:10px;font-weight:600;color:var(--ink)!important}.adm-brand img{filter:drop-shadow(0 3px 6px #00000080);display:block}.adm-brand small{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line2);vertical-align:middle;border-radius:999px;margin-left:4px;padding:2px 8px;font-size:.62rem;font-weight:600}.adm-nav{gap:4px;margin-left:6px;display:flex}.adm-nav a{border-radius:999px;padding:7px 14px;font-size:.88rem;color:var(--muted)!important}.adm-nav a:hover{background:var(--paper2);color:var(--ink)!important;text-decoration:none!important}.adm-nav a.active{background:var(--paper2);color:var(--gold)!important}.adm-out{color:var(--muted);border:1px solid var(--line2);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:7px 16px;font:500 .85rem Poppins,Noto Sans Lao,sans-serif}.adm-out:hover{color:var(--ink);border-color:var(--muted)}@media (width<=560px){.adm-brand small{display:none}.adm-bar-in{gap:8px}.adm-nav a{padding:7px 10px}}html.admin-dark .admin{max-width:880px;padding:28px 16px 80px}html.admin-dark .btn{background:var(--gold);color:var(--gold-ink);letter-spacing:.01em;text-transform:none;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:600;transition:filter .15s,background .15s,border-color .15s}html.admin-dark .btn:hover{filter:brightness(1.08)}html.admin-dark .btn:disabled{opacity:.55;cursor:default}html.admin-dark .btn.ghost{color:var(--gold);border-color:var(--line2);background:0 0}html.admin-dark .btn.ghost:hover{border-color:var(--gold);filter:none}html.admin-dark .mini{color:var(--ink);background:var(--paper2);border:1px solid var(--line2);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:500}html.admin-dark .mini:hover{border-color:var(--gold)}html.admin-dark .dangerbtn{color:var(--err)!important;background:0 0!important;border-color:#ff8f8673!important}html.admin-dark label{letter-spacing:0;text-transform:none;color:var(--muted);gap:6px;font-size:.82rem;font-weight:500;display:grid}html.admin-dark input,html.admin-dark select,html.admin-dark textarea{border:1px solid var(--line2);background:var(--field);color:var(--ink);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.92rem}html.admin-dark input[type=checkbox]{width:auto}html.admin-dark input[type=color]{height:38px;padding:3px}html.admin-dark input::-moz-placeholder{color:#6d655a}html.admin-dark textarea::-moz-placeholder{color:#6d655a}html.admin-dark input::placeholder,html.admin-dark textarea::placeholder{color:#6d655a}html.admin-dark input:focus,html.admin-dark select:focus,html.admin-dark textarea:focus{outline-offset:1px;border-color:#0000;outline:2px solid #e3cba38c}html.admin-dark fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);gap:14px;padding:16px;display:grid}html.admin-dark legend{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding:0 8px;font-size:.72rem;font-weight:600}html.admin-dark .grid{padding:18px}html.admin-dark .card2,html.admin-dark .grid,html.admin-dark .item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}html.admin-dark .card2,html.admin-dark .item{padding:16px 18px;transition:border-color .15s}html.admin-dark .card2:hover,html.admin-dark .item:hover{border-color:var(--line2)}html.admin-dark .tag{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:#e3cba31a;border:1px solid #e3cba34d;border-radius:999px;padding:3px 10px;font-size:.66rem;font-weight:600}html.admin-dark .secret{border-radius:var(--radius);background:#e3cba314;border:1px solid #e3cba366;padding:14px 18px}html.admin-dark .secret code{color:var(--gold);background:#000;border-radius:6px;padding:2px 8px;font-size:1.05rem}html.admin-dark .danger{border-top:1px dashed var(--line2)}.dash{max-width:1040px;margin:0 auto;padding:28px 16px 80px}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.dash-head p{margin:0}.dash-actions{flex-wrap:wrap;gap:10px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.stat b{color:var(--gold);font-size:1.9rem;font-weight:600;line-height:1.15;display:block}.stat span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:500}.inv-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.inv{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:10px;padding:18px;transition:border-color .15s,transform .15s;display:grid}.inv:hover{border-color:var(--line2);transform:translateY(-1px)}.inv-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.inv-title{margin:0;font-size:1.05rem;font-weight:600}.inv-date{color:var(--muted);margin:0;font-size:.85rem}.inv-actions,.inv-meta{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--muted);background:var(--paper2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.75rem}.chip.owner{color:var(--gold);border-color:#e3cba34d}.chip.none{color:#7b7367}.inv-url{color:#756d61;word-break:break-all;margin:0;font-size:.72rem}.inv-actions{border-top:1px solid var(--line);padding-top:4px}.inv-actions .btn,.inv-actions .mini{margin-top:10px}.empty{text-align:center;border:1px dashed var(--line2);border-radius:var(--radius);color:var(--muted);padding:48px 16px}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;gap:16px;max-width:380px;margin:8vh auto 0;padding:28px;display:grid}.login-card h1{margin:0}.login-card .logo{filter:drop-shadow(0 6px 10px #00000080);width:64px;height:64px;margin:0 auto;display:block}@media (width<=760px){.stats{grid-template-columns:repeat(2,1fr)}.inv-grid{grid-template-columns:1fr}}.root[style*=--on-accent] .card,.root[style*=--on-accent] .card:before{border-color:var(--line)}.root[style*=--on-accent] .schedule li{border-bottom-color:var(--line)}.root[style*=--on-accent] .divider{background:var(--gold)}.root[style*=--on-accent] .btn{color:var(--on-accent)}.root[style*=--on-accent] .btn.ghost{color:var(--gold);border-color:var(--gold);background:0 0}.root[style*=--on-accent] .hint{color:var(--muted)}.lang[data-v-42a85391]{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe0;border:1px solid #d9d2c3;gap:2px;padding:3px;display:flex;position:fixed;top:10px;right:10px;box-shadow:0 1px 6px #00000014}.lang[data-v-42a85391],.lang button[data-v-42a85391]{border-radius:999px}.lang button[data-v-42a85391]{cursor:pointer;color:#555;background:0 0;border:0;padding:4px 10px;font:500 .78rem Noto Sans Lao,Noto Sans Thai,Poppins,system-ui,sans-serif}.lang button.on[data-v-42a85391]{color:#fff;background:#3b2f2f}
