:root{--cream:#F3EDD7;--paper:#FFFBF3;--ink:#2A241C;--ink-soft:#5A5146;--green:#2C4A2E;--green-dark:#1F3D2A;--green-light:#E8EDE4;--barn:#8B3A2A;--gold:#C4A35A;--gold-soft:#F3E6C4;--line:#D9D0BA;--holly-red:#8B1E1E;--holly-red-dark:#641515;--shadow:0 2px 10px rgba(42,36,28,.08);--tap:56px}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);color:var(--ink);font-family:"Atkinson Hyperlegible","Segoe UI",Tahoma,sans-serif;font-size:19px;line-height:1.45;-webkit-text-size-adjust:100%}
a{color:var(--green)}
.top{background:var(--green-dark);color:var(--paper);text-align:center;padding:18px 16px 20px;border-bottom:6px solid var(--gold)}
.top img{width:96px;height:96px;border-radius:50%;display:block;margin:0 auto 8px;border:3px solid var(--gold-soft)}
.top .mark{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--gold-soft)}
.top h1{font-family:Fraunces,Georgia,serif;font-size:1.9rem;line-height:1.15;margin:4px 0}
.top p{color:var(--green-light);font-size:.98rem}
.top a.back{color:var(--gold-soft);font-size:.9rem}
.wrap{max-width:640px;margin:0 auto;padding:0 16px 32px}
h2{font-family:Fraunces,Georgia,serif;font-size:1.4rem;color:var(--green-dark);margin:26px 0 10px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px 16px 20px;margin-top:10px;box-shadow:var(--shadow)}
label{display:block;font-weight:700;margin:14px 0 6px}
label small{font-weight:400;color:var(--ink-soft)}
input[type=text],input[type=password],input[type=number],textarea{width:100%;font-family:inherit;font-size:1.05rem;padding:14px;border:2px solid var(--line);border-radius:12px;background:#FFFEFA;color:var(--ink);min-height:var(--tap)}
input:focus,textarea:focus{outline:3px solid var(--gold);border-color:var(--green)}
textarea{min-height:84px;resize:vertical}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.chip{min-height:var(--tap);border:2px solid var(--green);background:#fff;color:var(--green-dark);border-radius:14px;font:700 1.15rem "Atkinson Hyperlegible",sans-serif;cursor:pointer}
.chip.on{background:var(--green);color:#fff}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:14px 18px;border-radius:14px;font-family:inherit;font-size:1.15rem;font-weight:700;text-decoration:none;border:3px solid transparent;cursor:pointer;text-align:center;margin-top:12px}
.btn-primary{background:var(--holly-red);border-color:var(--holly-red-dark);color:#fff}
.btn-primary:disabled{background:#c4b8a8;border-color:#a99c8b;cursor:not-allowed}
.btn-green{background:var(--green);border-color:var(--green-dark);color:#fff}
.btn-secondary{background:var(--paper);border-color:var(--green);color:var(--green-dark)}
.note{background:var(--green-light);border-radius:12px;padding:12px 14px;margin:12px 0 4px;color:var(--green-dark);font-size:.98rem}
.note.gold{background:var(--gold-soft);border:1px solid var(--gold);color:var(--ink)}
.sample-box{border:2px dashed var(--gold);background:#FFF8E8;border-radius:16px;padding:14px;margin-top:18px}
.sample-box b{color:var(--barn)}
.error{color:var(--barn);font-weight:700;margin-top:10px;min-height:1px}
.hint{font-size:.92rem;color:var(--ink-soft);margin-top:8px}
footer{margin-top:28px;text-align:center;color:var(--ink-soft);font-size:.95rem}
