:root{--cocoa:#6E4B3A;--soft:#9A7A68;--line:#F3E9DE;--cream:#FFFBF5;--pink:#F27E9B;--mint:#6CC9A8;--gold:#E8B440;--grape:#6B3FA0;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#FFF4EA}
html{-webkit-text-size-adjust:100%}
body{font-family:'Mali',system-ui,sans-serif;color:var(--cocoa);font-size:15px;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
input,select,textarea{font-size:16px}
.boot{min-height:100vh;display:grid;place-items:center;font-weight:800}
/* login (ตามหน้าทดลอง) */
.lscene{position:fixed;inset:0;background:url(images/login-bg.webp) center 30%/cover no-repeat}
.lscene::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,0) 55%,rgba(220,245,250,.35) 100%)}
#water{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none}
.ltitle{position:fixed;top:calc(env(safe-area-inset-top,0px) + 18px);left:0;right:0;text-align:center;z-index:2}
.tw{display:inline-block}
.L{position:relative;display:table;line-height:1.45;font-weight:700}.L span{display:block;white-space:nowrap}
.L .b{color:#7A4A2E;-webkit-text-stroke:var(--sw) #7A4A2E;text-shadow:0 2px 0 #A8683F,0 4px 0 #A8683F,0 6px 10px rgba(0,0,0,.22)}
.L .f,.L .s{position:absolute;inset:0}
.L .f{background:var(--fill);-webkit-background-clip:text;background-clip:text;color:transparent}
.L .s{background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,.3) 40%,rgba(255,255,255,0) 48%);-webkit-background-clip:text;background-clip:text;color:transparent}
.t1 .L{font-size:26px;--sw:7px;--fill:linear-gradient(180deg,#FFFFFF,#FFF4E2)}
.t2 .L{font-size:22px;--sw:6px;margin:4px 6px 0 auto;--fill:linear-gradient(180deg,#FFF6C2 0%,#FFD45A 50%,#F59B2E 100%)}
.ltag{display:inline-block;margin-top:4px;padding:2px 12px;border-radius:999px;background:rgba(255,251,245,.85);color:#5BB6D4;font-size:13px;font-weight:600}
.lstart{position:fixed;left:50%;transform:translateX(-50%);z-index:2;bottom:calc(env(safe-area-inset-bottom,0px) + 34px);border:2px solid rgba(255,255,255,.95);font-weight:700;font-size:17px;color:#fff;padding:9px 38px;border-radius:999px;background:rgba(91,182,212,.9);box-shadow:0 4px 0 #3F98B6,0 8px 20px rgba(60,140,170,.35);transition:opacity .25s}
.lstart.hide{opacity:0;pointer-events:none}
.lcard{position:fixed;left:50%;transform:translate(-50%,calc(100% + 60px));transition:transform .35s cubic-bezier(.2,.9,.3,1.2);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);width:min(340px,calc(100% - 32px));z-index:3;background:rgba(255,251,245,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.9);border-radius:26px;padding:14px 18px 16px;box-shadow:0 10px 30px rgba(70,150,180,.28)}
.lcard::before{content:"";position:absolute;left:22px;right:22px;top:-7px;height:12px;border-radius:999px;background:repeating-linear-gradient(90deg,#BDEBDD 0 18px,#FFE2D3 18px 36px,#D7EEFB 36px 54px)}
.lcard.open{transform:translate(-50%,0)}
.lclose{position:absolute;right:12px;top:8px;border:0;background:#EAF6F3;color:var(--soft);width:30px;height:30px;border-radius:50%;font-size:14px}
.ltabs{display:flex;background:#EAF6F3;border-radius:999px;padding:4px;margin:6px 38px 12px 0}
.ltabs button{flex:1;border:0;background:none;font-size:14px;color:var(--soft);padding:6px 0;border-radius:999px}
.ltabs button.on{background:#fff;color:var(--cocoa);font-weight:700;box-shadow:0 2px 6px rgba(91,182,212,.25)}
.llab{display:block;font-size:13px;margin:0 0 4px 4px;color:var(--soft)}
.lfield{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid #E3F1F4;border-radius:16px;padding:0 12px;margin-bottom:10px}
.lfield:focus-within{border-color:#8FD3E8}.lfield i{font-style:normal}
.lfield input{flex:1;border:0;outline:0;background:none;color:var(--cocoa);padding:10px 0;min-width:0}
.lhint{font-size:12px;color:var(--soft);margin:-4px 0 10px 6px;display:none}.lcard.reg .lhint{display:block}
.lconf{display:none}.lcard.reg .lconf{display:block}
.lgo{width:100%;border:0;font-weight:700;font-size:16px;color:#fff;padding:11px 0;border-radius:999px;background:#5BB6D4;box-shadow:0 4px 0 #3F98B6}
.lgo:disabled{opacity:.7}
.lfoot{text-align:center;font-size:12px;color:var(--soft);margin:10px 0 0}
.hof-btn{position:fixed;z-index:4;right:12px;top:calc(env(safe-area-inset-top,0px) + 12px);width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 35% 30%,#FFF7D6,#FFD86B);font-size:24px;box-shadow:0 3px 0 #E2AE4A,0 8px 16px rgba(150,110,40,.3);display:grid;place-items:center;padding:0;animation:bob 2.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-3px) rotate(-6deg)}}
.hofbox{border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#CFEFFA 0%,#E9F8F1 55%,#FFF6EC 100%);margin:-.3rem -.3rem 0;text-align:center}
.ribbon{margin:14px auto 4px;width:max-content;padding:6px 26px;background:#F6A9BD;color:#fff;font-weight:700;font-size:18px;border-radius:12px;box-shadow:0 3px 0 #D97C96}
.seg{display:flex;gap:6px;justify-content:center;margin:10px 0 2px}.seg button{border:2px solid #fff;font-size:13.5px;font-weight:700;padding:4px 16px;border-radius:999px;background:rgba(255,255,255,.55);color:var(--soft)}.seg button.on{background:#fff;color:var(--cocoa)}
.dates{font-size:12.5px;color:var(--soft);margin-bottom:6px}
.podium{display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:30px 14px 0}
.col{flex:1;max-width:110px;text-align:center}
.av{width:52px;height:52px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:20px;color:#fff;border:3px solid #fff;position:relative}
.c1 .av{width:62px;height:62px;font-size:24px;background:linear-gradient(160deg,#FFD86B,#F5A623)}.c2 .av{background:linear-gradient(160deg,#C9D6E3,#93A9BF)}.c3 .av{background:linear-gradient(160deg,#F7C49E,#D98B5C)}
.c1 .av::before{content:"👑";position:absolute;top:-26px;font-size:22px}
.nm{font-weight:700;font-size:14px;line-height:1.2}.pt{font-size:11.5px;color:var(--soft);margin-bottom:6px}
.step{border-radius:14px 14px 0 0;display:grid;place-items:center;font-weight:700;color:#fff;font-size:26px}
.c1 .step{height:92px;background:linear-gradient(180deg,#FFE08A,#F6B43C)}.c2 .step{height:66px;background:linear-gradient(180deg,#DCE6EF,#A9BDD0)}.c3 .step{height:48px;background:linear-gradient(180deg,#F9D3B6,#E09C70)}
.ground{height:14px;background:#BFE6C9;border-top:3px solid #fff}
.field{display:block;margin:.45rem 0}.field span{display:block;font-size:.78rem;font-weight:700;margin-bottom:.2rem}
.field input{width:100%;border:2px solid var(--line);border-radius:.9rem;padding:.55rem .75rem;background:#fff}
.field input:focus{outline:none;border-color:#F6B9C9}
.err{color:#C8443D;font-size:.8rem;font-weight:700;min-height:1.1rem;margin:.3rem 0}
.btn{border:0;border-radius:999px;background:var(--mint);color:#fff;font-weight:800;font-size:.95rem;padding:.6rem 1.2rem;box-shadow:0 3px 0 rgba(0,0,0,.12)}
.btn.block{width:100%}.btn:disabled{background:#d9d2cb;box-shadow:none}
.btn.pink{background:var(--pink)}.btn.gray{background:#E9E1D8;color:var(--cocoa)}.btn.grape{background:var(--grape)}.btn.gold{background:var(--gold)}
.btn.sm{font-size:.78rem;padding:.3rem .8rem}
.note{font-size:.74rem;color:var(--soft);line-height:1.5}
/* home */
.home{min-height:100vh;background:url(images/farm1-bg.webp) center top/cover no-repeat}
.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.35rem;padding:.5rem .6rem;background:rgba(255,244,234,.9);backdrop-filter:blur(6px);border-bottom:2px solid rgba(255,255,255,.7)}
.bar .nm{font-weight:800;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{display:inline-flex;align-items:center;gap:.25rem;background:#fff;border:2px solid var(--line);border-radius:999px;padding:.12rem .6rem .12rem .25rem;font-weight:800;font-size:.8rem;white-space:nowrap}
.chip img{width:1.35rem;height:1.35rem;object-fit:contain}
.chip.btnc{position:relative;padding-left:.55rem}.chip i{position:absolute;top:-.4rem;right:-.35rem;background:var(--pink);color:#fff;font-style:normal;font-size:.62rem;border-radius:999px;min-width:1.1rem;height:1.1rem;display:grid;place-items:center;border:2px solid #fff;padding:0 .2rem}
.soon{margin:1rem;background:rgba(255,251,245,.95);border-radius:1.4rem;padding:1rem;border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.soon h2{margin:0 0 .3rem;font-size:1.1rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.7rem}
.tile{border:2px solid #fff;background:#fff;border-radius:1.1rem;padding:.7rem .4rem;font-weight:800;font-size:.85rem;box-shadow:0 3px 8px rgba(0,0,0,.08)}
.tile span{display:block;font-size:1.6rem}
/* modal & toast */
.modal{position:fixed;inset:0;z-index:80;background:rgba(20,14,30,.55);display:none;align-items:center;justify-content:center;padding:1rem}
.modal.on{display:flex}
.modal .card{background:var(--cream);border-radius:1.4rem;padding:1rem 1.1rem;max-width:440px;width:100%;max-height:86vh;overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.4);animation:pop .3s ease-out}
.modal h2{margin:0 0 .5rem;font-size:1.1rem}
.modal .acts{display:flex;gap:.45rem;justify-content:flex-end;margin-top:.8rem;flex-wrap:wrap}
@keyframes pop{0%{transform:scale(.85);opacity:0}}
.toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;background:#2A2140;color:#FFE9A8;border-radius:999px;padding:.5rem 1.1rem;font-weight:800;font-size:.85rem;opacity:0;transition:opacity .25s;pointer-events:none;max-width:92vw;text-align:center}
.toast.on{opacity:1}
.savedot{position:fixed;right:.5rem;top:calc(env(safe-area-inset-top,0px) + 2.9rem);z-index:70;background:rgba(42,33,64,.85);color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;padding:.2rem .6rem}
.savedot.bad{background:#C8443D}
/* mail */
.mail{display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid var(--line);border-radius:1rem;padding:.5rem .6rem;margin:.35rem 0}
.mail .ic{font-size:1.5rem;width:2rem;text-align:center}.mail b{flex:1;font-size:.84rem}.mail small{display:block;color:var(--soft);font-size:.72rem;font-weight:600}
.items{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.items span{display:inline-flex;align-items:center;gap:.15rem;background:#FFF6EC;border-radius:999px;padding:0 .45rem 0 .1rem;font-size:.7rem;font-weight:700}.items img{width:1.2rem;height:1.2rem;object-fit:contain}
/* admin */
.page{max-width:640px;margin:0 auto;padding:.7rem .7rem 5rem}
.box{background:#fff;border:2.5px solid var(--line);border-radius:1.2rem;padding:.7rem .8rem;margin:.6rem 0}
.box h3{margin:0 0 .4rem;font-size:.95rem}
.atabs{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.2rem}.atabs button{flex:none;border:2px solid var(--line);background:#fff;border-radius:999px;font-weight:800;font-size:.8rem;padding:.35rem .8rem}.atabs button.on{background:#FFE3EC;border-color:#fff}
.row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.35rem 0;font-size:.85rem}
.row input[type=number],.row input[type=text],.row select{border:2px solid var(--line);border-radius:.7rem;padding:.3rem .5rem;background:#fff;min-width:0}
.plist{display:flex;flex-wrap:wrap;gap:.3rem;max-height:14rem;overflow:auto;margin:.3rem 0}
.plist label{display:inline-flex;align-items:center;gap:.25rem;border:2px solid var(--line);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:700;background:#fff}
.plist label.on{background:#DDF6EC;border-color:#9FDDC4}
.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.3rem;max-height:16rem;overflow:auto;margin:.3rem 0}
.cat button{border:2px solid var(--line);background:#fff;border-radius:.8rem;padding:.25rem;font-size:.66rem;font-weight:700;line-height:1.2}.cat img{width:2rem;height:2rem;object-fit:contain;display:block;margin:0 auto}
.picked{display:flex;flex-direction:column;gap:.25rem}.picked div{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700}.picked img{width:1.6rem;height:1.6rem;object-fit:contain}.picked input{width:6rem;border:2px solid var(--line);border-radius:.6rem;padding:.2rem .4rem}
table.pl{width:100%;border-collapse:collapse;font-size:.78rem}table.pl td,table.pl th{padding:.3rem .2rem;border-bottom:1.5px dashed var(--line);text-align:left}table.pl th{color:var(--soft);font-size:.7rem}
.warn{color:#C8443D;font-weight:800}
.ok{color:#1f8a5e;font-weight:800}
.hist{font-size:.76rem;border-top:1.5px dashed var(--line);padding:.3rem 0}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* โฮสต์เกม */
#scr{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border:0;display:block;background:#CDEEFA}
body.sub #scr{top:calc(env(safe-area-inset-top,0px) + 2.4rem);height:calc(100% - env(safe-area-inset-top,0px) - 2.4rem)}
.gbar{position:fixed;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:.4rem;padding:calc(env(safe-area-inset-top,0px) + .3rem) .5rem .3rem;background:#FFFBF5;border-bottom:2px solid #F3E9DE;font-size:13px}
.gbar[hidden]{display:none}
.gbar button{border:0;border-radius:999px;background:#6CC9A8;color:#fff;font-weight:700;padding:.3rem .75rem;box-shadow:0 2px 0 #4DAA8A}
.gbar b{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov{position:fixed;inset:0;z-index:60;overflow:auto;background:#FFF4EA}
.ov[hidden]{display:none}
/* fix14 ส่งของแอดมิน (ตาม Preview) */
.asd{--pink-d:#D9607F;--pink-bg:#FFEEF3;--mint-bg:#E4F7EF;--gold-bg:#FFF5D6;--faint:#C9B6A6;--sh:0 6px 22px rgba(110,75,58,.09);--disp:'Itim','Mali',sans-serif;display:grid;gap:.8rem;padding-bottom:7.5rem;font-size:.88rem}
.asd>*{min-width:0}
.as-card{background:#fff;border-radius:1.5rem;box-shadow:var(--sh);padding:.95rem}
.as-ch{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem}
.as-n{width:1.75rem;height:1.75rem;border-radius:.6rem;background:var(--pink-bg);color:var(--pink-d);display:grid;place-items:center;font-weight:800;font-size:.85rem;flex:none}
.as-ch h2{font-family:var(--disp);font-weight:400;font-size:1.12rem;margin:0;line-height:1.1}
.as-ch small{display:block;font-size:.68rem;color:var(--soft)}
.as-grow{flex:1;min-width:0}
.as-link{border:0;background:none;color:var(--pink-d);font-weight:700;font-size:.74rem;padding:.2rem .3rem}
.as-count{background:var(--mint-bg);color:#2F8F6C;border-radius:999px;padding:.12rem .6rem;font-size:.72rem;font-weight:800}
.as-tpls{display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:none;margin:0 -.95rem;padding:.2rem .95rem .5rem;scroll-snap-type:x mandatory}
.as-tpls::-webkit-scrollbar{display:none}
.as-tpl{flex:none;width:8.6rem;scroll-snap-align:start;border:0;border-radius:1.2rem;padding:.7rem .65rem .6rem;text-align:left;background:var(--tint);display:grid;gap:.35rem;position:relative;transition:transform .15s,box-shadow .15s}
.as-tpl .as-bi{width:2.4rem;height:2.4rem;border-radius:.8rem;background:#fff;display:grid;place-items:center;font-size:1.35rem}
.as-tpl .as-bi img{width:1.9rem;height:1.9rem;object-fit:contain}
.as-tpl b{font-size:.84rem;line-height:1.2}
.as-mini{display:flex;gap:.15rem;flex-wrap:wrap;min-height:1.1rem}.as-mini img{width:1.1rem;height:1.1rem;object-fit:contain}
.as-ks{font-size:.68rem;font-weight:700;color:#9A6B5E}
.as-tpl i{position:absolute;top:.4rem;right:.45rem;font-style:normal;font-size:.62rem;color:var(--faint);width:1.2rem;height:1.2rem;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.7)}
.as-tpl.on{box-shadow:0 0 0 3px var(--pink),0 6px 14px rgba(242,126,155,.3);transform:translateY(-2px)}
.as-tpl.on i{background:var(--pink);color:#fff}
.as-tpl.add{--tint:#fff;border:2px dashed var(--line);place-content:center;justify-items:center;color:var(--soft);font-weight:700;font-size:.78rem}
.as-tpl.add span{font-size:1.4rem}
.as-items{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.as-it{background:#FFFAF5;border-radius:1rem;padding:.55rem .3rem;text-align:center;display:grid;justify-items:center;gap:.15rem;position:relative;min-width:0}
.as-it .as-e{width:2.4rem;height:2.4rem;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.3rem;box-shadow:0 2px 6px rgba(110,75,58,.08);object-fit:contain;padding:.2rem}
.as-it span{font-size:.7rem;color:var(--soft);line-height:1.2}
.as-it>b{font-size:.88rem;font-variant-numeric:tabular-nums}
.as-it input{width:4.2rem;border:2px solid var(--line);border-radius:.6rem;text-align:center;font-weight:800;padding:.1rem}
.as-it .as-x{position:absolute;top:.2rem;right:.25rem;border:0;background:none;color:var(--faint);font-size:.7rem}
.as-it.k{background:var(--gold-bg)}
.as-editor{margin-top:.7rem;padding-top:.7rem;border-top:1.5px dashed var(--line)}
.as-form{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.55rem}
.as-form label{display:grid;gap:.15rem;font-size:.7rem;font-weight:700;color:var(--soft)}
.as-form input{border:2px solid var(--line);border-radius:.7rem;padding:.3rem .5rem;background:#fff;min-width:0;font-size:16px;color:var(--cocoa)}
.as-srch{display:flex;align-items:center;gap:.4rem;background:#FAF5EF;border-radius:999px;padding:.35rem .8rem}
.as-srch input{border:0;background:none;flex:1;min-width:0;outline:none}
.as-cats{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;margin:.5rem 0}.as-cats::-webkit-scrollbar{display:none}
.as-cats button{flex:none;border:0;border-radius:999px;background:#FAF5EF;font-size:.72rem;font-weight:700;padding:.25rem .65rem;color:var(--soft)}
.as-cats button.on{background:var(--gold-bg);color:#A86A00}
.as-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.35rem;max-height:16rem;overflow:auto}
.as-pick div{display:flex;align-items:center;gap:.3rem;background:#FAF5EF;border-radius:.8rem;padding:.3rem .4rem;font-size:.72rem}
.as-pick img{width:1.6rem;height:1.6rem;object-fit:contain;flex:none}
.as-pick span{flex:1;min-width:0;line-height:1.2}
.as-pick button{border:0;background:none;font-size:.95rem;padding:0 .1rem}.as-pick .star{color:var(--gold)}
.as-chips{display:flex;flex-wrap:wrap;gap:.35rem;max-height:9.5rem;overflow:auto;margin-top:.55rem;padding:.1rem}
.as-pc{border:0;border-radius:999px;padding:.2rem .65rem .2rem .2rem;font-size:.78rem;font-weight:700;background:#FAF5EF;display:inline-flex;gap:.35rem;align-items:center;transition:transform .12s}
.as-pc .av{width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-size:.68rem;font-weight:800;color:#fff;background:var(--c)}
.as-pc.on{background:var(--mint-bg);color:#2F8F6C;box-shadow:inset 0 0 0 2px #A9E2CB}
.as-pc.on .av{background:var(--mint)}.as-pc.on .av::before{content:"✓"}.as-pc.on .av b{display:none}
.as-pc:active{transform:scale(.94)}
.as-bulk{display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.74rem;font-weight:700;color:var(--soft);flex-wrap:wrap}
.as-seg{display:flex;background:#FAF5EF;border-radius:999px;padding:.15rem}
.as-seg button{border:0;background:none;border-radius:999px;font-size:.72rem;font-weight:800;padding:.18rem .6rem;color:var(--soft)}
.as-seg button:hover{background:#fff;color:var(--pink-d)}
.as-sr{display:grid;grid-template-columns:auto 1fr auto;gap:.15rem .6rem;align-items:center;padding:.55rem .1rem;border-top:1.5px solid #FAF3EC}
.as-sr:first-child{border-top:0}
.as-sr .av,.as-rl .av{width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;background:var(--c);grid-row:span 2}
.as-sr .nm{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-sr .tot{grid-column:2/4;font-size:.7rem;color:var(--soft);font-variant-numeric:tabular-nums;line-height:1.4}
.as-step{display:flex;align-items:center;background:#FAF5EF;border-radius:999px;padding:.12rem}
.as-step button{border:0;background:#fff;width:1.75rem;height:1.75rem;border-radius:50%;font-weight:800;color:var(--pink-d);box-shadow:0 1px 3px rgba(110,75,58,.12);display:grid;place-items:center;padding:0}
.as-step input{width:3rem;border:0;background:none;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.as-step input::-webkit-inner-spin-button{display:none}
.as-step small{font-size:.62rem;color:var(--soft);margin-right:.35rem}
.as-rm{border:0;background:none;color:var(--faint);font-size:.75rem;padding:0;justify-self:start}
.as-empty{color:var(--soft);font-size:.78rem;text-align:center;padding:.9rem .5rem;background:#FFFAF5;border-radius:1rem}
.as-empty b{display:block;font-size:1.5rem}
.as-hist summary{font-weight:800;cursor:pointer}
.as-dock{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:.6rem 16px calc(env(safe-area-inset-bottom,0px) + .8rem);background:linear-gradient(180deg,rgba(255,244,234,0),#FFF4EA 40%)}
.as-dock .in{max-width:30rem;margin:0 auto;background:#fff;border-radius:1.5rem;box-shadow:0 10px 30px rgba(110,75,58,.2);padding:.55rem .55rem .55rem .8rem;display:flex;align-items:center;gap:.6rem}
.as-stack{display:flex}
.as-stack span{width:1.7rem;height:1.7rem;border-radius:50%;border:2px solid #fff;margin-left:-.45rem;display:grid;place-items:center;font-size:.62rem;font-weight:800;color:#fff;background:var(--c)}
.as-stack span:first-child{margin-left:0}
.as-sum{flex:1;min-width:0;line-height:1.3}.as-sum b{display:block;font-size:.9rem;font-variant-numeric:tabular-nums}.as-sum small{font-size:.7rem;color:var(--soft)}
.as-go{border:0;border-radius:1.1rem;background:var(--pink);color:#fff;font-weight:800;font-size:.9rem;padding:.7rem 1.1rem;box-shadow:0 3px 0 var(--pink-d);white-space:nowrap}
.as-go:disabled{background:#EADFD5;box-shadow:none;cursor:default}
.as-modal{position:fixed;inset:0;z-index:20;background:rgba(60,40,30,.45);display:none;align-items:flex-end;justify-content:center}
.as-modal.on{display:flex}
.as-sheet{width:min(30rem,100vw);max-height:88vh;overflow:auto;background:var(--cream);border-radius:1.7rem 1.7rem 0 0;padding:.5rem 16px calc(env(safe-area-inset-bottom,0px) + 1rem);animation:asUp .22s ease-out}
@keyframes asUp{from{transform:translateY(40px);opacity:.4}}
.as-grip{width:2.6rem;height:.3rem;border-radius:9px;background:#E9DCCB;margin:.2rem auto .7rem}
.as-rcpt{background:#fff;border-radius:1.3rem;box-shadow:var(--sh);padding:.9rem}
.as-rcpt h3{font-family:var(--disp);font-weight:400;font-size:1.3rem;margin:0;text-align:center}
.as-rcpt .meta{text-align:center;font-size:.72rem;color:var(--soft);margin:.15rem 0 .6rem}
.as-rl{display:grid;grid-template-columns:auto 1fr auto;gap:.1rem .55rem;align-items:center;padding:.5rem 0;border-top:1.5px dashed var(--line)}
.as-rl .av{width:2rem;height:2rem;font-size:.75rem}
.as-rl b{font-size:.85rem}.as-rl .x{font-weight:800;color:var(--pink-d);font-size:.8rem}
.as-rl small{grid-column:2/4;font-size:.7rem;color:var(--soft);line-height:1.4}
.as-grand{margin-top:.4rem;border-radius:1rem;background:var(--gold-bg);padding:.6rem .75rem;font-size:.78rem;line-height:1.5}
.as-grand b{font-family:var(--disp);font-weight:400;font-size:1rem;display:block}
.as-acts{display:grid;grid-template-columns:1fr 1.6fr;gap:.5rem;margin-top:.8rem}
.as-ghost{border:0;border-radius:1.1rem;background:#F1E8DF;color:var(--cocoa);font-weight:800;padding:.7rem}
.as-ok{width:4.2rem;height:4.2rem;border-radius:50%;background:var(--mint);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto .5rem;box-shadow:0 6px 0 #45A583;animation:asPop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes asPop{from{transform:scale(.2)}}
@media (prefers-reduced-motion:reduce){.asd *,.as-ok{animation:none!important;transition:none!important}}
