:root,:root[data-theme=dark]{--bg: #0f1416;--bg2: #141b1e;--card: #1a2226;--card2: #232d32;--line: #2e3a40;--text: #f2f5f4;--muted: #93a1a6;--soft: #c5cfd2;--accent: #3ddc97;--on-accent: #06281a;--neg: #ff8a7a;--warn: #ffc857;--tint: #14301f;--scrim: rgba(4, 7, 8, .72);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f3f5f4;--bg2: #ffffff;--card: #ffffff;--card2: #eaeeed;--line: #d5dcda;--text: #121a17;--muted: #5d6b67;--soft: #33403c;--accent: #0f8a56;--on-accent: #ffffff;--neg: #c0392b;--warn: #8a5a00;--tint: #e2f4ea;--scrim: rgba(20, 30, 27, .5);color-scheme:light}}:root[data-theme=light]{--bg: #f3f5f4;--bg2: #ffffff;--card: #ffffff;--card2: #eaeeed;--line: #d5dcda;--text: #121a17;--muted: #5d6b67;--soft: #33403c;--accent: #0f8a56;--on-accent: #ffffff;--neg: #c0392b;--warn: #8a5a00;--tint: #e2f4ea;--scrim: rgba(20, 30, 27, .5);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,system-ui,sans-serif;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;text-align:inherit}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p{margin:0}b{font-weight:700}b.normal{font-weight:500}#root{display:flex;flex-direction:column}#root>.shell,#root>.page{flex:1;min-height:0;height:auto;width:100%}.shell{height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto}.view{flex:1;min-height:0}.page{height:100%;display:flex;flex-direction:column;position:relative;max-width:560px;margin:0 auto}.scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:24px;-webkit-overflow-scrolling:touch}.footer{padding:10px 16px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;background:var(--bg);border-top:1px solid var(--card2)}.head{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;min-height:60px}.head.big{padding:22px 20px 4px}.head-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.head h1{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head.big h1{font-size:28px;letter-spacing:-.5px}.head-title span{font-size:12px;color:var(--muted)}.iconbtn{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--text)}.iconbtn.dim{color:var(--muted)}.textbtn{min-height:44px;padding:0 10px;color:var(--accent);font-weight:600;font-size:14px}.muted{color:var(--muted)}.strong{font-weight:600}.small{font-size:13px}.tiny{font-size:12px;color:var(--muted)}.pos{color:var(--accent)}.neg{color:var(--neg)}.warnc{color:var(--warn)}.big{font-size:22px}.grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pad{padding:8px 16px}.col{display:flex;flex-direction:column;gap:12px}.col.tight{gap:6px}.between{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 0}.top-row.center{justify-content:center;padding:0}.top-row.end{align-items:flex-end;padding:0}.top-row.end>.field{flex:1}.card .top-row,.sheet .top-row{padding:0}.section{margin:20px 20px 8px;font-size:13px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}.note{margin:12px 24px 0;font-size:12px;line-height:1.45;color:var(--muted)}.note.top{margin-top:4px}.note.flat{margin:0}.note.center{text-align:center}.empty{margin:8px 24px;padding:18px 0;font-size:14px;color:var(--muted);text-align:center}.total{padding:8px 20px 16px;display:flex;flex-direction:column;gap:6px}.huge{font-size:42px;font-weight:700;letter-spacing:-1px;line-height:1.1}.warn{margin-top:6px;padding:10px 12px;border-radius:12px;background:var(--card);color:var(--warn);font-size:13px;min-height:44px}.pills{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:5px 10px;border-radius:10px;background:var(--card);font-size:13px;font-weight:600}.card{background:var(--card);border-radius:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px}.env{padding:14px;display:flex;flex-direction:column;gap:6px;min-height:96px}.env-head{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:500}.emoji{width:32px;height:32px;border-radius:10px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:17px}.env-sum{font-size:19px;font-weight:700}.rowcard{margin:14px 16px 0;padding:12px 14px;display:flex;align-items:center;gap:12px;min-height:60px}.rowcard.link{width:calc(100% - 32px)}.col>.rowcard{margin:0}.rowcard+.list{margin-top:12px}.rowcard.left{text-align:left;margin:0;width:100%}.box{margin:10px 16px 0;padding:16px;display:flex;flex-direction:column;gap:10px}.col>.box{margin:0}.list{margin:0 16px;padding:2px 14px;display:flex;flex-direction:column}.col>.list{margin:0}.list.secret{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.lrow{display:flex;align-items:center;gap:10px;min-height:60px;padding:6px 0;border-bottom:1px solid var(--card2);width:100%}.lrow:last-child{border-bottom:0}.lrow.plain{border:0;min-height:0;padding:0}.lrow.off{opacity:.55}.lrow.off b{text-decoration:line-through;text-decoration-thickness:1px}.lrow b{overflow-wrap:anywhere}.textrow{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center}.badge{width:38px;height:38px;flex:none;border-radius:12px;background:var(--card2);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.badge.pos{background:var(--accent);color:var(--on-accent)}.badge.neg{color:var(--neg)}.pillbtn{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;color:var(--accent);font-size:13px;font-weight:600;flex:none}.locked-folder{background:transparent;border:1px dashed var(--line);color:var(--muted)}.locked-folder b{color:var(--soft)}.event{padding:16px;display:flex;flex-direction:column;gap:10px;width:100%}.datebox{width:46px;height:46px;flex:none;border-radius:14px;background:var(--card2);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.datebox span{font-size:10px;color:var(--muted)}.bar{height:6px;border-radius:3px;background:var(--card2);overflow:hidden}.bar>div{height:100%;border-radius:3px;background:var(--accent);transition:width .3s}.btn{min-height:54px;padding:0 16px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;width:100%;text-align:center}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.ghost{border:1px solid var(--line);color:var(--text);font-weight:600}.btn.danger{border:1px solid color-mix(in srgb,var(--neg) 45%,transparent);color:var(--neg);font-weight:600}.btn.dashed{border:1px dashed var(--line);color:var(--text);font-weight:600;cursor:pointer}.btn.small{min-height:46px;font-size:14px}.btn.liked{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 45%,transparent)}.scroll:has(.fab){padding-bottom:96px}.fab{position:absolute;right:20px;bottom:20px;width:60px;height:60px;border-radius:30px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #00000059}.seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--card);flex:none}.card .seg,.sheet .seg{background:var(--bg)}.seg button{min-width:44px;height:36px;padding:0 10px;border-radius:10px;font-weight:600;text-align:center}.seg.wide{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.seg.wide button{height:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg button.on{background:var(--accent);color:var(--on-accent);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 14px;border-radius:22px;background:var(--card);font-size:14px;font-weight:500}.chip.on{background:var(--accent);color:var(--on-accent);font-weight:700}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;color:var(--muted)}.hint{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{min-height:50px;width:100%;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 14px;font-size:16px}.sheet .field input,.sheet .field select{background:var(--bg)}.field textarea{padding:12px 14px;resize:none;line-height:1.4}.emoji-in{width:72px!important;text-align:center}.check{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:0;font-size:15px}.scroll>.check{margin:10px 20px 0}.check input,.switch{width:24px;height:24px;accent-color:var(--accent);flex:none}.picker{display:flex;align-items:center;gap:10px}.picker img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none}.picker .btn{min-height:50px;font-size:15px}.found{margin:0;padding:12px 14px;border-radius:14px;background:var(--tint);color:var(--text);font-size:13px;line-height:1.4}input[type=range]{flex:1;min-width:60px;accent-color:var(--accent);height:44px}.amount-block{padding:12px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.amount{width:100%;border:0;background:transparent;font-size:44px;font-weight:700;letter-spacing:-1px;text-align:center;padding:0;min-height:56px}.amount.left{text-align:left;font-size:32px;min-width:0;flex:1}.amount::placeholder{color:var(--line)}.status{font-size:13px;font-weight:600;padding:6px 12px;border-radius:12px;background:var(--card);text-align:center}.table{margin:0 12px;padding:6px 8px 6px 14px;display:flex;flex-direction:column}.thead{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:11px;font-weight:600;color:var(--muted)}.thead span:not(.grow){text-align:center}.trow{display:flex;align-items:center;gap:6px;min-height:56px;border-top:1px solid var(--card2)}.trow .name b{font-size:14px;font-weight:600}.trow input:not([type=range]){height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-align:center;font-size:15px;font-weight:600;padding:0 2px;min-width:0}.trow.locked input{border-color:var(--accent)}.c-pct{width:58px;flex:none}.c-amt{width:92px;flex:none}.c-cur{width:76px;flex:none}.c-lock{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--muted);border-radius:12px}.c-lock.on{color:var(--accent)}span.c-lock{height:auto}.scrim{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{width:100%;max-width:560px;max-height:88%;overflow-y:auto;background:var(--card);border-radius:24px 24px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet h2{font-size:18px;margin:0 4px}.grip{width:40px;height:4px;border-radius:2px;background:var(--line);align-self:center}.menu{display:flex;flex-direction:column;gap:8px}.menu-item{display:flex;align-items:center;gap:14px;min-height:62px;padding:8px 14px;border-radius:16px;background:var(--card2);width:100%}.menu-item .badge{background:var(--line)}.photo{width:100%;height:108px;object-fit:cover;display:block;background:var(--card2)}.photo.tall{height:240px;border-radius:22px}.photo.nophoto{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:11px}.wish{overflow:hidden;display:flex;flex-direction:column}.wish-body{padding:12px;display:flex;flex-direction:column;gap:5px}.wish-body b{font-size:14px;line-height:1.25;overflow-wrap:anywhere}.likes{display:inline-flex;align-items:center;gap:3px}.wish-title{font-size:24px;letter-spacing:-.5px;overflow-wrap:anywhere}.quote{font-size:15px;line-height:1.45;color:var(--soft);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.comment{font-size:14px;color:var(--soft);overflow-wrap:anywhere}.linktext{font-size:14px;overflow-wrap:anywhere;font-weight:600;user-select:all}.avatar{width:44px;height:44px;flex:none;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700}.avatar.second{background:var(--accent);color:var(--on-accent);margin-left:-22px;border:2px solid var(--card)}.avatar.second.solo{margin-left:0;border:0}.avatar.xl{width:88px;height:88px;font-size:36px;background:var(--accent);color:var(--on-accent)}.welcome{padding:72px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.welcome h1{font-size:26px;letter-spacing:-.5px}.welcome-form{width:100%;text-align:left;margin-top:8px}.tabs{display:flex;flex:none;border-top:1px solid var(--card2);background:var(--bg2);padding:6px 8px calc(8px + env(safe-area-inset-bottom))}.tabs button{flex:1;min-width:0;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:600;text-align:center}.tabs button.on{color:var(--accent)}.toast{position:fixed;left:16px;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));margin:0 auto;max-width:420px;padding:12px 16px;border-radius:14px;background:var(--text);color:var(--bg);font-size:14px;font-weight:600;text-align:center;z-index:30}.toast.bad{background:var(--neg);color:#2a0b06}.gate{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center}.gate h1{font-size:22px}.gate p{color:var(--muted);max-width:320px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.demobar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--card);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:wrap;justify-content:center}.demobar .seg{background:var(--bg)}.demobar .textbtn{min-height:44px;font-size:13px}.histbtn{min-height:44px;padding:0 14px;border-radius:14px;background:var(--card);display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.weekbar{display:flex;align-items:center;gap:2px;padding:8px 6px 0}.week{flex:1;min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.daybtn{min-height:62px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;border:1px solid transparent}.daybtn span{font-size:11px;color:var(--muted)}.daybtn b{font-size:16px}.daybtn.today{border-color:var(--line)}.daybtn.on{background:var(--accent);color:var(--on-accent)}.daybtn.on span{color:var(--on-accent)}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.dot.off{background:var(--muted)}.dot.none{background:transparent}.daybtn.on .dot:not(.none){background:var(--on-accent)}.daytitle{padding:16px 20px 0;align-items:center;min-height:44px}.prow{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--card2)}.prow:last-child{border-bottom:0}.prow.done b{text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted);font-weight:500}.prow b{font-weight:600;overflow-wrap:anywhere}.tick{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;position:relative;color:var(--on-accent)}.tick:before{content:"";position:absolute;width:24px;height:24px;border-radius:8px;border:2px solid var(--line)}.tick.on:before{background:var(--accent);border-color:var(--accent)}.tick svg{position:relative}.tick.ro:before{border-style:dashed}.tick.ro.on:before{background:var(--muted);border-color:var(--muted);border-style:solid}.ptime{font-size:13px;font-weight:600;color:var(--muted);flex:none;font-variant-numeric:tabular-nums}.plan-empty{margin:0 24px;font-size:13px;color:var(--muted)}.add-row{display:flex;align-items:center;gap:8px}.add-row>input{flex:1;min-width:0;min-height:50px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 14px;font-size:16px}.addbtn{width:50px;height:50px;flex:none;border-radius:14px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center}.time-in{margin-left:auto;min-width:0;width:104px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 8px;font-size:15px}.togglebtn{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center}.togglebtn.on{border-color:var(--accent);color:var(--accent);background:var(--tint)}.togglebtn.on.imp{border-color:var(--warn);color:var(--warn);background:transparent}.marks{display:flex;flex-wrap:wrap;gap:8px}.mark{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted)}.mark.imp{color:var(--warn);font-weight:600}.late{font-size:12px;font-weight:700;color:var(--neg)}.section.overdue{color:var(--neg)}.list.overdue{border:1px solid var(--neg)}.list.overdue .prow b{color:var(--neg)}.section.urgent{color:var(--warn)}.list.urgent{border:1px solid var(--warn)}.prow .textrow{align-items:flex-start;text-align:left;padding:6px 0}
