@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap');:root{--cream:#f4efe1;--ink:#354f56;--yellow:#efc757;--red:#cd705b;--muted:#727c79;--line:#d5d5ca;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:14px 'DM Sans',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}header{height:74px;padding:0 5vw;display:flex;align-items:center;gap:50px;border-bottom:1px solid #d9d7cb}.brand{display:flex;align-items:center;gap:8px;font:700 24px Fraunces,Georgia,serif}.brand-icon{background:var(--ink);color:var(--yellow);width:32px;height:32px;border-radius:7px;display:grid;place-items:center;font-size:23px}.period,footer strong span{color:var(--red)}nav{display:flex;gap:25px;font-size:12px;font-weight:700}nav a:hover{text-decoration:underline}.header-tag{margin-left:auto;font-size:10px;letter-spacing:1.5px;font-weight:700;color:#9a977e}.hero{display:grid;grid-template-columns:1fr .9fr;max-width:1540px;margin:auto;min-height:475px}.hero-copy{padding:90px 5vw 60px}.eyebrow,.kicker{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#a16452}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500}h1{font-size:clamp(54px,6vw,88px);line-height:1.07;letter-spacing:-2.7px;margin:22px 0}h1 em,h2 em{color:#c96f56;font-weight:500}.hero-copy>p{font-size:16px;color:#617174;line-height:1.7;max-width:530px;margin:0 0 28px}.cta,.generate{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:#fff;padding:15px 20px;border:0;border-radius:3px;font-weight:700;font-size:12px}.cta:hover,.generate:hover{background:#4e6970}.cta span,.generate span{font-size:18px;font-weight:400}.hero-foot{font-size:9px;letter-spacing:1.2px;font-weight:700;color:#9a9c8f;margin-top:28px}.hero-foot span{color:var(--red);margin:0 8px}.hero-pattern{background:#e7dfbd;position:relative;overflow:hidden;display:grid;place-items:center;padding:30px}.hero-pattern:before,.hero-pattern:after{content:'';position:absolute;border:2px solid #dfd299;border-radius:50%;width:450px;height:450px;transform:rotate(30deg)}.hero-pattern:after{width:600px;height:600px}.puzzle-art{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:5px;transform:rotate(-5deg);box-shadow:12px 15px 0 #999d8038}.puzzle-art span{width:48px;height:48px;display:grid;place-items:center;background:#fffdf4;color:var(--ink);font:700 22px Fraunces,Georgia,serif}.puzzle-art span:nth-child(6n+2),.puzzle-art span:nth-child(11){background:#f2c85d}.puzzle-art span:nth-child(9n+4){background:#efab8e}.art-caption{position:absolute;right:24px;bottom:19px;font-size:9px;font-weight:700;letter-spacing:1.7px}.tool{background:#e8e7dc;padding:65px 5vw 90px}.tool-intro,.workspace{max-width:1460px;margin:auto}.tool-intro h2,.steps h2{font-size:clamp(37px,4.2vw,62px);letter-spacing:-1.5px;margin:12px 0}.tool-intro p{color:#6d7879;margin:0 0 25px}.workspace{display:grid;grid-template-columns:320px 1fr;gap:17px;align-items:start}.settings,.preview{border:1px solid #d1d5cc;background:var(--white);border-radius:4px}.settings{padding:22px}.settings>label,.fieldset label,fieldset legend{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin:0 0 7px}.settings>label span{color:#a0a5a1;font-weight:500}.settings input[type=text],.settings input:not([type]),.settings textarea,.settings select{width:100%;border:1px solid #d1d6d1;background:#fafaf6;border-radius:3px;padding:10px;color:var(--ink)}.settings input#title{margin-bottom:18px}.settings textarea{resize:vertical;line-height:1.5}.hint{font-size:10px;line-height:1.5;color:#89918b;margin:8px 0 19px}.fieldset{border-top:1px solid #e0e3dc;padding-top:19px}.settings select{margin-bottom:19px}.settings fieldset{border:0;border-top:1px solid #e0e3dc;margin:0;padding:17px 0 14px}.settings fieldset legend{padding:12px 0 0}.radio{display:flex!important;justify-content:start!important;align-items:center;gap:6px;font-size:12px!important;margin:10px 0!important}.radio small{color:#a1a7a2;font-size:10px;font-weight:400;margin-left:auto}.generate{width:100%}.error{color:#a94334;background:#fff0e9;padding:10px;font-size:11px;line-height:1.4}.privacy{border-top:1px solid #e2e4de;margin-top:20px;padding-top:16px;color:#97a19b;font-size:10px}.preview{padding:22px}.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e4e5dd;padding:0 0 16px;margin-bottom:16px}.preview-bar>div{display:flex;flex-direction:column;gap:5px}.preview-bar span{font-size:9px;letter-spacing:1.4px;color:#aa6d59;font-weight:700}.preview-bar strong{font:500 22px Fraunces,Georgia,serif}.preview-bar button{background:#f6f3e9;border:1px solid #bac7c5;color:var(--ink);font-size:11px;font-weight:700;padding:10px 14px}.preview-bar button:hover{background:#e8eee9}.sheet{background:#fff;border:1px solid #e1e4df;max-width:680px;margin:auto;padding:28px 30px}.sheet-head{display:flex;justify-content:space-between;align-items:start;gap:15px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:20px}.sheet-head small{font-size:9px;color:#a75c49;letter-spacing:1.5px;font-weight:700}.sheet-head h3{font-size:27px;margin:5px 0}.sheet-head p{font-size:11px;color:#88908b;margin:0}.name-line,.answer-badge{font-size:10px;color:#7e8d86;white-space:nowrap;padding-top:10px}.grid{display:grid;grid-template-columns:repeat(var(--size),1fr);border-left:1px solid #d7ded7;border-top:1px solid #d7ded7;width:min(100%,510px);margin:0 auto}.grid span{aspect-ratio:1;display:grid;place-items:center;border-right:1px solid #d7ded7;border-bottom:1px solid #d7ded7;font:700 clamp(10px,1.4vw,17px) Fraunces,Georgia,serif}.grid span.marked{background:#f6d871;color:#2e494c}.word-section{border-top:1px solid #e1e3dc;margin-top:20px;padding-top:14px}.word-section>span{display:block;font-size:9px;letter-spacing:1.3px;color:#9b6b54;font-weight:700;margin-bottom:9px}.word-section>div{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;font-weight:700}.answer-sheet{margin-top:16px}.print-help{font-size:10px;line-height:1.5;color:#89918b;text-align:center;margin-bottom:0}.steps{max-width:1530px;margin:auto;padding:85px 5vw}.steps h2{margin-bottom:35px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cards article{border-top:1px solid #cbd0c5;padding-top:17px}.cards article>span{font:500 25px Fraunces,Georgia,serif;color:#cc8065}.cards h3{font-size:23px;margin:17px 0 5px}.cards p{color:#76817e;line-height:1.7;max-width:320px}.faq{border-top:1px solid #d5d9cc;max-width:1380px;margin:auto;padding:45px 5vw 80px}.faq details{border-bottom:1px solid #d5d9cc;padding:18px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{color:#76817e;line-height:1.7}footer{display:flex;align-items:center;gap:26px;background:var(--ink);color:#b8c9c8;padding:25px 5vw;font-size:11px}footer strong{font:700 23px Fraunces,Georgia,serif;color:#fff}footer span:last-child{margin-left:auto}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-pattern{min-height:350px}.workspace{grid-template-columns:1fr}.header-tag{display:none}}@media(max-width:600px){header{height:62px;gap:10px}nav{margin-left:auto;font-size:11px;gap:12px}.hero-copy{padding:58px 5vw}.puzzle-art span{width:40px;height:40px}.tool{padding:52px 4vw}.preview{padding:12px}.sheet{padding:15px}.sheet-head{display:block}.name-line{margin-top:8px}.grid span{font-size:11px}.cards{grid-template-columns:1fr}.steps{padding:65px 5vw}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{header,.hero,.tool-intro,.settings,.preview-bar,.print-help,.steps,.faq,footer{display:none!important}body,.tool{background:#fff}.tool{padding:0}.workspace{display:block}.preview{border:0;padding:0}.sheet{max-width:none;width:100%;height:260mm;max-height:260mm;margin:0;border:0;padding:10mm 12mm;break-after:page}.answer-sheet{break-after:auto}.grid{width:145mm}.grid span{font-size:13pt}.sheet-head h3{font-size:28pt}.word-section{margin-top:12mm}@page{size:A4;margin:10mm}}
.print-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.print-options label{font-size:11px;color:#52666a;display:flex;align-items:center;gap:5px}.print-options input{accent-color:#354f56}.clear-data{padding:7px 0;background:transparent;border:0;border-bottom:1px solid #819094;color:#43616a;font-size:11px;cursor:pointer;margin-top:12px}.uses{max-width:1400px;margin:auto;padding:40px 5vw 70px;border-top:1px solid #d8d2c5}.uses h2{font-size:clamp(32px,4vw,55px);margin:16px 0}.uses p{max-width:800px;color:#64747b;line-height:1.8;font-size:14px}@media print{.uses,.clear-data{display:none!important}body.no-answer .answer-sheet{display:none!important}body.no-answer .puzzle-sheet{break-after:auto}}


/* 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}.hero-copy{padding:32px 5vw 25px}.hero-pattern{min-height:340px}.tool{padding-top:27px}}@media screen and (max-width:700px){.hero{min-height:0}}
