:root{--paper:#fbfaf6;--grid:#e8edf2;--card:#fff;--ink:#2e2b37;--ink2:#5d5a68;--muted:#9b97a4;--line:#ebe6df;--her:#d94a7b;--her-soft:#fce8ef;--me:#3d64c8;--me-soft:#e6ecfb;--note:#fff3b0;--warn:#dc7a1e;--ok:#2e9468;--f-hand:"LXGW WenKai Screen","Hannotate SC","Kaiti SC","STKaiti","KaiTi",serif;--f-body:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{text-autospace:normal;font-family:var(--f-body);background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit;text-autospace:inherit}:focus-visible{outline:2px solid var(--me);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0}.hand{font-family:var(--f-hand)}.muted{color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#app{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-position:-1px -1px;background-size:24px 24px;flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.top{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:5;background:#fbfaf6eb;flex:none;align-items:center;gap:6px;height:58px;padding:0 24px;display:flex}.brand{align-items:center;gap:10px;margin-right:22px;display:flex}.brand .hand{font-size:19px}.nav{color:var(--ink2);padding:6px 12px;font-size:14.5px;position:relative}.nav:hover{color:var(--ink)}.nav.on{color:var(--ink);font-weight:600}.nav.on:after{content:"";background:var(--note);z-index:-1;border-radius:2px;height:7px;position:absolute;bottom:-2px;left:10px;right:10px;transform:rotate(-1deg)}.top .sp{flex:1}.who{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.who-sw{background:#f0ede8;border-radius:999px;padding:3px;display:flex}.who-sw button{color:var(--ink2);border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 3px;font-size:12.5px;display:flex}.who-sw button.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}main{flex:1;overflow:hidden auto}.view{max-width:1160px;margin:0 auto;padding:26px 32px 120px}.tabbar,#app.m .top{display:none}#app.m .view{padding:16px 16px 100px}#app.m .tabbar{border-top:1px solid var(--line);z-index:20;background:#fffffff5;height:72px;padding:0 4px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.tab{color:var(--muted);font-size:13.5px;font-family:var(--f-hand);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.tab.on{color:var(--ink);font-weight:700}.tab.on span{background:linear-gradient(transparent 55%,var(--note) 55%);padding:0 3px}.av{color:#fff;width:24px;height:24px;font-family:var(--f-hand);border:2px solid #fff;border-radius:50%;flex:none;place-items:center;font-size:13px;line-height:1;display:inline-grid;box-shadow:0 0 0 1px #0000000a}.av.her{background:var(--her)}.av.me{background:var(--me)}.av.sm{border-width:1.5px;width:20px;height:20px;font-size:11px}.av.lg{border-width:3px;width:40px;height:40px;font-size:20px}.pair{display:inline-flex}.pair .av+.av{margin-left:-9px}.tape{z-index:2;background-color:color-mix(in srgb,var(--c,#d9c9a8) 45%,white);opacity:.9;clip-path:polygon(3% 0,97% 0,100% 22%,96% 44%,100% 66%,96% 88%,98% 100%,2% 100%,0 80%,4% 58%,0 36%,4% 14%);background-image:repeating-linear-gradient(45deg,#fff6 0 4px,#0000 4px 9px);width:66px;height:19px;margin-left:-33px;position:absolute;top:-9px;left:50%;transform:rotate(-4deg)}.pola{transform:rotate(var(--r,0deg));background:#fff;flex:none;padding:6px 6px 0;position:relative;box-shadow:0 1px 2px #281e3214,0 6px 14px #281e3214}.pola .img{aspect-ratio:3/4;background-color:color-mix(in srgb,var(--c,#bbb) 16%,#f6f4f0);background-image:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c,#bbb) 14%,transparent) 0 1px,transparent 1px 8px)}.pola .img.sq{aspect-ratio:1}.pola .cap{font-family:var(--f-hand);text-align:center;color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;padding:4px 2px 6px;font-size:12.5px;overflow:hidden}.pola.add{box-shadow:none;color:var(--muted);font-family:var(--f-hand);aspect-ratio:3/4.4;background:0 0;border:1.5px dashed #cfc9c0;place-items:center;padding:0;font-size:13px;display:grid}.pola.add:hover{border-color:var(--ink2);color:var(--ink)}.stamp{font-family:var(--f-hand);white-space:nowrap;opacity:.9;border:1.5px solid;border-radius:5px;padding:1px 7px;font-size:13px;line-height:1.2;display:inline-block;transform:rotate(-4deg)}.stamp.round{text-align:center;border-width:2px;border-radius:50%;padding:10px 6px;font-size:12px;line-height:1.1;transform:rotate(-12deg)}button.stamp:hover{opacity:1;background:#ffffffb3}.heart{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:12px;display:inline-flex}.heart svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:13px;height:13px}.heart.on.her{color:var(--her);border-color:color-mix(in srgb,var(--her) 40%,white)}.heart.on.me{color:var(--me);border-color:color-mix(in srgb,var(--me) 40%,white)}.heart.on svg{fill:currentColor}.ph{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.ph h1{font-family:var(--f-hand);font-size:30px;font-weight:700;line-height:1.15}.ph .sub{color:var(--muted);margin-top:4px;font-size:13px}.ph .actions{flex:none;align-items:center;gap:8px;display:flex}#app.m .ph h1{font-size:25px}.btn{background:var(--ink);color:#fff;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 15px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:#45414f}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:#fff}.btn.ghost:hover{border-color:var(--ink2)}.btn.her{background:var(--her)}.btn.me{background:var(--me)}.btn.sm{border-radius:7px;height:28px;padding:0 11px;font-size:12px}.lnk{color:var(--ink);-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-underline-offset:4px}.paper{background:var(--card);border-radius:10px;position:relative;box-shadow:0 1px 2px #281e320d,0 3px 12px #281e320d}.sec-t{justify-content:space-between;align-items:center;gap:10px;margin:30px 0 12px;display:flex}.sec-t h3{font-family:var(--f-hand);align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.sec-t h3 small{font-family:var(--f-body);color:var(--muted);font-size:12px;font-weight:400}.mini-tabs{gap:4px;font-size:12.5px;display:flex}.mini-tabs button{color:var(--ink2);border-radius:999px;padding:3px 10px}.mini-tabs button.on{background:var(--ink);color:#fff}.tag{white-space:nowrap;color:var(--ink2);background:#f2efea;border-radius:5px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}button.tag:after{content:"";opacity:.6;border:3.5px solid #0000;border-top-color:currentColor;margin:3px 0 0 1px}button.tag:hover{filter:brightness(.96)}.t-ready,.t-delivered{color:#1f7451;background:#e3f3ea}.t-repair{color:#b35a10;background:#fdeadb}.t-making,.t-ordered,.t-editing,.t-culling{color:#4b5a86;background:#eef0f6}.t-wishlist{background:var(--her-soft);color:#b0345e}.t-retired,.t-sold,.t-cancelled{color:#a6a29c;background:#f2f1ef}.t-sold,.t-cancelled{text-decoration:line-through}.fan{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.bar{background:#eeebe6;border-radius:9px;flex:1;height:6px;overflow:hidden}.bar i{background:var(--bc,var(--ink));border-radius:9px;height:100%;transition:width .3s;display:block}.filters{scrollbar-width:none;gap:6px;margin-bottom:10px;padding:2px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.fchip{border:1px solid var(--line);color:var(--ink2);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:5px 12px;font-size:13px}.fchip.on{background:var(--ink);border-color:var(--ink);color:#fff}.fchip .n{opacity:.55;margin-left:3px;font-size:12px}.seg{background:#efebe5;border-radius:8px;padding:3px;display:inline-flex}.seg button{color:var(--ink2);white-space:nowrap;border-radius:6px;padding:4px 12px;font-size:12.5px}.seg button.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.note{grid-template-columns:34px 1fr;gap:8px;padding:4px 0;line-height:1.6;display:grid}.note .lbl{font-family:var(--f-hand);font-weight:700}.note.q .lbl{color:#b0345e}.hello{align-items:center;gap:14px;margin-bottom:18px;display:flex}.hello h1{font-family:var(--f-hand);font-size:28px;font-weight:700;line-height:1.2}.hello .sub{color:var(--muted);font-size:13px}.hello .actions{margin-left:auto}#app.m .hello h1{font-size:21px}#app.m .hello .who{display:flex}#app.m .hello .actions,.fab{display:none}#app.m .fab{background:var(--ink);color:#fff;z-index:21;border-radius:50%;place-items:center;width:52px;height:52px;font-size:26px;line-height:1;display:grid;position:absolute;bottom:88px;right:16px;box-shadow:0 6px 18px #281e324d}.hello .who{margin-top:8px;display:none}.home{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}#app.m .home{grid-template-columns:1fr;gap:0}.date-card{cursor:pointer;grid-template-columns:150px 1fr;gap:26px;padding:22px 24px 20px;display:grid}#app.m .date-card{grid-template-columns:96px 1fr;gap:16px;padding:18px 16px 16px}.date-card .pola{width:100%}.dc-kicker{font-family:var(--f-hand);color:var(--ink2);font-size:15px}.dc-count{font-family:var(--f-hand);color:var(--ink2);margin:-2px 0 4px;font-size:17px}.dc-count b{color:var(--c);margin-right:4px;font-size:58px;font-weight:700;line-height:1}#app.m .dc-count b{font-size:44px}.dc-what{font-size:14.5px;line-height:1.7}.dc-what b{font-family:var(--f-hand);color:var(--c);font-size:17px}.dc-meta{color:var(--muted);margin-top:4px;font-size:12.5px}.bags{grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:14px;display:grid}#app.m .bags{grid-template-columns:1fr}.bag{color:var(--ink2);align-items:center;gap:8px;font-size:12.5px;display:flex}.bag .n{font-variant-numeric:tabular-nums;color:var(--ink)}.todo{padding:4px 0}.td{border-top:1px dashed var(--line);cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 16px;display:grid}.td:first-child{border-top:0}.td:hover{background:#fcfbf8}.td .t{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.td .s{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.td .urgent{color:var(--warn);font-weight:600}.ideas{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;padding-top:6px;display:grid}#app.m .ideas{grid-template-columns:repeat(2,minmax(0,1fr))}.idea{transform:rotate(var(--r,0deg));cursor:pointer;border-top:4px solid var(--c);background:#fff;padding:16px 12px 10px;position:relative;box-shadow:0 1px 2px #281e320f,0 4px 10px #281e320f}.idea .nm{font-family:var(--f-hand);font-size:18px;font-weight:700;line-height:1.2}.idea .sr{color:var(--muted);margin-bottom:8px;font-size:12px}.idea .hearts{flex-wrap:wrap;gap:5px;display:flex}.idea .match{color:var(--her);background:#fffdf7;position:absolute;top:-14px;right:-6px}.idea.add{box-shadow:none;color:var(--muted);font-family:var(--f-hand);background:0 0;border:1.5px dashed #cfc9c0;place-items:center;display:grid}.debt{margin-top:0;padding:16px 18px}.debt .lbl{font-family:var(--f-hand);color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:19px;font-weight:700;display:flex}.debt .lbl small{font-family:var(--f-body);color:var(--muted);align-items:center;gap:4px;font-size:11.5px;font-weight:400;display:inline-flex}.sp{border-top:1px dashed var(--line);cursor:pointer;padding:13px 0 12px}.debt .lbl+.sp{border-top:0;padding-top:8px}.sp.empty{cursor:default}.sp-h{white-space:nowrap;align-items:baseline;gap:6px;display:flex;overflow:hidden}.sp-h .fan{align-self:center}.sp-h b{font-family:var(--f-hand);font-size:16px}.sp-h .muted{text-overflow:ellipsis;font-size:12px;overflow:hidden}.sp-late{color:var(--warn);border:1px solid;border-radius:4px;flex:none;margin-left:auto;padding:0 4px;font-size:11px}.sp-steps{grid-template-columns:repeat(4,1fr);margin:10px 0 0;padding:0;list-style:none;display:grid;position:relative}.sp-steps:before{content:"";background:#ece8e2;height:2px;position:absolute;top:8px;left:12.5%;right:12.5%}.sp-line{background:var(--c);height:2px;transition:width .25s;position:absolute;top:8px;left:12.5%}.sp-steps li{cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:0 2px;display:flex;position:relative}.sp-steps li:hover b{text-underline-offset:3px;-webkit-text-decoration:underline #cfc9c0;text-decoration:underline #cfc9c0}.sp-steps li.cur{cursor:default}.sp-steps i{color:#fff;z-index:1;background:#fff;border:2px solid #ddd7ce;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;line-height:1;display:grid}.sp-steps li.done i{background:var(--c);border-color:var(--c)}.sp-steps li.cur i{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent)}.sp-steps li.cur i:after{content:"";background:var(--c);border-radius:50%;width:6px;height:6px}.sp-steps b{color:var(--ink2);margin-top:3px;font-size:12.5px;font-weight:600}.sp-steps li.cur b{color:var(--ink)}.sp-steps li.todo b{color:var(--muted);font-weight:500}.sp-steps small{color:var(--muted);min-height:15px;font-size:11px}.sp-steps li.cur small{color:var(--ink2)}.sp-foot{color:var(--ink2);align-items:center;gap:10px;margin-top:8px;font-size:12.5px;display:flex}.sp-note{flex:1;min-width:0}.sp-acts{flex:none;align-items:center;gap:10px;display:flex}.sp-acts .lnk.her{color:var(--her);font-size:12.5px}.seg9{flex:none;grid-template-columns:repeat(9,7px);gap:2px;display:inline-grid}.seg9 i{background:#ece8e2;border-radius:2px;height:10px}.seg9 i.on{background:var(--c)}.g9{background:#fff;flex:none;grid-template-columns:repeat(3,1fr);gap:2px;width:60px;padding:3px;display:grid;position:relative;box-shadow:0 1px 2px #281e3214,0 3px 8px #281e3212}.g9 i{aspect-ratio:1;outline-offset:-1px;background:#f3f0eb;border-radius:1.5px;outline:1px dashed #ddd6cc}.g9 i.on{background-color:color-mix(in srgb,var(--c,#9b97a4) 70%,white);background-position:50%;background-size:cover;outline:0}.g9.full i.on{background-color:var(--c,#9b97a4)}.g9.lg{gap:3px;width:104px;padding:4px}.g9 .more{font-family:var(--f-hand);background:var(--me);color:#fff;border-radius:9px;padding:3px 5px;font-size:11px;line-height:1;position:absolute;top:-9px;right:-9px}.chat{padding:14px 14px 10px}.feed{flex-direction:column;gap:9px;display:flex}.msg{align-items:flex-end;gap:7px;max-width:88%;display:flex}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg .bub{background:var(--her-soft);border-radius:14px 14px 14px 4px;padding:7px 11px;font-size:13.5px;line-height:1.5}.msg.me .bub{background:var(--me-soft)}.msg.mine .bub{border-radius:14px 14px 4px}.msg .at{color:var(--muted);white-space:nowrap;font-size:10.5px}.msg .ref{color:var(--ink2);text-underline-offset:3px;margin-top:3px;font-size:11.5px;-webkit-text-decoration:underline #0003;text-decoration:underline #0003;display:block}.log{color:var(--muted);text-align:center;align-self:center;align-items:center;gap:5px;font-size:11.5px;display:flex}.compose{border-top:1px dashed var(--line);align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.compose input{border:1px solid var(--line);background:#fbfaf7;border-radius:999px;outline:none;flex:1;min-width:0;height:34px;padding:0 14px}.compose input:focus{border-color:var(--ink2);background:#fff}.board{scroll-snap-type:x mandatory;gap:16px;padding:12px 2px 16px;display:flex;overflow-x:auto}.col{scroll-snap-align:start;border-radius:10px;flex:1 0 170px;padding:2px 2px 10px;transition:background .15s}#app.m .col{flex-basis:78%}.col.over{background:#fff3b099}.col-h{font-family:var(--f-hand);flex-wrap:wrap;align-items:baseline;gap:0 6px;padding:0 4px 12px;font-size:18px;font-weight:700;display:flex}.col-h small{font-family:var(--f-body);color:var(--muted);font-size:12px;font-weight:400}.col-h em{font-style:normal;font-family:var(--f-body);color:var(--muted);flex-basis:100%;font-size:11.5px;font-weight:400}.col-b{flex-direction:column;gap:16px;min-height:80px;display:flex}.col-empty{font-family:var(--f-hand);color:var(--muted);text-align:center;border:1.5px dashed #d8d2c9;border-radius:8px;padding:20px 0;font-size:13px}.pc{transform:rotate(var(--r,0deg));cursor:grab;background:#fff;border-radius:4px;padding:14px 12px 10px;transition:transform .12s;position:relative;box-shadow:0 1px 2px #281e320f,0 4px 12px #281e320f}.pc:hover{transform:rotate(0)translateY(-2px)}.pc.dragging{opacity:.4}.pc .nm{font-family:var(--f-hand);align-items:center;gap:6px;font-size:19px;font-weight:700;line-height:1.2;display:flex}.pc .sr{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pc .dt{color:var(--ink2);margin-top:6px;font-size:12px}.pc .dt .soon{color:var(--warn);font-weight:600}.pc .ft{border-top:1px dashed var(--line);color:var(--ink2);align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:12px;display:flex}.pc .ft .bar{--bc:var(--c)}.pc .st{color:var(--c);position:absolute;top:10px;right:8px}.pc .hearts{gap:5px;margin-top:8px;display:flex}.plist .r{border-top:1px dashed var(--line);cursor:pointer;grid-template-columns:8px minmax(0,1.2fr) minmax(0,1fr) 120px auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.plist .r:first-child{border-top:0}#app.m .plist .r{grid-template-columns:8px minmax(0,1fr) auto}#app.m .hide-m{display:none!important}.wsum{color:var(--muted);flex-wrap:wrap;gap:26px;margin:-6px 0 18px;font-size:12.5px;display:flex}.wsum b{font-family:var(--f-hand);color:var(--ink);font-size:26px;line-height:1.15;display:block}.wsum .warn b{color:var(--warn)}.wgrid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:24px 18px;padding-top:12px;display:grid}#app.m .wgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.wi{cursor:pointer;flex-direction:column;gap:8px;display:flex}.wi .pola .cap{color:var(--ink);font-size:13.5px}.wi .meta{justify-content:space-between;align-items:center;gap:6px;padding:0 2px;display:flex}.wi .loc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wi .used{color:var(--ink2);flex-wrap:wrap;gap:4px 8px;padding:0 2px;font-size:11.5px;display:flex}.wi .used span{align-items:center;gap:4px;display:inline-flex}.wi .care{z-index:2;position:absolute;bottom:32px;right:4px}.lgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}#app.m .lgrid{grid-template-columns:1fr}.lc{cursor:pointer;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:18px;display:grid}#app.m .lc{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:16px}.lc .nm{font-family:var(--f-hand);font-size:21px;font-weight:700;line-height:1.2}.lc .sr{color:var(--muted);margin:2px 0 8px;font-size:12px}.lc .tags{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.pov{border-top:1px dashed var(--line);color:var(--ink2);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;padding:7px 0;font-size:12.5px;display:grid}.pov b{color:var(--ink);font-weight:600}.strip{background:#fff6d6;border-radius:6px;height:12px;margin:3px 0 1px;position:relative;overflow:hidden}.strip .night{background:#4a4658;position:absolute;top:0;bottom:0}.strip .best{background:#ffcf3f;position:absolute;top:0;bottom:0}.strip.studio{background:repeating-linear-gradient(90deg,#f1eee9 0 5px,#e4e0d9 5px 6px)}.strip-scale{height:12px;color:var(--muted);font-size:9.5px;position:relative}.strip-scale span{position:absolute;transform:translate(-50%)}.sched{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}#app.m .sched{grid-template-columns:1fr;gap:6px}.cal{padding:12px 12px 8px}.cal-h{justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.cal-h b{font-family:var(--f-hand);font-size:22px}.cal-h button{background:#f3f0eb;border-radius:50%;width:30px;height:30px}.cal-g{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.cal-g .wd{font-family:var(--f-hand);color:var(--muted);text-align:center;padding-bottom:4px;font-size:12.5px}.day{cursor:pointer;background:#fbfaf7;border-radius:7px;flex-direction:column;gap:3px;min-height:76px;padding:4px;display:flex}.day:hover{background:#f4f1ec}.day .n{color:var(--ink2);padding-left:2px;font-size:12.5px}.day.out{background:0 0}.day.out .n{color:#cbc6be}.day.today .n{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-weight:600;display:inline-grid}.day.sel{box-shadow:inset 0 0 0 2px var(--ink)}.ev{font-family:var(--f-hand);color:#fff;background:var(--c);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 5px;font-size:11.5px;line-height:1.3;overflow:hidden}.ev.done{background:color-mix(in srgb,var(--c) 30%,white);color:var(--ink2)}.ev.cancelled{color:var(--muted);background:#eee;text-decoration:line-through}.ev.due{color:var(--c);border:1px dashed var(--c);background:0 0}#app.m .day{align-items:center;min-height:48px}#app.m .day.today .n{width:20px;height:20px}#app.m .day .evs{gap:2px;display:flex}#app.m .ev{border-radius:50%;width:7px;height:7px;padding:0;font-size:0}#app.m .ev.due{border-width:1.5px}.sl .r{border-top:1px dashed var(--line);cursor:pointer;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.sl .r:first-child{border-top:0}.sl .d{text-align:center;line-height:1.2}.sl .d b{font-family:var(--f-hand);color:var(--c);font-size:24px;display:block}.sl .d span{color:var(--muted);font-size:11px}.sl .t{font-family:var(--f-hand);font-size:17px;font-weight:700}.sl .s{color:var(--muted);font-size:12px}.scrim{opacity:0;pointer-events:none;z-index:40;background:#281e3240;transition:opacity .2s;position:absolute;inset:0}.scrim.on{opacity:1;pointer-events:auto}.panel{z-index:41;background:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;flex-direction:column;width:500px;max-width:100%;transition:transform .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px #281e321f}.panel.on{transform:none}#app.m .panel{width:100%}.panel-top{border-bottom:1px solid var(--line);background:#fbfaf6eb;flex:none;align-items:center;gap:6px;height:48px;padding:0 10px;display:flex}.panel-top .crumb{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.panel-top button{border-radius:7px;height:30px;padding:0 10px;font-size:13px}.panel-top button:hover{background:#efebe5}.panel-body{flex:1;padding:22px 20px 60px;overflow-y:auto}.d-head{grid-template-columns:minmax(0,1fr) 92px;align-items:start;gap:18px;margin-bottom:6px;display:grid}.d-head .ser{color:var(--muted);font-size:12.5px}.d-head h2{font-family:var(--f-hand);color:var(--c,var(--ink));margin:2px 0;font-size:32px;line-height:1.15}.d-head .s{color:var(--ink2);font-size:13px}.d-sec{margin-top:24px}.d-sec>h4{font-family:var(--f-hand);justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:17px;font-weight:700;display:flex}.d-sec>h4>button{font-family:var(--f-body);color:var(--ink2);text-underline-offset:3px;font-size:12.5px;font-weight:400;text-decoration:underline}.d-sec>h4 small{font-family:var(--f-body);color:var(--muted);font-size:12px;font-weight:400}.picker{flex-wrap:wrap;gap:6px;display:flex}.picker button{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px}.picker button:hover{border-color:var(--ink2)}.picker button.on{background:var(--c,var(--ink));color:#fff;border-color:#0000;font-weight:600}.kv{background:#fff;border-radius:10px;grid-template-columns:84px minmax(0,1fr);padding:4px 14px;display:grid;box-shadow:0 1px 2px #281e320d}.kv>*{border-bottom:1px dashed var(--line);margin:0;padding:9px 0}.kv>:nth-last-child(-n+2){border-bottom:0}.kv dt{color:var(--muted);font-size:12.5px}.kv dd{font-weight:500}.list{background:#fff;border-radius:10px;box-shadow:0 1px 2px #281e320d}.list .r{border-top:1px dashed var(--line);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.list .r:first-child{border-top:0}.list .t{font-weight:600}.list .s{color:var(--muted);font-size:12px}.list .empty{color:var(--muted);padding:14px;font-size:13px}.gal{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 10px;padding-top:8px;display:grid}.memo{background:var(--note);font-family:var(--f-hand);color:#4f4410;white-space:pre-wrap;padding:12px 14px;font-size:15px;line-height:1.7;transform:rotate(-.5deg);box-shadow:0 2px 5px #7864141f}.bagtabs{gap:6px;margin-bottom:10px;display:flex}.bagtabs button{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:13px;display:flex}.bagtabs button.on{color:#fff;border-color:#0000}.bagtabs button.on.her{background:var(--her)}.bagtabs button.on.me{background:var(--me)}.bagtabs .n{opacity:.7;font-size:12px}.chk{border-top:1px dashed var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.chk:first-child{border-top:0}.chk .box{color:#fff;border:2px solid #cfc8c0;border-radius:6px;place-items:center;width:20px;height:20px;font-size:13px;line-height:1;transition:all .15s;display:grid}.chk.on .box{background:var(--bc);border-color:var(--bc)}.chk.on .t{text-decoration:line-through;-webkit-text-decoration-color:var(--bc);text-decoration-color:var(--bc);color:var(--muted)}.chk .t{font-weight:500}.chk .s{color:var(--muted);font-size:12px}.chk .w{color:var(--warn);font-size:12px}.stepper{gap:6px;display:flex}.stepper button{border:1px solid var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:8px;flex:1;padding:8px 2px;font-size:12.5px}.stepper button.past{color:var(--ink2);background:#efece6;border-color:#0000}.stepper button.cur{background:var(--me);color:#fff;border-color:#0000;font-weight:600}.owe{background:#fff;border-radius:10px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 1px 2px #281e320d}.owe .num{font-family:var(--f-hand);color:var(--me);font-size:34px;font-weight:700;line-height:1}.owe .num small{color:var(--ink2);font-size:14px}.owe .bar{--bc:var(--me)}.path{background:#fff;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-family:ui-monospace,Menlo,monospace;font-size:12px;display:flex;box-shadow:0 1px 2px #281e320d}.path span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.thread{background:#fff;border-radius:10px;padding:12px;box-shadow:0 1px 2px #281e320d}.thread .empty{color:var(--muted);padding:2px 2px 4px;font-size:13px}.sheet-scrim{opacity:0;pointer-events:none;z-index:50;background:#281e324d;transition:opacity .2s;position:absolute;inset:0}.sheet-scrim.on{opacity:1;pointer-events:auto}.sheet{z-index:51;background:var(--paper);border-radius:18px 18px 0 0;max-height:84%;padding:10px 18px 26px;transition:transform .26s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet.on{transform:none}#app:not(.m) .sheet{opacity:0;pointer-events:none;border-radius:14px;width:440px;transition:all .18s;inset:50% auto auto 50%;transform:translate(-50%,-46%);box-shadow:0 20px 50px #281e3233}#app:not(.m) .sheet.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.grab{background:#d9d4cc;border-radius:9px;width:36px;height:4px;margin:0 auto 10px}#app:not(.m) .grab{display:none}.sheet h3{font-family:var(--f-hand);justify-content:space-between;align-items:baseline;gap:10px;margin:4px 0 12px;font-size:21px;display:flex}.sheet h3 small{font-family:var(--f-body);color:var(--muted);font-size:12px;font-weight:400}.opt{border-radius:9px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 8px;display:grid}.opt:hover{background:#f2efe9}.opt .rd{border:2px solid #cfc8c0;border-radius:50%;width:16px;height:16px}.opt.on .rd{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 38%,transparent 44%)}.opt .cb{color:#fff;border:2px solid #cfc8c0;border-radius:5px;place-items:center;width:18px;height:18px;font-size:12px;display:grid}.opt.on .cb{background:var(--ink);border-color:var(--ink)}.opt small{color:var(--muted);font-size:12px;display:block}.opt .hint{color:var(--muted);font-size:12px}.qa{grid-template-columns:1fr 1fr;gap:10px;display:grid}.qa button{border-top:4px solid var(--c);background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 2px #281e320f}.qa button:hover{transform:translateY(-1px)}.qa b{font-family:var(--f-hand);font-size:18px;display:block}.qa small{color:var(--muted);font-size:12px}.field{margin-bottom:12px;display:block}.field span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:9px;outline:none;width:100%;height:38px;padding:0 12px}.field input:focus,.field select:focus{border-color:var(--ink2)}.sheet-actions{gap:8px;margin-top:12px;display:flex}.sheet-actions .btn{flex:1;justify-content:center}.toast{background:var(--ink);color:#fff;opacity:0;z-index:60;pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:14px;padding:9px 16px;font-size:13px;transition:all .2s;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%,20px)}#app.m .toast{bottom:86px}.toast.on{opacity:1;transform:translate(-50%)}.toast .undo{color:#ffd86b;pointer-events:auto;font-weight:600}a.btn{text-decoration:none}.pola .img img{object-fit:cover;width:100%;height:100%;display:block}.pola .img.frame{aspect-ratio:16/9}.pola:has(>.img:last-child){padding-bottom:6px}.seichi{font-family:var(--f-hand);color:var(--c,var(--her));white-space:nowrap;background:#fff;border:1.5px solid;border-radius:5px;align-items:center;gap:4px;padding:0 6px;font-size:12.5px;display:inline-flex;transform:rotate(-3deg)}.src{color:var(--muted);font-size:11px;line-height:1.4}.src a{color:inherit}.lc.has-frame{grid-template-columns:150px minmax(0,1fr)}#app.m .lc.has-frame{grid-template-columns:112px minmax(0,1fr)}.lc .ep{color:var(--ink2);text-align:center;margin-top:6px;font-size:11.5px}.mapbox{background:#fff;padding:6px;position:relative;transform:rotate(-.3deg);box-shadow:0 1px 2px #281e3214,0 6px 14px #281e3214}.mapbox iframe{background:#eef0ea;border:0;width:100%;height:220px;display:block}.mapbox .tape{--c:#9fb8d8}.maprow{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.nopin{background:#fff;border:1.5px dashed #d8cfc2;border-radius:10px;padding:14px}.nopin b{font-family:var(--f-hand);font-size:16px}.nopin form{gap:8px;margin-top:10px;display:flex}.nopin input{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;min-width:0;height:34px;padding:0 10px;font-size:12.5px}.gm-hint{min-height:18px;color:var(--muted);margin-top:5px;font-size:12px;font-style:normal;display:block}.gm-hint.ok{color:var(--ok)}.gm-hint.bad{color:var(--warn)}.mapview{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:22px;display:grid}#app.m .mapview{grid-template-columns:1fr;gap:16px}#app.m .mapview>div:last-child{order:-1}#app.m .ph{flex-wrap:wrap;align-items:flex-start}.mapview .mapbox{position:sticky;top:0}.mapview .mapbox iframe{height:520px}#app.m .mapview .mapbox iframe{height:300px}.mlist{background:#fff;border-radius:10px;box-shadow:0 1px 2px #281e320d}.mlist .r{border-top:1px dashed var(--line);cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mlist .r:first-child{border-top:0}.mlist .r.on{background:#fffbe3}.mlist .t{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.mlist .s{color:var(--muted);font-size:12px}.pin{background:var(--c,#8fa58a);border-radius:50% 50% 50% 0;place-items:center;width:22px;height:22px;display:grid;transform:rotate(-45deg)}.pin i{color:#fff;font-size:11px;font-style:normal;font-weight:700;transform:rotate(45deg)}.pin.off{background:0 0;border:1.5px dashed #c9c1b5}.pin.off i{color:var(--muted)}.cmp{grid-template-columns:1fr 1fr;gap:14px;padding-top:8px;display:grid}.cmp .pola .cap{white-space:normal}.cmp .pola.add{aspect-ratio:auto;text-align:center;min-height:100%;padding:12px;line-height:1.5}#app:not(.m) .sheet.wide{width:640px}.bgm{border-radius:10px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:8px;display:grid}.bgm:hover{background:#f2efe9}.bgm .cv{aspect-ratio:3/4;background:color-mix(in srgb,var(--c,#bbb) 25%,#f2efea);border-radius:4px;width:44px;overflow:hidden}.bgm .cv img{object-fit:cover;width:100%;height:100%;display:block}.bgm b{font-family:var(--f-hand);font-size:17px}.bgm small{color:var(--muted);font-size:12px;display:block}.pts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}#app.m .pts{grid-template-columns:1fr}.pt{text-align:left;background:#fff;border:2px solid #0000;border-radius:10px;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px;padding:6px;display:grid;position:relative;box-shadow:0 1px 2px #281e320f}.pt.on{border-color:var(--c)}.pt .fr{aspect-ratio:16/9;background:#eee9e1;border-radius:5px;overflow:hidden}.pt .fr img{object-fit:cover;width:100%;height:100%;display:block}.pt .t{font-size:13px;font-weight:600;line-height:1.3}.pt .s{color:var(--muted);margin-top:2px;font-size:11.5px}.pt .cb{color:#fff;background:#fff;border:2px solid #cfc8c0;border-radius:5px;place-items:center;width:18px;height:18px;font-size:12px;display:grid;position:absolute;bottom:8px;right:8px}.pt.on .cb{background:var(--c);border-color:var(--c)}.pt.saved{opacity:.55;cursor:default}.sheet .imp-foot{background:var(--paper);border-top:1px solid var(--line);align-items:center;gap:8px;margin:12px -18px -26px;padding:12px 18px 20px;display:flex;position:sticky;bottom:-26px}.sheet .imp-foot .src{flex:1}.lr-line{color:var(--ink2);margin-top:6px;font-size:12.5px;line-height:1.5}.lr-line b{color:var(--ink);margin-right:4px;font-weight:600}.lr-line .muted{font-size:11.5px}.lr-token{word-break:break-all;-webkit-user-select:all;user-select:all}.lr-line span{white-space:nowrap}#app{height:100dvh}#app.m .tabbar{height:calc(72px + env(safe-area-inset-bottom) - 18px);padding-bottom:env(safe-area-inset-bottom)}a{color:inherit}.tab,.nav{text-decoration:none}.boot{color:var(--muted);margin:auto;font-size:18px}.top-set{color:var(--muted);border-radius:6px;margin-left:10px;padding:4px 8px;font-size:12.5px}.top-set:hover{color:var(--ink);background:#f0ede8}.hello .set{color:var(--muted);text-underline-offset:3px;font-size:12.5px;text-decoration:underline}.btn:disabled{opacity:.5;cursor:default}.btn.danger{color:#c0392b;background:#fff;border:1px solid #efc9c3}.btn.danger:hover{background:#fdf1ef}.empty-page{text-align:center;color:var(--muted);padding:28px}.login{flex:1;place-items:center;padding:24px 18px;display:grid;overflow:auto}.login-card{width:min(400px,100%);padding:34px 28px 26px}.login-card .tape{--c:#e7a3bd;width:86px;margin-left:-43px}.login-head{text-align:center}.login-head .pair{margin-bottom:8px}.login-head h1{font-size:30px;line-height:1.2}.login-sub{color:var(--muted);letter-spacing:.05em;margin-top:4px;font-size:14px}.login-q{text-align:center;color:var(--ink2);margin:24px 0 12px;font-size:16px}.login-who{grid-template-columns:1fr 1fr;gap:22px;padding:0 10px;display:grid}.login-who .pola{text-align:center;opacity:.55;filter:saturate(.5);width:100%;transition:transform .18s,opacity .18s,filter .18s;display:block}.login-who .pola:hover{opacity:.85}.login-who .pola.on{opacity:1;filter:none;transform:translateY(-4px) rotate(var(--r));box-shadow:0 2px 4px #281e3214,0 12px 24px #281e321f}.login-who .img{aspect-ratio:1;place-items:center;display:grid}.login-who .cap{color:var(--ink);padding:7px 2px 9px;font-size:14px}.login-who .stamp{color:var(--c);background:#ffffffd9;padding:11px 7px;font-size:13px;position:absolute;bottom:30px;right:-10px}.av.two{letter-spacing:-.02em;font-size:11px}.av.sm.two{font-size:9.5px}.av.lg.two{font-size:16px}.av.xl.two{font-size:22px}.av.xl{border-width:3px;width:58px;height:58px;font-size:28px;box-shadow:0 2px 8px #281e321f}.login-pw{border-bottom:1.5px dashed #d9d3ca;align-items:baseline;gap:12px;margin:28px 4px 0;padding-bottom:4px;display:flex}.login-pw:focus-within{border-bottom-color:var(--ink2)}.login-pw span{color:var(--ink2);flex:none;font-size:16px}.login-pw input{letter-spacing:.12em;background:0 0;border:0;outline:none;flex:1;min-width:0;height:34px;font-size:16px}.login-pw input::placeholder{font-family:var(--f-hand);letter-spacing:0;color:#c3beb6;font-size:14px}.login-err{color:#c0392b;margin:8px 4px 0;font-size:14px}.login-go{width:100%;height:42px;font-family:var(--f-hand);border-radius:10px;justify-content:center;margin-top:20px;font-size:16px}.field textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:9px;outline:none;width:100%;min-height:76px;padding:9px 12px;line-height:1.5}.field textarea:focus{border-color:var(--ink2)}.field input[type=color]{width:64px;padding:3px}.field.check{align-items:center;gap:8px;display:flex}.field.check span{color:var(--ink);margin:0;font-size:13px}.field.check input{width:18px;height:18px}.field .row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.swatches button{background:var(--c);width:26px;height:26px;box-shadow:0 0 0 1px var(--line);border:2px solid #fff;border-radius:50%}.swatches button.on{box-shadow:0 0 0 2px var(--ink)}.swatches input{background:0 0;border:0;width:34px;height:28px;padding:0}.form-err{color:#c0392b;margin-top:-4px;font-size:12.5px}.danger-zone{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;padding-top:14px;display:flex}.danger-zone .muted{flex:1;font-size:12px}.gal-it{padding:0;display:block}.gal-it .pola .img img{cursor:zoom-in}.viewer img{background:#eee;border-radius:6px;max-width:100%;max-height:60vh;margin:0 auto;display:block}.viewer .acts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.set-sec{margin-top:18px}.set-sec h4{font-family:var(--f-hand);margin:0 0 8px;font-size:17px}.person{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:8px;display:grid}.person input[type=text]{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;height:36px;padding:0 10px}.kit{flex-wrap:wrap;gap:6px;display:flex}.kit .k{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12.5px;display:inline-flex}.kit .k button{width:18px;height:18px;color:var(--muted);border-radius:50%;line-height:1}.kit .k button:hover{color:var(--ink);background:#f2efea}.kit form{gap:6px;display:flex}.kit form input{background:0 0;border:1px dashed #cfc9c0;border-radius:999px;width:120px;height:28px;padding:0 9px;font-size:12.5px}.stamp.st{cursor:pointer}.import-loading{text-align:center;color:var(--muted);padding:26px 8px}.import-loading b{font-family:var(--f-hand);color:var(--ink);margin-bottom:4px;font-size:17px;display:block}.search-row{gap:8px;display:flex}.search-row input{flex:1}
