@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-vietnamese-opsz-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-ext-opsz-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-opsz-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--leaf:#0f3d2e;--leaf2:#1d5a41;--mid:#2f7d55;--bloom:#e8472b;--bloomdeep:#c93a20;--petal:#f7c9bb;--petalsoft:#fde9e2;--ground:#edf3ee;--card:#fbfdfb;--ink:#0e2a20;--soft:#45685a;--line:#cfdfd4;--mint:#b9d6c6;--on-leaf:#f3faf5;--stem:#5fa783;--faded:#a9c2b4;--live:#7fe0a6;--warn:#8f2a16;--seg:#dbe8df;--chip:#e3ede6;--tile:#d6e8dc;--order:#e0efe6;--order-edge:#b6d6c3;--done-ink:#476556;--done-strike:#9bb8a9;--scrim:#09241b8c;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;--t-xs:12px;--t-sm:13px;--t-label:15px;--t-body:16px;--t-row:17px;--t-lg:22px;--t-xl:26px;--t-2xl:34px;--t-3xl:40px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--gutter:20px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:22px;--r-head:34px;--r-sheet:32px;--shadow-card:0 10px 24px -12px #0f3d2e73;--shadow-sheet:0 -18px 40px -20px #09241b99;--shadow-cta:0 12px 22px -12px #c93a20cc;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tabbar-h:calc(64px + var(--safe-bottom))}*,:before,:after{box-sizing:border-box;margin:0}html{background:var(--ground);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line) transparent}body{background:var(--ground);min-height:100dvh;color:var(--ink);font-family:var(--font);font-size:var(--t-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;caret-color:var(--bloom);overscroll-behavior-y:none;line-height:1.3}::selection{background:var(--petal);color:var(--leaf)}:focus-visible{outline:2.5px solid var(--bloomdeep);outline-offset:3px;border-radius:6px}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1.5px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.app[data-tabs]{padding-bottom:calc(var(--tabbar-h) + var(--s-6))}.app main{flex:1}.head{background:var(--leaf);color:var(--on-leaf);border-radius:0 0 var(--r-head) var(--r-head);padding:max(24px, calc(var(--safe-top) + 12px)) 24px 44px;column-gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"mark me""title dolde";display:grid;position:relative}.head:not(:has(.dolde)){padding-bottom:36px}.head :focus-visible{outline-color:var(--petal)}.head .mark{align-items:center;gap:var(--s-2);font-weight:600;font-size:var(--t-row);grid-area:mark;min-height:38px;display:flex}.head .me{background:var(--leaf2);width:38px;height:38px;color:var(--petal);border-radius:50%;grid-area:me;justify-self:end;place-items:center;font-weight:600;display:grid}.head .title{grid-area:title;align-self:start}.head h1{font-size:var(--t-3xl);letter-spacing:-.025em;text-wrap:balance;max-width:210px;margin-top:30px;font-weight:700;line-height:1.02}@media (width<=380px){.head h1{font-size:var(--t-2xl)}}.head .sub{margin-top:var(--s-3);font-size:var(--t-label);color:var(--mint);align-items:center;gap:var(--s-2);display:flex}.head .sub>span:not(.dot){text-wrap:balance}.head .sub .dot{background:var(--live);border-radius:50%;flex:none;width:8px;height:8px}.head .dolde{grid-area:dolde;margin-right:-8px}.head.compact{grid-template-rows:auto 1fr;grid-template-areas:"mark dolde""title dolde";padding-bottom:30px}.head.compact h1{margin-top:22px}.head.compact .dolde{margin-top:4px;margin-right:-17px}.plain{padding:max(28px, calc(var(--safe-top) + 12px)) 24px 0}.plain h1{font-size:var(--t-2xl);letter-spacing:-.025em;color:var(--ink);font-weight:700;line-height:1.05}.dolde{justify-items:center;gap:1px;width:146px;display:grid}.dolde svg{width:146px;height:155px;display:block;overflow:visible}.dolde figcaption{text-align:center;width:140px;min-height:1.3em;font-size:var(--t-sm);color:var(--mint);font-variant-numeric:tabular-nums}.dolde.md{width:122px}.dolde.md svg{width:122px;height:130px}.dolde .stems{stroke:var(--mid)}.dolde .leaf{fill:var(--leaf2)}.floret{flex:none;display:block;overflow:visible}.fl .petal{fill:var(--bloom);fill-opacity:0;stroke:var(--fl-open,var(--mid));stroke-width:2px;stroke-opacity:1;transform-box:fill-box;transition:fill-opacity .42s var(--ease-out), stroke-opacity .42s var(--ease-out), fill .42s var(--ease-out), stroke .42s var(--ease-out)}.fl .petal:first-child{transform-origin:50% 100%}.fl .petal:nth-child(2){transform-origin:0%}.fl .petal:nth-child(3){transform-origin:50% 0}.fl .petal:nth-child(4){transform-origin:100%}.fl .core{fill:var(--petal);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .42s var(--ease-out), fill .42s var(--ease-out)}.fl.is-done .petal{fill-opacity:1;stroke-opacity:0}.fl.is-done .core{opacity:1}.fl.is-late .petal{fill:var(--petal);fill-opacity:1;stroke-opacity:0}.fl.is-late .core{fill:var(--bloom);opacity:1}.fl.is-missed .petal{stroke:var(--faded);stroke-dasharray:3 3}.fl.is-away .petal{fill:var(--line);fill-opacity:1;stroke-opacity:0}.fl.is-blooming .petal{animation:fl-petal .3s var(--ease-out) both}.fl.is-blooming .petal:nth-child(2){animation-delay:40ms}.fl.is-blooming .petal:nth-child(3){animation-delay:80ms}.fl.is-blooming .petal:nth-child(4){animation-delay:.12s}.fl.is-blooming .core{animation:fl-core .26s var(--ease-out) .16s both}@keyframes fl-petal{0%{transform:scale(.5)}62%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes fl-core{0%{transform:scale(0)}to{transform:scale(1)}}.tabbar{z-index:10;background:var(--card);border-top:1px solid var(--line);padding:8px 12px var(--safe-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:56px;font-size:var(--t-xs);color:var(--soft);border-radius:var(--r-sm);transition:color .16s var(--ease-out), background-color .16s var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-weight:500;text-decoration:none;display:flex}.tabbar a svg{transition:transform .22s var(--ease-out)}.tabbar a:active svg{transform:scale(.9)}.tabbar a[aria-current=page]{color:var(--leaf);font-weight:700}@media (hover:hover){.tabbar a:hover{color:var(--leaf);background:var(--ground)}}.sheet-layer{z-index:50;position:fixed;inset:0}.sheet-scrim{background:var(--scrim);opacity:0;transition:opacity .28s var(--ease-out);position:absolute;inset:0}.sheet{max-height:calc(100dvh - var(--safe-top) - 24px);overscroll-behavior:contain;background:var(--card);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:12px 22px calc(34px + var(--safe-bottom));box-shadow:var(--shadow-sheet);transition:transform .34s var(--ease-out);touch-action:pan-y;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet:focus{outline:none}.sheet .grab{touch-action:none;cursor:grab;background:0 0;border:0;width:100%;height:22px;margin:-6px 0 12px;padding:0;display:block}.sheet .grab:before{content:"";background:var(--line);border-radius:3px;width:44px;height:5px;margin:0 auto;display:block}.sheet-layer.is-open .sheet-scrim{opacity:1}.sheet-layer.is-open .sheet{transform:translateY(0)}.sheet-layer.is-closing .sheet{transition-duration:.24s;transition-timing-function:var(--ease-in)}.sheet-layer.is-dragging .sheet{transition:none}.mine{margin:-30px var(--gutter) 0;position:relative}.mine ul{gap:var(--s-2);padding:0;list-style:none;display:grid}.ocard{background:var(--card);border-radius:var(--r-xl);box-shadow:var(--shadow-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:14px 14px 14px 18px;display:grid}.ocard .time{font-weight:700;font-size:var(--t-lg);color:var(--leaf);min-width:3.1ch}.ocard .what{gap:2px;min-width:0;display:grid}.ocard b{font-weight:600;font-size:var(--t-body);overflow-wrap:anywhere}.ocard small{font-size:var(--t-sm);color:var(--soft)}.ocard small.warn{color:var(--warn);font-weight:600}.ocard small.note{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ocard .side{align-content:center;align-self:stretch;justify-items:center;display:grid}.ocard .cancel{background:var(--petalsoft);min-height:30px;font-size:var(--t-xs);color:var(--warn);transition:background-color .16s var(--ease-out);border:0;border-radius:10px;margin-top:8px;padding:0 11px;font-weight:600;position:relative}.ocard .cancel:after{content:"";position:absolute;inset:-8px -6px}@media (hover:hover){.ocard .cancel:hover{background:var(--petal)}}.ocard.is-ended .time,.ocard.is-ended b{color:var(--soft)}.ocard.is-ended b{text-decoration:line-through;-webkit-text-decoration-color:var(--faded);text-decoration-color:var(--faded);font-weight:500}.ocard.is-new{animation:card-in .52s var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:none}}.mine .more{border-radius:var(--r-sm);min-height:44px;font-size:var(--t-sm);color:var(--soft);background:0 0;border:0;margin:6px auto 0;padding:0 14px;font-weight:600;display:block}.order-screen.is-guest .head:has(~.mine){padding-bottom:52px}.seg{background:var(--seg);border-radius:var(--r-md);scrollbar-width:none;gap:6px;margin-top:22px;padding:4px;display:flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{border-radius:var(--r-sm);min-width:84px;min-height:42px;font-weight:600;font-size:var(--t-label);color:var(--soft);white-space:nowrap;transition:background-color .2s var(--ease-out), color .2s var(--ease-out);background:0 0;border:0;flex:1 0 auto;padding:0 14px}.seg button[aria-pressed=true]{background:var(--leaf);color:var(--on-leaf)}@media (hover:hover){.seg button:not([aria-pressed=true]):hover{color:var(--leaf)}}.menu{margin:0 var(--gutter)}.menu-note{margin-top:var(--s-4);border-radius:var(--r-md);background:var(--petalsoft);color:var(--warn);font-size:var(--t-label);padding:12px 16px;font-weight:500}.rows{margin-top:12px;padding:0;list-style:none}.rows li+li{border-top:1px solid var(--line)}.row{text-align:left;border-radius:var(--r-md);background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:11px 0;display:flex}button.row{transition:transform .16s var(--ease-out)}button.row:active{transform:scale(.985)}button.row:active .add{transform:scale(.9)}.row .text{gap:2px;min-width:0;display:grid}.row b{font-weight:600;font-size:var(--t-row);overflow-wrap:anywhere}.row small{font-size:var(--t-sm);color:var(--soft)}.pic{border-radius:var(--r-md);width:50px;height:50px;color:var(--leaf);background:var(--tile);flex:none;place-items:center;display:grid}.pic.petal{background:var(--petal)}.pic.other{border:1.5px dashed var(--faded);color:var(--soft);background:0 0}.row .add{background:var(--bloom);color:#fff;width:40px;height:40px;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.row .add.ghost{color:var(--soft);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.row.is-other b{color:var(--soft);font-weight:500}@media (hover:hover){button.row:hover .add:not(.ghost){background:var(--bloomdeep)}button.row:hover .add.ghost{color:var(--leaf)}}.menu-empty{text-align:center;justify-items:center;gap:14px;padding:36px 12px 12px;display:grid}.menu-empty p{max-width:28ch;color:var(--soft);font-size:var(--t-label);text-wrap:balance;line-height:1.4}.quiet-btn,.ghost-btn{border-radius:var(--r-md);background:var(--chip);min-height:48px;color:var(--leaf);font-weight:600;font-size:var(--t-body);border:0;padding:0 20px}.sheet-what{align-items:center;gap:14px;display:flex}.sheet-what .pic{border-radius:var(--r-lg);width:60px;height:60px}.sheet-what h2{font-size:var(--t-xl);letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance;font-weight:700;line-height:1.1}.sheet-what small{color:var(--soft);margin-top:2px;font-size:14px;display:block}.order-form .lab{font-weight:600;font-size:var(--t-label);display:block}.lab-row{justify-content:space-between;align-items:center;min-height:22px;margin:22px 0 10px;display:flex}.lab-row .link{border-radius:var(--r-sm);min-height:36px;font-size:var(--t-sm);color:var(--mid);background:0 0;border:0;margin:-8px -8px -8px 0;padding:0 8px;font-weight:600}.field-block{gap:10px;margin-top:22px;display:grid}.field{border:1.5px solid var(--line);border-radius:var(--r-md);width:100%;font-size:var(--t-body);color:var(--ink);transition:border-color .16s var(--ease-out);background:#fff;padding:14px 16px;line-height:1.35}textarea.field{resize:none;field-sizing:content;min-height:76px;max-height:168px}.field:focus{border-color:var(--mid);outline:none}.field:focus-visible{border-color:var(--mid);outline:none;box-shadow:0 0 0 3px #2f7d552e}.field-block .count{font-size:var(--t-xs);color:var(--soft);justify-self:end;margin-top:-4px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;margin:0 -22px;padding:2px 22px;scroll-padding-inline:22px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll .chip{flex:none}.picker{gap:10px;display:grid}.chips.times{-webkit-mask-image:linear-gradient(90deg,#0000,#000 22px calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#0000,#000 22px calc(100% - 22px),#0000)}.chip{background:var(--chip);min-height:44px;font-weight:600;font-size:var(--t-label);color:var(--leaf);white-space:nowrap;transition:background-color .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out);border:0;border-radius:14px;padding:0 16px}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--leaf);color:var(--on-leaf)}@media (hover:hover){.chip:not([aria-pressed=true]):hover{background:var(--seg)}}.form-error{border-radius:var(--r-md);background:var(--petalsoft);color:var(--warn);font-weight:500;font-size:var(--t-label);margin-top:18px;padding:12px 16px;line-height:1.35}.cta{background:var(--bloomdeep);color:#fff;width:100%;min-height:58px;box-shadow:var(--shadow-cta);transition:transform .16s var(--ease-out), opacity .2s var(--ease-out), box-shadow .2s var(--ease-out);border:0;border-radius:18px;margin-top:20px;padding:0 18px;font-size:18px;font-weight:700;display:block}.form-error+.cta{margin-top:12px}.cta:active{transform:scale(.985)}.cta[aria-busy=true]{cursor:progress;opacity:.78;box-shadow:none;animation:cta-busy 1.1s var(--ease-out) infinite alternate}.cta:disabled{cursor:default;background:var(--faded);box-shadow:none}@keyframes cta-busy{0%{opacity:.62}to{opacity:.9}}.hint{text-align:center;font-size:var(--t-sm);color:var(--soft);text-wrap:balance;margin-top:12px}.cancel-form h2{font-size:var(--t-lg);letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:balance;font-weight:700;line-height:1.15}.cancel-form .quiet{margin-top:6px}.cancel-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.cancel-actions .cta{min-height:52px;font-size:var(--t-row);margin-top:0}.cancel-actions .ghost-btn{min-height:52px;font-size:var(--t-row)}.maid{padding-bottom:calc(var(--s-8) + var(--safe-bottom))}.tasks .grp{margin-top:var(--s-5)}.tasks .grp h2{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin:0 var(--gutter) var(--s-2);color:var(--soft);font-size:14px;font-weight:600;display:flex}.grp-count{font-weight:600}.tasks ul{margin:0 var(--gutter);gap:var(--s-2);padding:0;list-style:none;display:grid}.task{--task-edge:0 0 0 0 transparent;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--task-edge);transition:background-color .28s var(--ease-out), box-shadow .28s var(--ease-out)}.task-row{align-items:center;gap:var(--s-3);border-radius:inherit;min-height:56px;padding:6px 6px 6px 18px;display:flex}label.task-row{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease-out)}.task label.task-row:active{transform:scale(.985)}.task .text{flex:1;gap:2px;min-width:0;padding:7px 0;display:grid}.task b{font-weight:600;font-size:var(--t-row);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;transition:color .28s var(--ease-out), text-decoration-color .28s var(--ease-out);-webkit-box-orient:vertical;line-height:1.25;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000;text-decoration-thickness:1.5px;display:-webkit-box;overflow:hidden}.task .lines{gap:2px;display:grid}.task small{font-size:var(--t-sm);color:var(--soft);overflow-wrap:anywhere;line-height:1.35}.task small.orig{font-size:var(--t-xs);color:var(--soft);opacity:.92}.task .t{width:50px;font-weight:700;line-height:1.25;font-size:var(--t-row);color:var(--leaf);flex:none;align-self:flex-start;margin-top:7px}.task .tick{flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.task .tick input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.task .tick .floret{pointer-events:none;transition:transform .16s var(--ease-out)}.task label.task-row:active .tick .floret{transform:scale(.88)}.task:has(input:focus-visible) label{outline:2.5px solid var(--bloomdeep);outline-offset:2px}.task.late{background:var(--petalsoft)}.task.late .late-note{color:var(--warn);font-weight:500}.task.ord{--task-edge:inset 0 0 0 1.5px var(--order-edge);background:var(--order)}.task.done b{color:var(--done-ink);-webkit-text-decoration-color:var(--done-strike);text-decoration-color:var(--done-strike);font-weight:500}.task.is-new{animation:task-in .52s var(--ease-out) both, task-glow 2.2s var(--ease-out) both}@keyframes task-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes task-glow{0%,30%{box-shadow:var(--task-edge), 0 0 0 3px var(--petal), 0 10px 24px -14px #c93a208c}to{box-shadow:var(--task-edge), 0 0 0 0 transparent, 0 0 0 0 transparent}}.all-done{margin:var(--s-6) var(--gutter) 0;text-align:center;font-size:var(--t-row);color:var(--leaf);animation:card-fade .42s var(--ease-out) both;font-weight:600}.maid-note{margin:var(--s-6) var(--gutter) 0;border-radius:var(--r-xl);background:var(--card);text-align:center;justify-items:center;gap:14px;padding:28px 20px;display:grid}.maid-note p{max-width:26ch;font-size:var(--t-row);color:var(--ink);text-wrap:balance;font-weight:500;line-height:1.4}.tick-notice{left:50%;bottom:calc(18px + var(--safe-bottom));z-index:20;max-width:calc(100% - 2 * var(--gutter));border-radius:var(--r-md);background:var(--leaf);color:var(--on-leaf);font-size:var(--t-sm);text-align:center;box-shadow:var(--shadow-card);opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);padding:10px 16px;font-weight:500;position:fixed;transform:translate(-50%,8px)}.tick-notice:empty{visibility:hidden}.tick-notice.is-shown{opacity:1;transform:translate(-50%)}.log{margin:16px var(--gutter) 0}.log .seg{margin-top:0}.lrows{gap:var(--s-2);margin-top:14px;padding:0;list-style:none;display:grid}.lrow{border-radius:var(--r-lg);background:var(--card);text-align:left;width:100%;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);border:0;padding:14px 16px;display:block}.lrow:active{transform:scale(.985)}@media (hover:hover){.lrow:hover{background:#fff}}.lrow .top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.lrow b{font-weight:600;font-size:var(--t-row);overflow-wrap:anywhere;min-width:0;line-height:1.25}.lrow .when{max-width:55%;font-size:var(--t-sm);color:var(--soft);text-align:right;flex:none;align-items:baseline;gap:6px;display:flex}.lrow .hist{align-items:center;gap:10px;min-height:26px;margin-top:10px;display:flex}.lrow .florets{flex:none;gap:6px;display:flex}.lrow .last{font-size:var(--t-sm);color:var(--soft);text-align:right;margin-left:auto}.lrow .last.warn{color:var(--warn);font-weight:600}.tag{background:var(--chip);font-size:var(--t-xs);color:var(--soft);white-space:nowrap;border-radius:8px;padding:2px 8px;font-weight:600;line-height:1.35;display:inline-block}.lrow.is-paused{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.lrow.is-paused b{color:var(--soft);font-weight:500}.lrow.is-paused .florets{opacity:.6}.legend{font-size:var(--t-sm);color:var(--soft);flex-wrap:wrap;gap:8px 16px;margin:18px 2px 0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.log-empty{margin-top:var(--s-6);border-radius:var(--r-xl);background:var(--card);text-align:center;justify-items:center;gap:14px;padding:28px 20px;display:grid}.log-empty p{max-width:26ch;font-size:var(--t-row);text-wrap:balance;font-weight:500;line-height:1.4}.more-btn{border-radius:var(--r-sm);background:var(--chip);min-height:44px;font-size:var(--t-label);color:var(--leaf);transition:background-color .16s var(--ease-out);border:0;margin:12px auto 0;padding:0 18px;font-weight:600;display:block}.more-btn[aria-busy=true]{cursor:progress;opacity:.75}@media (hover:hover){.more-btn:hover{background:var(--seg)}}.history-head h2,.sheet-title{font-size:var(--t-xl);letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance;font-weight:700;line-height:1.1}.history-head small{color:var(--soft);margin-top:4px;font-size:14px;display:block}.hrows{margin-top:16px;padding:0;list-style:none}.hrows li{grid-template-columns:5.9em 22px minmax(0,1fr);align-items:center;column-gap:12px;min-height:46px;padding:8px 0;display:grid}.hrows li+li{border-top:1px solid var(--line)}.hrows .d{white-space:nowrap;font-weight:600;font-size:var(--t-label);color:var(--ink)}.hrows .w{font-size:var(--t-label);color:var(--soft)}.hrows .is-late .w{color:var(--warn)}.history-empty{margin-top:16px}.oday h2{color:var(--soft);margin:22px 2px 8px;font-size:14px;font-weight:600}.oday:first-of-type h2{margin-top:18px}.oday ul{gap:var(--s-2);padding:0;list-style:none;display:grid}.lorder{border-radius:var(--r-lg);background:var(--card);grid-template-columns:auto minmax(0,1fr);column-gap:14px;padding:14px 16px 14px 18px;display:grid}.lorder .time{font-weight:700;font-size:var(--t-row);color:var(--leaf);min-width:3.1ch;line-height:1.25}.lorder .what{justify-items:start;gap:2px;min-width:0;display:grid}.lorder b{font-weight:600;font-size:var(--t-row);overflow-wrap:anywhere;line-height:1.25}.lorder small{font-size:var(--t-sm);color:var(--soft);overflow-wrap:anywhere;line-height:1.35}.lorder small:empty{display:none}.lorder .state{font-size:var(--t-sm);color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-weight:500;display:flex}.lorder.is-ended .time,.lorder.is-ended b{color:var(--soft)}.lorder.is-ended b{text-decoration:line-through;-webkit-text-decoration-color:var(--faded);text-decoration-color:var(--faded);font-weight:500;text-decoration-thickness:1.5px}.lorder.is-ended .state{color:var(--soft)}.tag.in-menu{background:var(--tile);color:var(--leaf);margin-left:2px}.lorder .adopt{border-radius:var(--r-sm);background:var(--chip);min-height:36px;font-size:var(--t-sm);color:var(--leaf);transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);border:0;margin-top:10px;padding:0 14px;font-weight:600;position:relative}.lorder .adopt:after{content:"";position:absolute;inset:-4px}.lorder .adopt:active{transform:scale(.96)}@media (hover:hover){.lorder .adopt:hover{background:var(--seg)}}.adopt-form .field-block{margin-top:18px}.field-hint{font-size:var(--t-sm);color:var(--soft);margin-top:-4px}.icon-picker{gap:14px;display:grid}.icon-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.icon-cell{aspect-ratio:1;background:var(--tile);min-height:44px;color:var(--leaf);transition:box-shadow .18s var(--ease-out), background-color .18s var(--ease-out), transform .16s var(--ease-out);border:0;border-radius:14px;place-items:center;display:grid}.icon-cell.petal{background:var(--petal)}.icon-cell[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--card), 0 0 0 4.5px var(--leaf)}.icon-cell:active{transform:scale(.94)}.tint-row{gap:8px;display:flex}.tint-swatch{background:var(--chip);min-height:44px;font-weight:600;font-size:var(--t-label);color:var(--leaf);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);border:0;border-radius:14px;align-items:center;gap:10px;padding:0 16px 0 12px;display:flex}.tint-swatch .swatch{background:var(--tile);border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1.5px #0f3d2e2e}.tint-swatch.petal .swatch{background:var(--petal)}.tint-swatch[aria-pressed=true]{background:var(--leaf);color:var(--on-leaf)}.tint-swatch[aria-pressed=true] .swatch{box-shadow:none}.plain.has-back{padding-top:max(14px, calc(var(--safe-top) + 6px))}.plain .back{border-radius:var(--r-sm);min-height:44px;font-size:var(--t-label);color:var(--mid);transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;align-items:center;gap:2px;margin:0 0 6px -10px;padding:0 12px 0 4px;font-weight:600;display:inline-flex}@media (hover:hover){.plain .back:hover{background:var(--chip);color:var(--leaf)}}.plain-sub{max-width:32ch;font-size:var(--t-label);color:var(--soft);text-wrap:pretty;margin-top:8px;line-height:1.4}.house-menu{margin:22px var(--gutter) 0;border-radius:var(--r-xl);background:var(--card);padding:4px 16px;list-style:none;box-shadow:0 1px #0f3d2e0a}.house-menu li+li{border-top:1px solid var(--line)}.hrow{min-height:76px;color:inherit;border-radius:var(--r-md);transition:transform .16s var(--ease-out);align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:flex}.hrow:active{transform:scale(.985)}.hrow .text{flex:1;gap:3px;min-width:0;display:grid}.hrow b{font-weight:600;font-size:var(--t-row)}.hrow small{font-size:var(--t-sm);color:var(--soft);min-height:1.3em}.hrow small.is-loading{background:var(--chip);border-radius:6px;width:9em}.hrow .chev{color:var(--faded);transition:color .16s var(--ease-out), transform .16s var(--ease-out);flex:none}@media (hover:hover){.hrow:hover .chev{color:var(--leaf);transform:translate(2px)}}.house-body{margin:18px var(--gutter) 0}.add-row{border-radius:var(--r-lg);width:100%;box-shadow:inset 0 0 0 1.5px var(--line);text-align:left;transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:0;align-items:center;gap:14px;padding:10px 16px 10px 12px;display:flex}.add-row:active{transform:scale(.985)}@media (hover:hover){.add-row:hover{background:var(--card)}}.add-row .text{gap:2px;min-width:0;display:grid}.add-row b{font-weight:600;font-size:var(--t-row);color:var(--leaf)}.add-row small{font-size:var(--t-sm);color:var(--soft)}.pic.add-pic{background:var(--bloomdeep);color:#fff;border-radius:14px;width:44px;height:44px}.hcards{gap:var(--s-2);margin-top:10px;padding:0;list-style:none;display:grid}.hcard{border-radius:var(--r-lg);background:var(--card);text-align:left;width:100%;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);border:0;padding:14px 16px;display:block}button.hcard:active{transform:scale(.985)}@media (hover:hover){button.hcard:hover{background:#fff}}.hcard .top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.hcard.is-static .top{align-items:center}.hcard b{font-weight:600;font-size:var(--t-row);overflow-wrap:anywhere;min-width:0;line-height:1.25}.hcard .when{max-width:55%;font-size:var(--t-sm);color:var(--soft);text-align:right;flex:none}.hcard .tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.hcard>small{font-size:var(--t-sm);color:var(--soft);margin-top:4px;display:block}.hcard>small.warn{color:var(--warn);font-weight:600}.tag.is-off{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.tag.is-now{background:var(--petalsoft);color:var(--warn)}.hcard.is-paused{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.hcard.is-paused b{color:var(--soft);font-weight:500}.house-empty{margin-top:var(--s-3)}.house-sub{color:var(--soft);margin:22px 2px 0;font-size:14px;font-weight:600}.house-hint{font-size:var(--t-sm);color:var(--soft);max-width:40ch;margin:14px 2px 0;line-height:1.4}.pill-btn{background:var(--chip);min-height:34px;font-size:var(--t-sm);color:var(--leaf);transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);border:0;border-radius:10px;flex:none;padding:0 13px;font-weight:600;position:relative}.pill-btn:after{content:"";position:absolute;inset:-5px -4px}.pill-btn:active{transform:scale(.96)}.pill-btn.danger{background:var(--petalsoft);color:var(--warn)}@media (hover:hover){.pill-btn:hover{background:var(--seg)}.pill-btn.danger:hover{background:var(--petal)}}.prow{align-items:flex-start;gap:14px;display:flex}.prow .text{flex:1;gap:2px;min-width:0;display:grid}.prow small{font-size:var(--t-sm);color:var(--soft)}.avatar{width:44px;height:44px;font-weight:700;font-size:var(--t-row);background:var(--leaf);color:var(--petal);border-radius:50%;flex:none;place-items:center;display:grid}.avatar.is-maid{background:var(--tile);color:var(--leaf)}.avatar.is-guest{background:var(--petal);color:var(--leaf)}.prow.is-paused .avatar{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--soft);background:0 0}.row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mcat+.mcat,.mcat+.add-row{margin-top:26px}.mcat-head{align-items:center;gap:8px;min-height:40px;margin:0 0 8px 2px;display:flex}.mcat-head h2{font-size:var(--t-lg);letter-spacing:-.015em;overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.15}.mcat-head .mini-btn{margin-left:auto}.mini-btn{min-height:36px;font-size:var(--t-sm);color:var(--mid);transition:background-color .16s var(--ease-out);background:0 0;border:0;border-radius:10px;padding:0 12px;font-weight:600}@media (hover:hover){.mini-btn:hover{background:var(--chip)}}.moves{flex:none;gap:0;display:flex}.move{width:40px;height:44px;color:var(--mid);transition:background-color .16s var(--ease-out), opacity .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.move:active:not(:disabled){transform:scale(.92)}.move:disabled{cursor:default;color:var(--line)}@media (hover:hover){.move:not(:disabled):hover{background:var(--chip);color:var(--leaf)}}.mcat.is-hidden .mcat-head h2{color:var(--soft)}.mlist{border-radius:var(--r-xl);background:var(--card);padding:2px 12px;list-style:none}.mlist>li+li{border-top:1px solid var(--line)}.mitem{align-items:center;gap:8px;display:flex}.mitem-main{text-align:left;border-radius:var(--r-md);min-width:0;transition:transform .16s var(--ease-out);background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:10px 0;display:flex}.mitem-main:active{transform:scale(.985)}.mitem .pic{border-radius:14px;width:46px;height:46px}.mitem .text{gap:2px;min-width:0;display:grid}.mitem b{font-weight:600;font-size:var(--t-body);overflow-wrap:anywhere}.mitem small{font-size:var(--t-sm);color:var(--soft);flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.mitem.is-hidden .pic{opacity:.45}.mitem.is-hidden b{color:var(--soft);font-weight:500}.mempty{font-size:var(--t-label);color:var(--soft);padding:16px 4px}.mini-add{width:100%;min-height:52px;font-size:var(--t-label);color:var(--mid);text-align:left;border-radius:var(--r-md);background:0 0;border:0;align-items:center;gap:8px;padding:0 4px;font-weight:600;display:flex}.mini-add:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/10px 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 10px no-repeat;border-radius:50%;flex:none;width:22px;height:22px;box-shadow:inset 0 0 0 1.5px}@media (hover:hover){.mini-add:hover{color:var(--leaf)}}.house-form .lab{display:block}.house-form .lab .opt{color:var(--soft);font-weight:500}.house-form .field-block{margin-top:18px}.field-foot{justify-content:space-between;align-items:baseline;gap:12px;margin-top:-4px;display:flex}.field-foot .field-hint{margin-top:0}.field-foot .count{font-size:var(--t-xs);color:var(--soft);margin-left:auto}.sheet-lead{font-size:var(--t-label);color:var(--soft);max-width:38ch;margin-top:8px;line-height:1.4}.sheet-note{border-radius:var(--r-md);background:var(--chip);color:var(--leaf);font-size:var(--t-label);margin-top:14px;padding:12px 16px;font-weight:500;line-height:1.35}.sheet-note.warn{background:var(--petalsoft);color:var(--warn)}.lab-row .link[aria-pressed=true]{color:var(--leaf)}.days{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.day{background:var(--chip);min-height:48px;font-weight:600;font-size:var(--t-label);color:var(--leaf);transition:background-color .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out);border:0;border-radius:14px}.day:active{transform:scale(.94)}.day[aria-pressed=true]{background:var(--leaf);color:var(--on-leaf)}@media (hover:hover){.day:not([aria-pressed=true]):hover{background:var(--seg)}}.rhythm-line{font-size:var(--t-sm);color:var(--mid);margin-top:10px;font-weight:500}.rhythm-line.is-empty{color:var(--soft);font-weight:400}.seg.in-sheet{margin-top:0}.seg.in-sheet button{flex:1 1 0;min-width:0;padding:0 8px}.sheet-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.ghost-btn{transition:background-color .16s var(--ease-out), transform .16s var(--ease-out)}.ghost-btn:active{transform:scale(.985)}.ghost-btn.danger{background:var(--petalsoft);color:var(--warn)}.ghost-btn:disabled{opacity:.5;cursor:default}@media (hover:hover){.ghost-btn:hover{background:var(--seg)}.ghost-btn.danger:hover{background:var(--petal)}}.switch-row{border-radius:var(--r-md);background:var(--ground);text-align:left;border:0;align-items:center;gap:14px;width:100%;margin-top:22px;padding:14px 16px;display:flex}.switch-row .text{flex:1;gap:2px;display:grid}.switch-row b{font-weight:600;font-size:var(--t-label)}.switch-row small{font-size:var(--t-sm);color:var(--soft)}.switch{background:var(--line);width:50px;height:30px;transition:background-color .22s var(--ease-out);border-radius:15px;flex:none;position:relative}.switch:after{content:"";width:24px;height:24px;transition:transform .26s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px -1px #0f3d2e59}.switch-row[aria-checked=true] .switch{background:var(--leaf)}.switch-row[aria-checked=true] .switch:after{transform:translate(20px)}.date-field{cursor:pointer;align-items:center;gap:10px;min-height:52px;display:flex;position:relative}.date-field .date-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.date-field.is-empty .date-text{color:var(--soft)}.date-field .date-icon{color:var(--mid);flex:none}.date-field input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.date-field:has(input:focus-visible){border-color:var(--mid);box-shadow:0 0 0 3px #2f7d552e}.date-pair{grid-template-columns:1fr;gap:0;display:grid}.confirm-text{margin-top:8px;line-height:1.4}.link-sheet{display:grid}.qr-frame{border-radius:var(--r-xl);box-shadow:var(--shadow-card);background:#fff;justify-self:center;margin-top:20px;padding:10px}.qr{max-width:100%;height:auto;display:block}.qr-ground{fill:#fff}.qr-dot{fill:var(--leaf)}.qr-ring{fill:none;stroke:var(--leaf);stroke-width:1px}.qr-eye{fill:var(--bloomdeep)}.link-text{border-radius:var(--r-md);background:var(--ground);font-size:var(--t-sm);color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:20px;padding:12px 14px;line-height:1.4}.link-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.link-actions.single{grid-template-columns:1fr}.link-actions .cta{min-height:52px;font-size:var(--t-row);margin-top:0}.link-actions .ghost-btn{min-height:52px;font-size:var(--t-row)}.with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.done-btn{border-radius:var(--r-sm);min-height:44px;font-weight:600;font-size:var(--t-body);color:var(--soft);background:0 0;border:0;justify-self:center;margin-top:10px;padding:0 22px}@media (hover:hover){.done-btn:hover{color:var(--leaf)}}.house-note{left:50%;bottom:calc(var(--tabbar-h) + 14px);z-index:20;width:max-content;max-width:calc(100% - 2 * var(--gutter));border-radius:var(--r-md);background:var(--leaf);color:var(--on-leaf);font-size:var(--t-label);text-align:center;box-shadow:var(--shadow-card);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-out), transform .3s var(--ease-out);padding:12px 18px;font-weight:500;position:fixed;transform:translate(-50%,10px)}.house-note:empty{visibility:hidden}.house-note.is-shown{opacity:1;transform:translate(-50%)}.gate{background:var(--leaf);min-height:100dvh;color:var(--on-leaf);padding:max(24px, var(--safe-top)) 24px max(24px, var(--safe-bottom));text-align:center;place-items:center;display:grid}.gate-inner{justify-items:center;gap:22px;max-width:22ch;display:grid}.gate p{text-wrap:balance;font-size:19px;font-weight:500;line-height:1.4}.gate .floret.wait{animation:gate-breathe 2.4s var(--ease-out) infinite alternate}@keyframes gate-fade{0%{opacity:.6}to{opacity:1}}@keyframes gate-breathe{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.gate button{border-radius:var(--r-md);background:var(--bloomdeep);color:#fff;min-height:48px;font-weight:700;font-size:var(--t-row);box-shadow:var(--shadow-cta);border:0;padding:0 22px}.gate button:focus-visible{outline-color:var(--petal)}.body{padding:var(--s-6) var(--gutter) 0}.quiet{color:var(--soft);font-size:var(--t-label);max-width:34ch}@media (prefers-reduced-motion:reduce){.fl .petal,.fl .core{transition-duration:.15s;transition-timing-function:linear}.fl.is-blooming .petal,.fl.is-blooming .core{animation:none}.sheet{opacity:0;transition:opacity .15s linear;transform:none}.sheet-layer.is-open .sheet{opacity:1;transform:none}.sheet-layer.is-closing .sheet{transition-duration:.15s;transition-timing-function:linear}.sheet-scrim{transition-duration:.15s}.gate .floret.wait{animation:3.2s linear infinite alternate gate-fade}.tabbar a svg{transition:none}.ocard.is-new{animation:.2s linear both card-fade}button.row:active,button.row:active .add,.chip:active,.cta:active{transform:none}.cta[aria-busy=true]{animation:none}.task label.task-row:active,.task label.task-row:active .tick .floret{transform:none}.task b{transition-duration:.15s;transition-timing-function:linear}.lrow:active,.lorder .adopt:active,.icon-cell:active{transform:none}.task.is-new{animation:.2s linear both card-fade,2.2s linear both task-glow}.tick-notice{transition:opacity .15s linear;transform:translate(-50%)}.hrow:active,.add-row:active,button.hcard:active,.pill-btn:active,.move:active:not(:disabled),.mitem-main:active,.day:active,.ghost-btn:active{transform:none}.hrow .chev,.switch:after{transition-duration:.15s;transition-timing-function:linear}.house-note{transition:opacity .15s linear;transform:translate(-50%)}}@keyframes card-fade{0%{opacity:0}to{opacity:1}}
