@font-face{font-family:Cabin;src:url('vendor/Cabin.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--green:#123b33;--ink:#202422;--cream:#f3ebdd;--orange:#f08a3c;--teal:#2f9088;--muted:#535d57;--line:#d5d9d1}
*{box-sizing:border-box}body{margin:0;background:#f8f6f1;color:var(--ink);font-family:Cabin,Arial,sans-serif;font-size:17px;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:48px;border-radius:7px;padding:11px 20px;font-weight:650;line-height:1.35}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--green);outline-offset:4px}input,textarea,select{width:100%;border:1px solid #7c897f;border-radius:6px;background:#fff;color:var(--ink);padding:11px 13px;min-height:48px}textarea{resize:vertical}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--green);flex-shrink:0}label{display:block;font-weight:600;margin:17px 0 6px}.masthead{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:750;font-size:27px;color:var(--green);letter-spacing:-1px}.brand-dot{display:inline-block;width:9px;height:9px;background:var(--orange);border-radius:50%;margin-left:5px}.prototype,.paper-tag{font-size:14px;color:var(--muted)}main{max-width:1320px;padding:40px 36px;margin:auto}.intro{max-width:850px;margin-bottom:36px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--green);margin:0 0 12px}.eyebrow:before{content:'';width:25px;height:3px;background:var(--orange)}h1{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-1.3px;color:var(--green);margin:0 0 20px;font-weight:650}h2{font-size:23px;line-height:1.3;margin:0 0 22px;color:var(--green);font-weight:650}h3{color:var(--green)}.lead{font-size:20px;line-height:1.55;max-width:740px;margin:0;color:#43504a}.workspace{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:36px;align-items:start}.card{background:white;padding:28px;border:1px solid var(--line);border-radius:12px}.card section+section{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--cream);font-size:16px;margin-right:6px}.hint{font-size:14px;color:var(--muted);line-height:1.5;margin:8px 0 14px}.aside{font-size:15px;line-height:1.55;background:#f5f3ed;padding:14px 16px;border-left:3px solid var(--teal)}fieldset{border:0;padding:0;margin:22px 0 0}legend{font-weight:600}.check{display:flex;gap:12px;align-items:center;min-height:44px;font-weight:400;margin:3px 0}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover:not(:disabled){background:#20564a}.secondary{background:white;color:var(--green);border:1px solid var(--green)}.generate{width:100%;margin-top:24px;display:flex;justify-content:space-between}.privacy{font-size:13px;color:var(--muted);margin-bottom:0}.preview-panel{min-width:0}.preview-header{display:flex;gap:15px;justify-content:space-between;align-items:center}.preview-header h2{margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 10px}.preview{background:#e9ece6;border:1px solid #d8dfd5;padding:24px;border-radius:10px}.empty{text-align:center;padding:70px 20px;max-width:400px;margin:auto;color:var(--muted)}.empty-grid{display:inline-block;font:28px/1.8 Cabin,Arial;letter-spacing:12px;padding:25px 12px 25px 25px;background:white;border-radius:5px;color:var(--teal);box-shadow:0 8px 25px #123b3310}.sheet{background:white;box-shadow:0 3px 12px #123b3315;margin:0 0 22px}.sheet:last-child{margin-bottom:0}.sheet svg{display:block;width:100%;height:auto}.page-caption{font-size:14px;margin:0 0 8px;color:var(--green)}.error{padding:15px;background:#fff0eb;color:#812c18;border-left:4px solid #a23a21;margin-top:20px}footer{border-top:1px solid var(--line);margin-top:48px;padding:30px 0;max-width:850px}footer p{margin:7px 0}footer strong{font-size:22px;color:var(--green)}[hidden]{display:none!important}
@media(max-width:900px){main{padding:30px 22px}.workspace{grid-template-columns:1fr;gap:32px}.card{padding:24px}.preview{padding:14px}.preview-panel{width:100%}}@media(max-width:420px){main{padding:26px 15px}.masthead{padding:18px 15px}.brand{font-size:23px}.card{padding:20px}.actions button{width:100%}.preview-header{align-items:flex-start;flex-direction:column;gap:8px}.empty{padding:40px 5px}}
