*{box-sizing:border-box} :root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;background:#101414;color:#edf1ed;font-size:16px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#202727;border:1px solid #364040;color:#e7eee8;padding:11px 17px;border-radius:9px}button:hover{background:#303b35}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid #b5f36b;outline-offset:4px}input,textarea,select{background:#151c1b;border:1px solid #3d4843;border-radius:8px;padding:12px;color:#f4f7f3;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #9acb69;outline-offset:1px}header{height:88px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3330}.brand{color:#b5f36b;font-size:30px;display:flex;gap:12px;align-items:center;text-decoration:none}.brand span{font-size:20px;font-weight:650;color:#f0f4ee;letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:24px}#connection{font-size:14px;color:#a7b3ac}main{padding:38px 4% 24px;max-width:2200px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.eyebrow{font-size:14px;color:#b9c6bc;letter-spacing:2px;text-transform:uppercase;margin:0 0 19px}h1{font-weight:500;font-size:clamp(32px,3.6vw,58px);letter-spacing:-2px;line-height:1.12;margin:0}h1 span{color:#b5f36b}.clock{text-align:right}.clock time{font-size:clamp(38px,5vw,76px);font-variant-numeric:tabular-nums;letter-spacing:-3px;font-weight:350}.clock p{font-size:12px;letter-spacing:2px;color:#93a298;margin:8px 0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.view-tabs{display:flex;gap:8px}.view-tabs button{background:transparent;border-color:transparent;color:#b7c2ba}.view-tabs button.active{background:#252f28;color:#d3f5ae}.view-tabs span{padding:3px 7px;margin-left:8px;font-size:14px;background:#364137;border-radius:5px}.tools{display:flex;gap:12px}.tools input{width:230px}.primary{background:#b5f36b;color:#18230f;border-color:#b5f36b;font-weight:650}.primary:hover{background:#c5ff80}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;min-height:350px}.board.completed{grid-template-columns:1fr}.column{border:1px solid #2d3731;background:#161c19;border-radius:13px;padding:18px;min-height:350px}.column-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.column-heading h2{font-size:16px;font-weight:600;margin:0;display:flex;gap:10px;align-items:center}.column-heading .count{color:#a7b6ac;font-size:14px;border:1px solid #354239;border-radius:6px;padding:2px 7px}.column-heading button{border:0;padding:0 8px;background:none;font-size:22px;color:#a7b6ac}.marker{width:9px;height:9px;border-radius:2px;background:#80978c}.column[data-status=today] .marker{background:#b5f36b}.column[data-status=doing] .marker{background:#79bdf1}.task{background:#222b26;border:1px solid #354037;border-radius:10px;padding:18px;margin-bottom:12px;transition:border-color .15s}.task:hover{border-color:#73856c}.task-top{display:flex;align-items:start;gap:12px}.complete{border:1px solid #657466;border-radius:50%;width:22px;height:22px;padding:0;flex-shrink:0;background:transparent;color:#b5f36b;margin-top:2px}.task-title{padding:0;background:none;border:0;font-size:18px;font-weight:550;line-height:1.45;text-align:left;overflow-wrap:anywhere;flex:1}.task-title:hover{background:none;color:#c4f28f}.task-notes{color:#a7b7ac;font-size:14px;line-height:1.6;margin:12px 0 12px 34px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 14px 34px;font-size:14px}.badge{color:#b7c2bb;border:1px solid #465348;padding:4px 7px;border-radius:5px}.badge.high{color:#ffbd9d;border-color:#765242}.badge.overdue{color:#ffc0b7;border-color:#77524e}.move{display:block;margin-left:auto;padding:5px 8px;font-size:14px;max-width:100%;background:#1a221d;color:#b9c7bd}.empty{min-height:225px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#9ba99f;line-height:1.7;padding:20px}.empty strong{color:#c6d2c9;font-weight:500}.empty p{font-size:14px;margin:8px 0 16px}.empty button{align-self:center;background:transparent;border-style:dashed;font-size:14px}footer{display:flex;justify-content:space-between;gap:20px;color:#a4b3a9;font-size:14px;padding-top:24px}footer a{color:#b6c8bb;text-decoration:none}dialog{background:#1d2620;border:1px solid #4b5a4e;border-radius:16px;color:#eef4ee;width:min(540px,calc(100% - 30px));padding:26px;max-height:90vh}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{margin:0;font-size:24px}.dialog-heading button{border:0;background:transparent;font-size:24px;padding:0 10px}label{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;font-size:14px;color:#c8d4cb}label input,label textarea,label select{font-size:16px;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.danger{color:#ffc1b1;margin-right:auto;background:transparent}#error,#form-error{color:#ffd0c4}#error{border:1px solid #8d5e51;padding:15px;margin-bottom:20px;border-radius:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d4f3b4;color:#19250f;padding:13px 24px;border-radius:9px;box-shadow:0 5px 40px #0007}@media(min-width:1700px){.task-title{font-size:22px}.task{padding:24px}.column{min-height:500px}.column-heading h2{font-size:20px}}@media(max-width:800px){header{height:70px}.header-right{gap:10px}#connection{display:none}main{padding-top:26px}.intro{margin-bottom:26px}h1{letter-spacing:-1px}.clock time{font-size:36px}.clock p{display:none}.toolbar{align-items:stretch;flex-direction:column}.tools input{flex:1;width:100px}.board{grid-template-columns:1fr}.column{min-height:200px}.empty{min-height:120px}.eyebrow{font-size:12px;letter-spacing:1px}.clock{margin-left:12px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.meetings-column .marker{background:#8fc9ff}.column-heading .calendar-settings-button{font-size:14px;border:1px solid #465348;border-radius:6px;padding:5px 9px}.calendar-help{color:#b1bfb5;font-size:14px;line-height:1.6}.calendar-warning,#calendar-error{font-size:14px;color:#ffc6ae;line-height:1.5}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.color-0{--calendar-color:#8dccff}.color-1{--calendar-color:#f9c778}.color-2{--calendar-color:#d0a4ff}.color-3{--calendar-color:#79dfba}.color-4{--calendar-color:#f3a9cc}.color-5{--calendar-color:#a4b9ff}.color-6{--calendar-color:#d1da75}.color-7{--calendar-color:#ffa782}.calendar-chip{font-size:12px;color:var(--calendar-color);border-left:3px solid var(--calendar-color);padding-left:6px}.meeting-day{font-size:14px;color:#bac8bf;margin:22px 0 10px}.meeting-card{background:#222b26;border:1px solid #354037;border-left:3px solid var(--calendar-color);border-radius:8px;padding:16px;margin-bottom:12px;overflow-wrap:anywhere}.meeting-time{color:var(--calendar-color);font-size:16px;font-weight:600;margin:0 0 10px}.meeting-title{font-size:18px;line-height:1.4;margin:0 0 8px;font-weight:550}.meeting-account{color:#b0bdb4;font-size:12px;margin:0}.meeting-location{color:#b0bdb4;font-size:14px}.meeting-link{display:inline-block;margin-top:14px;color:var(--calendar-color);font-size:14px;text-decoration:none}.meeting-link:hover{text-decoration:underline}
.weather-city{font-size:16px;letter-spacing:1.5px;text-transform:uppercase;color:#bfcec3;font-weight:600;line-height:1.5}.weather-main{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:3px}#weather-icon{color:#b5f36b;font-size:46px;line-height:1.2}#weather-temperature{font-size:clamp(40px,4.4vw,68px);letter-spacing:-2px;line-height:1.15;font-weight:450;color:#b5f36b;white-space:nowrap}#weather-condition{font-size:20px;color:#edf1ed}.weather-details{font-size:16px;color:#b9c8be;margin:10px 0 0;line-height:1.6}.weather-source{font-size:12px;color:#9aaa9e;margin:7px 0 0;line-height:1.6}.weather-source a{color:#9aaa9e;text-decoration:none}.weather-source a:hover{text-decoration:underline}@media(max-width:600px){.intro{align-items:flex-start}.weather-main{gap:10px}#weather-condition{font-size:16px;flex-basis:100%}#weather-icon{font-size:32px}.weather-details{font-size:14px}.clock{padding-top:20px}.intro>div:first-child{min-width:0}}
.calendar-provider{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:12px}.calendar-provider button{font-size:14px}.microsoft-account{border-left:3px solid var(--calendar-color);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;font-size:14px;overflow-wrap:anywhere}.microsoft-account button{font-size:12px;padding:5px 8px}#microsoft-status,#google-status{font-size:14px;color:#c6d4c8;line-height:1.6}#google-account{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}#microsoft-setup-details,#google-setup-details{margin-top:26px;border-top:1px solid #49594b;padding-top:18px}#microsoft-setup-details summary,#google-setup-details summary{cursor:pointer;font-size:16px}#microsoft-error,#google-error{color:#ffc6ae;font-size:14px;line-height:1.5}.microsoft-result{background:#263523;border:1px solid #75985d;border-radius:8px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;line-height:1.5}.microsoft-result button{font-size:14px}.setup-guide{max-width:850px;padding:40px 25px}.setup-guide h1{font-size:36px;margin:30px 0;letter-spacing:-1px}.setup-guide h2{font-size:23px;margin-top:32px}.setup-guide p,.setup-guide li{font-size:16px;line-height:1.75;color:#c8d3cc}.setup-guide li{margin-bottom:10px}.setup-guide a,#microsoft-editor a,#google-editor a{color:#b5f36b}.setup-guide code{overflow-wrap:anywhere;font-size:14px}

.due-help{display:flex;align-items:center;gap:12px;margin:-6px 0 18px}.due-help p{color:#b1bfb5;font-size:13px;line-height:1.5;margin:0;flex:1}.due-help button{font-size:13px;white-space:nowrap}#reminders{position:fixed;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:#1d2921;border:1px solid #a6d77a;border-radius:14px;padding:18px;box-shadow:0 12px 50px #000b;z-index:20}#reminders[hidden]{display:none}#reminders h2{font-size:18px;margin:0 0 14px}.reminder-card{border-top:1px solid #47583e;padding:14px 0 4px}.reminder-kind{color:#b5f36b;font-size:11px;letter-spacing:1px;margin:0 0 7px}.reminder-title{font-size:20px;line-height:1.4;margin:0;overflow-wrap:anywhere}.reminder-countdown{font-size:16px;color:#e0f2d3;margin:8px 0}.reminder-source{font-size:12px;color:#b6c5b9;overflow-wrap:anywhere}.reminder-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.reminder-actions button{font-size:14px;padding:8px 12px}.reminder-actions a{margin:0;color:#b5f36b}@media(max-width:600px){#reminders{right:16px;bottom:16px;max-height:45vh}}

.meeting-heading-actions{display:flex;gap:8px}.checkbox-label{flex-direction:row;align-items:center;line-height:1.5}.checkbox-label input{width:18px;height:18px;flex-shrink:0}#event-error{color:#ffc6ae;line-height:1.5}#event-enable{margin-bottom:18px}#event-editor .dialog-actions{flex-wrap:wrap}

#event-end-fields[hidden],#event-no-end-label[hidden]{display:none}

.badge.assignee{color:#c5dfef;border-color:#506779;overflow-wrap:anywhere;max-width:100%}
.intro{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,460px) minmax(250px,1fr);gap:32px}.birthday-panel{border-left:1px solid #354039;border-right:1px solid #354039;padding:4px 28px;min-height:132px}.birthday-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.birthday-heading h2{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#bfcec3;margin:0}.birthday-heading button{font-size:12px;padding:5px 9px}.birthday-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #2c3631;padding:9px 0}.birthday-item:first-child{border-top:0}.birthday-person{background:transparent;border:0;padding:0;text-align:left;color:#edf1ed}.birthday-person:hover{background:transparent;color:#b5f36b}.birthday-when{font-size:13px;color:#b5f36b;white-space:nowrap}.birthday-empty{color:#97a69c;font-size:14px;line-height:1.5;padding-top:8px}#birthday-error{color:#ffc6ae}@media(max-width:1050px){.intro{grid-template-columns:1fr auto}.birthday-panel{grid-column:1/-1;grid-row:2;border:1px solid #354039;border-radius:10px;min-height:auto}.clock{grid-column:2;grid-row:1}}@media(max-width:600px){.intro{display:grid;grid-template-columns:1fr auto}.birthday-panel{padding:14px 16px}.birthday-panel .birthday-item:nth-child(n+4){display:none}}
/* Private board sign-in */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#edf5ff 0,transparent 36%),radial-gradient(circle at 80% 80%,#fff0df 0,transparent 34%),#f7f5ef}
.login-card{width:min(430px,100%);padding:38px;border:1px solid rgba(36,45,55,.12);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(25,35,45,.13)}
.login-card h1{margin:.25rem 0 .5rem;font-size:2rem}.login-card form{display:grid;gap:16px;margin-top:26px}.login-card label{display:grid;gap:7px;font-weight:650}.login-card input{width:100%;padding:12px 14px;border:1px solid #c9c7c0;border-radius:10px;font:inherit}.login-card .primary{margin-top:4px}.login-error{padding:10px 12px;border-radius:10px;background:#fff0ee;color:#8d291e}.eyebrow{margin:0;color:#66727d;font-size:.72rem;font-weight:800;letter-spacing:.18em}
.footer-link{border:0;background:none;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}footer form{display:inline}

#birthday-view-all{margin-top:12px;font-size:13px;padding:7px 10px;color:#b5f36b}#birthdays-all{max-height:85vh;overflow:auto}#birthdays-all .birthday-name{min-width:0;overflow-wrap:anywhere}#birthdays-all .birthday-item{align-items:baseline}#birthdays-all-summary{margin-top:0}

#birthdays-all .birthday-details{display:flex;align-items:baseline;justify-content:space-between;flex:1;gap:14px;min-width:0}#birthdays-all .birthday-edit{font-size:13px;padding:6px 10px;flex-shrink:0}#birthday-editor .dialog-actions{flex-wrap:wrap}@media(max-width:600px){#birthdays-all .birthday-details{flex-direction:column;gap:5px}#birthdays-all .birthday-item{align-items:center}}

.anniversary-panel{border-left:1px solid #354039;border-right:1px solid #354039;padding:4px 28px;min-height:132px}.anniversary-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.anniversary-heading h2{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#bfcec3;margin:0}.anniversary-heading button{font-size:12px;padding:5px 9px}.anniversary-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #2c3631;padding:9px 0}.anniversary-item:first-child{border-top:0}.anniversary-person{background:transparent;border:0;padding:0;text-align:left;color:#edf1ed}.anniversary-person:hover{background:transparent;color:#b5f36b}.anniversary-when{font-size:13px;color:#b5f36b;white-space:nowrap}.anniversary-empty{color:#97a69c;font-size:14px;line-height:1.5;padding-top:8px}#anniversary-error{color:#ffc6ae}@media(max-width:1050px){.anniversary-panel{grid-column:1/-1;grid-row:2;border:1px solid #354039;border-radius:10px;min-height:auto}}@media(max-width:600px){.anniversary-panel{padding:14px 16px}.anniversary-panel .anniversary-item:nth-child(n+4){display:none}}
#anniversary-view-all{margin-top:12px;font-size:13px;padding:7px 10px;color:#b5f36b}#anniversaries-all{max-height:85vh;overflow:auto}#anniversaries-all .anniversary-name{min-width:0;overflow-wrap:anywhere}#anniversaries-all .anniversary-item{align-items:baseline}#anniversaries-all-summary{margin-top:0}

#anniversaries-all .anniversary-details{display:flex;align-items:baseline;justify-content:space-between;flex:1;gap:14px;min-width:0}#anniversaries-all .anniversary-edit{font-size:13px;padding:6px 10px;flex-shrink:0}#anniversary-editor .dialog-actions{flex-wrap:wrap}@media(max-width:600px){#anniversaries-all .anniversary-details{flex-direction:column;gap:5px}#anniversaries-all .anniversary-item{align-items:center}}

.occasion-panels{display:grid;gap:20px;min-width:0}.anniversary-panel{min-width:0}.anniversary-person{overflow-wrap:anywhere;min-width:0}@media(max-width:1050px){.occasion-panels{grid-column:1/-1;grid-row:2}}@media(max-width:600px){#anniversaries-all .anniversary-when{white-space:normal}.anniversary-heading{gap:10px}}
.occasion-panels>.birthday-panel,.occasion-panels>.anniversary-panel{grid-area:auto}

.anniversaries-clock{display:flex;flex-direction:column;gap:20px;min-width:0}.anniversaries-clock>.anniversary-panel{grid-area:auto;border:0;padding:4px 0;min-height:0}.anniversaries-clock>.clock{margin-left:0;padding-top:0;align-self:flex-end}@media(max-width:1050px){.anniversaries-clock{grid-column:2;grid-row:1}.occasion-panels{grid-column:1/-1;grid-row:2}.anniversaries-clock .anniversary-heading{flex-wrap:wrap}.anniversaries-clock .anniversary-item{flex-wrap:wrap}}@media(max-width:600px){.intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.anniversaries-clock{gap:14px}.anniversaries-clock .anniversary-heading h2{font-size:11px;letter-spacing:.5px}.anniversaries-clock .anniversary-when{white-space:normal}.anniversaries-clock .clock time{font-size:30px}}

.intro .weather-clock{margin:0 0 18px;padding:0;text-align:left;grid-area:auto}.intro .weather-clock time{display:block}@media(max-width:600px){.intro .weather-clock time{font-size:30px}}
