/* layout: single-column phone shop, oat paper ground, sage as the only cool note, red reserved for money */
:root{
  --bg:#FAF8F4; --surface:#FFFFFF; --oat:#EFE6DA; --sage:#DCE6D8; --sage-d:#5E7F59; --sage-ink:#3F5A3B;
  --ink:#4A4540; --ink2:#7A7167; --ink3:#9A9288; --line:#E7E1D7; --price:#C4473D; --gold:#8C7A52;
  --btn:#4A4540; --btn-ink:#FAF8F4; --warn-bg:#F6E3DF; --warn-ink:#9B3A31; --shadow:rgba(74,69,64,.18);
  --serif:'Huninn','Noto Sans TC','PingFang TC',sans-serif; --sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1D1B18; --surface:#27241F; --oat:#38322A; --sage:#2B3829; --sage-d:#4F6E4A; --sage-ink:#B9D1B3;
    --ink:#EDE7DC; --ink2:#B5AC9F; --ink3:#8E8579; --line:#3A3630; --price:#E5776D; --gold:#C9B58A;
    --btn:#EDE7DC; --btn-ink:#1D1B18; --warn-bg:#46302D; --warn-ink:#F0B3AB; --shadow:rgba(0,0,0,.5); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1D1B18; --surface:#27241F; --oat:#38322A; --sage:#2B3829; --sage-d:#4F6E4A; --sage-ink:#B9D1B3;
  --ink:#EDE7DC; --ink2:#B5AC9F; --ink3:#8E8579; --line:#3A3630; --price:#E5776D; --gold:#C9B58A;
  --btn:#EDE7DC; --btn-ink:#1D1B18; --warn-bg:#46302D; --warn-ink:#F0B3AB; --shadow:rgba(0,0,0,.5); color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.6;-webkit-text-size-adjust:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:var(--ink);background:var(--surface);border:.5px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}
.wheel{flex:1;min-width:0;padding:10px 2px;font-size:16px;text-align:center;text-align-last:center}
select{min-height:44px}
input:focus-visible,button:focus-visible,[data-act]:focus-visible{outline:2px solid var(--sage-d);outline-offset:2px}
.app{max-width:520px;min-width:0;width:100%;box-sizing:border-box;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 110px;min-height:100vh}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;gap:8px}
.brand{font-family:var(--serif);font-size:15px;letter-spacing:.3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.pill{border:.5px solid var(--line);background:var(--surface);border-radius:20px;padding:5px 12px;font-size:13px;color:var(--ink2);white-space:nowrap}
.pill b{color:var(--sage-d);font-weight:700}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance}
.hero{background:var(--oat);border-radius:18px;padding:24px 18px;margin-top:4px}
.eyebrow{font-size:12px;letter-spacing:2.5px;color:var(--gold)}
.hero h1{font-size:23px;margin:6px 0 6px;letter-spacing:1px}
.hero p{margin:0;color:var(--ink2);font-size:14px}
.hero{position:relative;overflow:hidden;min-height:176px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,var(--oat) 0%,var(--oat) 55%,var(--sage) 100%)}
.hero .eyebrow,.hero h1{position:relative;z-index:2}
.hero .pt{position:absolute;top:-24px;z-index:1;opacity:0;pointer-events:none;will-change:transform}
.hero .ln{position:relative;z-index:2;height:2px;width:56px;margin-top:14px;background:var(--gold);border-radius:2px;transform-origin:left}
@media (prefers-reduced-motion:no-preference){
.hero .pt{animation:petal var(--d) linear var(--w) infinite}
@keyframes petal{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}10%{opacity:.9}50%{transform:translate3d(var(--x),95px,0) rotate(160deg)}90%{opacity:.7}100%{transform:translate3d(calc(var(--x)*-.5),210px,0) rotate(330deg);opacity:0}}
.hero.intro .eyebrow{animation:eb 1.4s ease-out both}
@keyframes eb{from{opacity:0;letter-spacing:9px}to{opacity:1;letter-spacing:2.5px}}
.hero.intro h1 .ch{display:inline-block;animation:ch .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.35s + var(--i)*.07s)}
@keyframes ch{from{opacity:0;transform:translateY(14px) scale(.9);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.hero.intro .ln{animation:ln 1s ease-out 1.5s both}
@keyframes ln{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

.sec{font-size:13px;letter-spacing:2px;color:var(--gold);margin:22px 0 10px}
.zone{background:rgba(140,122,82,.07);border:1px solid var(--line);border-radius:20px;padding:2px 14px 14px;margin-top:16px}
.zone.z1{border:2px solid #f4a3bd;background:rgba(244,163,189,.10)}
.zone.z2{border:2px solid #8fb39a;background:rgba(143,179,154,.12)}
.zone .sec{margin-top:14px}
.btn.bounce{animation:enterbounce 1.4s ease-in-out infinite;box-shadow:0 0 0 0 rgba(95,138,107,.45)}
@keyframes enterbounce{0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(95,138,107,.45)}30%{transform:translateY(-5px) scale(1.06);box-shadow:0 0 0 7px rgba(95,138,107,0)}55%{transform:translateY(0) scale(.97)}}
@media (prefers-reduced-motion:reduce){.btn.bounce{animation:none}}
.zone .cc{margin-bottom:0}
.walkrow{font-family:var(--serif);position:relative;display:flex;align-items:center;overflow:hidden;min-height:44px;font-size:27px;font-weight:700;letter-spacing:3px;color:var(--gold)}
.walk{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}
.walk i{position:absolute;top:50%;left:0;margin-top:-11px;font-style:normal;font-size:20px;line-height:20px;opacity:0;animation:daisy 4.2s ease-in-out infinite}
@keyframes daisy{0%{transform:translateX(150px) rotate(0) scale(.6);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateX(calc(100vw - 60px)) rotate(360deg) scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.walk i{animation:none;opacity:1}.walk i:nth-child(1){transform:translateX(160px)}.walk i:nth-child(2){transform:translateX(195px)}.walk i:nth-child(3){transform:translateX(230px)}.walk i:nth-child(4){transform:translateX(265px)}}}
.cc{background:var(--surface);border:.5px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px;cursor:pointer}
.ct{font-family:var(--serif);font-size:19px;line-height:1.4}
.ct span{display:block;font-size:15px;color:var(--ink2);font-family:var(--sans)}
.ct.big{font-size:25px;font-weight:700;color:var(--ink)}.ct.big span{font-size:19px;font-weight:700;color:var(--sage-ink);margin-top:2px;letter-spacing:.5px}
.cr{font-size:13px;color:var(--ink2);margin-top:8px}
.cm{font-size:13px;color:var(--ink3);margin-top:6px}
.btn{border:0;border-radius:24px;padding:11px 20px;font-size:14px;font-weight:700;background:var(--btn);color:var(--btn-ink);display:inline-block;text-align:center}
.btn.sage{background:var(--sage-d);color:#fff}
.btn.red{background:#C0392B;color:#fff;border-color:#C0392B}
.btn.line{background:transparent;border:.5px solid var(--ink3);color:var(--ink)}
.btn.block{display:block;width:100%}
.btn.sm{padding:7px 14px;font-size:13px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.chip{flex:none;border:.5px solid var(--line);background:transparent;border-radius:20px;padding:6px 14px;font-size:13px;color:var(--ink2)}
.chip.on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.pc{cursor:pointer;min-width:0}
.pimg{aspect-ratio:1/1;border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:44px;color:rgba(74,69,64,.28);overflow:hidden}
.tag{position:absolute;top:8px;left:8px;background:#4A4540;color:#FAF8F4;font-size:12px;padding:2px 9px;border-radius:12px;font-family:var(--sans)}
.tag.r{top:auto;left:auto;bottom:8px;right:8px;background:#FAF8F4;color:#5E7F59}
.tag.off{background:#9A9288}
.pn{font-size:16px;font-weight:700;margin-top:8px;line-height:1.4}
.pp{font-size:19px;font-weight:700;color:var(--price);margin-top:2px}
.back{border:0;background:none;color:var(--ink2);font-size:14px;padding:6px 0}
.rule{background:var(--oat);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--ink2);margin:10px 0}
.th{flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:rgba(74,69,64,.3)}
.row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:3px 0}
.row .k{color:var(--ink2)}
.red{color:var(--price);font-weight:700}
.sub{font-size:13px;color:var(--ink3)}
.admtabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0}
.admtab{flex:1 0 auto;min-width:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid transparent;background:var(--tc,var(--surface));color:#4a4540;border-radius:14px;padding:8px 6px 7px;gap:2px;font:inherit;font-size:13px;font-weight:600;border-radius:18px;position:relative;cursor:pointer}
.badge.tp{font-size:15px;font-weight:800;padding:4px 12px;letter-spacing:.5px}
.admtab span{font-size:18px;line-height:1}
.admtab.on svg{background:#fff;border-radius:50%;padding:1px}
.admtab.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.dot{font-style:normal;display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--price);color:#fff;font-size:11px;text-align:center;padding:0 5px;margin-left:4px}
.admtab .dot{position:absolute;top:-6px;right:-2px;margin:0}
.item{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:.5px solid var(--line)}
.item .nm{flex:1;min-width:0}
.item .nm div:first-child{font-size:16px;font-weight:700}
.item>div:last-child{font-size:16px;font-weight:700}
.sheetbg{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:50;display:none;align-items:flex-end;justify-content:center}
.sheetbg.on{display:flex}
.sheet{background:var(--bg);width:100%;max-width:520px;max-height:90vh;overflow:auto;border-radius:20px 20px 0 0;padding:18px max(16px,env(safe-area-inset-left,0px)) calc(20px + env(safe-area-inset-bottom,0px))}
.sheet .pimg{font-size:56px;border-radius:14px;aspect-ratio:auto;height:190px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.stepper{display:inline-flex;align-items:center;border:.5px solid var(--line);border-radius:20px;background:var(--surface)}
.stepper button{border:0;background:none;width:38px;height:36px;font-size:18px}
.stepper span{min-width:28px;text-align:center}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg);border-top:.5px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.nav div{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 max(8px,env(safe-area-inset-left,0px))}
.nav button{border:0;background:none;padding:9px 0 8px;font-size:12px;color:var(--ink3);display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.me-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}.me-row:last-child{border-bottom:0}.faq summary{list-style:none;cursor:pointer;margin-bottom:0;padding:1px 0}
.faq summary::-webkit-details-marker{display:none}
.faq[open] summary{margin-bottom:3px}
.faq .nt-t{font-size:15px}
.faq-c{flex:none;width:7px;height:7px;border-right:1.5px solid #c98a9a;border-bottom:1.5px solid #c98a9a;transform:rotate(45deg);margin:-4px 6px 0;transition:transform .2s}
.faq[open] .faq-c{transform:rotate(-135deg);margin-top:3px}
.faq:not([open]){padding-bottom:10px}
.nt-k{font-weight:700;color:#b0305a;background:linear-gradient(transparent 64%,#fde3ea 64%);padding:0 1px;white-space:nowrap}
.nav button.on{color:var(--ink);font-weight:500}
.nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nav i[hidden]{display:none}.admnav{display:none}body.adm .nav:not(.admnav){display:none}body.adm .admnav{display:block}.admnav div{grid-template-columns:repeat(6,minmax(0,1fr))!important}.admnav button{color:var(--ink2)!important;font-size:11.5px!important;padding:6px 0 7px!important}.admnav button{justify-content:flex-start}.admnav svg{margin:0!important;border:1px solid transparent;width:24px!important;height:24px!important;padding:2px;box-sizing:content-box}.admnav svg.ai{width:24px;height:24px;stroke:#6b5b52;fill:none;border-radius:8px;padding:2px;box-sizing:content-box}.admnav button.on{color:var(--ink)!important;font-weight:700!important}.admnav button.on svg.ai{background:var(--tc)}.adm-ttl{font-size:20px;margin:4px 0 8px}
.nav i{position:absolute;top:4px;right:calc(50% - 20px);background:var(--price);color:#fff;font-style:normal;font-size:11px;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.card{background:var(--surface);border:.5px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.badge{font-size:13px;padding:3px 12px;border-radius:20px;background:var(--oat);color:var(--ink2);white-space:nowrap}
.badge.g{background:var(--sage);color:var(--sage-ink)}
.badge.w{background:var(--warn-bg);color:var(--warn-ink)}
.nt-wrap{background:transparent;padding:2px 0 4px}
.nt-title{font-family:var(--serif);font-size:17px;line-height:1.4;text-align:center;color:#a63d65;font-weight:700;margin:4px 0 8px}
.nt-intro{text-align:center;font-size:13.5px;font-weight:600;margin:0 0 10px;color:#2b2320}
.nt-card{background:#fff;border:1px solid #efdde3;border-radius:14px;padding:10px 12px 6px;margin:0 0 8px;box-shadow:0 1px 2px rgba(74,69,64,.04)}
.nt-hd{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.nt-n{flex:none;width:23px;height:23px;border-radius:50%;background:#F6E7EC;color:#a63d65;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.nt-t{flex:1;font-size:16px;font-weight:800;color:#a63d65}
.nt-e{line-height:0}.nt-ic{width:20px;height:20px;fill:none;stroke:#c98a9a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nt-ul{list-style:none;margin:0;padding:0}
.nt-ul li{position:relative;padding-left:18px;margin:4px 0;font-size:13.5px;line-height:1.55;font-weight:500;color:#2b2320}
.nt-ul li::before{content:"♥";position:absolute;left:2px;top:0;color:#ecaabf}
.nt-chip{display:inline-block;background:#fbeec9;color:#8a5a12;font-weight:700;border-radius:999px;padding:0 9px;font-size:.95em;line-height:1.55}
.nt-out{text-align:center;color:#a63d65;font-size:13.5px;font-weight:600;margin:4px 0}
.lim-box{background:var(--oat);border:1.5px dashed var(--sage-d);border-radius:14px;padding:10px 12px;margin-top:8px;cursor:pointer}
.lim-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lim-nm{font-size:16px;font-weight:600;color:var(--ink)}
.lim-bolt{margin-right:6px}
.lim-left{flex:none;background:var(--sage);color:var(--sage-ink);font-weight:600;font-size:13px;border-radius:999px;padding:2px 12px}
.lim-sub{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:13px;color:var(--ink2)}
.lim-names{margin-top:6px;font-size:14px;font-weight:600;color:var(--ink);line-height:1.5}
.lim-tag{background:var(--warn-bg);color:var(--warn-ink);font-weight:600;border-radius:999px;padding:1px 10px;font-size:12.5px}
.avt{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;flex:none}
.cute{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:10px 0 2px}
.cute-line{position:absolute;top:5px;left:10%;right:10%;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.cute-line i{display:block;height:100%;width:var(--pct);border-radius:3px;background:var(--sage-d);animation:cfill .8s ease-out}
.cs{position:relative;z-index:1;text-align:center;font-size:10.5px;line-height:1.3;color:var(--ink3);opacity:.75}
.ce{display:block;width:13px;height:13px;margin:0 auto 5px;border-radius:50%;background:var(--surface);border:2px solid var(--line);font-size:0;overflow:hidden}
.cs.d{color:var(--ink2);opacity:1}.cs.d .ce{background:var(--sage-d);border-color:var(--sage-d)}
.cs.n{color:var(--ink);font-weight:700;opacity:1;font-size:11.5px}.cs.n .ce{background:#C98A9A;border-color:#C98A9A;box-shadow:0 0 0 4px rgba(201,138,154,.25);animation:cpulse 1.8s ease-in-out infinite}
@keyframes cpulse{0%,100%{box-shadow:0 0 0 3px rgba(201,138,154,.25)}50%{box-shadow:0 0 0 6px rgba(201,138,154,.12)}}
@keyframes cfill{from{width:0}}
@media (prefers-reduced-motion:reduce){.cs.n .ce,.cute-line i{animation:none}}
.cute.still .cs.n .ce,.cute.still .cute-line i{animation:none}
.pmini{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:var(--ink2)}.pmini i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line)}.pmini i.d{background:var(--sage-d)}.pmini i.n{background:#C98A9A;box-shadow:0 0 0 2px rgba(201,138,154,.3)}.pmini b{color:var(--ink);font-weight:600}
.prog{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:12px 0 4px}
.prog div{text-align:center;font-size:12px;color:var(--ink3);position:relative}
.prog div::before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:var(--line);margin:0 auto 4px;position:relative;z-index:1}
.prog div::after{content:"";position:absolute;top:4px;left:-50%;width:100%;height:1px;background:var(--line)}
.prog div:first-child::after{display:none}
.prog .d{color:var(--ink2)}.prog .d::before{background:var(--sage-d)}.prog .d::after{background:var(--sage-d)}
.prog .n{color:var(--ink);font-weight:500}.prog .n::before{background:var(--sage-d);box-shadow:0 0 0 3px var(--sage)}.prog .n::after{background:var(--sage-d)}
.pay{background:var(--sage-d);color:#fff;border-radius:14px;padding:13px 10px;text-align:center;margin-top:12px}
.pay .pl{font-size:13px;letter-spacing:1px}
.pay .pa{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:2px}
.pay b{font-size:26px}.pay i{font-style:normal;font-size:20px}
.warnbox{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;padding:8px 12px;font-size:13px;margin-top:10px}
.cbox{position:relative;touch-action:none;margin:0 6px;user-select:none;-webkit-user-select:none;border-radius:10px;overflow:hidden;background:#222}.cbox img{width:100%;display:block;pointer-events:none}.cfr{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.5);pointer-events:none}.cg{position:absolute;background:rgba(255,255,255,.45);opacity:0;transition:opacity .15s}.cfr.drag .cg{opacity:1}.cg.v1{left:33.3%;top:0;bottom:0;width:1px}.cg.v2{left:66.6%;top:0;bottom:0;width:1px}.cg.h1{top:33.3%;left:0;right:0;height:1px}.cg.h2{top:66.6%;left:0;right:0;height:1px}.ccn{position:absolute;width:22px;height:22px;border:4px solid #fff}.ccn.tl{left:0;top:0;border-right:0;border-bottom:0}.ccn.tr{right:0;top:0;border-left:0;border-bottom:0}.ccn.bl{left:0;bottom:0;border-right:0;border-top:0}.ccn.br{right:0;bottom:0;border-left:0;border-top:0}.ccn{filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.ubar{height:8px;border-radius:6px;background:var(--oat);margin-top:6px;overflow:hidden}.ubar i{display:block;height:100%}.lq-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--oat);border-radius:12px;padding:8px 10px;margin:4px 0 10px}.lnk-sec{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}.lnk-c{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto}.lnk-c .chip{margin:0}.lkbox{display:flex;gap:8px;align-items:center;background:var(--oat);border-radius:12px;padding:8px 8px 8px 12px}.lkbox span{flex:1;min-width:0;font-size:13px;word-break:break-all;color:var(--ink)}.lkbox .btn{flex-shrink:0}.nextbar{display:flex;align-items:center;gap:10px;background:var(--oat);border:1px solid var(--line);border-radius:14px;padding:9px 12px;margin:0 0 12px}.nextbar.stick{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:15;box-shadow:0 4px 12px rgba(80,60,40,.10)}.nb-m{flex:1;min-width:0}.nb-t{font-size:14.5px;font-weight:600;line-height:1.4}.nb-x{font-size:12px;font-weight:400;color:var(--ink2)}.nb-s{font-size:12px;color:var(--ink2);margin-top:1px}.nextbar .btn{flex-shrink:0;white-space:nowrap}.sum{background:var(--oat);border-radius:14px;padding:12px 14px;margin-bottom:14px}
.sum b{font-size:22px;color:var(--price)}
.field{margin-top:10px}
.field label{display:block;font-size:13px;color:var(--ink2);margin-bottom:4px}
.file{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.file input{display:none}
.fback{position:fixed;left:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:35;height:42px;padding:0 16px 0 12px;font:inherit;font-weight:700;font-size:15px;border-radius:22px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:0 3px 12px rgba(0,0,0,.18);cursor:pointer}
.fback[hidden]{display:none}
.fab{position:fixed;left:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:36;height:48px;min-width:48px;padding:0 18px 0 12px;gap:4px;font:inherit;font-weight:700;font-size:16px;border-radius:26px;border:1.5px solid var(--line);background:var(--surface,var(--bg));color:var(--ink);box-shadow:0 3px 12px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer}
.sect{font-family:var(--serif);font-size:16px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.sect::after{content:"";flex:1;border-top:2px dashed var(--line)}
.fbar{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:41;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px;display:flex;gap:10px}
.fbar .btn{flex:1;margin:0}
.fab.r{left:auto;right:16px;background:var(--sage-d);color:#fff;border-color:transparent}
.mbar{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;justify-content:center;padding:0 16px}
.mbar div{background:var(--btn);color:var(--btn-ink);border-radius:26px;padding:8px 8px 8px 18px;display:flex;gap:14px;align-items:center;font-size:14px;box-shadow:0 6px 18px var(--shadow)}
.mbar .btn{background:var(--surface);color:var(--ink)}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--btn);color:var(--btn-ink);padding:9px 18px;border-radius:22px;font-size:14px;z-index:60;display:none;max-width:88%;text-align:center;pointer-events:none}body:has(.fbar) .toast{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
.toast.on{display:block}
body.gate .nav,body.gate .top .pill{display:none}
.bub{background:var(--surface);border:.5px solid var(--line);border-radius:4px 16px 16px 16px;padding:12px 14px;max-width:94%;font-size:14px;line-height:1.65}
.bub .pay{border-radius:10px;margin-top:8px;padding:9px}
.bub .pay b{font-size:20px}
.pv{font-size:12px;color:var(--ink3);margin:14px 0 4px}
.empty{text-align:center;color:var(--ink3);padding:40px 12px}
.note{font-size:13px;color:var(--ink3)}
.adm{border-top:.5px solid var(--line);padding:10px 0;display:flex;flex-direction:column;gap:6px}
.hr{border:0;border-top:.5px solid var(--line);margin:10px 0}
.ag{display:flex;gap:14px;align-items:center;padding:10px 0;font-size:15px;font-weight:500;cursor:pointer;line-height:1.5}
input.cb{appearance:none;-webkit-appearance:none;width:28px;height:28px;padding:0;border-radius:50%;border:1.5px solid var(--ink3);background:var(--surface);flex:none;cursor:pointer}
input.cb:checked{background:var(--sage-d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat;border-color:var(--sage-d)}
.lk{border:0;background:none;color:var(--sage-d);text-decoration:underline;font-size:14px;padding:0 2px;font-weight:400}
.agbox{border-top:.5px solid var(--line);margin-top:12px;padding-top:4px}
@media (prefers-reduced-motion:no-preference){.sheet{animation:up .18s ease-out}@keyframes up{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}}
/* ===== 質感版（A＋一點 B）：細線、留白、低飽和，粉色只做點綴 ===== */
:root{--rose:#C98A9A;--rose-soft:#F6ECEE;--cream:#FBF8F3;--hair:rgba(74,69,64,.12)}
.zone{background:var(--surface);border:1px solid var(--hair);border-radius:22px;padding:6px 18px 20px;box-shadow:0 1px 2px rgba(74,69,64,.04),0 10px 28px -12px rgba(74,69,64,.16)}
.zone.z1{border:1px solid var(--hair);background:var(--surface);position:relative;overflow:hidden}
.zone.z1:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rose),#E7C4CC 60%,transparent)}
.zone.z2{border:1px solid var(--hair);background:var(--surface);position:relative;overflow:hidden}
.zone.z2:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--sage-d),var(--sage) 60%,transparent)}
.zone .cc{background:transparent;border:0;padding:12px 0 0;border-radius:0}
.walkrow{color:var(--ink);letter-spacing:6px;font-weight:600}
.zone .lim-tag{display:none}
.hero h1{font-size:min(27px,6.6vw);letter-spacing:1px;font-weight:500;line-height:1.35;white-space:nowrap}
.brand{font-size:17px;font-weight:500;letter-spacing:1px}
.hero{min-height:196px}
.lim-sub span{white-space:nowrap}.lim-sub{column-gap:10px;row-gap:2px}
.cx{margin-top:8px;background:var(--cream,#FBF8F3);border:1px solid var(--hair,rgba(74,69,64,.12));border-radius:12px;padding:6px}
.cx-h{font-size:12px;font-weight:700;color:var(--ink2);margin:0 2px 4px}
.cx-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}@media (min-width:760px){.cx-g{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cx-t{background:var(--surface);border:1px solid var(--hair,rgba(74,69,64,.12));border-radius:9px;padding:5px 7px;min-width:0}
.cx-k{font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-v{font-size:16px;font-weight:700;color:var(--ink);line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-s{font-size:10.5px;color:var(--ink3);margin-top:1px;overflow-wrap:anywhere;line-height:1.35}
.cx-t.hi .cx-v{color:#C4473D}.cx-t.ok .cx-v{color:var(--sage-d)}.cx-t.neg .cx-v{color:#C0392B}
.ccard{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.ccard:active{background:var(--oat)}.ccard.on{border-color:var(--sage-d)}.ccard-s{margin-top:8px;padding:10px 12px!important}.cc-r{display:flex;align-items:center;gap:8px;justify-content:space-between}.cc-m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.cc-m .badge{font-size:11.5px;padding:2px 8px}.cc-s{font-size:12px;color:var(--ink2);margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.cc-e{margin-left:auto;color:var(--ink3);white-space:nowrap}
.csi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:8px}.csi-h{font-weight:700;font-size:14px;margin-bottom:2px}
.shot{margin-top:4px}.shot-st{display:block;font-size:15px;color:#b9770e;margin-bottom:2px}.shot-st.ok{color:var(--sage-d)}.shot-img{display:block;margin-top:8px;width:120px;height:160px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:zoom-in}
.rv{padding:16px}.rv-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;cursor:pointer}.rv-big{font-size:17px;color:var(--ink2)}.rv-big b{font-size:24px;color:var(--ink);margin-left:6px}.rv-gp{font-size:14px;color:var(--ink3)}
.rv-sub{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 10px;font-size:14px;color:var(--ink3)}.rv-sub select{font-size:13px;padding:4px 8px;max-width:55%}
.rv-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rv-t{background:var(--cream,#FBF8F3);border-radius:12px;padding:10px 12px;min-width:0}.rv-t.w{grid-column:1/-1}.rv-v{font-size:21px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.rv-k{font-size:12.5px;color:var(--ink2);margin-top:2px}
/* 後台：平板與筆電 */
@media (min-width:760px){body.adm .app{max-width:980px;width:100%;box-sizing:border-box}body.adm .nav div{max-width:980px}body.adm .sheet{max-width:640px;border-radius:20px;margin-bottom:24px}
 body.adm .adm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:0 16px;align-items:start}body.adm .adm-list>.card{margin-top:14px!important}
 body.adm .rv-g{grid-template-columns:repeat(3,1fr)}
 body.adm .plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));column-gap:24px}body.adm .plist>.empty{grid-column:1/-1}}
@media (min-width:1180px){body.adm .app{max-width:1240px}body.adm .nav div{max-width:1240px}}
.snapc-fix{background:var(--oat);border-radius:12px;padding:10px 12px}.snapc-fix b{display:block;font-size:16px;color:var(--ink)}
.cat-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:2px 12px 10px;margin:0 0 10px}
.rv-g{gap:6px}.rv-t{padding:5px 10px;border-radius:9px;line-height:1.3}.rv-v{font-size:15px}.rv-k{font-size:11px;margin-top:0}
.rv-t.red .rv-v,.rv-t.red .rv-k{color:#C0392B}.rv-title{margin:0 0 4px!important}.rv-title>span{font-size:16px;font-weight:700;color:var(--ink)}
.dg-m{display:flex;flex-direction:column;min-width:0;flex:1;text-align:left}.dg-st{font-size:11.5px;color:var(--ink2);font-weight:400;line-height:1.45;margin-top:2px}.lscroll.bq-sc{background:transparent;border-color:var(--line);padding:0 8px;max-height:262px}.sc-hint{text-align:right;margin:2px 4px 4px;font-size:12px}.pg-sc .pgr:first-child{border-top:0}.pgp{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.pgp.w{background:#FBEBEB;color:#B03A2E}.pgp.t{background:#F9EEDA;color:#9A6420}.pgp.d{background:#E5F0E3;color:#4E6B4A}.pgp.s{margin-left:4px;padding:3px 7px;font-weight:500}.bq-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lsc-hd{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin:2px 4px 4px}.fcard.closed{cursor:pointer}.drow{cursor:pointer}.drow:not(.open){content-visibility:auto;contain-intrinsic-size:auto 76px}.lscroll{max-height:62vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1.5px solid var(--hair);border-radius:16px;background:var(--oat);padding:6px;scrollbar-width:thin}.lscroll>.card{margin:0 0 6px;box-shadow:none}.lscroll .pg-h{position:sticky;top:-8px;z-index:2;background:var(--surface);border-radius:12px}.lscroll .prow{padding:8px 0}.lscroll .pimg-s,.lscroll .prow img{width:44px!important;height:44px!important}
.fcard.closed>*:not(.fc-h){display:none!important}.fc-h{display:flex;align-items:baseline;gap:6px;cursor:pointer;margin-bottom:6px!important}.fcard.closed .fc-h{margin-bottom:0!important}.fc-t{color:var(--ink);font-size:15px;flex-shrink:0}.fc-d{flex:1;min-width:0;font-size:12px}.fcard.closed .fc-d{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-a{margin-left:auto;flex-shrink:0;color:var(--ink2)}
.pgr{border-top:1px solid var(--line);padding:8px 0}.pgr-h{display:flex;align-items:center;gap:8px;cursor:pointer}.pgr-n{flex:1;min-width:0;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgr-s{flex-shrink:0;font-size:12px;color:var(--ink2)}.pgr-s .red{color:#C0392B;font-weight:600}
.one{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deal{font-size:12px;color:#B5546E;font-weight:600}.deal.big{font-size:13px;background:var(--rose-soft);border-radius:8px;padding:6px 10px;margin-top:6px}.dealbox{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.dayh{border-top:1px solid var(--line);margin-top:8px}
.tplbox{margin:4px 0 10px;padding:8px 10px;background:var(--oat);border-radius:10px}
.ub{margin-top:8px;padding:8px 10px;background:#FBEFEC;border-radius:10px}.ub-r{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:13px}.ub-r i{font-style:normal;font-size:11px;color:var(--ink3);margin-left:6px}
.bq-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--ink2);margin-bottom:6px}.bq-hd b{color:var(--ink);font-size:15px}.bq-row.s{padding:8px 0}.bq-n{flex:1;min-width:0;font-size:14px;color:var(--ink)}
.bq-row{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.bq-q{flex-shrink:0;font-size:13px}.bq-q.red{color:#C0392B}
.rv-n{font-size:12px;color:var(--ink2);margin:2px 0 6px}
.rv-un{margin-top:8px;background:#FBEFEC;border-radius:10px;padding:8px 10px}.rv-un summary{cursor:pointer;font-size:13px;font-weight:700;color:#C0392B}
.rv-urow{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 0;border-top:1px dashed rgba(192,57,43,.2);font-size:13px}.rv-urow:first-of-type{margin-top:6px}
.rv-urow .nm{font-weight:600;color:var(--ink);min-width:0}.rv-urow .nm i{font-style:normal;font-weight:400;font-size:11px;color:var(--ink3);margin-left:6px}
.rv-urow .am{text-align:right;color:#C0392B;font-weight:600;font-variant-numeric:tabular-nums}.rv-urow .rv-rm{justify-self:end;align-self:center;padding:3px 12px;font-size:12px}.rv-urow .du{align-self:center;font-size:12px;color:var(--ink2)}.rv-urow .du.od{color:#C0392B;font-weight:600}
.rv-by{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.rv-by summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--ink2)}.rv-row{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--ink2);padding:4px 0;border-bottom:1px dashed var(--line)}
.hc{margin-top:14px}.hc-t{font-size:13px;color:var(--ink3);letter-spacing:2px;margin-bottom:6px}.hc-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.hc-c{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--cream,#FBF8F3);border:1px solid var(--hair,rgba(74,69,64,.12));border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;color:var(--ink);font:inherit}.hc-c b{font-size:15px;font-weight:600;letter-spacing:.5px;overflow-wrap:anywhere}.hc-c span{font-size:12px;color:var(--ink3)}.hc-c:active{transform:scale(.98)}
.lim-box:not(.norm){background:var(--rose-soft);border:1.5px dashed rgba(201,138,154,.55);border-left:1.5px dashed rgba(201,138,154,.55);border-radius:16px}
.ctiles{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;margin-top:4px}.ctiles::-webkit-scrollbar{display:none}
.ctile{flex:none;max-width:200px;text-align:left;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:6px 11px;cursor:pointer;font:inherit;color:var(--ink);white-space:nowrap}
.ctile b{display:inline;font-size:13.5px;font-weight:600;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctile span{display:inline;margin-left:5px;font-size:11.5px;color:var(--ink2);white-space:nowrap}
.ctile span.red{color:#C0392B}
.pdue{margin-top:2px}
.ptag{display:block;font-size:11.5px;color:var(--ink3);letter-spacing:.3px;margin-top:1px;font-weight:400}
.subbox{margin-top:8px;padding:8px;background:var(--oat);border-radius:10px}.subx{border:0;background:none;color:inherit;opacity:.7;font-size:12px;margin-left:4px;padding:0 2px;cursor:pointer}
.chips.sub3{margin-top:-2px}.chips.sub3 .chip{font-size:13px;padding:5px 12px}
.hot{margin-top:14px}.hot-g{display:flex;gap:10px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.hot-g::-webkit-scrollbar{display:none}
.hot-c{flex:none;width:118px;background:var(--cream);border:1px solid var(--hair);border-radius:12px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.hot-i{display:flex;justify-content:center;margin-bottom:4px}.hot-n{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em}
.hot-p{font-size:13px;color:#C0392B;font-weight:700}.hot-q{font-size:11px;color:var(--ink3)}
.hot-add{margin-top:4px;border:1px solid var(--sage-d);background:var(--sage);color:var(--sage-ink);border-radius:999px;font:inherit;font-size:12px;font-weight:600;padding:4px 0;cursor:pointer}
.dcalc{margin:2px 0 10px}
.amode{display:flex;background:var(--oat);border-radius:12px;padding:3px;margin:0 0 12px}.amode button{flex:1;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink2);padding:8px 0;border-radius:10px;cursor:pointer}.amode button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.amn{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--sage-d);color:#fff;font-size:11px;margin-left:4px}
.dlink{display:flex;justify-content:space-between;align-items:center;width:100%;font:inherit;font-size:14px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}.dlink span{font-size:12px;font-weight:400;color:var(--ink2)}
.drow{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.drow img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex-shrink:0}
.dr-m{min-width:0;flex:1}.dr-n{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr-s{font-size:12px;color:var(--ink2);margin-top:1px;line-height:1.5}
.dr-c{font-size:11.5px;color:var(--ink3);margin-top:1px}.dr-c b{color:var(--sage-d)}
.dr-p{color:var(--ink);font-weight:700}.dr-w{color:#C0392B;font-weight:600}.dr-l{color:#C0392B}.dr-ok{color:var(--sage-d);font-weight:600}.dr-ai{color:#B7791F;font-weight:600}
.drx{border:0;background:none;color:var(--ink3);font-size:15px;padding:4px 2px;cursor:pointer;flex-shrink:0}
.dset-h{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--hair);background:var(--oat);border-radius:10px;padding:9px 12px;font:inherit;font-size:13px;color:var(--ink2);cursor:pointer;margin:2px 0 8px;text-align:left}.dset-h b{color:var(--ink)}.dset-h.on{margin-bottom:4px}
.lr2{align-items:center}.lr-th{display:flex;flex-shrink:0}.lr-th>*{margin-right:-8px;border:2px solid var(--rose-soft);border-radius:9px}.lr-th>*:last-child{margin-right:0}.lr-more{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--surface);font-size:11px;color:var(--ink2)}.lr-nm{flex:1;min-width:0;margin-left:10px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lr2 .lim-due{text-align:right;line-height:1.35;flex-shrink:0;font-size:12px}
.pr-sw{display:flex;border:1px solid var(--hair);border-radius:999px;overflow:hidden}.pr-sw button{border:0;background:var(--surface);color:var(--ink3);font:inherit;font-size:11.5px;padding:3px 8px;cursor:pointer}.pr-sw button.on{background:var(--sage);color:var(--sage-ink);font-weight:700}.pr-sw button.l.on{background:var(--rose-soft);color:#C0392B}.pr-sel{width:auto;min-height:30px;padding:2px 8px;font-size:12px;border-radius:999px}.pr-sw button:disabled{opacity:.4}
.pr-act{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.pr-b{border:1px solid var(--hair);background:var(--surface);color:var(--ink2);border-radius:999px;font:inherit;font-size:12px;padding:3px 10px;cursor:pointer;min-width:36px}.pr-b.red{background:#C0392B;border-color:#C0392B;color:#fff}
.segrow{display:flex;gap:8px;align-items:center;margin-top:10px}.seg{flex:1;display:flex;background:var(--oat);border-radius:12px;padding:3px;gap:2px}.seg button{flex:1;border:0;background:none;font:inherit;font-size:13px;color:var(--ink2);padding:7px 2px;border-radius:9px;white-space:nowrap;cursor:pointer}.seg button b{font-weight:600;margin-left:2px;color:var(--ink3)}.seg button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.10)}.seg button.on b{color:var(--ink)}.segq{flex-shrink:0;width:38px;height:38px;border-radius:12px;border:0;background:var(--oat);color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer}.segq.on{background:var(--ink);color:var(--bg)}.mchips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.mchips button{border:1px solid var(--line);background:var(--surface);font:inherit;font-size:12.5px;color:var(--ink2);padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}.mchips button b{font-weight:600;margin-left:2px}.mchips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.mchips .mc-g{border-style:dashed;margin-left:auto}.pl-t{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pl-t .lk{font-size:12px}.lsc-hd{align-items:center;gap:8px;flex-wrap:wrap}.pl-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin:4px 0 8px}
.pg-h{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;font:inherit;padding:10px 0 8px;cursor:pointer;color:var(--ink);text-align:left}.pg-h b{font-size:15px}.pg-t{margin-left:auto;font-size:12px;color:var(--ink2)}
.psel{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink2);padding-top:8px;border-top:1px solid var(--line)}.psel input{width:20px;height:20px;accent-color:var(--sage-d)}.psel+.prow{border-top:0}
.pblk,.ccard-min,[data-act=custmin]{cursor:pointer}.pmin{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hair);background:var(--surface);color:var(--ink2);border-radius:8px;width:28px;height:26px;font-size:12px;cursor:pointer}
.dpick{width:22px;height:22px;flex-shrink:0;accent-color:var(--sage-d)}
.dtime{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.dall{padding:6px 0 8px;border-top:1px dashed var(--line)}
.dri{padding:4px 0 12px 58px}.dri .field{margin-bottom:8px}@media (max-width:420px){.dri{padding-left:0}}
.bulk{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.samep{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 2px}
.lim-list{margin-top:8px}.lim-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;border-top:1px dashed rgba(201,138,154,.35);font-size:14px;font-weight:500;color:var(--ink);letter-spacing:.5px}.lim-row:first-child{border-top:0}.lim-due{flex:none;font-size:12.5px;font-weight:400;color:var(--ink2);font-variant-numeric:tabular-nums}.pdue.lim{color:#C0392B}
.ctile.on{background:var(--sage);border-color:var(--sage-d);box-shadow:inset 0 0 0 .5px var(--sage-d)}.ctile.on b{color:var(--sage-ink)}
.cpm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.cro-hd{font-size:12.5px;color:var(--ink3);margin:12px 2px 2px;letter-spacing:.5px}.cro{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:6px}.cro-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cro-a{margin-left:auto;font-weight:700}.cro-b{margin-top:6px}.cro .ai{margin:6px 0 2px}
.cpa{margin-top:8px}.cpa-r{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:6px}.cpa-b{display:flex;gap:6px;flex-wrap:wrap}
.ai-h{font-size:13px;font-weight:700;color:var(--ink2);padding:8px 0 2px}.ai-sum{border-top:1px solid var(--line)!important}.ai-sum .ai-n{font-weight:700}
.ai{margin:8px 0 6px;border:1px solid var(--line);border-radius:12px;padding:2px 10px;background:var(--surface)}.ai-r{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px dashed var(--line)}.ai-r:first-child{border-top:0}.ai-n{flex:1;min-width:0;font-size:14.5px}.ai-p{flex:none;font-weight:700;font-size:14.5px}
.prow{display:flex;gap:10px;align-items:center;padding:10px 6px;margin:0 -6px;border-top:1px dashed var(--line);cursor:pointer;border-radius:10px;-webkit-tap-highlight-color:transparent;transition:background .15s}
.prow:active{background:var(--oat)}
.prow-go{font-size:18px;line-height:1;color:var(--ink3);margin-left:6px;font-weight:400;vertical-align:-1px}
.lim-gone{font-size:12px;font-weight:500;color:var(--rose);letter-spacing:.5px;margin-left:2px}
.lim-left.urgent{background:#C0392B;border-color:#C0392B;color:#fff}
.lim-box.norm{border-left-color:var(--sage-d)}
.ct.big{letter-spacing:1.5px;font-weight:600}
.ct.big span{color:var(--sage-d);font-weight:600;letter-spacing:1.5px;font-variant-numeric:tabular-nums}
.cr{font-size:13px;color:var(--ink2);margin-top:12px;letter-spacing:.3px}
.cm{font-size:12.5px;color:var(--ink3);margin-top:4px;padding-bottom:12px;border-bottom:1px solid var(--hair);letter-spacing:.3px}
.lim-box{background:var(--cream);border:1px solid var(--hair);border-left:3px solid var(--rose);border-radius:12px;padding:12px 14px;margin-top:10px;transition:transform .15s ease,box-shadow .15s ease}
.lim-box:active{transform:scale(.99)}
.lim-nm{font-size:16px;font-weight:600;letter-spacing:1px}
.lim-left{background:transparent;border:1px solid var(--sage-d);color:var(--sage-d);font-size:12px;letter-spacing:.5px;padding:1px 11px}
.lim-tag{background:transparent;border:1px solid var(--rose);color:var(--rose);font-size:11px;letter-spacing:1px;padding:0 8px}
.lim-sub{font-size:12.5px;letter-spacing:.3px}
.lim-names{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:.5px}
.btn.sage{letter-spacing:2px;padding-left:22px;padding-right:22px;box-shadow:0 6px 14px -8px rgba(63,90,59,.7)}
.btn.bounce{animation:none;box-shadow:0 6px 14px -8px rgba(63,90,59,.7)}
.hero{border-radius:22px;border:1px solid var(--hair)}
.eyebrow{letter-spacing:4px;font-size:11px}
.rule{background:transparent;border:1px solid var(--hair);border-radius:14px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--rose:#D9A3B0;--rose-soft:#3A2A2E;--cream:#2D2924;--hair:rgba(237,231,220,.12)}}
:root[data-theme="dark"]{--rose:#D9A3B0;--rose-soft:#3A2A2E;--cream:#2D2924;--hair:rgba(237,231,220,.12)}
:root[data-theme="dark"]{--rose:#D9A3B0;--cream:#2D2924;--hair:rgba(237,231,220,.12)}
.todo{padding:12px}
.todo-h{margin-bottom:8px}
.todo-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.todo-i{border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:1px;font:inherit;color:var(--ink2);cursor:pointer;min-width:0}
.todo-i b{font-size:18px;color:#bbb;line-height:1.2}
.todo-i span{font-size:11.5px;white-space:nowrap}
.todo-i.on{background:#fff6f3;border-color:#f0c9bf}
.todo-i.on b{color:#c0392b}
.todo-i.sel{outline:2px solid var(--sage-d)}
.todo-x{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.todo-r{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 0;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line)}
.todo-r:last-child{border-bottom:0}
.okpay{margin-top:6px;color:#3f7a4f;font-weight:600;font-size:13px}
.bk-log{margin-top:8px}.bk-log summary{cursor:pointer;color:var(--ink2);font-size:13px}
.aisw{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--oat);border-radius:12px;padding:8px 12px;margin-bottom:10px}
.tgl{flex-shrink:0;width:48px;height:28px;border-radius:14px;border:0;background:#cfc7bc;position:relative;cursor:pointer;padding:0;transition:background .15s}
.tgl i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .15s}
.tgl.on{background:var(--sage-d)}.tgl.on i{left:23px}
.bm{display:inline-block;width:16px;text-align:center;margin-right:4px;vertical-align:-1px}.bm.ok{color:#3f7a4f;font-weight:700}.bm.part,.bm.none{width:11px;height:11px;border-radius:50%;border:1.5px solid #c0392b;margin:0 7px 0 2px;box-sizing:border-box}.bm.part{background:linear-gradient(90deg,#c0392b 50%,transparent 50%)}.bm.none{border-color:var(--ink3)}
.pm-camp{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.pm-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pm-hd span{font-size:13px;color:var(--ink2)}
.pm-st{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--ink2);background:var(--oat);border-radius:10px;padding:6px 10px;margin:12px 0 2px}.pm-st span{font-weight:400;font-size:12px}
.pm-r{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 0}
.pm-m{flex:1;min-width:0;display:flex;align-items:center;gap:10px;cursor:pointer}
.pm-t{flex:1;min-width:0}.pm-n{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-s{font-size:12px;color:var(--ink2);margin-top:1px}
.pm-lim{margin-right:3px}
.pm-q{flex-shrink:0;text-align:center;min-width:40px}.pm-q b{display:block;font-size:20px;line-height:1.1;color:var(--ink)}.pm-q span{font-size:11px;color:var(--ink3)}
.pm-ck{flex-shrink:0;width:40px;height:40px;border-radius:12px;border:2px solid var(--ink3);background:var(--surface);font-size:22px;font-weight:700;color:#fff;cursor:pointer;padding:0}
.pm-r.done .pm-ck{background:var(--sage-d);border-color:var(--sage-d)}
.pm-r.done .pm-n{color:var(--ink3);text-decoration:line-through}.pm-r.done .pm-q b{color:var(--sage-d)}
.pm-r.part .pm-ck{border-color:#c0392b}.pm-r.part .pm-q b{color:#c0392b}
.pm-x{background:var(--oat);border-radius:12px;padding:8px 10px;margin:4px 0 8px}.pm-who div{font-size:13px;padding:3px 0}
.pc.pclosed .pimg{filter:grayscale(1);opacity:.6}.pc.pclosed .pn,.pc.pclosed .pp{opacity:.55}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
