:root{--cream:#faf8f5;--paper:#fffdfa;--ink:#343b44;--muted:#6e6b68;--sage:#6e8b6b;--sage-dark:#486144;--sage-light:#edf1e9;--clay:#c2683f;--line:#e5e5dc;--radius:20px;--shadow:0 5px 25px #343b2510;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream);font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4a7b9d;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(30px,3.6vw,44px)}h2{font-size:28px}h3{font-size:15px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--muted)}.app{display:grid;grid-template-columns:228px 1fr;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:33px 20px 22px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#f1f2ea}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 35px}.brand-mark{font:36px Georgia,serif;color:var(--sage-dark);width:48px;height:48px;background:var(--sage-light);border:1px solid #c7d0bf;border-radius:17px;display:flex;align-items:center;justify-content:center;letter-spacing:-5px;padding-right:5px}.brand-mark span{color:var(--clay)}.brand-name{font:21px/1.05 Georgia,serif;letter-spacing:-.04em}.brand-name span{font-size:13px;color:var(--muted);font-family:inherit}.nav-label{padding:0 15px 12px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{border:0;background:transparent;color:#687162;display:flex;align-items:center;text-align:left;gap:13px;padding:14px;border-radius:12px;font-weight:550;min-height:48px}.nav button.active{background:#dfe6d7;color:#3f563d}.nav button:hover{background:#e5eade}.nav svg{width:20px;height:20px}.badge{margin-left:auto;font-size:11px;background:var(--clay);color:white;border-radius:20px;padding:2px 7px}.sidebar-bottom{margin-top:auto}.little-note{border-top:1px solid #dce0d3;padding:23px 12px;font:italic 18px/1.45 Georgia,serif;color:#75816c}.user-chip{display:flex;align-items:center;gap:10px;background:#e7ebdf;border-radius:14px;padding:12px}.avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%;height:34px;width:34px;background:var(--sage-light);color:var(--sage-dark);font-size:12px;font-weight:650;border:2px solid var(--paper)}.user-chip .avatar{background:var(--sage);color:white}.user-chip .small{font-size:11px;margin-top:3px}.user-chip button{margin-left:auto;background:none;border:0;padding:6px;color:var(--sage-dark)}.main{min-width:0;padding:36px clamp(22px,4vw,65px) 40px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px}.topbar .date{font-size:12px;letter-spacing:.02em}.topbar-right{display:flex;gap:14px;align-items:center}.sync{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;background:#7b9365}.page-heading{display:flex;gap:15px;align-items:end;justify-content:space-between;margin:8px 0 25px}.page-heading p{color:var(--muted);margin-top:10px;line-height:1.6}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:43px;border-radius:11px;border:1px solid var(--line);padding:11px 16px;background:var(--paper);color:var(--ink);font-weight:550;font-size:13px;text-decoration:none;white-space:nowrap}.btn svg{width:16px;height:16px}.btn.primary{background:var(--sage-dark);color:white;border-color:var(--sage-dark)}.btn.light{border-color:#ffffff50;background:#ffffff17;color:white}.btn.ghost{background:transparent;border-color:transparent;padding:8px}.btn.danger{color:#9c4634;border-color:#e5c6bd}.btn:hover{filter:brightness(.97)}.icon-button{background:transparent;border:0;color:var(--muted);padding:9px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px}.icon-button svg{height:18px;width:18px}.icon-button:hover{background:var(--sage-light)}.hero{position:relative;overflow:hidden;background:var(--sage);color:#fffdf7;border-radius:23px;display:flex;align-items:center;justify-content:space-between;min-height:183px;padding:30px 34px;margin-bottom:25px}.hero .eyebrow{color:#e2e9d9}.hero h2{font-size:clamp(29px,3vw,38px);margin:13px 0 10px}.hero p{font-size:13px;line-height:1.7;max-width:420px;color:#f0f3e9}.hero-art{width:170px;height:135px;position:relative;flex:none;margin-right:17px}.sun{position:absolute;top:14px;left:40px;width:80px;height:80px;border:1px solid #e4e8c58c;border-radius:50%}.sun:before{content:'';position:absolute;inset:10px;border:1px solid #e4e8c550;border-radius:50%}.hero-art .arch{position:absolute;bottom:0;width:54px;height:80px;border:1px solid #eef1d77a;border-radius:40px 40px 0 0;transform:rotate(-10deg);left:18px}.hero-art .arch.two{left:85px;bottom:0;transform:rotate(12deg);height:103px;width:65px}.spark{position:absolute;color:#e7dec1;font:36px Georgia;right:-7px;top:7px}.stats{display:flex;gap:27px;margin-top:20px}.stat span{display:block;font:25px Georgia,serif}.stat small{font-size:10px;color:#edf0e7}.grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:24px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;gap:12px}.card-head h2{font-size:25px}.card-head .sub{color:var(--muted);font-size:11px;margin-top:6px}.card-body{padding:0 24px 23px}.stack{display:flex;flex-direction:column;gap:24px}.day-tabs{display:flex;gap:5px;background:#f1f2eb;border-radius:11px;padding:4px;margin:0 24px 12px}.day-tabs button{flex:1;border:0;border-radius:8px;background:transparent;padding:9px;font-size:12px;color:var(--muted)}.day-tabs button.active{background:var(--paper);box-shadow:0 1px 4px #0000000d;color:var(--ink);font-weight:650}.event-list{max-height:436px;overflow:auto}.event{padding:16px 0;display:flex;gap:16px;border-bottom:1px solid #ecece5;align-items:flex-start}.event:last-child{border-bottom:0}.event-time{width:58px;flex:none;font-size:12px;color:var(--muted);padding-top:2px;line-height:1.6}.event-main{border-left:3px solid var(--sage);padding-left:13px;flex:1;min-width:0}.event-title{font-size:13px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}.event-meta{font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}.pills{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.pill{border-radius:20px;background:#eef0e6;padding:3px 8px;font-size:10px;color:var(--sage-dark)}.task{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #ecece5}.task:last-child{border:0}.check{border:1.5px solid #c8cdbf;min-width:22px;width:22px;height:22px;min-height:22px;border-radius:7px;background:white;display:flex;justify-content:center;align-items:center;padding:2px;color:var(--sage-dark)}.check svg{width:15px}.check.done{background:var(--sage-light);border-color:var(--sage)}.task-content{flex:1;min-width:0}.task-title{font-size:13px;font-weight:550;line-height:1.6}.task.done .task-title{text-decoration:line-through;color:#89907f}.task-meta{font-size:10px;margin-top:4px;color:var(--muted)}.pending-tag{font-size:10px;color:#976747;background:#f5eadd;padding:3px 6px;border-radius:6px;display:inline-block}.message-peek{padding:15px;background:#f3f2e9;border-radius:13px;line-height:1.6;font-size:12px;overflow-wrap:anywhere}.message-peek .sender{font-size:11px;font-weight:650;margin-bottom:5px;display:flex;justify-content:space-between}.empty{text-align:center;padding:31px 12px;color:var(--muted);font-size:13px;line-height:1.7}.empty svg{display:block;margin:0 auto 12px;width:32px;height:32px;color:#9aa58b}.empty strong{display:block;color:var(--ink);font-size:14px;font-weight:550;margin-bottom:5px}.empty .btn{margin-top:15px}.footer{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding-top:17px;font-size:10px;color:var(--muted)}.status-banner{background:#f6eadc;color:#795934;border:1px solid #e8d2b8;padding:13px 18px;border-radius:12px;font-size:12px;margin-bottom:20px;line-height:1.6}.month-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px}.month-controls{display:flex;gap:8px;align-items:center}.month-title{font:24px Georgia,serif;min-width:135px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week div{text-align:center;padding:13px 0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.calendar-grid{border-top:1px solid var(--line)}.cal-day{border:0;border-right:1px solid #ededdf;border-bottom:1px solid #ededdf;min-height:96px;padding:12px 9px;text-align:left;background:var(--paper);font-size:12px;position:relative;display:flex;flex-direction:column;gap:5px}.cal-day:nth-child(7n){border-right:0}.cal-day.muted-day{color:#a8ad9f;background:#fafaf4}.cal-day.selected{background:#e9efdf;box-shadow:inset 0 0 0 1.5px #829274}.cal-day.today .day-num{background:var(--sage-dark);color:white;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;margin:-5px}.cal-event{font-size:9px;background:#ece9da;color:#555e49;padding:4px 5px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.filter{border:1px solid var(--line);border-radius:30px;padding:7px 13px;background:var(--paper);color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px;min-height:36px}.filter.active{border-color:var(--sage);color:var(--sage-dark);background:var(--sage-light)}.filter .dot{width:7px;height:7px}.chat-card{display:flex;flex-direction:column;min-height:570px;height:calc(100dvh - 240px);max-height:850px}.chat-top{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.chat-top h2{font-size:25px}.chat-messages{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.chat-message{display:flex;gap:10px;max-width:85%;align-self:flex-start}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}.bubble{background:#f0f1e9;padding:12px 16px;border-radius:0 16px 16px 16px;line-height:1.6;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;min-width:100px}.mine .bubble{background:#dfe8d4;border-radius:16px 0 16px 16px}.chat-name{font-size:10px;color:var(--muted);margin-bottom:5px}.chat-time{font-size:9px;color:var(--muted);text-align:right;margin-top:6px}.chat-form{display:flex;gap:10px;border-top:1px solid var(--line);padding:18px 23px;background:#fbfbf6}.chat-form textarea{flex:1;resize:none;background:var(--paper);min-height:45px;max-height:140px;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px}.board-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.task-count{font-size:12px;color:var(--muted)}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.member-card{padding:25px;text-align:center}.member-card .avatar{width:65px;height:65px;font-size:23px;margin-bottom:13px}.member-card h2{font-size:24px;margin-bottom:6px}.member-card .btn{margin-top:15px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid .card-body{padding:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.form-group label{font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #dce0d4;border-radius:10px;background:#fffefa;padding:12px;color:var(--ink);width:100%;min-height:44px}.form-group textarea{resize:vertical;min-height:80px}.form-group small{font-size:11px;color:var(--muted);line-height:1.6}.form-error{font-size:12px;color:#9d4837;line-height:1.7;padding:10px 0;white-space:pre-wrap}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.checkboxes{display:flex;gap:10px;flex-wrap:wrap}.checkboxes label{background:var(--sage-light);padding:9px 12px;border-radius:10px;display:flex;align-items:center;gap:7px;font-size:12px}.checkboxes input{width:16px;height:16px;accent-color:var(--sage-dark)}dialog{border:1px solid var(--line);border-radius:22px;padding:0;max-width:520px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #27301e36}dialog::backdrop{background:#28332170;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 12px}.modal-head h2{font-size:29px}.modal-content{padding:5px 26px 26px;overflow:auto}.modal-intro{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:20px}.detail-text{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--sage);color:#fffdf7;padding:clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story .brand-mark{background:#ffffff15;border-color:#ffffff30;color:white;width:65px;height:65px;font-size:47px;margin-bottom:40px}.login-story h1{font-size:clamp(40px,5vw,66px);line-height:1.1;max-width:500px}.login-story p{font-size:15px;line-height:1.9;max-width:400px;color:#e8eddf;margin-top:25px}.login-story .eyebrow{color:#e2e9d9;margin-bottom:20px}.login-bottom{font:italic 19px Georgia,serif;color:#e1e7d7;margin-top:50px}.login-form-wrap{padding:40px;display:flex;align-items:center;justify-content:center}.login-form{width:100%;max-width:360px}.login-form h2{font-size:35px;margin-bottom:13px}.login-form p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:28px}.login-form .btn{width:100%;margin-top:8px}.login-form .small{margin-top:24px;font-size:11px;line-height:1.8;color:var(--muted)}.boot{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;min-height:100dvh}.boot h1{font-size:38px}.boot p{font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(150%);background:var(--ink);color:#fffefa;padding:14px 23px;border-radius:13px;font-size:13px;box-shadow:var(--shadow);z-index:100;max-width:90vw;transition:transform .2s;pointer-events:none}#toast.show{transform:translateX(-50%) translateY(0)}.info{background:#eef0e6;border-radius:12px;padding:15px;font-size:12px;line-height:1.8;color:#596350}.note{font:italic 19px/1.6 Georgia,serif;color:#7c8771}.initials{letter-spacing:.03em}.count-label{border:1px solid var(--line);border-radius:7px;padding:4px 8px;font-size:10px;color:var(--muted)}.invitation{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.mobile-brand{display:none}.month-agenda-title{font-size:22px}.today-actions{display:flex;align-items:center;gap:8px}.day-subheading{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:16px 0 6px}.loading-bar{height:3px;background:linear-gradient(90deg,var(--sage-light),var(--sage),var(--sage-light));animation:pulse 1s infinite;border-radius:2px}.task-list-page .card-body{padding-top:5px}.welcome{max-width:600px;margin:35px auto}.welcome .card-body{padding-top:26px}code{word-break:break-all;font-size:12px}.credential{background:#e7edde;padding:15px;border-radius:12px;line-height:1.8;font-size:12px;overflow-wrap:anywhere}svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}@keyframes pulse{50%{opacity:.4}}@media(min-width:1500px){.main{padding-top:40px}}@media(max-width:1100px){.app{grid-template-columns:190px 1fr}.sidebar{padding:28px 12px}.brand{gap:8px}.brand-name{font-size:18px}.main{padding:27px 25px}.grid,.month-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(245px,.85fr)}.hero{padding:27px}.hero-art{width:120px;margin:0}.cal-day{min-height:80px;padding:10px 6px}.cal-event{font-size:8px}}@media(max-width:820px){.app{display:block}.sidebar{height:auto;width:100%;position:fixed;bottom:0;top:auto;z-index:15;border-right:0;border-top:1px solid var(--line);background:#f9faf3f5;backdrop-filter:blur(15px);padding:5px 8px max(5px,env(safe-area-inset-bottom));display:block}.brand,.nav-label,.sidebar-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;gap:2px}.nav button{flex-direction:column;gap:4px;font-size:9px;padding:8px 5px;min-height:53px;flex:1;position:relative;border-radius:10px}.nav svg{width:19px;height:19px}.nav .badge{position:absolute;top:3px;right:10px;font-size:8px;padding:1px 4px}.main{padding:22px 21px 105px}.topbar{padding-bottom:20px}.topbar .eyebrow{display:none}.topbar .date{font-size:10px}.mobile-brand{display:block;font:22px Georgia,serif;letter-spacing:-.05em}.topbar-right{gap:8px}.sync{font-size:9px}.grid{grid-template-columns:1.1fr 1fr;gap:18px}.card-head{padding:19px 19px 13px}.card-body{padding:0 19px 20px}.day-tabs{margin:0 19px 10px}.hero{min-height:167px}.hero-art{width:110px;opacity:.7}.month-layout{grid-template-columns:1fr}.month-layout>.card:last-child{min-height:200px}.settings-grid{grid-template-columns:1fr}.login-story{padding:50px 30px}.login-form-wrap{padding:30px}.page-heading{margin:5px 0 22px}}@media(max-width:570px){.grid{grid-template-columns:1fr}.page-heading{align-items:center;gap:10px}h1{font-size:33px}.page-heading p{font-size:12px;max-width:240px}.page-heading .btn{padding:10px 12px;font-size:11px}.hero{padding:25px;min-height:200px}.hero h2{max-width:240px;font-size:30px}.hero p{max-width:220px;font-size:12px}.hero-art{position:absolute;right:4px;bottom:21px;width:100px;transform:scale(.8);opacity:.55;pointer-events:none}.hero .stats{gap:22px}.topbar .date{display:none}.main{padding:21px 17px 100px}.event-time{width:51px}.event{gap:9px;padding:15px 0}.footer{font-size:9px;gap:8px}.footer span:last-child{text-align:right}.cal-day{min-height:64px;padding:9px 5px;font-size:11px}.cal-event{height:5px;padding:0;margin-top:4px;font-size:0;background:#9fae90;max-width:20px;border-radius:4px}.calendar-week div{font-size:8px}.month-title{font-size:23px;min-width:120px}.month-controls{gap:2px}.month-layout .card-head{padding:15px}.chat-card{height:calc(100dvh - 250px);min-height:420px}.chat-messages{padding:18px 14px}.chat-message{max-width:94%}.chat-message .avatar{width:28px;height:28px;font-size:10px}.chat-form{padding:12px}.chat-form .btn{padding:10px 12px}.login{display:flex;flex-direction:column}.login-story{padding:30px 27px}.login-story .brand-mark{display:none}.login-story h1{font-size:34px;max-width:300px}.login-story p{font-size:12px;margin-top:12px;max-width:320px}.login-story .eyebrow{font-size:9px;margin-bottom:12px}.login-bottom{display:none}.login-form-wrap{padding:35px 27px;flex:1}.login-form h2{font-size:30px}.form-row{grid-template-columns:1fr}.member-grid{grid-template-columns:1fr 1fr}.member-card{padding:23px 12px}.member-card .btn{font-size:11px;padding:9px}.hero .eyebrow{font-size:9px}.card-head h2{font-size:25px}.modal-content{padding:5px 22px 22px}.modal-head{padding:22px 22px 12px}.settings-grid .card-body{padding:20px}.sync{max-width:85px;text-align:right;line-height:1.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(prefers-color-scheme:dark){:root{color-scheme:light}}
.empty .btn{display:table;margin:16px auto 0}

/* Family palette sampled from Jo's reference. */
:root{--terracotta:#c2683f;--mustard:#c8992b;--green:#6e8b6b;--blue:#4a7b9d;--plum:#8b5e83;--rose:#c2707f;--olive:#7c8b4e;--slate:#5b6572}
.btn.primary{background:var(--blue);border-color:var(--blue)}
.hero,.login-story{background:var(--blue)}
.hero .eyebrow,.login-story .eyebrow{color:#f8e9c5}
.hero p,.hero .stat small,.login-story p,.login-bottom{color:#fff9f1}
.hero{border-bottom:5px solid var(--mustard)}
.sidebar{background:#f3f0eb}.nav button{color:var(--slate)}
.nav button.active{background:#ece3d8;color:#3e454e}.nav button:hover{background:#f0e7de}
.nav button:nth-child(1) svg{color:var(--terracotta)}.nav button:nth-child(2) svg{color:var(--blue)}.nav button:nth-child(3) svg{color:var(--plum)}.nav button:nth-child(4) svg{color:var(--olive)}.nav button:nth-child(5) svg{color:var(--rose)}
.user-chip{background:#e8ede4}.little-note{color:var(--slate)}
.grid>.card{border-top:3px solid var(--mustard)}.stack>.card:first-child{border-top:3px solid var(--olive)}.stack>.card:last-child{border-top:3px solid var(--plum)}
.day-tabs button.active{color:#355d78}.cal-day.selected{background:#e8f0f5;box-shadow:inset 0 0 0 1.5px var(--blue)}.cal-day.today .day-num{background:var(--blue)}.cal-event{background:#f6eacb;color:#5b491c}
.mine .bubble{background:#e9dfec}.bubble{background:#edf1e9}.chat-form{background:#faf8f5}.pending-tag{background:#f7eac8;color:#72500d}.message-peek{background:#f1eaf2}
.colour-swatches{display:flex;flex-wrap:wrap;gap:9px;margin:-5px 0 20px}.colour-swatch{width:34px;height:34px;min-width:34px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px #dedad4;padding:0}.colour-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
@media(max-width:570px){.cal-event{background:var(--mustard)}}
/* Rewards and parent editor */
.nav button:nth-child(5) svg{color:var(--mustard)}.nav button:nth-child(6) svg{color:var(--rose)}
.reward-balances{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:23px}.balance-chip{display:flex;gap:18px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:14px 18px;border-radius:13px;font-size:13px}.balance-chip strong,.points-total{color:#765413}.points-total{font:30px Georgia,serif;white-space:nowrap}.points-total span{display:block;font:11px system-ui;color:var(--muted);text-align:right;margin-top:5px}.reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.reward-photo{height:170px;background:#f3e5d8;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.reward-photo>span:not(.reward-tag){font-size:65px;color:var(--terracotta);font-family:Georgia,serif}.reward-photo img{width:100%;height:100%;object-fit:cover}.reward-card:nth-child(4n+2) .reward-photo{background:#ece3ee}.reward-card:nth-child(4n+3) .reward-photo{background:#e5ebdf}.reward-card:nth-child(4n+4) .reward-photo{background:#e2ecf2}.reward-body{padding:22px}.reward-body h2{font-size:27px;line-height:1.2;margin:9px 0}.reward-body>p{font-size:12px;color:var(--muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;min-height:20px}.reward-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 10px;font-size:12px}.reward-meta strong{font-size:17px;color:#7c5818}.reward-meta span{color:var(--muted)}.reward-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.reward-tag{position:absolute;bottom:10px;left:10px;background:var(--plum);color:white;padding:5px 10px;border-radius:20px;font-size:10px}.reward-history{margin-top:28px}.reward-request{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.reward-request:last-child{border-bottom:0}.reward-request>div{min-width:0}.reward-request strong{font-size:14px;overflow-wrap:anywhere}.reward-request .small{margin-top:7px}.request-status{display:inline-block;font-size:10px;padding:5px 8px;background:#f7eac8;color:#72500d;border-radius:7px;margin-top:9px}.request-status.fulfilled{background:#e4eddf;color:#486144}.request-status.declined{background:#f0e0df;color:#824c43}.request-status.approved{background:#e0ecf4;color:#355d78}.reward-editor-top{display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center;margin:8px 0 20px}.reward-editor-top .form-group{margin:0}.upload-photo{width:100px;height:100px;border:1px dashed var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--cream);cursor:pointer;overflow:hidden}.upload-photo img{width:100px;height:100px;object-fit:cover}.upload-photo svg{width:28px;height:28px;color:var(--muted)}.upload-photo span{display:flex;align-items:center;justify-content:center}.text-button{font-size:10px;background:none;border:none;color:var(--muted);padding:8px 2px}.reward-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.reward-toggle{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px;border:1px solid var(--line);border-radius:15px;margin-top:15px}.reward-toggle strong{font-size:14px}.reward-toggle p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.6}.reward-toggle input{appearance:none;width:44px;height:25px;min-width:44px;background:#dedad3;border-radius:20px;position:relative;cursor:pointer;margin:0}.reward-toggle input:before{content:'';width:19px;height:19px;position:absolute;left:3px;top:3px;border-radius:50%;background:var(--paper);box-shadow:0 1px 3px #0002;transition:transform .15s}.reward-toggle input:checked{background:var(--green)}.reward-toggle input:checked:before{transform:translateX(19px)}
@media(max-width:820px){.nav button{font-size:8px;padding:8px 2px}.nav svg{width:18px;height:18px}}
@media(max-width:570px){.reward-grid{grid-template-columns:1fr 1fr;gap:12px}.reward-photo{height:120px}.reward-body{padding:14px}.reward-body h2{font-size:22px}.reward-meta{flex-wrap:wrap;gap:5px;margin-top:13px}.reward-actions .btn{font-size:11px;padding:10px;white-space:normal}.reward-request{align-items:flex-start;flex-direction:column}.reward-request .reward-actions{margin:0}.reward-editor-top{grid-template-columns:74px 1fr;gap:12px}.upload-photo,.upload-photo img{width:74px;height:80px}.reward-form-row{gap:9px}.reward-form-row input,.reward-form-row select{padding:10px 7px}.points-total{font-size:25px}}
@media(max-width:360px){.reward-grid{grid-template-columns:1fr}}
dialog:has(#reward-form){max-width:640px}
/* A lighter, playful family UI, with less copy. */
:root{--cream:#fbf7f0;--paper:#fffefa;--radius:22px;font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif}
h1,h2,.serif,.brand-name,.month-title,.mobile-brand{font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif;font-weight:750;letter-spacing:-.045em}h1{font-size:clamp(29px,3.3vw,40px)}h2{font-size:25px}.brand-name{font-size:21px;line-height:1.2}.brand-mark{font-family:inherit;font-weight:800;border-radius:16px;transform:rotate(-5deg)}.brand{padding-bottom:26px}.sidebar{background:#f6f1e8}.nav button{font-weight:700}.nav button.active{background:#f1dfc5}.user-chip{background:#e9e9dc}.page-heading{margin-bottom:24px}.page-heading p:empty{display:none}.btn{border-radius:14px;font-weight:700}.btn.primary{background:#8b5e83;border-color:#8b5e83;box-shadow:0 3px 0 #684662}.btn.primary:hover{filter:brightness(1.05)}.btn.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #684662}.card{box-shadow:0 3px 0 #4d453609;border-color:#e7dfd3}.card-head h2{font-size:23px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:26px}.stat-tile{border:0;border-radius:22px;display:grid;grid-template-columns:45px 1fr;column-gap:13px;align-items:center;text-align:left;padding:22px;color:#343b44;box-shadow:0 3px 0 #4d453609}.stat-tile strong{font-size:31px;line-height:1.1}.stat-tile>span:last-child{font-size:12px;grid-column:2;margin-top:4px;font-weight:650}.stat-icon{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:15px;background:#ffffff80}.stat-icon svg{width:24px;height:24px}.stat-tile.plans{background:#efdcad}.stat-tile.jobs{background:#dce7d5}.stat-tile.crew{background:#ecdae6}.stat-tile:hover{filter:brightness(1.025)}.empty{padding:25px 12px}.empty strong{font-weight:700}.event-list{max-height:436px}.little-note,.footer{display:none}
.playful-login{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:40px 22px;overflow:hidden;background:#fbf7f0}.playful-login:before,.playful-login:after{content:'';position:absolute;z-index:-1;border-radius:45%;width:410px;height:410px;transform:rotate(25deg);background:#e8eddc;left:-220px;bottom:-120px}.playful-login:after{background:#f3e3c3;left:auto;bottom:auto;right:-230px;top:-140px;transform:rotate(-20deg)}.login-heading{margin-bottom:27px;display:flex;align-items:center;gap:10px}.login-heading h1{font-size:28px;letter-spacing:-.06em}.login-heading h1 span{color:var(--terracotta)}.login-brand-dot{height:14px;width:14px;border-radius:5px;background:var(--mustard);transform:rotate(-15deg)}.playful-login .login-form-wrap{display:block;padding:29px 34px 34px;width:min(100%,410px);background:var(--paper);border:1px solid #e7dfd3;border-radius:27px;box-shadow:0 7px 0 #e9e1d3;margin-top:-3px;z-index:2}.playful-login .login-form{max-width:none}.playful-login .login-form h2{font-size:29px;margin-bottom:25px}.playful-login .form-group label{font-size:12px;color:#5b5753}.playful-login .form-group input{background:#fbf8f3;border:1px solid #e3dcd1;border-radius:13px;min-height:49px}.playful-login .btn{margin-top:2px;min-height:48px;font-size:14px}.playful-login .form-error:empty{display:none}.family-doodles{height:111px;display:flex;align-items:flex-end;gap:9px;z-index:1;padding:0 15px}.doodle{position:relative;width:68px;height:83px;border-radius:30px 30px 13px 13px;transform-origin:bottom center;background:var(--terracotta);transform:rotate(-9deg)}.doodle-two{height:102px;background:var(--mustard);transform:rotate(3deg);border-radius:24px 24px 9px 9px}.doodle-three{height:79px;background:var(--plum);transform:rotate(-4deg);border-radius:35px 35px 9px 9px}.doodle-four{height:94px;background:var(--green);transform:rotate(9deg);border-radius:32px 32px 11px 11px}.doodle i{position:absolute;width:6px;height:9px;left:22px;top:31px;border-radius:50%;background:#302e30;box-shadow:18px 0 #302e30}.doodle b{position:absolute;left:30px;top:47px;width:12px;height:7px;border-radius:0 0 10px 10px;border:2px solid #302e30;border-top:0}.doodle-two i{top:40px}.doodle-two b{top:57px}.doodle-three i{background:#fff9ec;box-shadow:18px 0 #fff9ec}.doodle-three b{border-color:#fff9ec}.doodle-four i{top:36px}.doodle-four b{top:52px}.login-spark{position:absolute;font-family:system-ui;font-size:35px;color:var(--mustard);pointer-events:none}.spark-one{left:calc(50% - 290px);top:28%;transform:rotate(12deg)}.spark-two{right:calc(50% - 290px);top:48%;color:var(--rose);font-size:47px}.spark-three{left:calc(50% - 255px);bottom:18%;color:var(--blue);font-size:24px}
@media(max-width:820px){.sidebar{background:#fffaf1f5}.nav button{font-size:9px}.quick-stats{gap:12px}.stat-tile{padding:17px;grid-template-columns:35px 1fr;column-gap:9px}.stat-icon{height:35px;width:35px;border-radius:12px}.stat-tile strong{font-size:27px}.stat-tile>span:last-child{font-size:10px}}
@media(max-width:570px){.quick-stats{gap:10px;margin-bottom:20px}.stat-tile{display:flex;flex-direction:column;align-items:flex-start;padding:15px 12px;border-radius:18px;gap:7px}.stat-tile>span:last-child{margin:0;font-size:10px}.stat-tile strong{font-size:27px}.stat-icon{height:31px;width:31px}.stat-icon svg{width:19px;height:19px}.page-heading .btn{font-size:11px}.playful-login{padding:33px 20px}.login-heading{margin-bottom:22px}.login-heading h1{font-size:26px}.playful-login .login-form-wrap{padding:26px 25px 29px}.playful-login .login-form h2{font-size:28px;margin-bottom:23px}.family-doodles{height:100px;gap:7px}.doodle{width:61px}.doodle i{left:18px}.doodle b{left:26px}.spark-one{left:13px;top:13%;font-size:25px}.spark-two{right:9px;top:74%;font-size:26px}.spark-three{display:none}}
.playful-login .login-form-wrap{flex:0 0 auto}
/* The wonky crew brand mark. */
.brand-mark{background:none;border:0;padding:0;letter-spacing:normal;transform:none;flex:none;width:54px;height:54px;border-radius:0}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand{gap:10px;padding-left:2px;padding-right:0}.brand-name{font-size:20px}.login-heading{gap:12px}.login-logo{width:64px;height:58px;object-fit:contain}.login-heading h1{font-size:29px}.login-heading h1 span{display:inline-block;color:var(--terracotta);transform:rotate(-8deg)}
@media(max-width:570px){.login-logo{width:54px;height:49px}.login-heading{gap:9px}.login-heading h1{font-size:27px}}
.duo-welcome{height:132px;width:176px;z-index:1;margin-bottom:-3px}.duo-welcome img{width:100%;height:100%;object-fit:contain}.login-logo{width:68px;height:56px}.brand-mark{width:58px;height:50px}@media(max-width:570px){.duo-welcome{height:116px;width:158px}.login-logo{width:57px;height:48px}}
.brand-home{border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.brand-home:hover{opacity:.8}.brand-home:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:10px}.brand.brand-home{width:100%}.mobile-brand.brand-home{padding:0;align-items:center;gap:7px;white-space:nowrap}.mobile-brand img{height:37px;width:47px;object-fit:contain;flex:none}.topbar>div:first-child{min-width:0}
@media(max-width:820px){.mobile-brand.brand-home{display:inline-flex;font-size:20px;letter-spacing:-.055em}.topbar{gap:12px}}
@media(max-width:570px){.mobile-brand.brand-home{font-size:18px}.mobile-brand img{width:41px;height:33px}.topbar-right .sync{font-size:0;width:6px;min-width:6px;max-width:6px;gap:0}.topbar-right .sync .dot{flex:none}.topbar-right{gap:7px}.topbar-right .icon-button{min-width:35px;padding:7px}}
.member-setup-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 0}.member-setup-choices .btn{min-height:70px}.member-card .btn{margin-right:4px}
.pixel-avatar{overflow:hidden;padding:0;background:#eee6d8!important}.pixel-avatar img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.profile-avatar-edit{display:flex;gap:20px;align-items:center;margin-bottom:25px}.profile-avatar-edit .avatar{width:85px;height:85px;font-size:28px}.avatar-preview{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;margin:5px 0 22px}.avatar-preview img{width:160px;height:160px;image-rendering:pixelated;border-radius:22px;background:#f1e8dc}.avatar-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.avatar-controls input[type=color]{height:43px;padding:4px}dialog:has(#avatar-form){max-width:580px}
.profile-cover{display:flex;align-items:center;gap:25px;padding:28px;background:linear-gradient(120deg,#f4e9cc,#f4e3ed)}.profile-face .avatar{width:120px;height:120px;font-size:34px;border-width:4px}.profile-cover h2{font-size:30px}.profile-points{margin-left:auto;text-align:center;padding:18px 25px;border-radius:18px;background:#fff9}.profile-points strong{font-size:32px;display:block;color:#765413}.profile-points span{font-size:12px}.profile-face .pixel-avatar img{image-rendering:pixelated}@media(max-width:570px){.profile-cover{padding:22px 18px;gap:17px;flex-wrap:wrap}.profile-face .avatar{width:90px;height:90px}.profile-cover h2{font-size:25px}.profile-points{padding:10px 17px}.profile-points strong{font-size:25px}}
.remember-login{display:flex;gap:9px;align-items:center;font-size:12px;margin:7px 0 20px;color:var(--muted)}.remember-login input{width:17px;height:17px;accent-color:var(--plum)}.child-login-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.child-login-controls>.small{width:100%;overflow-wrap:anywhere}
