@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_c621a5{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_c621a5{--font-display:"Fredoka","Fredoka Fallback"}:root{--paper:#fbf7ec;--paper-line:rgba(54,66,92,0.08);--card:#ffffff;--ink:#211f1a;--dim:#8d8675;--edge:#1a1a1a;--blue:#a9c7f0;--yellow:#fbd96b;--coral:#f4a0ae;--mint:#a7d9b4;--lav:#c6b8f2;--peach:#f6c79a;--green:#57b368;--red:#ef6d7a;--amber:#e0a53a;--accent:var(--blue);--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--display:var(--font-display),"Trebuchet MS",system-ui,sans-serif;--touch:44px;--radius:16px;--bw:2.5px;--shadow:4px 4px 0 var(--edge);--shadow-sm:3px 3px 0 var(--edge)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;color:var(--ink);font:15px/1.45 var(--display);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}body{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background-color:var(--paper);background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}input,select{font:inherit;color:var(--ink);background:var(--card);border:var(--bw) solid var(--edge);border-radius:12px;padding:10px 12px;min-height:var(--touch)}input:focus,select:focus{outline:none;box-shadow:var(--shadow-sm)}.wrap{max-width:760px;margin:0 auto;padding:16px 14px 140px}.board-grid{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;align-items:start}.board-grid .area{margin-bottom:0}@media (min-width:880px){.board-grid{grid-template-columns:1fr 1fr}.appbar,.wrap{max-width:1100px}}@media (min-width:1320px){.board-grid{grid-template-columns:1fr 1fr 1fr}.appbar,.wrap{max-width:1500px}}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:linear-gradient(var(--paper) 72%,rgba(251,247,236,0));padding:calc(env(safe-area-inset-top) + 12px) 14px 10px;max-width:760px;margin:0 auto}.appbar-row{display:flex;align-items:center;gap:10px}.apptitle{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:.2px;flex:1 1;color:var(--ink)}.topnum{font-size:12px;color:var(--dim);margin-top:3px;font-weight:500}.topnum b{color:var(--ink);font-weight:700}.iconbtn{min-width:var(--touch);min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:var(--bw) solid var(--edge);background:var(--card);box-shadow:var(--shadow-sm);font-size:17px}.iconbtn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--edge)}.demo-banner{background:var(--yellow);letter-spacing:.4px}.demo-banner,.offline-banner{border:var(--bw) solid var(--edge);color:var(--ink);border-radius:12px;box-shadow:var(--shadow-sm);padding:9px 12px;font-size:12px;font-weight:700;margin:10px 2px;text-align:center}.offline-banner{background:var(--coral)}.refreshline{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim);margin:6px 2px 2px;font-weight:500}.spin{animation:spin .9s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.viewtoggle{display:inline-flex;border:var(--bw) solid var(--edge);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--card)}.viewtoggle button{padding:8px 13px;font-size:12px;font-weight:600;color:var(--dim);min-height:36px}.viewtoggle button.on{background:var(--ink);color:var(--paper)}.area{background:var(--card);border:var(--bw) solid var(--edge);border-radius:var(--radius);margin-bottom:18px;box-shadow:var(--shadow);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.area.drop-active{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--edge)}.area-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--area-color,var(--blue));border-bottom:var(--bw) solid var(--edge)}.area-emoji{font-size:19px}.area-name{font-family:var(--display);font-size:16px;flex:1 1}.area-count,.area-name{font-weight:700;color:var(--ink)}.area-count{font-size:12px;background:var(--card);border:2px solid var(--edge);border-radius:20px;padding:2px 9px}.area[data-area=ca]{--area-color:var(--blue)}.area[data-area=ama]{--area-color:var(--lav)}.area[data-area=finances]{--area-color:var(--mint)}.area[data-area=tech]{--area-color:var(--coral)}.area[data-area=home]{--area-color:var(--yellow)}.area[data-area=other]{--area-color:var(--peach)}.bar{position:relative;height:16px;background:var(--paper);border:2px solid var(--edge);border-radius:20px;overflow:hidden;margin:12px 14px 6px}.fill{height:100%;background:var(--area-color,var(--green));transition:width .3s ease}.bartxt{position:absolute;inset:0;font-size:10px;font-weight:700;line-height:13px;text-align:right;padding-right:8px;color:var(--ink);pointer-events:none}ul.tasks{list-style:none;margin:0;padding:2px 0 8px}li.empty{color:var(--dim);font-style:italic;padding:8px 16px 12px;font-size:13px}.trow{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-top:1.5px solid rgba(26,26,26,.1);min-height:var(--touch);touch-action:manipulation;transition:opacity .25s ease,background .12s;background:var(--card)}.trow:first-child{border-top:none}.trow:active{background:#fbf9f3}.trow.completing{opacity:0}.trow.done .tt{color:var(--dim);text-decoration:line-through}.trow .grip{color:#c4bdac;font-size:16px;width:20px;text-align:center;cursor:-webkit-grab;cursor:grab;touch-action:none;align-self:stretch;display:flex}.circle,.trow .grip{align-items:center;justify-content:center}.circle{position:relative;min-width:var(--touch);min-height:var(--touch);display:inline-flex;font-size:0;flex-shrink:0}.circle:before{content:"";width:25px;height:25px;border-radius:50%;border:var(--bw) solid var(--edge);background:var(--card);box-shadow:2px 2px 0 var(--edge);transition:background .12s,box-shadow .12s}.circle:active:before{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--edge)}.circle.checked:before{background:var(--green)}.circle.checked:after{content:"✓";position:absolute;font-size:15px;font-weight:800;color:var(--edge);line-height:1}.tmeta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:4px 0}.tt{font-size:14px;font-weight:500;line-height:1.3;word-break:break-word}.tsub{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tid{font:10px var(--mono)}.tid,.who{color:var(--dim)}.who{font-size:10px;font-weight:600}.who:before{content:"👤 "}.prio-high{color:#d6485a}.badge,.prio-high{font-size:10px;font-weight:700}.badge{padding:1px 8px;border-radius:20px;border:1.5px solid var(--edge);white-space:nowrap;color:var(--ink)}.badge.over{background:var(--coral)}.badge.due{background:var(--yellow)}.rowmenu{min-width:var(--touch);min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;color:var(--dim);font-size:19px;flex-shrink:0}.drag-overlay{background:var(--card);border:var(--bw) solid var(--edge);border-radius:12px;padding:10px 14px;box-shadow:5px 5px 0 var(--edge);font-size:14px;font-weight:600;max-width:320px;transform:rotate(-2deg)}.trow.dragging{opacity:.35}.fab{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 18px);width:62px;height:62px;border-radius:50%;background:var(--coral);border:var(--bw) solid var(--edge);color:var(--edge);font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:40}.fab:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--edge)}.sheet-backdrop{position:fixed;inset:0;background:rgba(26,26,26,.4);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);border:var(--bw) solid var(--edge);border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:760px;padding:20px 16px calc(env(safe-area-inset-bottom) + 20px);box-shadow:0 -6px 0 rgba(26,26,26,.08);animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(24px);opacity:.6}}.sheet h3{font-family:var(--display);margin:0 0 16px;font-size:19px;font-weight:700}.field{margin-bottom:12px}.field label{display:block;font-size:11px;color:var(--dim);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.field input,.field select{width:100%}.row2{display:flex;gap:10px}.row2>*{flex:1 1}.sheet-actions{display:flex;gap:12px;margin-top:14px}.btn{flex:1 1;min-height:var(--touch);border-radius:12px;border:var(--bw) solid var(--edge);box-shadow:var(--shadow-sm);font-weight:700;font-size:14px;font-family:var(--display)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--edge)}.btn.primary{background:var(--blue);color:var(--ink)}.btn.ghost{background:var(--card);color:var(--ink)}.btn.danger{background:var(--coral);color:var(--ink)}.toast{position:fixed;right:16px;top:50%;transform:translateY(-50%);background:var(--card);border:var(--bw) solid var(--edge);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;align-items:stretch;gap:10px;z-index:45;box-shadow:var(--shadow);font-size:13px;font-weight:600;width:168px;max-width:46vw;text-align:center;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translateY(-50%) translateX(24px);opacity:0}}.toast button{background:var(--yellow);border:var(--bw) solid var(--edge);border-radius:10px;box-shadow:var(--shadow-sm);color:var(--ink);font-weight:700;font-family:var(--display);min-height:40px;padding:0 6px}.toast button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--edge)}.gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.gate .glyph{font-size:52px}.gate h1{font-family:var(--display);margin:0;font-size:26px;font-weight:700}.gate p{color:var(--dim);font-size:13px;margin:0;text-align:center}.gate form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.gate input{text-align:center;font-size:20px;letter-spacing:4px}.gate .err{color:var(--red);font-size:13px;text-align:center}.menu-pop{position:fixed;inset:0;z-index:50;background:rgba(26,26,26,.4);display:flex;align-items:flex-end;justify-content:center}.menu-card{background:var(--card);border:var(--bw) solid var(--edge);border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:760px;padding:16px 16px calc(env(safe-area-inset-bottom) + 18px);animation:rise .18s ease-out}.menu-card .mtitle{font-size:13px;font-weight:600;color:var(--dim);margin-bottom:12px;word-break:break-word}.menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:var(--touch);padding:11px 4px;border-top:1.5px solid rgba(26,26,26,.1);font-size:15px;font-weight:500}.menu-item.danger{color:#d6485a}