:root{--cream:#fbf7f0;--paper:#fff;--ink:#3d3833;--muted:#8c857c;--sage:#6f8a6c;--line:#e7dfd2;--rose:#c9436b;--warn:#b4691b;--bad:#b23a48;--good:#3b6d11;--glass:#fffcf6a3;--glass-deep:#fffdf8d6;--glass-edge:#ffffff9e;--glass-drop:0 18px 44px -32px #3d3833e6;--scene:none}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#f1e7d6;font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,system-ui,-apple-system,sans-serif;line-height:1.6}body:before{content:"";z-index:-1;background-image:var(--scene);background-color:#f1e7d6;background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}body.scene-prep:before{background-image:var(--market-scene,var(--scene))}body.scene-art:after{content:"";z-index:-1;pointer-events:none;background:#fbf7f014;position:fixed;inset:0}@media (orientation:landscape){body.scene-art:before,body.scene-art:after{top:var(--scene-top,0px)}body.scene-art:before{background-size:100% 100%}}.btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:7px 15px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s}.btn:hover{background:#f5f0e6;border-color:#d8cfbe}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{color:#fbf7f0;background:#3d3833;border-color:#3d3833}.btn.primary:hover:not(:disabled){background:#574f47;border-color:#574f47}.btn.wide{width:100%}.fico{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.toast{z-index:90;color:var(--cream);letter-spacing:.2px;pointer-events:none;opacity:0;background:#3d3833eb;border-radius:999px;padding:7px 16px;font-size:12.5px;transition:opacity .24s,transform .24s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,8px)}.toast.on{opacity:1;transform:translate(-50%)}.bar{z-index:30;-webkit-backdrop-filter:blur(12px)saturate(120%);background:linear-gradient(105deg,#edf1e4fa,#fdf9f0fa 45%);border-bottom:1px solid #ded8c8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:8px 22px;display:flex;position:sticky;top:0;box-shadow:0 10px 24px -22px #3d3833e6}.bar-left{align-items:center;gap:16px;min-width:0;display:flex}.brand{flex:none;align-items:center;gap:9px;display:flex}.brand .mark{background:linear-gradient(160deg,#fffdf9,#f8eedd);border:1px solid #efe2cd;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 1px 2px #3d38330d}.brand-copy{gap:4px;line-height:1.1;display:grid}.brand-name{color:#364633;letter-spacing:1.5px;white-space:nowrap;font-family:Songti SC,SimSun,serif;font-size:20px;font-weight:600}.phase{color:#6b645a;letter-spacing:.4px;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.brand-copy .phase[data-phase]{background:0 0}.phase .dot{opacity:.9;background:currentColor;border-radius:50%;width:5px;height:5px}.phase[data-phase=prep]{color:#8a6a2f;background:#f8eedb;border-color:#ebdbbe}.phase[data-phase=open]{color:#3b6d11;background:#edf3e4;border-color:#dbe6ca}.phase[data-phase=week]{color:#b03b62;background:#f9e9ee;border-color:#f0d2dc}.phase[data-phase=end]{color:#8a6a2f;background:#f8eeda;border-color:#ebdabb}.phase[data-phase=over]{color:#b23a48;background:#f8e8e9;border-color:#efd0d3}.stats{--stat-height:40px;align-items:center;gap:7px;margin-left:auto;display:flex}.stat{min-width:68px;height:var(--stat-height);text-align:center;background:#fffdf6;border:1px solid #e5decf;border-radius:9px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 13px;line-height:1.2;display:flex}.stat .k{letter-spacing:.08em;color:#766e61;font-size:10px}.stat .v{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.stat .v.bad{color:var(--bad)}.stat.money{background:#435841;border-color:#4f624d}.stat.money .k{color:#e1e9d8}.stat.money .v{color:#fffaf0;letter-spacing:.2px;font-size:15.5px}.stat.money .v.bad{color:#ffd7cd}.restart{height:var(--stat-height);color:#766e61;white-space:nowrap;cursor:pointer;background:#f6f1e6;border:1px solid #e5decf;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-family:inherit;font-size:12px;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.restart:hover{color:#6b645a;background:#f1eadd;border-color:#e7dfd2}.stage{grid-template-columns:252px minmax(340px,1fr) 252px;align-items:start;gap:16px;max-width:1228px;margin:0 auto;padding:18px 20px 44px;display:grid}.rail{flex-direction:column;gap:12px;display:flex;position:sticky;top:74px}.rail .side{position:static}.solo{max-width:860px;margin:0 auto;padding:20px 20px 44px}.side{background:var(--glass-deep);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(16px)saturate(118%);box-shadow:var(--glass-drop);border-radius:14px;position:sticky;top:74px;overflow:hidden}.side.main{border-top:2px solid var(--rose)}.side.filler{border-top:2px solid var(--sage)}.side-head{justify-content:space-between;align-items:baseline;gap:8px;padding:13px 16px 9px;display:flex}.side-head .tt{letter-spacing:1px;font-size:13px;font-weight:500}.side.main .side-head .tt{color:var(--rose)}.side.filler .side-head .tt{color:#4f6b4c}.side-head .cnt{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.dd-toggle{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#6b645a;cursor:pointer;background:#fcfaf5b3;justify-content:space-between;align-items:center;width:100%;margin:0;padding:8px 16px;font-family:inherit;font-size:12px;transition:background .15s;display:flex}.dd-toggle:hover{background:#f7f2e7}.dd-toggle .caret{color:#a89f92;font-size:10px;transition:transform .18s}.dd-toggle.open .caret{transform:rotate(180deg)}.dd-list{max-height:320px;padding:6px;overflow-y:auto}.dd-list.hide{display:none}.cal-btn{border:1px solid var(--line);cursor:pointer;color:#6b645a;text-align:left;background:#ffffff70;border-radius:8px;align-items:center;gap:8px;height:34px;padding:0 11px 0 10px;font-family:inherit;transition:border-color .16s,box-shadow .16s,transform .16s,color .16s;display:inline-flex;box-shadow:0 1px 2px #3d38330a}.cal-btn:hover{color:var(--ink);border-color:#dcd1bc;transform:translateY(-1px);box-shadow:0 3px 10px -4px #3d383338}.cal-btn[aria-expanded=true]{box-shadow:none;background:#fbf7f0;border-color:#c9bfac;transform:none}.cal-btn svg{flex:none;display:block}.cal-btn .cd{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.35}.cal-btn .cw{border-left:1px solid var(--line);color:var(--muted);white-space:nowrap;margin-left:7px;padding-left:7px;font-size:10.5px;font-weight:400;line-height:1;display:inline-block}.cal-btn .car{color:#b0a798;flex:none;transition:transform .18s,color .16s;display:block}.cal-btn:hover .car{color:#8c857c}.cal-btn[aria-expanded=true] .car{transform:rotate(180deg)}.cal-back{z-index:40;background:#3d383314;position:fixed;inset:0}.cal-pop{z-index:41;background:var(--paper);border:1px solid var(--line);border-radius:14px;width:344px;max-width:calc(100vw - 24px);padding:14px 14px 12px;animation:.16s ease-out calIn;position:fixed;top:66px;left:24px;box-shadow:0 20px 44px -20px #3d383361}@keyframes calIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.cal-pop[hidden],.cal-back[hidden]{display:none}.cal-head{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.cal-ttl{letter-spacing:.3px;font-size:13px;font-weight:500}.cal-ttl span{color:var(--muted);margin-left:6px;font-size:10.5px;font-weight:400}.cal-nav{gap:5px;display:flex}.cal-nav button{border:1px solid var(--line);background:var(--paper);cursor:pointer;width:24px;height:24px;color:var(--muted);border-radius:7px;padding:0;font-family:inherit;font-size:13px;line-height:1}.cal-nav button:hover:not(:disabled){color:var(--ink);background:#f5f0e6}.cal-nav button:disabled{opacity:.28;cursor:not-allowed}.cal-wd{grid-template-columns:repeat(7,1fr);margin-bottom:3px;display:grid}.cal-wd span{text-align:center;color:#b0a798;font-size:10px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-cell{height:40px;color:var(--ink);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;font-size:12px;line-height:1.15;display:flex;position:relative}.cal-cell.pad{visibility:hidden}.cal-cell.past{cursor:pointer}.cal-cell.past:hover{background:#f7f2e9}.cal-cell.today{color:#3b5b36;cursor:pointer;background:#eff3ec;font-weight:600}.cal-cell.sel{outline:1.5px solid var(--sage);outline-offset:-1px}.cal-cell.future{color:#c9c1b4}.cal-cell .dot{background:var(--rose);border-radius:50%;width:3.5px;height:3.5px;position:absolute;bottom:4px}.cal-cell .mini{color:var(--bad);letter-spacing:.5px;background:#fff9f6;border:1px solid #b23a4880;border-radius:2px;margin-top:1px;padding:0 1.5px;font-size:8px;font-style:normal;font-weight:400;line-height:1.1;transform:rotate(-5deg)}.cal-det{border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.cal-date{align-items:center;gap:7px;display:flex}.cal-date b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.cal-date .w{color:var(--muted);font-size:10.5px}.seal{color:var(--bad);letter-spacing:1.5px;opacity:.88;white-space:nowrap;border:1px solid #b23a488c;border-radius:3px;margin-left:auto;padding:2px 3px;font-size:9px;line-height:1.1;transform:rotate(-6deg)}.cal-rows{color:var(--muted);flex-direction:column;gap:4px;margin-top:9px;font-size:11.5px;display:flex}.cal-rows div{justify-content:space-between;gap:12px;display:flex}.cal-rows b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.cal-rows b.pos{color:var(--good)}.cal-rows b.neg{color:var(--bad)}.cal-note{color:var(--muted);background:#f9f6ef;border-radius:8px;margin-top:9px;padding:7px 9px;font-size:11px;line-height:1.65}.cal-hint{color:#bab1a2;text-align:right;margin-top:8px;font-size:10px}.frow{cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:6px 8px;transition:background .12s;display:flex}.frow:hover{background:#f8f4eb}.frow.on{background:#f3f7f1}.frow.oos{opacity:.38;cursor:not-allowed}.frow.oos:hover{background:0 0}.frow .fico{flex:0 0 32px;display:block}.fmeta{flex:1;min-width:0;line-height:1.28}.fline{justify-content:space-between;align-items:baseline;gap:6px;min-width:0;display:flex}.fname{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.fprice{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.fhua{color:#7a7369;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:10px;overflow:hidden}.fstock{color:#a89f92;font-variant-numeric:tabular-nums;flex:none;font-size:10px}.fstock.near{color:var(--warn)}.fctl{flex:none;align-items:center;gap:4px;display:flex}.mbtn{border:1px solid var(--line);color:#6b645a;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:12px;line-height:1;transition:background .12s,border-color .12s;display:flex}.mbtn:hover{background:#f7f3ea;border-color:#c9bfac}.mbtn.off{opacity:.3}.qty{text-align:center;color:#6b645a;font-variant-numeric:tabular-nums;min-width:12px;font-size:11.5px}.side-sum{border-top:1px solid var(--line);color:var(--muted);min-height:34px;padding:8px 16px 11px;font-size:11px;line-height:1.5}.side-sum .e{color:#b3aa9c}.side-clear{float:right;color:#a89f92;cursor:pointer;border-bottom:1px solid #ddd4c4;font-size:10.5px}.side-clear:hover{color:#6b645a}.wb{flex-direction:column;min-height:calc(100vh - 118px);display:flex}.cust{z-index:6;border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(130%);box-shadow:var(--glass-drop), inset 0 1px 0 #ffffffb8;border-radius:16px;padding:14px 16px 13px;position:sticky;top:74px}.display-order .cust{position:static}.cust-tag{color:var(--sage);background:#f2f7f0;border:1px solid #cfe0cb;border-radius:999px;margin-bottom:7px;padding:1px 9px;font-size:11px;display:inline-block}.cust-tag.booked{color:#8a4b1a;background:#fbf3e3;border-color:#e9d6bc}.cust-tag.festtag{color:#8a4b23;background:#fbede0;border-color:#edd3bc;margin-left:6px}.cust-line{font-size:14.5px;line-height:1.72}.cust-budget{color:var(--muted);margin-top:5px;font-size:11.5px}.cust-budget b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.bouquet-wrap{flex:1;justify-content:center;align-items:center;min-height:300px;padding:14px 0 8px;display:flex}.bouquet{-webkit-user-select:none;user-select:none;width:100%;max-width:520px;display:block}.bouquet .bq-head{cursor:grab}.bouquet .bq-head,.bouquet .bq-head *{touch-action:none}.bouquet.dragging .bq-head{cursor:grabbing}.bouquet .bq-head>*{pointer-events:none}.bouquet .bq-head>.bq-grab{pointer-events:all}.bouquet .bq-head>.bq-stem-hit{fill:none;stroke:#0000;stroke-width:26px;stroke-linecap:round;pointer-events:stroke}.bq-grab{fill:none;stroke:#0000;stroke-width:1.6px}.bq-head:hover .bq-grab,.bouquet.dragging .bq-head:hover .bq-grab{stroke:#7e9a7a8c;stroke-dasharray:4 3}.wb-base{border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(130%);box-shadow:var(--glass-drop), inset 0 1px 0 #ffffffb8;border-radius:16px;padding:10px 14px 12px}.bq-tools{color:#9a9083;justify-content:center;align-items:center;gap:9px;margin:0 0 9px;font-size:10.5px;display:flex}.bq-reset{color:var(--sage);cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #cfdcc9;padding:0 0 1px;font-family:inherit;font-size:10.5px}.bq-reset:hover{color:#4f7a3f}.empty-tip{-webkit-backdrop-filter:blur(10px);color:#8b8478;text-align:center;background:#fffcf69e;border:1px dashed #c7bba4e6;border-radius:12px;padding:11px 18px;font-size:12px}.wrap-list{--wrap-row-height:50px;--wrap-row-gap:8px;gap:var(--wrap-row-gap);padding:var(--wrap-row-gap);max-height:calc(4 * var(--wrap-row-height) + 5 * var(--wrap-row-gap));flex-direction:column;display:flex;overflow-y:auto}.wrap-list.locked{opacity:.55}.wrap-opt{width:100%;height:var(--wrap-row-height);border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff80;border-radius:10px;flex:none;align-items:center;gap:9px;padding:7px 9px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.wrap-opt:hover:not(:disabled){background:#ffffffc7;border-color:#d5ccbb}.wrap-opt.on{border-color:var(--sage);background:#f3f7f1e0}.wrap-opt:disabled{cursor:default}.wmeta{flex:1;min-width:0;line-height:1.3}.wname{color:var(--ink);font-size:12.5px;display:block}.waff{color:var(--muted);font-size:10px;display:block}.wcheck{border:1px solid var(--line);background:#fff9;border-radius:50%;flex:none;width:15px;height:15px;position:relative}.wrap-opt.on .wcheck{border-color:var(--sage);background:var(--sage)}.wrap-opt.on .wcheck:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:4px;height:8px;position:absolute;top:1.5px;left:5px;transform:rotate(42deg)}.swatch{background:#f2e9dc;border-radius:7px;flex:none;width:40px;height:34px;padding:2px}.summary{color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid #e7dfd2b3;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;padding-top:10px;font-size:12px;display:flex}.summary:first-child{border-top:0;padding-top:0}.summary b{color:var(--ink);font-weight:500}.summary b.over{color:var(--bad)}.hint{color:#a89f92;text-align:center;margin-top:8px;font-size:11px}.skip{color:#a89f92;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #ddd4c4;width:100%;margin-top:8px;padding:4px 0;font-family:inherit;font-size:11.5px;display:block}.skip:hover{color:#6b645a}.result{background:#fcf9f2c7;border:1px solid #e7dfd2d9;border-radius:12px;margin-bottom:10px;padding:13px 14px}.rhead{align-items:center;gap:10px;display:flex}.result .score{font-variant-numeric:tabular-nums;font-size:26px;font-weight:500;line-height:1.2}.result .grade{color:#6b645a;background:#ede6d6;border-radius:6px;padding:1px 9px;font-size:12px;font-weight:500}.result .say{margin-top:4px;font-size:13px}.breakdown{border-top:1px dashed #ddd4c4;margin-top:10px;padding-top:8px}.brow{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;padding:1.5px 0;font-size:11.5px;display:flex}.brow b{color:var(--ink);font-weight:500}.stnote{color:#a89f92;margin-top:6px;font-size:11.5px;line-height:1.55}.result .money{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;font-size:12px}.money .up{color:var(--bad);font-weight:500}.money .down{color:var(--good);font-weight:500}.result .truth{color:var(--muted);margin-top:4px;font-size:11.5px}.cust-hints{margin-top:8px}.hint-line{color:#6f675d;padding-left:13px;font-size:13px;line-height:1.7;position:relative}.hint-line:before{content:"…";color:#c0b6a4;position:absolute;left:0}.ask{color:var(--sage);cursor:pointer;background:0 0;border:1px dashed #cfdcc9;border-radius:8px;align-items:center;gap:7px;margin-top:7px;padding:4px 10px;font-family:inherit;font-size:11.5px;transition:background .15s,border-color .15s;display:inline-flex}.ask:hover{background:#f4f8f2;border-color:#b9cdb2}.ask-cost{color:var(--muted);font-size:10.5px}.hintres{background:#fdfbf6b3;border:1px dashed #ddd4c4;border-radius:10px;margin:10px 0 2px;padding:9px 11px}.hrtitle{letter-spacing:.08em;color:var(--muted);margin-bottom:5px;font-size:10.5px}.hrrow{align-items:baseline;gap:7px;font-size:12.5px;line-height:1.9;display:flex}.hrmark{font-size:11px}.hrrow.ok .hrmark{color:#4f7a3f}.hrrow.bad .hrmark{color:#b23a48}.hrrow.bad .hrlabel{color:#a53744}.hrdetail{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.brow.delta b.neg{color:#b23a48}.brow.delta b.pos{color:#4f7a3f}.ask-used{color:#b0a798;margin-top:7px;font-size:11px}.fest{background:#fdf4ec;border:1px solid #e8c9b4;border-radius:12px;margin:0 0 14px;padding:10px 14px 12px}.fest.soft{background:#fbf8f1;border-color:#e7dfd2}.fest-top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.fest-tag{letter-spacing:.5px;color:#8a4b23;background:#f3dfc8;border-radius:999px;padding:2px 9px;font-size:11px}.fest-tag.soft{color:#6b645a;background:#efe9dc}.fest-eff{color:#a9744a;font-size:10.5px}.fest-line{color:#6b645a;font-size:12px;line-height:1.65}.bk-block{border:1px solid var(--line);background:#fbf8f0;border-radius:12px;margin:0 0 16px;padding:11px 14px 13px}.bk-title{color:var(--muted);letter-spacing:1px;margin-bottom:6px;font-size:10.5px}.bk-row{border-top:1px dashed #e5ddcd;align-items:baseline;gap:10px;padding:5px 0;font-size:12px;display:flex}.bk-row:first-of-type{border-top:0;padding-top:2px}.bk-due{color:#6b645a;background:#ede6d6;border-radius:5px;flex:none;padding:1px 7px;font-size:10.5px}.bk-due.today{color:#8a4b1a;background:#f3d9c4}.bk-txt{color:var(--ink);flex:1;line-height:1.6}.bk-money{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.bk-empty{color:#a89f92;font-size:11.5px}.market{grid-template-columns:1fr 1fr;gap:6px 14px;max-height:396px;padding:4px 2px;display:grid;overflow-y:auto}.mrow{border:1px solid #0000;border-radius:9px;align-items:center;gap:9px;padding:7px 9px;transition:background .12s;display:flex}.mrow:hover{background:#faf6ec}.mrow.pick{background:#f3f7f1;border-color:#d8e4d4}.mrow .fico{flex:0 0 30px;display:block}.mmeta{flex:1;min-width:0;line-height:1.26}.mname{font-size:12.5px;font-weight:500}.mname .mp{color:var(--muted);margin-left:4px;font-size:10.5px;font-weight:400}.mp.up{color:#b23a48}.mp.down{color:#3b6d11}.mstock{color:var(--muted);font-size:10px}.mstock .near{color:var(--warn)}.mwhy{font-size:10.5px}.mwhy.up{color:#b23a48}.mwhy.down{color:#3b6d11}.mctl{flex:none;align-items:center;gap:5px;display:flex}.mfoot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.mfoot .sum{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.mfoot .sum b{color:var(--ink);margin-left:4px;font-size:15px;font-weight:500}.mfoot .left{color:#a89f92;margin-top:2px;font-size:11px}.solo.prep-page{max-width:1120px}.prep-page .view{background:#faf7ee}.prep-page .vhead{background:#edf1e5;border-radius:12px;padding:15px 18px}.prep-page .vhead h1{color:#354833;font-family:Songti SC,SimSun,serif;font-size:24px;font-weight:700}.prep-page .kv{gap:8px}.prep-page .kv span{background:#fffdf6;border-radius:6px;padding:4px 9px}.prep-grid{grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr);align-items:start;gap:16px;display:grid}.prep-market{background:#fffdf8;border:1px solid #e7dece;border-radius:12px;min-width:0;padding:12px}.prep-market h2{color:#435841;margin:0 2px 8px;font-size:14px}.prep-market .market{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.prep-market .mrow{background:#f9f6ef;border-color:#ece5d7;min-height:54px}.prep-market .mrow:hover,.prep-market .mrow.pick{background:#eef3e8;border-color:#d7e3cf}.prep-market .mbtn{width:26px;height:26px;padding:0}.prep-market .mbtn:disabled{opacity:.35;cursor:default}.prep-market .mfoot{margin-top:10px;padding-top:10px}.prep-market .primary,.prep-quick-open .primary{background:#435841}.prep-quick-open{margin-bottom:12px}.prep-notes{gap:10px;display:grid}.prep-notes>*{margin:0}.prep-notes .bk-title{color:#435841;font-size:13px;font-weight:600}@media (max-width:880px){.prep-grid{grid-template-columns:minmax(0,1fr)}.prep-notes{grid-row:1}}@media (max-width:620px){.prep-market .market{grid-template-columns:minmax(0,1fr)}}.goal-block{background:#fcfaf3;border:1px solid #e3dcc9;border-radius:12px;margin:0 0 14px;padding:11px 14px 13px}.goal-head{color:var(--muted);letter-spacing:1px;justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:10.5px;display:flex}.goal-head .gd{letter-spacing:0;color:#a89f92}.goal-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0;font-size:12px;display:flex}.goal-row .gv{color:var(--muted)}.goal-row .gv.ok{color:var(--good);font-weight:500}.gbar{background:#ede6d6;border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.gbar i{background:var(--sage);border-radius:999px;height:100%;transition:width .35s;display:block}.gbar i.done{background:#3b6d11}.gmark{margin-left:6px;font-size:12px;font-weight:500}.gmark.ok{color:var(--good)}.gmark.no{color:var(--bad)}.upl{color:var(--muted);margin:12px 0 14px;font-size:12px;line-height:2}.upl b{color:var(--ink);font-weight:500}.upl .tag{color:#6b645a;background:#ede6d6;border-radius:4px;margin-right:6px;padding:0 7px;font-size:10.5px;display:inline-block}.repbar{background:#ede6d6;border-radius:999px;height:4px;margin-top:5px;overflow:hidden}.repbar i{border-radius:999px;height:100%;transition:width .4s;display:block}.view{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(112%);box-shadow:var(--glass-drop);background:#fffdf8e8;border-radius:16px;padding:22px 24px}.vhead{margin-bottom:16px}.vhead h1{letter-spacing:.4px;margin:0 0 6px;font-size:17px;font-weight:500}.vhead p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.vhead .kv{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:10px;font-size:11.5px;display:flex}.vhead .kv b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.cl-row{font-variant-numeric:tabular-nums;border-bottom:1px solid #f0e9dc;justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.cl-row span:last-child{font-weight:500}.cl-row .neg{color:var(--bad)}.cl-row .pos{color:var(--good)}.cl-total{color:var(--muted);justify-content:space-between;align-items:baseline;padding:14px 0 4px;font-size:13px;display:flex}.cl-total b{font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.cl-note{color:var(--muted);background:#f9f6ef;border-radius:10px;margin:14px 0;padding:10px 12px;font-size:11.5px;line-height:1.7}.mtabs,.rotate-gate{display:none}.rotate-gate{z-index:200;text-align:center;-webkit-backdrop-filter:blur(14px)saturate(115%);background:#fbf7f09e;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:32px 28px;position:fixed;inset:0}.rg-phone{color:#6b645a;place-items:center;width:92px;height:92px;margin-bottom:6px;animation:3.2s cubic-bezier(.45,0,.25,1) infinite rg-turn;display:grid}@keyframes rg-turn{0%,18%{transform:rotate(0)}52%,92%{transform:rotate(90deg)}to{transform:rotate(0)}}.rg-title{color:#3d3833;letter-spacing:2px;font-family:Songti SC,SimSun,serif;font-size:22px;font-weight:600}.rg-sub{color:#6b645a;max-width:20em;margin:6px 0 0;font-size:13px;line-height:1.75}.rg-hint{color:#a89f92;max-width:22em;margin:14px 0 0;font-size:11.5px;line-height:1.8}@media (prefers-reduced-motion:reduce){.rg-phone{animation:none;transform:rotate(90deg)}}@media (hover:none) and (pointer:coarse){.frow:hover,.mrow:hover,.mbtn:hover,.btn:hover,.restart:hover,.cal-btn:hover,.bq-reset:hover,.skip:hover,.ask:hover,.side-clear:hover{border-color:inherit;box-shadow:none;background-color:#0000;transform:none}.btn.primary:hover,.btn.primary:hover:not(:disabled){background:#3d3833;border-color:#3d3833}.wrap-opt:hover:not(:disabled){border-color:var(--line);background:#ffffff80}.wrap-opt.on:hover:not(:disabled){border-color:var(--sage);background:#f3f7f1e0}.frow:active,.mrow:active{background-color:#f3efe5eb}.mbtn:active,.btn:active,.restart:active,.mtab:active{transform:scale(.96)}body{overscroll-behavior-y:none;-webkit-text-size-adjust:100%}button,.frow,.mrow,.wrap-opt,.cal-btn{touch-action:manipulation;-webkit-touch-callout:none}}@media (max-width:1023px) and (orientation:landscape){html,body{overscroll-behavior:none;height:100%;overflow:hidden}#root{flex-direction:column;height:100dvh;display:flex}#root>.bar{height:36px;min-height:0;padding:0 max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));flex-wrap:nowrap;flex:none;gap:10px;position:relative;top:auto}.bar-left{flex:none;gap:8px}.brand{gap:6px}.brand .mark{width:24px;height:24px}.brand .mark svg{width:14px;height:14px}.brand-copy{align-items:center;gap:6px;display:flex}.brand-name{letter-spacing:1px;font-size:14px}.phase{gap:4px;font-size:10px}.cal-btn{gap:5px;height:26px;padding:0 8px}.cal-btn .cd{font-size:11.5px}.cal-btn .cw{margin-left:5px;padding-left:5px;font-size:9.5px}.cal-btn .car{display:none}.stats{--stat-height:26px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex:auto;gap:2px;min-width:0;margin-left:auto;overflow:auto hidden}.stats::-webkit-scrollbar{display:none}.stat{border-radius:7px;flex-direction:row;align-items:baseline;gap:4px;min-width:0;padding:0 5px}.stat .k{font-size:9.5px}.stat .v{font-size:11.5px}.stat.money .v{font-size:12.5px}.restart{gap:0;padding:0 8px;font-size:0}#app{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}#app>.solo{max-width:none;min-height:0;padding:8px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}#app>.solo:not(.prep-page){max-width:660px;margin:0 auto}#app>.solo .view{border-radius:13px;padding:14px 16px 16px}.prep-page .mfoot{z-index:2;background:linear-gradient(#faf7ee00,#faf7ee 34%);padding-bottom:4px;position:sticky;bottom:0}.prep-page .vhead{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:7px 11px;display:flex}.prep-page .vhead p{display:none}.prep-page .kv{gap:5px;margin:0}.prep-page .kv span{padding:2px 7px;font-size:10.5px}.prep-page .fest,.prep-page .bk-block{margin-bottom:7px;padding:6px 9px 7px}.prep-page .fest-line{font-size:10.5px;line-height:1.45}.prep-page .mfoot .sum{font-size:11.5px}.prep-page .vhead{border-radius:10px;padding:10px 13px}.prep-page .vhead h1{font-size:19px}.prep-page .vhead p{font-size:11.5px}.prep-grid{grid-template-columns:minmax(0,2.4fr) minmax(210px,1fr);gap:10px}.prep-notes{grid-row:auto}.market{grid-template-columns:1fr 1fr;gap:2px 8px;max-height:none}.fest,.bk-block{margin-bottom:10px;padding:8px 11px 9px}.fest-line,.bk-row{font-size:11px}.mrow{min-height:44px}.mrow .mbtn,.mfoot .mbtn{width:30px;height:30px}.stage{max-width:none;min-height:0;padding:5px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex:auto;grid-template-rows:minmax(0,1fr) 28px 62px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px;margin:0;display:grid;position:relative}.stage.has-result{grid-template-rows:minmax(0,1fr) 0 0}.wb{grid-area:1/1;grid-template-columns:200px minmax(0,1fr) 126px;gap:5px;min-height:0;display:grid}.cust{overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px)saturate(120%);border-radius:12px;grid-area:1/1;align-self:start;width:auto;max-height:100%;padding:9px 11px 10px;position:static;overflow-y:auto}.cust-tag{margin-bottom:5px;padding:0 7px;font-size:10px}.cust-line{font-size:12.5px;line-height:1.55}.cust-budget{margin-top:3px;font-size:10.5px}.cust-budget b{font-size:12px}.cust-hints{margin-top:6px}.hint-line{padding-left:11px;font-size:12px;line-height:1.5}.ask{margin-top:5px;padding:3px 8px;font-size:11px}.ask-cost{font-size:9.5px}.bouquet-wrap{grid-area:1/2;min-height:0;padding:0;position:relative}.bouquet{width:100%;max-width:none;height:100%;position:absolute;inset:0}.empty-tip{padding:9px 14px;font-size:11.5px}.wb-base{overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px)saturate(120%);border-radius:12px;flex-direction:column;grid-area:1/3;align-self:end;padding:8px 9px 9px;display:flex;overflow-y:auto}.bq-tools{flex-wrap:wrap;justify-content:flex-start;gap:2px 7px;margin-bottom:6px;font-size:9.5px;line-height:1.4}.bq-tip,.bq-reset{font-size:10px}.summary{flex-direction:column;align-items:flex-start;gap:1px;margin-bottom:7px;padding-top:0;font-size:10.5px;line-height:1.45}#deliverBtn{margin-top:auto}.summary .wcost{display:none}.summary:first-child{padding-top:0}#deliverBtn{letter-spacing:1px;padding:9px 0;font-size:13.5px}.hint{margin-top:5px;font-size:10px}.skip{margin-top:5px;padding:3px 0;font-size:10.5px}.hintres{border-radius:8px;margin:6px 0 2px;padding:6px 8px}.hrtitle{margin-bottom:3px;font-size:9.5px}.hrrow{gap:5px;font-size:11px;line-height:1.6}.hrdetail{font-size:10px}.stage.has-result .cust,.stage.has-result .bq-tools,.stage.has-result .summary{display:none}.stage.has-result .wb{grid-template-columns:minmax(0,1fr) minmax(0,54%)}.stage.has-result .bouquet-wrap{grid-area:1/1}.stage.has-result .wb-base{grid-area:1/2;align-self:stretch;max-height:100%;padding:10px 14px 12px;overflow-y:auto}.stage.has-result #deliverBtn{margin-top:0}.stage.has-result #nextBtn{position:sticky;bottom:0;box-shadow:0 -10px 14px -8px #3d383338}.stage.has-result .result{margin-bottom:6px;padding:8px 11px}.stage.has-result .breakdown{margin-top:7px;padding-top:6px}.stage.has-result .result .money{margin-top:7px}.stage.has-result .result .score{font-size:22px}.stage.has-result .result .say{font-size:12px}.stage.has-result .brow{font-size:11px}.stage.has-result .stnote,.stage.has-result .result .truth{margin-top:4px;font-size:10.5px}.stage.has-result .mtabs,.stage.has-result .side.sheet{display:none}.mtabs{grid-area:2/1;align-items:center;gap:5px;height:28px;display:flex}.mtab{border:1px solid var(--glass-edge);height:28px;color:var(--ink);letter-spacing:.5px;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fdf9f2eb;border-radius:8px;align-items:center;gap:5px;padding:0 12px;font-family:inherit;font-size:12px;display:inline-flex}.mtab .n{color:#6b645a;text-align:center;font-variant-numeric:tabular-nums;background:#efe7d8;border-radius:999px;min-width:16px;padding:0 4px;font-size:10px;line-height:15px}html[data-sheet-open=main] .mtab[data-sheet=main],html[data-sheet-open=filler] .mtab[data-sheet=filler],html[data-sheet-open=wrap] .mtab[data-sheet=wrap]{color:#fbf7f0;background:#435841;border-color:#435841}html[data-sheet-open=main] .mtab[data-sheet=main] .n,html[data-sheet-open=filler] .mtab[data-sheet=filler] .n,html[data-sheet-open=wrap] .mtab[data-sheet=wrap] .n{color:#fbf7f0;background:#ffffff2e}.stage .side.sheet{-webkit-backdrop-filter:none;background:#fdf9f2f9;border-radius:12px;flex-direction:row;grid-area:3/1;align-items:stretch;height:62px;min-height:0;display:none;position:static;top:auto;box-shadow:0 14px 30px -24px #3d3833f2}html[data-sheet-open=main] .side.main.sheet,html[data-sheet-open=filler] .side.filler.sheet,html[data-sheet-open=wrap] .side.wraps-box.sheet{display:flex}.stage .side.sheet .side-head,.stage .side.sheet .dd-toggle{display:none}.stage .side.sheet .dd-list{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;flex:auto;gap:5px;min-width:0;max-height:none;padding:5px;display:flex;overflow:auto hidden}.stage .side.sheet .dd-list.hide{display:flex}.stage .side.sheet .dd-list::-webkit-scrollbar{display:none}.stage .side.sheet .frow{border-radius:9px;flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:1px 5px;width:204px;height:52px;padding:5px 7px;display:grid}.stage .side.sheet .frow.oos{opacity:.5}.stage .side.sheet .frow .fico{display:none}.stage .side.sheet .fmeta{grid-area:1/1/span 2;align-content:center;gap:2px;display:grid}.stage .side.sheet .fname{font-size:12px}.stage .side.sheet .fprice,.stage .side.sheet .fstock{font-size:9.5px}.stage .side.sheet .fhua{color:#6f675d;font-size:10px}.stage .side.sheet .fctl{grid-area:1/2/span 2;align-self:center;gap:3px}.stage .side.sheet .mbtn{width:26px;height:26px;font-size:14px}.stage .side.sheet .qty{min-width:11px;font-size:11.5px}.stage .side.sheet .wrap-list{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;flex:auto;gap:5px;min-width:0;max-height:none;padding:5px;display:flex;overflow:auto hidden}.stage .side.sheet .wrap-list::-webkit-scrollbar{display:none}.stage .side.sheet .wrap-opt{border-radius:9px;flex:none;gap:7px;width:172px;height:52px;padding:4px 7px}.stage .side.sheet .wrap-opt .swatch{width:34px;height:26px}.stage .side.sheet .wname{font-size:11.5px}.stage .side.sheet .waff{font-size:9px}.stage .side.sheet .wcheck{width:13px;height:13px}.stage .side.wraps-box.sheet .side-sum{display:none}.stage .side.sheet .side-sum{border-top:0;border-left:1px solid #e7dfd2e6;flex:none;justify-content:center;align-items:center;min-height:0;padding:0 10px;font-size:10px;display:flex}.stage .side.sheet .side-sum>span:not(.side-clear){display:none}.stage .side.sheet .side-clear{float:none;font-size:11px}.toast{top:44px;bottom:auto}.cal-pop{max-height:calc(100dvh - 24px);overflow-y:auto}.cal-cell{height:34px}}@media (max-width:780px) and (orientation:landscape){.stats{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000)}.stat.money{order:-1}.brand-name{letter-spacing:.5px;font-size:13px}.cal-btn .cw{display:none}}@media (max-width:1023px) and (orientation:landscape) and (max-height:350px){.stage{grid-template-rows:minmax(0,1fr) 26px 56px}.stage .side.sheet{height:56px}.stage .side.sheet .frow,.stage .side.sheet .wrap-opt{height:46px}.wb{grid-template-columns:182px minmax(0,1fr) 118px}.wb-base{padding:6px 8px 7px}#deliverBtn{padding:7px 0;font-size:12.5px}}@media (max-width:1023px) and (orientation:portrait){#root{display:none}.rotate-gate{display:flex}}
