:root{--chalk:#f2f3ef;--grid:#e3e5df;--paper:#fff;--ink:#1d2126;--pencil:#656b73;--line:#d9dcd4;--line-soft:#ebece7;--tape:#efd27a;--tape-edge:#e2c15c;--tape-ink:#4e4110;--dry:#95630b;--dry-bg:#fbf0d4;--rain:#2f5d82;--rain-bg:#e1ebf3;--done:#3f6c38;--done-bg:#e2eedc;--danger:#ad3726;--danger-bg:#f8e2dd;--f-display:"Bricolage Grotesque", system-ui, sans-serif;--f-body:"Atkinson Hyperlegible", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, monospace;--r:14px;--r-sm:10px;--shadow:0 1px 0 #1d21260a, 0 2px 8px -4px #1d21261f;--tab-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--chalk);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);min-height:100dvh;color:var(--ink);font:400 17px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-position:-1px -1px;background-size:28px 28px;background-attachment:fixed;margin:0}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.01em;margin:0;line-height:1.15}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.muted{color:var(--pencil)}.small{font-size:.875rem}.over{color:var(--danger)!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:18px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:6px}.main{max-width:640px;padding:calc(env(safe-area-inset-top,0px) + 20px) 16px calc(var(--tab-h) + var(--safe-b) + 96px);margin:0 auto}.page-head{margin:8px 0 20px}.page-head h1{letter-spacing:-.03em;font-size:2.4rem;font-weight:800}.eyebrow{color:var(--pencil);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.8rem;font-weight:700}.tabbar{z-index:20;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--pencil);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.tabbar a.on{color:var(--ink)}.tabbar a.on .icon{stroke-width:2.4px}.splash{place-items:center;min-height:100dvh;display:grid}.splash img{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4;transform:scale(.94)}}.tape{background:var(--tape);color:var(--tape-ink);font:700 .78rem/1.3 var(--f-display);letter-spacing:.03em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,98% 20%,100% 40%,98% 60%,100% 80%,98% 100%,0 100%,2% 80%,0 60%,2% 40%,0 20%);opacity:.95;background-image:linear-gradient(#ffffff40,#fff0 40%,#00000008);align-self:flex-start;padding:3px 14px 4px;display:inline-block;transform:rotate(-1.6deg)}.tape.big{padding:6px 20px 7px;font-size:1rem}.toolbar{flex-direction:column;gap:14px;margin-bottom:26px;display:flex}.weather-today{flex-direction:column;gap:6px;display:flex}.room-filter{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.room-filter::-webkit-scrollbar{display:none}.room-filter button{border:1px solid var(--line);background:var(--paper);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:7px 14px;font-size:.9rem}.room-filter button.on{background:var(--ink);border-color:var(--ink);color:#fff}.seg{background:var(--line-soft);border:0;border-radius:12px;gap:2px;min-width:0;margin:0;padding:4px;display:flex}.seg label{cursor:pointer;text-align:center;min-height:44px;color:var(--pencil);border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;padding:6px 8px;font-size:.95rem;font-weight:700;transition:background .15s,color .15s;display:flex;position:relative}.seg label span{align-items:center;gap:6px;display:inline-flex}.seg label.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:1px}.seg.small label{min-height:40px;padding:6px 4px;font-size:.88rem}.group{margin-bottom:32px}.group-head{margin-bottom:12px}.group-head h2{align-items:baseline;gap:8px;font-size:1.3rem;font-weight:700;display:flex}.group-head p{color:var(--pencil);font-size:.9rem}.count{color:var(--pencil);font-size:.85rem;font-weight:500}.cards{flex-direction:column;gap:12px;display:flex}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:16px 16px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .2s;display:flex;position:relative}.card .tape{margin:-2px 0 2px -4px}.card:active{transform:scale(.985)}.card-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card-title{font-size:1.15rem;font-weight:700}.prio{text-transform:uppercase;letter-spacing:.06em;color:var(--danger);border:1.5px solid;border-radius:6px;flex:none;margin-top:2px;padding:1px 6px;font-size:.72rem;font-weight:700}.card-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.card-meta:empty{display:none}.money{font-family:var(--f-mono);font-size:.88rem}.money .of{color:var(--pencil)}.card.status-in_progress{border-left:5px solid var(--tape-edge)}.card.status-done{box-shadow:none;background:0 0}.card.status-done .card-title{color:var(--pencil);text-decoration:line-through;text-decoration-thickness:1.5px}.card.dim{opacity:.55}.card.perfect{border-color:var(--ink)}.waiting,.perfect-note,.mismatch-note{align-items:center;gap:6px;font-size:.9rem;display:flex}.waiting{color:var(--pencil)}.perfect-note{color:var(--done);font-weight:700}.mismatch-note{color:var(--pencil);font-style:italic}.badge{border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.8rem;font-weight:700;display:inline-flex}.badge.dry{background:var(--dry-bg);color:var(--dry)}.badge.rain{background:var(--rain-bg);color:var(--rain)}.group-toggle{border:1px dashed var(--line);border-radius:var(--r);cursor:pointer;width:100%;color:var(--done);background:0 0;align-items:center;gap:8px;margin-bottom:12px;padding:14px 16px;font-weight:700;display:flex}.group-toggle .muted{margin-left:auto;font-weight:400}.btn{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger);border-color:var(--danger-bg);background:var(--paper)}.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}.btn.dashed{width:100%;color:var(--pencil);background:0 0;border-style:dashed}.btn.block{width:100%}.btn.small{min-height:38px;padding:6px 12px;font-size:.9rem}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:inline-grid}.icon-btn:hover{background:var(--line-soft)}.icon-btn.sm{width:36px;height:36px;color:var(--pencil)}.link-btn{color:var(--pencil);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:4px 0;text-decoration:underline}.link-btn.danger-text{color:var(--pencil);align-self:flex-start;font-size:.85rem}.link-btn.danger-text.armed{color:var(--danger);font-weight:700}.fab{z-index:15;right:max(16px,50vw - 304px);bottom:calc(var(--tab-h) + var(--safe-b) + 16px);background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;height:54px;padding:0 22px 0 18px;font-size:1rem;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 8px 24px -8px #1d21268c}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:.88rem;font-weight:700}.field-hint{color:var(--pencil);font-size:.82rem}input:not([type=radio]):not([type=file]),textarea,select{border:1px solid var(--line);background:var(--paper);appearance:none;border-radius:12px;width:100%;min-height:48px;padding:11px 14px;font-size:1rem}textarea{resize:vertical;min-height:96px;line-height:1.45}input:focus,textarea:focus,select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1d21261f}input::placeholder,textarea::placeholder{color:#9aa0a6}input[type=date]{font-family:var(--f-mono);font-size:.95rem}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23656b73' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.inline-add{gap:8px;display:flex}.inline-add .btn{flex:none}.inline-form{align-items:flex-end;gap:8px;display:flex}.inline-form .field{flex:1}.chips{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--line-soft);border-radius:10px;align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:.9rem;display:flex}.chips li span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chips button{cursor:pointer;width:34px;height:34px;color:var(--pencil);background:0 0;border:0;place-items:center;display:grid}.code-input{text-align:center;letter-spacing:.3em;font-size:1.5rem!important}.sheet-backdrop{z-index:50;background:#1d212661;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--chalk);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:94dvh;animation:.28s cubic-bezier(.2,.8,.2,1) rise;display:flex}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 8px 8px 20px;display:flex}.sheet-head h2{font-size:1.25rem;font-weight:700}.sheet-body{padding:20px 16px calc(20px + var(--safe-b));overscroll-behavior:contain;overflow-y:auto}.sheet-actions{bottom:calc(-20px - var(--safe-b));margin:6px -16px calc(-20px - var(--safe-b));padding:12px 16px calc(12px + var(--safe-b));background:var(--chalk);border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:8px;display:grid;position:sticky}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:20px;max-height:88dvh}}.topbar{justify-content:space-between;align-items:center;margin:-8px -8px 12px;display:flex}.detail-head{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.detail-head h1{letter-spacing:-.025em;font-size:2rem;font-weight:800}.desc{color:var(--pencil);white-space:pre-wrap}.notice{background:var(--paper);border:1px dashed var(--line);border-radius:12px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 14px;font-size:.92rem;display:flex}.notice .icon{flex:none;margin-top:3px}.facts{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0 0;display:grid;overflow:hidden}.facts div{background:var(--paper);min-width:0;padding:12px}.facts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--pencil);margin-bottom:4px;font-size:.75rem;font-weight:700}.facts dd{flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:.92rem;font-weight:700;display:flex}.facts dd.w-dry{color:var(--dry)}.facts dd.w-rain{color:var(--rain)}.facts dd .mono{font-size:.82rem;font-weight:500}.section{margin-top:34px}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.section-head h2{font-size:1.3rem;font-weight:700}.sub{font:700 .8rem var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--pencil);margin:16px 0 8px}.sub:first-of-type{margin-top:4px}.dep-list{flex-direction:column;margin:0 0 10px;padding:0;list-style:none;display:flex}.dep-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;min-height:48px;display:flex}.dep-list a{flex:1;font-weight:700;text-decoration:none}.dep-list li.done a{color:var(--pencil);text-decoration:line-through}.dep-dot{border:2px solid var(--ink);background:var(--paper);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.dep-list li.done .dep-dot{background:var(--done);border-color:var(--done);color:#fff}.dep-dot.later{border-style:dashed;border-color:var(--pencil);color:var(--pencil)}.dep-status{color:var(--pencil);font-size:.82rem}.dep-select{color:var(--pencil);margin-top:6px;font-weight:700}.budget-sum{grid-template-columns:1.3fr 1fr 1fr;align-items:end;gap:8px;margin-bottom:10px;display:grid}.budget-sum div{flex-direction:column;display:flex}.lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--pencil);font-size:.75rem;font-weight:700}.big{font-size:1.35rem}.huge{font-size:2.2rem;line-height:1.1}.bar{background:var(--line-soft);border-radius:99px;height:10px;overflow:hidden}.bar span{background:var(--ink);border-radius:inherit;height:100%;transition:width .4s;display:block}.bar.over span{background:var(--danger)}.expense-list{margin:14px 0 0;padding:0;list-style:none}.expense-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:8px 0;display:flex}.expense-list li>div{flex-direction:column;flex:1;min-width:0;display:flex}.expense-add{grid-template-columns:1fr 104px auto;gap:8px;margin-top:12px;display:grid}.danger-zone{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:8px;padding-top:18px;display:flex}.timeline{margin:0;padding:0;list-style:none}.timeline>li{grid-template-columns:62px 1fr;gap:12px;padding-bottom:22px;display:grid;position:relative}.timeline>li:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:0;left:74px}.timeline>li:last-child:before{bottom:16px}.tl-date{color:var(--pencil);text-align:right;padding-top:3px;font-size:.8rem}.tl-body{flex-direction:column;gap:6px;min-width:0;padding-left:18px;display:flex;position:relative}.tl-body:before{content:"";background:var(--tape);border:2px solid var(--ink);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-9px}.tl-body h4{font-size:1.05rem;font-weight:700}.tl-by{color:var(--pencil);margin-top:-4px;font-size:.82rem}.tl-note{white-space:pre-wrap}.thumbs{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.thumbs a,.thumb-ph{aspect-ratio:1;background:var(--line-soft);border-radius:10px;overflow:hidden}.thumbs img{object-fit:cover;width:100%;height:100%}.att-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.att-list a{background:var(--paper);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.92rem;text-decoration:none;display:flex;overflow:hidden}.att-list .icon{flex:none}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}.totals{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.totals-main{flex-direction:column;gap:2px;display:flex}.totals-sub{grid-template-columns:1fr 1fr;gap:12px;display:grid}.totals-sub div{flex-direction:column;display:flex}.budget-rows{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.budget-rows a{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:8px;padding:14px 16px;text-decoration:none;display:flex}.budget-rows a.is-done{background:0 0}.br-top{justify-content:space-between;gap:12px;display:flex}.br-title{font-weight:700}.br-sub{justify-content:space-between;gap:12px;display:flex}.invite{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.invite .code{letter-spacing:.25em;padding-left:.25em;font-size:2.4rem}.invite .btn{margin-top:8px}.members{margin:0;padding:0;list-style:none}.members li{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:10px 0;font-weight:700;display:flex}.avatar{background:var(--tape);width:38px;height:38px;color:var(--tape-ink);font-family:var(--f-display);border-radius:50%;place-items:center;font-weight:800;display:grid}.auth{max-width:440px;min-height:100dvh;padding:32px 16px calc(32px + var(--safe-b));flex-direction:column;justify-content:center;gap:28px;margin:0 auto;display:flex}.auth-brand{flex-direction:column;gap:12px;display:flex}.auth-brand h1{letter-spacing:-.03em;font-size:2.2rem;font-weight:800}.h-sm{font-size:1.3rem;font-weight:700}.empty{text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);flex-direction:column;align-items:center;gap:14px;padding:40px 20px;display:flex}.empty .tape{align-self:center}.empty p{max-width:32ch;color:var(--pencil)}.empty.small{text-align:left;align-items:flex-start;padding:22px 16px}.toast-wrap{z-index:80;pointer-events:none;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 12px);justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);color:#fff;border-radius:12px;max-width:520px;padding:12px 18px;font-size:.95rem;font-weight:700;animation:.25s drop;box-shadow:0 10px 30px -10px #00000080}.toast.error{background:var(--danger)}@keyframes drop{0%{opacity:0;transform:translateY(-12px)}}@media (width>=700px){.page-head h1{font-size:3rem}.cards{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page-head.with-action{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.help-btn{border:1.5px solid var(--ink);background:var(--paper);width:40px;height:40px;font:800 1.1rem var(--f-display);cursor:pointer;border-radius:50%;flex:none;margin-bottom:6px}.weather-today{margin-bottom:14px}.card.area{gap:10px}.progress-count{color:var(--pencil);padding-top:3px;font-size:.9rem}.next-up{align-items:center;gap:6px;font-size:.95rem;display:flex}.badge.active{background:var(--tape);color:var(--tape-ink)}.detail-head .eyebrow{margin-bottom:-6px}.progress{flex-direction:column;gap:6px;margin-top:4px;display:flex}.crumb{border-radius:12px;align-items:center;gap:4px;min-height:44px;padding:0 10px 0 4px;font-weight:700;text-decoration:none;display:inline-flex}.crumb:hover{background:var(--line-soft)}.hint-box{border-radius:var(--r);background:var(--paper);border:1px dashed var(--line);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.hint-box em{font-style:normal;font-weight:700}.tasks{flex-direction:column;gap:10px;display:flex}.task-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:0;padding:0;list-style:none;overflow:hidden}.task-row{border-bottom:1px solid var(--line-soft);color:var(--pencil);align-items:center;gap:4px;padding-right:10px;display:flex}.task-row:last-child{border-bottom:0}.task-row .tick{margin:0 2px 0 6px}.task-main{min-width:0;color:var(--ink);flex-direction:column;flex:1;gap:4px;padding:13px 4px;text-decoration:none;display:flex}.task-title{font-weight:700}.task-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.85rem;display:flex}.task-meta .waiting{font-size:.85rem}.task-row.done .task-title{color:var(--pencil);font-weight:400;text-decoration:line-through}.task-row.blocked .task-title{color:var(--pencil)}.tick{cursor:pointer;color:#fff;background:0 0;border:0;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.tick:before{content:"";border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:24px;height:24px;position:absolute}.tick[aria-pressed=true]:before{background:var(--done);border-color:var(--done)}.tick .icon{position:relative}.task-add{background:var(--paper);border:1px dashed var(--pencil);border-radius:var(--r);align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.task-add-plus{color:var(--pencil);display:grid}.task-add input:not([type=radio]){background:0 0;border:0;min-height:44px;padding:8px 4px;box-shadow:none!important}.form-intro{background:var(--paper);border-left:4px solid var(--tape-edge);border-radius:12px;padding:12px 14px;font-size:.95rem}.examples{flex-wrap:wrap;gap:6px;margin-top:-8px;display:flex}.examples button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.88rem}.examples button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.link-btn.left{text-align:left;align-self:flex-start;margin-top:8px;display:block}.budget-hint{margin-top:6px}.expense-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.expense-add{margin-top:0}.tl-tag{color:var(--tape-ink);background:var(--tape);border-radius:4px;align-self:flex-start;padding:1px 8px;font-size:.75rem;font-weight:700}.sheet.tour{padding:14px 20px calc(18px + var(--safe-b));gap:16px;overflow-y:auto}.tour-top{justify-content:space-between;align-items:center;display:flex}.tour-demo{border-radius:var(--r);border:1px solid var(--line);background-color:var(--chalk);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:20px 20px;place-items:center;min-height:210px;padding:18px;animation:.25s fade;display:grid}.tour-text{flex-direction:column;gap:8px;display:flex}.tour-text h2{letter-spacing:-.02em;font-size:1.45rem;font-weight:800}.tour-dots{justify-content:center;gap:6px;display:flex}.tour-dots span{background:var(--line);border-radius:50%;width:7px;height:7px;transition:width .2s}.tour-dots span.on{background:var(--ink);border-radius:99px;width:22px}.tour-actions{grid-template-columns:auto 1fr;gap:8px;display:grid}.demo{flex-direction:column;gap:8px;width:100%;max-width:300px;display:flex}.demo-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;font-size:.92rem;display:flex}.demo-card .tape{margin-left:-4px}.demo-card.ghosted{opacity:.5;padding:9px 14px}.demo-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.demo-card.demo-row{flex-direction:row}.demo-tasks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.demo-tasks li{align-items:center;gap:10px;font-weight:700;display:flex}.demo-tasks li.done{color:var(--pencil);font-weight:400;text-decoration:line-through}.demo-tasks .tick{width:20px;height:20px}.demo-tasks .tick:before{width:18px;height:18px}.demo-tasks li.done .tick:before{background:var(--done);border-color:var(--done)}.demo-dep{align-items:center;gap:10px;font-weight:700;display:flex}.demo-dep .waiting{margin-left:auto;font-size:.82rem;font-weight:400}.demo-arrow{color:var(--pencil);justify-content:start;padding-left:3px;display:grid}.demo-thumbs{grid-template-columns:repeat(3,48px);gap:6px;display:grid}.demo-thumbs span{background:linear-gradient(135deg,#d9cbb0,#b9a57f);border-radius:8px;height:48px}.demo-thumbs span:nth-child(2){background:linear-gradient(135deg,#c9d2d6,#8fa3ad)}.demo-thumbs span.link{background:var(--line-soft);color:var(--pencil);place-items:center;display:grid}.invite-demo{text-align:center;align-items:center}.invite-demo .mono{letter-spacing:.25em;padding-left:.25em;font-size:1.8rem}.main.wide{max-width:1200px}.tabbar a span{font-size:.7rem}.board-hint{margin:4px 0 12px}.main.wide .room-filter{margin-bottom:14px}.board{scroll-snap-type:x mandatory;align-items:flex-start;gap:12px;margin:0 -16px;padding:2px 16px 16px;scroll-padding:0 16px;display:flex;overflow-x:auto}.column{scroll-snap-align:start;border-radius:var(--r);background:#e3e5dfb3;border:2px solid #0000;flex-direction:column;flex:0 0 min(84%,320px);max-height:calc(100dvh - 250px);padding:10px;transition:border-color .15s,background .15s;display:flex}.column.drop{border-color:var(--ink);background:#efd27a40}.column-head{align-items:baseline;gap:8px;padding:4px 6px 10px;font-size:1.05rem;font-weight:700;display:flex}.column-head:before{content:"";background:var(--pencil);border-radius:50%;align-self:center;width:10px;height:10px}.col-planned .column-head:before{background:var(--ink)}.col-in_progress .column-head:before{background:var(--tape-edge)}.col-done .column-head:before{background:var(--done)}.column-body{flex-direction:column;gap:8px;min-height:60px;display:flex;overflow-y:auto}.column-empty{color:var(--pencil);text-align:center;border:1px dashed var(--line);border-radius:10px;padding:14px 6px;font-size:.88rem}.bcard{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);cursor:grab;border-radius:12px;transition:opacity .15s,transform .15s}.bcard.dragging{opacity:.4;transform:rotate(-1.5deg)}.bcard.blocked .bcard-title{color:var(--pencil)}.col-done .bcard{box-shadow:none;background:0 0}.col-done .bcard-title{color:var(--pencil);font-weight:400;text-decoration:line-through}.col-in_progress .bcard{border-left:4px solid var(--tape-edge)}.bcard-main{flex-direction:column;gap:6px;padding:12px 12px 8px;text-decoration:none;display:flex}.bcard-main .tape{margin-left:-3px;padding:2px 10px 3px;font-size:.68rem}.bcard-title{font-weight:700;line-height:1.3}.bcard-move{border-top:1px solid var(--line-soft);justify-content:space-between;display:flex}.bcard-move button{min-height:38px;color:var(--pencil);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.bcard-move button:hover{color:var(--ink)}@media (width>=900px){.board{grid-template-columns:repeat(4,1fr);margin:0;padding:0 0 16px;display:grid;overflow:visible}.column{max-height:none}}.tl-controls{align-items:center;gap:10px;margin-bottom:12px;display:flex}.tl-controls .seg{flex:0 240px}.gantt{--label:132px;--row:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);margin:0 -16px;overflow:auto hidden}@media (width>=700px){.gantt{--label:200px;border:1px solid var(--line);border-radius:var(--r);margin:0}}.g-inner{position:relative}.g-row{height:var(--row);display:flex}.g-label{z-index:3;width:var(--label);background:var(--paper);border-right:1px solid var(--line);flex:none;align-items:center;gap:4px;min-width:0;padding:0 8px 0 12px;font-size:.85rem;text-decoration:none;display:flex;position:sticky;left:0}.g-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-row.project{border-top:1px solid var(--line)}.g-row.project .g-label{font-weight:800;font-family:var(--f-display);font-size:.92rem}.g-row.task .g-label{color:var(--ink);padding-left:22px}.g-row.task .g-label .icon{color:var(--pencil);flex:none}.g-track{flex:none;position:relative}.g-header{z-index:4;background:var(--paper);border-bottom:1px solid var(--line);height:44px;position:sticky;top:0}.g-header .g-label{z-index:5}.g-month{border-left:1px solid var(--ink);font:700 .75rem var(--f-body);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding-left:6px;position:absolute;top:5px}.g-week{color:var(--pencil);padding-left:3px;font-size:.68rem;position:absolute;bottom:4px}.g-body{position:relative}.g-grid{pointer-events:none;position:absolute;top:0;bottom:0}.g-grid span{background:var(--line-soft);width:1px;position:absolute;top:0;bottom:0}.g-today{background:var(--danger);z-index:2;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.g-today:before{content:"I dag";font:700 .62rem var(--f-body);color:var(--danger);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;position:absolute;top:2px;left:4px}.g-bar{cursor:pointer;z-index:1;border:1.5px solid var(--ink);background:var(--ink);color:#fff;border-radius:6px;justify-content:flex-end;align-items:center;height:22px;padding:0;display:flex;position:absolute;top:9px;overflow:hidden}.g-bar .icon{flex:none;margin-right:4px}.g-bar.s-idea{background:var(--line);color:var(--ink);border-color:#b9bdb5}.g-bar.s-planned{background:var(--ink)}.g-bar.s-in_progress{background:var(--tape);border-color:var(--tape-edge);color:var(--tape-ink)}.g-bar.s-done{background:var(--done-bg);border-color:var(--done);color:var(--done)}.g-bar.est{background-image:repeating-linear-gradient(-45deg,#ffffff8c 0 4px,#0000 4px 8px);border-style:dashed}.g-bar.conflict{box-shadow:0 0 0 2px var(--danger)}.g-row.project .g-bar{background:var(--line);background-image:none;border:0;border-radius:3px;justify-content:flex-start;height:12px;top:14px}.g-fill{background:var(--ink);height:100%;display:block}.g-legend{color:var(--pencil);flex-wrap:wrap;gap:8px 16px;margin:14px 0 6px;padding:0;list-style:none;display:flex}.g-legend li{align-items:center;gap:6px;display:flex}.sw{border:1.5px solid var(--ink);background:var(--ink);border-radius:3px;width:22px;height:12px}.sw.s-in_progress{background:var(--tape);border-color:var(--tape-edge)}.sw.s-done{background:var(--done-bg);border-color:var(--done)}.sw.est{background:var(--paper);background-image:repeating-linear-gradient(-45deg, var(--line) 0 3px, transparent 3px 6px);border-style:dashed}.sw.conflict{background:var(--paper);box-shadow:0 0 0 2px var(--danger);border-color:#0000}.tl-note{max-width:60ch}.col-jump{scrollbar-width:none;gap:6px;margin-bottom:10px;display:flex;overflow-x:auto}.col-jump button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;flex:none;align-items:baseline;gap:6px;padding:7px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.col-jump .mono{color:var(--pencil);font-size:.8rem;font-weight:500}@media (width>=900px){.col-jump{display:none}}.task-toggles{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.task-toggles .weather-today{margin-bottom:0}.seg-count{color:var(--pencil);margin-left:2px;font-size:.78rem;font-weight:500}.badge.idea{background:var(--line-soft);color:var(--pencil)}.tape{background-color:var(--pc,var(--tape));color:var(--pc-ink,var(--tape-ink))}.dot{background:var(--pc,var(--tape));border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1.5px #0000001f}.with-dot{align-items:center;gap:8px;display:inline-flex}.card-title.with-dot{display:flex}.card-title .dot{width:14px;height:14px}.room-filter button.with-dot{gap:7px}.room-filter button.on .dot{box-shadow:0 0 0 2px #fff}.detail-head .eyebrow.with-dot{display:inline-flex}.g-row.task .g-label{box-shadow:inset 4px 0 0 var(--pc)}.g-row.project .g-label{gap:8px}.g-row.project .g-bar{background:var(--pc)}.g-row.project .g-fill{background:var(--pc-ink)}.swatches{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;display:flex}.swatches legend{margin-bottom:8px;padding:0}.swatches label{cursor:pointer;background:var(--pc);border-radius:50%;width:36px;height:36px;position:relative;box-shadow:inset 0 0 0 1.5px #0000001f}.swatches label.on{box-shadow:0 0 0 3px var(--chalk), 0 0 0 5px var(--ink)}.swatches input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.swatches label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:4px}.swatch-preview{margin-left:6px}.hh-switch{cursor:pointer;color:var(--pencil);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;margin:0 0 4px -8px;padding:4px 8px;font-size:.8rem;font-weight:700;display:inline-flex}.hh-switch:hover{background:var(--line-soft);color:var(--ink)}.hh-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hh-list button{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;display:flex}.hh-list button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.hh-name{flex:1;font-weight:700}.hh-list.compact{margin-bottom:10px}
