@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500,0,0;9..144,600,0,0&display=swap');
:root{--paper:#f2efe8;--ink:#203047;--muted:#68727a;--line:#d6d4cc;--white:#fffefa;--gold:#edc568;--orange:#d97f5e;--green:#74a695;--blue:#697db0;--rest:#dfdeda}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;border-bottom:1px solid var(--line);gap:44px}.logo{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:-.7px}.logo-mark{width:32px;height:32px;background:var(--ink);color:var(--gold);border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700}.logo-mark span,footer strong span{color:var(--orange)}nav{display:flex;gap:28px;color:#526071;font-size:13px;font-weight:700}nav a:hover{text-decoration:underline}.header-note{margin-left:auto;font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.hero{min-height:480px;padding:72px max(5vw,24px) 66px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px, .85fr);align-items:center;gap:8vw;max-width:1540px;margin:auto}.eyebrow,.section-kicker,.mini-label{font-size:11px;letter-spacing:1.8px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:11px;color:#926346}.eyebrow-line{height:2px;width:28px;background:var(--orange)}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-2.7px;margin:0;line-height:1.1}h1{font-size:clamp(48px,5.3vw,88px);margin:18px 0 24px}h1 em,h2 em{font-weight:500;color:#a66049}.hero p{font-size:17px;line-height:1.65;max-width:520px;color:#5c6670;margin:0 0 28px}.hero-button,.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;padding:17px 21px;background:var(--ink);color:#fff;font-weight:700;border:1px solid var(--ink);border-radius:3px}.hero-button:hover,.primary:hover{background:#334867}.hero-button span,.primary span{font-size:20px;font-weight:400}.privacy{font-size:12px;color:#7d817f;margin-top:17px}.privacy span{font-size:19px;color:#a77757;vertical-align:middle;margin-right:6px}.hero-visual{background:var(--ink);color:#fff;border-radius:5px;padding:27px 31px;box-shadow:16px 18px 0 #d9d5c8;transform:rotate(2deg)}.visual-caption,.visual-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#c7cdda}.visual-caption span{font-size:19px}.visual-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:25px 0}.visual-grid i{font-style:normal;text-align:center;font-size:10px;color:#a7afbc}.visual-grid b{min-height:54px;border:1px solid #526076;border-radius:3px;padding:7px;font-weight:500;font-size:11px}.visual-grid small{display:block;color:var(--gold);font-size:15px;font-weight:700;margin-top:5px}.visual-grid .off{background:#38475e}.visual-grid .off small{color:#a8b0bd}.visual-bottom span{color:var(--gold)}.tool-wrap{background:#e8e5dc;padding:64px max(5vw,24px) 86px}.tool-wrap>.section-kicker,.tool-heading,.workspace{max-width:1440px;margin-left:auto;margin-right:auto}.section-kicker{color:#a16850}.tool-heading{display:flex;align-items:end;justify-content:space-between;margin-top:16px;margin-bottom:28px}.tool-heading h2,.guide h2{font-size:clamp(38px,4vw,64px)}.tool-heading p{color:var(--muted);margin:10px 0 0}.local-badge{border:1px solid #c9c8be;border-radius:30px;padding:10px 15px;font-size:12px;font-weight:700;color:#637269}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:18px}.controls,.calendar-panel{background:var(--white);border:1px solid #d5d3ca;border-radius:5px;box-shadow:0 2px 4px #20304708}.controls{padding:26px}.controls>label{display:block;font-size:13px;font-weight:700;margin:0 0 10px}.help{color:#969e9f}.controls>input{width:100%;height:42px;background:#faf9f5;border:1px solid #d2d4d1;border-radius:3px;padding:0 11px;color:var(--ink)}.controls input:focus,.month-nav button:focus-visible,.actions button:focus-visible{outline:2px solid #9b684e;outline-offset:2px}.field-help{font-size:11px;color:#7b8287;line-height:1.55;margin:8px 0 13px}.chips{display:flex;flex-wrap:wrap;gap:6px}.preset{border:1px solid #d6d8d6;background:#f7f7f3;color:#47556b;padding:7px 9px;border-radius:30px;font-size:10px;font-weight:700}.preset:hover{border-color:#6a8291}.divider{height:1px;background:#e4e5e1;margin:23px 0}.controls h3{font-size:13px;margin:0 0 13px}.time-row{display:grid;grid-template-columns:9px 78px 1fr 9px 1fr;gap:6px;align-items:center;margin:10px 0;font-size:11px}.time-row label{font-weight:700}.time-row input{min-width:0;width:100%;padding:5px 3px;border:1px solid #d5d7d5;border-radius:3px;background:#faf9f5;font-size:11px;color:var(--ink)}.dot{width:8px;height:8px;display:inline-block;border-radius:50%;flex:none}.morning{background:var(--gold)}.afternoon{background:var(--orange)}.night{background:var(--blue)}.rest{background:#aaa9a2}.error{color:#a33b2c;background:#fff2ed;padding:9px;border-radius:3px;font-size:12px}.calendar-panel{padding:30px}.calendar-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px}.mini-label{color:#a16850}.calendar-top h3{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:500;text-transform:capitalize;margin:4px 0 0}.month-nav{display:flex;gap:6px}.month-nav button{height:34px;min-width:34px;border:1px solid #d6d8d6;background:#fff;border-radius:3px;color:var(--ink);font-weight:700}.month-nav #today{font-size:12px;padding:0 10px}.month-nav button:hover{background:#f2f1ec}.weekday-head,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday-head{border-top:1px solid #e3e2dc;padding-top:14px;margin-bottom:8px}.weekday-head span{text-align:center;font-size:10px;letter-spacing:.8px;font-weight:700;color:#858e94}.calendar .day{aspect-ratio:1.18;min-height:53px;border:1px solid #e6e5df;border-radius:3px;padding:7px;display:flex;flex-direction:column;justify-content:space-between}.calendar .blank{border-color:transparent}.day .number{font-size:11px;color:#5c6570}.day .label{align-self:flex-start;padding:3px 6px;border-radius:2px;font-size:10px;font-weight:700}.day.M{background:#fdf8e9}.day.M .label{background:#f4dc9b;color:#725220}.day.P{background:#fff3ed}.day.P .label{background:#f1c1ac;color:#783c2a}.day.N{background:#f0f2fa}.day.N .label{background:#bec7e7;color:#384d7a}.day.R{background:#f4f4f1}.day.R .label{background:#e0e0d9;color:#646a69}.day.today{outline:2px solid #30465f;outline-offset:-2px}.legend{display:flex;flex-wrap:wrap;gap:18px;color:#6c7377;font-size:11px;margin:17px 0 20px}.legend span{display:flex;align-items:center;gap:5px}.summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e0dfd8;border-bottom:1px solid #e0dfd8}.summary>div{padding:17px 9px;border-right:1px solid #e0dfd8}.summary>div:first-child{padding-left:0}.summary>div:last-child{border:0}.summary span{display:block;font-size:10px;letter-spacing:.8px;color:#7b8287;font-weight:700}.summary strong{display:block;margin-top:6px;font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:500}.actions{display:flex;gap:8px;margin-top:20px}.actions button{border-radius:3px;min-height:42px;padding:9px 14px;font-size:12px;font-weight:700}.actions button:not(.primary){background:#fff;color:var(--ink);border:1px solid #cbd0d1}.actions button:not(.primary):hover{background:#f0f1ed}.actions span{font-size:16px;font-weight:400}.export-note{font-size:10px;color:#8a8c89;line-height:1.5;margin:10px 0 0}.guide{padding:85px max(5vw,24px);max-width:1540px;margin:auto}.guide h2{margin:18px 0 36px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps article{border-top:1px solid #c4c4ba;padding-top:20px}.steps article>span{color:#bd795f;font-family:Fraunces,Georgia,serif;font-size:24px}.steps h3{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:500;margin:17px 0 8px}.steps p{font-size:13px;color:#6b747b;line-height:1.65;max-width:330px}.faq{border-top:1px solid var(--line);max-width:1380px;margin:0 auto;padding:52px max(5vw,24px) 80px}.faq .section-kicker{margin-bottom:15px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:#67727a;font-size:13px;line-height:1.7;max-width:700px}footer{background:var(--ink);color:#c1c7d0;padding:28px max(5vw,24px);display:flex;align-items:center;gap:28px;font-size:11px}footer strong{font-family:Fraunces,Georgia,serif;font-size:24px;color:#fff}footer span:last-child{margin-left:auto}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:45px}.hero-visual{max-width:500px}.workspace{grid-template-columns:1fr}.controls{display:block}.header-note{display:none}}@media(max-width:600px){.site-header{height:64px;gap:12px}nav{margin-left:auto;gap:12px;font-size:11px}nav a:last-child{display:none}.hero{padding-top:48px}.hero-visual{transform:none;box-shadow:8px 8px 0 #d9d5c8;padding:20px}.tool-wrap{padding-top:48px}.tool-heading{display:block}.local-badge{display:inline-block;margin-top:15px}.calendar-panel{padding:16px}.calendar-top h3{font-size:23px}.calendar .day{min-height:45px;padding:4px}.day .label{font-size:8px;padding:2px 3px}.weekday-head span{font-size:8px}.summary span{font-size:8px}.summary strong{font-size:22px}.actions{flex-direction:column}.actions button{width:100%;justify-content:space-between}.steps{grid-template-columns:1fr}.guide{padding-top:60px;padding-bottom:60px}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{.site-header,.hero,.controls,.guide,.faq,footer,.tool-heading,.section-kicker,.month-nav,.actions,.export-note,.local-badge{display:none!important}body,.tool-wrap{background:#fff}.tool-wrap{padding:0}.workspace{display:block}.calendar-panel{border:0;box-shadow:none;padding:5mm}.calendar .day{min-height:28mm}.calendar-top h3{font-size:26pt}.summary{margin-top:7mm} @page{size:A4 landscape;margin:10mm}}
.export-controls{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:11px;font-weight:700;color:#5e6970}.export-controls select{padding:7px 9px;border:1px solid #cbd0d1;border-radius:3px;background:#fff;color:var(--ink)}.actions{margin-top:10px}.examples{max-width:1380px;margin:0 auto;padding:35px max(5vw,24px) 65px}.examples h2{font-size:clamp(30px,3.5vw,48px);margin:16px 0 26px;max-width:800px}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.example-grid article{border-top:1px solid var(--line);padding-top:15px}.example-grid h3{font-family:Fraunces,Georgia,serif;font-size:23px;font-weight:500;margin:0 0 8px}.example-grid p{font-size:13px;line-height:1.6;color:var(--muted)}.clear-data{margin-top:24px;padding:10px 0;border:0;border-bottom:1px solid #89929a;background:transparent;color:#46586b;font-size:12px}@media(max-width:700px){.example-grid{grid-template-columns:1fr}.export-controls{flex-wrap:wrap}}@media print{.examples,.export-controls,.clear-data{display:none!important}}


/* Usability pass: bring the working area into view sooner. */
@media screen {
  html { scroll-padding-top: 20px; }
  :where(a,button,input,select,textarea):focus-visible { outline: 3px solid #b66a48; outline-offset: 3px; }
  .hero h1 { font-size: clamp(46px,5.1vw,66px); line-height: 1.04; }
  .hero p { margin-bottom: 19px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(34px,3.8vw,52px); }
  .tool-intro,.section-intro,.intro,.tool-heading { margin-bottom: 19px; }
}
@media screen and (max-width:700px) {
  .hero h1 { font-size: clamp(42px,11vw,50px); }
  .hero-art,.hero-pattern,.hero-visual,.box-art,.hero .art { display: none; }
  .hero-copy,.hero-text,.hero-left,.hero>div:first-child { padding: 34px 5vw 28px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(32px,8.2vw,40px); }
  .tool,.planner,.tool-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

@media screen and (min-width:701px){.hero{min-height:0;padding:26px max(5vw,24px) 27px;gap:5vw}.tool-wrap{padding-top:26px}}@media screen and (max-width:700px){.hero{min-height:0;padding:32px 5vw 27px;gap:0}}
