/* Self-hosted fonty – žádné požadavky na Google Fonts. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url('/fonts/bricolage-grotesque-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url('/fonts/bricolage-grotesque-latin.woff2') format('woff2');unicode-range:U+0000-00FF,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:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/fonts/dm-sans-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,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:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('/fonts/jetbrains-mono-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('/fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,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}
:root{--paper:#f5f2e9;--surface:#fffdf7;--ink:#252820;--muted:#73776b;--line:#d9dcd0;--sage:#cbd5b8;--sage-deep:#839671;--forest:#344a3d;--peach:#e8cbb3;--display:'Bricolage Grotesque',sans-serif;--body:'DM Sans',sans-serif;--mono:'JetBrains Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #718865;outline-offset:3px}[hidden]{display:none!important}.wrap{max-width:1380px;margin:auto;padding-left:6.1%;padding-right:6.1%}.site-header{height:88px;padding:0 6.1%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.brand>span:last-child{color:#829471}.brand-mark{display:inline-grid;place-items:center;width:31px;height:31px;margin-right:6px;border-radius:50%;background:var(--forest);color:#f4f2e8;font-size:20px;letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.btn{border:1px solid transparent;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:55px;padding:0 23px;font-weight:700;font-size:13px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn span{font-size:18px}.btn-small{min-height:43px;padding:0 20px;gap:20px}.btn-dark{background:var(--ink);color:#fffdf5}.btn-dark:hover{background:#435244}.btn-outline{border-color:#b9beb0;background:transparent}.btn-cream{background:#f4f1e7;color:var(--ink)}.text-link{font-weight:700;font-size:13px;border-bottom:1px solid #a8ad9f;padding:12px 0}.text-link span{margin-left:18px}.eyebrow,.micro{font:500 10px var(--mono);letter-spacing:.14em;color:#777d6e}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:8px;height:8px;background:#93a781;border-radius:50%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;gap:5%;align-items:center;padding-top:55px;padding-bottom:70px}.hero-copy{padding:20px 0}.hero h1,.auth h1,.dashboard h1{font:600 clamp(57px,6.5vw,96px)/.98 var(--display);letter-spacing:-.065em;margin:30px 0}.hero h1 em,.intro h2 em,.feature h2 em,.auth h1 em,.dashboard h1 em{font-style:normal;color:#899c78}.hero-copy>p,.auth-intro>p{max-width:390px;font-size:16px;line-height:1.7;color:#74796d}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:70px;font-size:12px;line-height:1.5;color:#83877c}.hero-note p{margin:0}.hero-note strong{color:var(--ink)}.avatars{display:flex;padding-left:5px}.avatars span{width:33px;height:33px;display:grid;place-items:center;background:#d5ddc9;border:2px solid var(--paper);border-radius:50%;margin-left:-5px;font-size:17px}.avatars span:nth-child(2){background:#e8cbb3}.avatars span:nth-child(3){background:#b2c1a4}.hero-visual{height:580px;background:#d8e0cc;border-radius:3px;position:relative;overflow:hidden;padding:26px}.visual-top,.visual-bottom{display:flex;justify-content:space-between;font:500 9px var(--mono);letter-spacing:.12em;color:#66735d}.visual-top span:last-child{font-size:22px}.visual-bottom{position:absolute;bottom:25px;left:26px;right:26px}.sun{position:absolute;top:48px;left:50%;transform:translateX(-50%);font-size:160px;line-height:1;color:#bdcda9}.paper-card{position:absolute;bottom:62px;left:13%;width:70%;background:#fffdf6;padding:30px;box-shadow:0 24px 50px #64715a25;transform:rotate(-3deg)}.paper-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.paper-head h2{font:600 32px/.98 var(--display);letter-spacing:-.05em;margin:12px 0}.card-doodle{font-size:26px}.preview-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e7e9df;font-size:13px;font-weight:600}.check,.task-check{border:1px solid #bcc5b5;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none}.checked{background:#99ab89;color:white;border-color:#99ab89}.emoji{margin-left:auto;font-size:21px}.paper-foot{display:flex;justify-content:space-between;margin-top:20px;font:9px var(--mono);letter-spacing:.1em;color:#9a9f91}.floating-note{position:absolute;right:3%;bottom:85px;background:#edcbb4;padding:18px 20px;font:500 9px/1.5 var(--mono);letter-spacing:.08em;transform:rotate(5deg)}.floating-note span{font-size:22px;margin-left:10px}.intro{padding-top:120px;padding-bottom:130px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2,.feature h2{font:600 clamp(40px,4.4vw,64px)/1.02 var(--display);letter-spacing:-.055em;margin:25px 0 0}.section-heading>p{max-width:300px;line-height:1.7;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}.steps article{background:#ebece2;padding:25px 27px 30px;min-height:270px}.steps article:nth-child(2){background:#e3e9da}.steps article:nth-child(3){background:#f0e4d8}.step-top{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.08em;color:#7f8578}.step-icon{font:42px var(--display);margin:35px 0 15px;color:#849774}.steps h3{font:600 21px var(--display);letter-spacing:-.03em;margin:0}.steps p,.feature p{color:#777c70;line-height:1.65;max-width:290px;font-size:14px}.feature{background:var(--forest);color:#f5f3e9}.feature-inner{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-top:100px;padding-bottom:110px}.light{color:#bdcbbb}.light>span{background:#afc3a1}.feature h2 em{color:#b3c5a4}.feature p{color:#c0ccbd;max-width:410px;margin:25px 0 30px}.feature-list{align-self:center}.feature-list div{display:flex;align-items:center;gap:25px;padding:27px 0;border-bottom:1px solid #718474}.feature-list div:first-child{border-top:1px solid #718474}.feature-list span{font:10px var(--mono);color:#a6b8a4}.feature-list span:last-child{font:22px var(--display);margin-left:auto}.feature-list strong{font:500 20px var(--display)}.footer{display:flex;align-items:center;gap:40px;min-height:155px}.footer p{color:var(--muted);font-size:12px}.footer>a:not(.brand){margin-left:auto;font-size:12px;font-weight:700}.footer small{font:9px var(--mono);color:#999f91}.plain-button{border:0;background:none;font-weight:700;font-size:13px}.auth{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:1200px;padding-top:90px;padding-bottom:100px}.auth h1{font-size:clamp(60px,6vw,84px)}.auth-art{width:240px;height:210px;background:#dce5d2;margin-top:50px;display:grid;place-items:center;font:140px var(--display);color:#7c9270;position:relative}.auth-art span{position:absolute;font-size:42px;right:-20px;top:-20px;color:#d6a886}.auth-card{background:var(--surface);padding:38px;align-self:start}.auth-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:35px}.auth-tabs button{padding:0 0 16px;border:0;background:none;color:#989d90;font-weight:700;font-size:13px}.auth-tabs button.active{color:var(--ink);border-bottom:2px solid var(--ink)}.auth-card h2,.panel-header h2,.house-card h2{font:600 32px var(--display);letter-spacing:-.04em;margin:0 0 8px}.auth-card>p,.house-card>p{color:var(--muted);line-height:1.6}.auth-card form{margin-top:30px}.auth-card label,.task-form label{display:block;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:18px 0;color:#5e665b}.auth-card label span{float:right;color:#a7ac9f}.auth-card input,.task-form input{display:block;width:100%;border:1px solid #dce0d5;background:#fafbf6;padding:0 14px;min-height:49px;margin-top:9px;color:var(--ink);font:14px var(--body);border-radius:0}.auth-card small{display:block;margin-top:8px;font:12px var(--body);text-transform:none;letter-spacing:0;color:#92998b}.full{width:100%;margin-top:10px}.form-error{color:#aa493d!important;font-size:13px}.dashboard{padding-top:65px;padding-bottom:100px}.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:45px}.dashboard h1{font-size:clamp(48px,5vw,68px);margin:20px 0 10px}.dashboard-heading p{color:var(--muted);margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:25px;align-items:start}.task-panel,.house-card{background:var(--surface);padding:32px}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-header h2{margin-top:10px}.count{font:10px var(--mono);background:#e5ecdd;padding:10px;color:#657b5b}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 15px}.filters button{border:1px solid #e0e4d9;border-radius:30px;padding:9px 14px;background:transparent;color:#777e70;font-size:12px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.task-row{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #e9ece4}.task-check{background:transparent;padding:0;color:white}.is-done .task-check{background:#8ca17e;border-color:#8ca17e}.is-done .task-details strong{text-decoration:line-through;color:#a4aa9d}.task-emoji{font-size:23px;width:35px;text-align:center}.task-details{flex:1;min-width:0}.task-details strong{display:block;overflow-wrap:anywhere}.task-details label{font-size:11px;color:#92998a}.delete-task{border:0;background:transparent;color:#9da497;font-size:25px}.empty{padding:35px 0;color:#90988a}.house-card{background:#e2e9da}.house-symbol{font:80px/.9 var(--display);color:#8ea582;margin:28px 0}.house-card h2{font-size:26px}.house-card>p{font-size:13px}.invite{border-top:1px solid #c4d0bd;border-bottom:1px solid #c4d0bd;padding:18px 0;margin-top:25px;display:grid;grid-template-columns:1fr auto;gap:9px}.invite>span,.members-title{grid-column:1/-1;font:10px var(--mono);letter-spacing:.08em;color:#778a70}.invite strong{letter-spacing:.12em}.invite button{border:0;background:none;font-size:11px;font-weight:700}.copy-status{font-size:11px!important;margin:6px 0}.members-title{margin-top:25px}.member{display:flex;align-items:center;gap:10px;margin-top:12px;font-weight:700;font-size:13px}.member span{display:grid;place-items:center;background:#bdceb2;width:30px;height:30px;border-radius:50%}.member small{font-weight:400;color:#819078}.aside-note{display:flex;align-items:center;gap:15px;padding:25px;color:#798875;font-size:13px}.aside-note span{font-size:32px}.aside-note p{line-height:1.5}.aside-note strong{color:var(--ink)}
@media(max-width:850px){.site-header nav{gap:18px}.nav-link{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:40px}.hero h1{font-size:clamp(58px,10vw,80px)}.hero-note{margin-top:35px}.hero-visual{height:480px}.paper-card{left:17%;width:65%}.steps{gap:10px}.steps article{padding:20px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feature-inner{gap:7%}.footer small{display:none}}@media(max-width:600px){.site-header{height:72px}.site-header nav{gap:15px}.site-header .login-link{font-size:12px}.site-header .btn-small{padding:0 14px;gap:8px}.brand{font-size:20px}.brand-mark{width:27px;height:27px}.hero{padding-top:25px;padding-bottom:45px}.hero h1{font-size:57px}.hero-actions{gap:20px}.hero-visual{height:420px}.paper-card{left:9%;width:78%;padding:23px}.floating-note{bottom:50px}.intro{padding-top:75px;padding-bottom:75px}.section-heading{display:block}.section-heading>p{margin-top:25px}.steps{grid-template-columns:1fr;margin-top:35px}.steps article{min-height:220px}.step-icon{margin:25px 0 10px}.feature-inner{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px}.feature-list{margin-top:35px}.footer{flex-wrap:wrap;padding-top:35px;padding-bottom:35px;gap:15px}.footer p{order:3;width:100%;margin:0}.auth{grid-template-columns:1fr;padding-top:45px;gap:30px}.auth h1{font-size:58px;margin:20px 0}.auth-art{display:none}.auth-card,.task-panel,.house-card{padding:24px}.dashboard-heading{align-items:start;flex-direction:column}.dashboard-grid aside{display:block}}@media print{.site-header,.dashboard-heading button,.filters,.task-form,.delete-task,aside,.task-details label{display:none!important}body{background:white}.dashboard{padding:0}.dashboard-grid{display:block}.task-panel{padding:0}.dashboard-heading{margin-bottom:30px}.task-row{break-inside:avoid}.task-check{print-color-adjust:exact;-webkit-print-color-adjust:exact}.dashboard h1{font-size:36px}}

.page-status{padding-top:40px;color:var(--muted)}

.ticker {
  overflow: hidden;
  background: var(--forest);
  color: #dbe4d3;
  font: 500 10px var(--mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ticker-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  gap: 6px clamp(10px, 1.7vw, 24px);
  padding: 10px 12px;
  white-space: nowrap;
}

.ticker-divider {
  color: #a8ba99;
}

.ticker-group[aria-hidden="true"],
.ticker-divider:last-child {
  display: none;
}

@keyframes ticker-scroll {
  to { transform: translateX(-50%); }
}

@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {
  .ticker-track {
    display: flex;
    width: max-content;
    animation: ticker-scroll 24s linear infinite;
  }

  .ticker-group,
  .ticker-group[aria-hidden="true"] {
    display: flex;
    flex: none;
    flex-wrap: nowrap;
    justify-content: space-around;
    min-width: 100vw;
    gap: 20px;
    padding-inline: 10px;
  }

  .ticker-divider:last-child {
    display: inline;
  }
}

@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  .ticker-divider {
    display: none;
  }
}

@media (max-width: 850px) {
  .paper-card {
    padding: 20px;
  }

  .paper-head {
    margin-bottom: 16px;
  }

  .paper-head h2 {
    margin: 8px 0;
    font-size: clamp(22px, 6.4vw, 28px);
  }

  .preview-row {
    padding-block: 10px;
  }

  .paper-foot {
    margin-top: 12px;
  }
}

@media (max-width: 600px) {
  .hero h1 {
    font-size: clamp(42px, 14.6vw, 57px);
  }

  .hero-visual {
    height: 450px;
  }

  .paper-card {
    padding: 16px;
  }
}

@media (max-width: 360px) {
  .site-header:has(.login-link) {
    gap: 8px;
  }

  .site-header nav:has(.login-link) {
    gap: 8px;
  }

  .site-header nav:has(.login-link) .btn-small span {
    display: none;
  }
}

.auth-password-field {
  margin: 18px 0;
}

.auth-password-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.auth-card .auth-password-head label {
  margin: 0;
}

#password-toggle {
  padding: 2px 0;
  color: var(--forest);
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.account-page{max-width:1040px;padding-top:52px;padding-bottom:70px}
.account-back{display:inline-block;margin-bottom:42px;color:var(--muted);font-size:13px;font-weight:600}
.account-back:hover{color:var(--forest)}
.account-page>.eyebrow{margin-bottom:18px}
.account-page>h1{margin:0;font:600 clamp(48px,6vw,72px)/.98 var(--display);letter-spacing:-.06em}
.account-page>h1 span{color:var(--sage-deep)}
.account-lead{margin:12px 0 0;color:var(--muted);font-size:16px}
.account-status{margin:24px 0 0;padding:12px 16px;background:#e5ecdd;color:var(--forest);font-size:14px}
.account-section{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1fr);gap:40px;padding:34px 0;border-top:1px solid var(--line);margin-top:28px}
.account-section:first-of-type{margin-top:48px}
.account-section-head .micro{display:block;margin-bottom:14px}
.account-section-head h2{margin:0;font:600 25px/1.1 var(--display);letter-spacing:-.04em}
.account-section-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px}
.account-form label{display:block;color:#5e665b;font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.account-form input{display:block;width:100%;height:49px;margin-top:8px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:#fafbf6;color:var(--ink);font:14px var(--body)}
.account-form input:focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}
.account-form small{display:block;margin-top:6px;color:var(--muted);font:12px var(--body);text-transform:none;letter-spacing:0}
.account-profile-form label{grid-column:1}
.account-email{grid-column:2;align-self:center;min-width:0;overflow-wrap:anywhere}
.field-label{display:block;margin-bottom:8px;color:#5e665b;font:500 10px var(--mono);letter-spacing:.08em}
.account-email strong{font-size:14px;font-weight:500}
.account-form .btn{min-height:49px;justify-self:start;white-space:nowrap}
.account-profile-form .btn{grid-column:1/-1}
.account-password-form label:first-child{grid-column:1}
.account-password-form label:nth-child(2){grid-column:2}
.account-password-form .btn{grid-column:1/-1}
.account-password-form{grid-template-columns:minmax(0,1fr)}
.account-password-form label:first-child,.account-password-form label:nth-child(2),.account-password-form .btn{grid-column:1}
.account-household-form{grid-template-columns:minmax(0,1fr) auto}
.account-household-form label{grid-column:1}
.account-household-form .btn{grid-column:2;grid-row:1}
.account-note{grid-column:2;margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.account-danger{border-top-color:#cfa99d}
.account-danger .account-section-head h2{color:#9c493b}
.account-danger .micro{color:#9c493b}
.account-delete-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.account-delete-form .btn{grid-column:1/-1}
.btn-danger{background:#a84638;color:var(--surface)}
.btn-danger:hover{background:#8f392f}
.account-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.account-footer .brand{color:var(--ink)}
@media(max-width:700px){.account-page{padding-top:34px}.account-back{margin-bottom:32px}.account-section{grid-template-columns:1fr;gap:20px;padding:26px 0}.account-section:first-of-type{margin-top:35px}.account-section-head .micro{margin-bottom:8px}.account-note{grid-column:1}.account-household-form{grid-template-columns:1fr}.account-household-form label,.account-household-form .btn{grid-column:1;grid-row:auto}.account-household-form .btn{justify-self:stretch}.account-form .btn{justify-self:stretch}.account-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.account-profile-form,.account-password-form,.account-delete-form{grid-template-columns:1fr}.account-profile-form label,.account-email,.account-profile-form .btn,.account-password-form label:first-child,.account-password-form label:nth-child(2),.account-password-form .btn,.account-delete-form .btn{grid-column:1}.account-email{padding:5px 0}.account-form .btn{width:100%}}
.onboarding{padding-top:70px;padding-bottom:90px}
.onboarding .auth-card{max-width:540px;margin:auto}
.onboarding h1{font:600 clamp(35px,5vw,52px)/1.05 var(--display);letter-spacing:-.045em;margin:22px 0 10px}
.onboarding input[type=checkbox]{display:inline-block;vertical-align:middle;width:17px;height:17px;min-height:0;margin:0 7px 0 0;accent-color:var(--forest)}
.auth-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px}
.auth-links .plain-button{padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px}
.auth-info{color:var(--forest);font-size:13px;line-height:1.5}
button:disabled{cursor:wait;opacity:.65}
.invite button{text-align:left;padding:3px 0}
.invite input{grid-column:1/-1;width:100%;min-width:0;padding:8px;border:1px solid #c4d0bd;background:var(--surface);font-size:12px}
.print-assignee{display:none}
@media print{.print-assignee{display:block;color:#444;font-size:11px}}

.task-panel {
  container-type: inline-size;
}

.task-form {
  --task-control-height: 49px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) clamp(112px, 21%, 140px) 102px auto;
  grid-template-areas: "icon title assignee deadline submit";
  align-items: end;
  gap: 10px;
  padding-top: 18px;
}

.task-form > :first-child { grid-area: icon; }
.task-name { grid-area: title; }
.task-form .task-assignee-field { grid-area: assignee; }
.task-deadline-field { grid-area: deadline; min-width: 0; }
.task-form .btn { grid-area: submit; }

.task-form .task-title-privacy {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
}

.task-form label {
  margin: 0;
  line-height: 1.2;
}

.task-form input,
.task-form .btn {
  height: var(--task-control-height);
  min-width: 0;
}

#task-icon {
  padding-inline: 6px;
  text-align: center;
}

.task-assignee-field {
  min-width: 0;
  color: var(--ink);
}

.assignee-control {
  position: relative;
  min-width: 0;
}

.task-form .assignee-control {
  margin-top: 9px;
}

.assignee-trigger,
.deadline-trigger {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: var(--task-control-height);
  padding: 0 36px 0 14px;
  border: 1px solid #dce0d5;
  border-radius: 0;
  background: #fafbf6;
  color: inherit;
  font: 14px var(--body);
  text-align: start;
}

.assignee-trigger span,
.deadline-trigger span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.deadline-trigger {
  margin-top: 9px;
  padding: 0 12px;
}

.assignee-trigger::after {
  content: "";
  position: absolute;
  inset-inline-end: 16px;
  bottom: calc(var(--task-control-height) / 2 - 2px);
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
  pointer-events: none;
}

.assignee-trigger[aria-expanded="true"]::after {
  transform: translateY(3px) rotate(225deg);
}

.assignee-options {
  position: absolute;
  z-index: 2;
  inset-block-start: calc(100% + 6px);
  inset-inline-start: 0;
  width: 100%;
  max-height: 230px;
  overflow-y: auto;
  margin: 0;
  padding: 4px;
  border: 1px solid #dce0d5;
  background: var(--surface);
  box-shadow: 0 8px 20px rgb(37 40 32 / 12%);
  list-style: none;
}

.assignee-options li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1em;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding: 8px 10px;
  cursor: pointer;
  overflow-wrap: anywhere;
  font: 14px var(--body);
}

.assignee-options li[aria-selected="true"] {
  font-weight: 700;
}

.assignee-options li[aria-selected="true"]::after {
  content: "";
  justify-self: center;
  width: 5px;
  height: 9px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-2px);
}

.assignee-options li:hover,
.assignee-options li:focus {
  background: var(--sage);
}

.assignee-options li:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: -2px;
}

.task-form .btn {
  min-height: var(--task-control-height);
  gap: 12px;
  padding-inline: 18px;
  white-space: nowrap;
}

.task-row-assignee {
  --task-control-height: 34px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  max-width: 258px;
  margin-top: 4px;
}

.task-row-assignee .assignee-trigger {
  font-size: 13px;
}

.task-due {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 5px;
  color: var(--forest);
  font-size: 12px;
}

.task-due span {
  color: var(--muted);
}

.task-row-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 4px;
}

.task-row-controls .task-row-assignee {
  flex: 1 1 176px;
  margin-top: 0;
}

.task-row-deadline {
  --task-control-height: 34px;
  width: auto;
  margin-top: 0;
  font-size: 13px;
}

@media print {
  .task-row-controls { display: none; }
}

@container (max-width: 540px) {
  .task-form {
    grid-template-columns: 68px minmax(0, 1fr) 102px auto;
    grid-template-areas:
      "icon title title title"
      "assignee assignee deadline submit";
  }
}

@container (max-width: 340px) {
  .task-form {
    grid-template-columns: 68px minmax(0, 1fr) 102px;
    grid-template-areas:
      "icon title title"
      "assignee assignee deadline"
      "submit submit submit";
  }
}

#deadline-dialog {
  width: min(100% - 28px, 490px);
  max-height: calc(100dvh - 28px);
  padding: 0;
  border: 1px solid #dce0d5;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 18px 60px rgb(37 40 32 / 24%);
}

#deadline-dialog::backdrop {
  background: rgb(37 40 32 / 48%);
}

body:has(#deadline-dialog[open]) {
  overflow: hidden;
}

.deadline-sheet {
  padding: clamp(16px, 4vw, 28px);
}

.deadline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 17px;
}

.deadline-header h2 {
  margin: 0;
  font: 600 clamp(23px, 5vw, 29px) / 1.1 var(--display);
  letter-spacing: -0.035em;
}

.deadline-close,
.calendar-nav button,
.calendar-days button {
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.deadline-close,
.calendar-nav button {
  flex: none;
  width: 34px;
  height: 34px;
  border-color: #dce0d5;
  font: 20px / 1 var(--body);
}

.deadline-sheet fieldset {
  min-width: 0;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.deadline-sheet legend {
  margin-bottom: 8px;
  padding: 0;
  font-weight: 700;
  font-size: 14px;
}

.deadline-units {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.deadline-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.deadline-modes label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #dce0d5;
  cursor: pointer;
}

.deadline-modes label:has(input:checked) {
  border-color: var(--forest);
  background: var(--sage);
  color: var(--ink);
}

.deadline-sheet label,
.calendar-weekdays {
  color: #5e665b;
  font: 500 10px / 1.2 var(--mono);
}

.deadline-sheet input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 39px;
  margin-top: 5px;
  padding: 0 7px;
  border: 1px solid #dce0d5;
  border-radius: 0;
  background: #fafbf6;
  color: var(--ink);
  font: 15px var(--body);
}

.deadline-modes input[type="radio"] {
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  accent-color: var(--forest);
}

.calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  color: var(--forest);
  font-weight: 700;
}

.calendar-weekdays,
.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  text-align: center;
}

.calendar-weekdays {
  margin-bottom: 4px;
}

.calendar-days button {
  min-height: 29px;
  padding: 2px;
  font: 500 13px / 1 var(--body);
}

.calendar-days button[aria-current="date"] {
  border-color: var(--sage-deep);
}

.calendar-days button[aria-pressed="true"] {
  background: var(--forest);
  color: var(--surface);
}

.calendar-days button:not(:disabled):hover,
.calendar-nav button:not(:disabled):hover,
.deadline-close:hover {
  border-color: var(--forest);
}

.calendar-days button:disabled,
.calendar-nav button:disabled {
  cursor: default;
  opacity: .4;
}

.deadline-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
}

.deadline-time input {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 106px;
  margin: 0;
  text-align: center;
}

.deadline-time input::-webkit-date-and-time-value {
  text-align: center;
}

.deadline-preview {
  margin: 0 0 10px;
  color: var(--forest);
  font-size: 13px;
}

.deadline-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.deadline-actions .btn {
  flex: 1 1 auto;
  min-height: 43px;
  padding-inline: 13px;
  justify-content: center;
}

.footer-links{margin-left:22px;display:flex;gap:18px;font-size:12px;font-weight:700}
.footer-links a{border-bottom:1px solid #c3c9ba;padding-bottom:1px}
.account-footer .footer-links{margin-left:0}
.privacy-note{font-size:12px;line-height:1.6;color:#7c8275;margin:18px 0 0}
.privacy-note a{color:var(--forest);border-bottom:1px solid #aeb8a4}
.auth-card label.form-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font:400 12px/1.55 var(--body);letter-spacing:0;text-transform:none;color:#6f7668;cursor:pointer}
.auth-card label.form-consent span{float:none;color:inherit}
.auth-card .form-consent input{flex:none;width:17px;height:17px;min-height:0;margin:2px 0 0;padding:0;border:1px solid #aeb8a4;background:#fff;accent-color:var(--forest);border-radius:3px}
.form-consent a{color:var(--forest);border-bottom:1px solid #aeb8a4}
.form-consent input:focus-visible{outline:2px solid #718865;outline-offset:2px}
.app-legal{display:flex;gap:10px;justify-content:center;align-items:center;color:#8b9183;font-size:12px;padding:20px 0 0}
.app-legal a{border-bottom:1px solid #bcc3b2;padding-bottom:1px}
.app-legal span{color:#b4baab}
.legal-body{background:var(--paper)}
.legal{max-width:980px;padding-top:34px;padding-bottom:80px}
.legal h1{font:600 clamp(46px,6vw,72px)/.98 var(--display);letter-spacing:-.06em;margin:18px 0 0}
.legal h1 span{color:var(--sage-deep)}
.legal-lead{max-width:680px;font-size:16px;line-height:1.75;color:#666c5f;margin:22px 0 0}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin:26px 0 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7c8275}
.legal-meta a{margin-left:auto;border-bottom:1px solid #a8ad9f;padding-bottom:2px}
.legal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 0}
.legal-summary>div{background:#e6ecdd;padding:18px 20px}
.legal-summary>div:nth-child(2){background:#ece7dc}
.legal-summary>div:nth-child(3){background:#e4e9d7}
.legal-summary strong{display:block;font:500 15px/1.45 var(--body);margin-top:10px}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px 10px;margin:30px 0 0}
.legal-toc a{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid #d4d9cb;padding:8px 10px;color:#62695b;background:#fbfaf4}
.legal-toc a:hover{background:#e8edde}
.legal-section{margin-top:56px;padding-top:30px;border-top:1px solid var(--line);position:relative}
.legal-number{font:500 10px var(--mono);letter-spacing:.12em;color:#8a9480}
.legal-section h2{font:600 clamp(28px,3.4vw,38px)/1.05 var(--display);letter-spacing:-.04em;margin:8px 0 18px}
.legal-section p,.legal-list{max-width:760px;line-height:1.75;color:#555c50;font-size:14.5px}
.legal-section p{margin:0 0 14px}
.legal-list{padding-left:20px;margin:0 0 16px}
.legal-list li{margin:0 0 10px;padding-left:4px}
.legal-list strong{color:var(--ink)}
.legal-table-wrap{overflow-x:auto;margin:22px 0 24px;border:1px solid #dde1d5;background:#fbfaf4}
.legal-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.legal-table th,.legal-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #e4e7dd;vertical-align:top;line-height:1.55}
.legal-table th{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6f7767;background:#edf0e6;white-space:nowrap}
.legal-table tr:last-child td{border-bottom:0}
.legal-table code{font:12px var(--mono);background:#ecefe4;padding:2px 4px;overflow-wrap:anywhere}
.legal-section a:not(.brand){border-bottom:1px solid #b4bdaa;color:var(--forest)}
.legal-missing{display:inline-block;background:#f4dfd5;border:1px dashed #c58a72;color:#8a3f2b;padding:2px 6px;font-weight:600}
.draft-banner{border-bottom:1px solid #dcb9a5;background:#f6e3d7;color:#7c3f2b;padding:14px 6.1%;font-size:13px;line-height:1.55}
.draft-banner code{font:12px var(--mono);background:#f2d3c2;padding:1px 4px}
.legal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:60px;padding-top:26px;border-top:1px solid var(--line)}
.legal-footer>div{display:flex;gap:20px;font-size:12px;font-weight:700}
@media(max-width:760px){.legal-summary{grid-template-columns:1fr}.legal-meta a{margin-left:0}.legal-footer{flex-direction:column;align-items:flex-start}.footer-links{margin-left:0}}
@media print{.site-header,.legal-toc,.legal-footer,.app-legal,.privacy-note{display:none}.legal{max-width:none;padding:0}.legal-summary{display:none}}
