*{box-sizing:border-box}body{margin:0;background:#f5f4f0;color:#142e49;font:18px/1.55 Arial,sans-serif}header{background:#132d49;color:white;padding:24px max(20px,calc((100vw - 960px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:#ead6af;font:36px Georgia,serif;text-decoration:none}.brand span{display:block;font:14px/1.6 Arial,sans-serif;color:white}.badge{font-size:15px;border:1px solid #8b9aaa;padding:6px 12px;border-radius:20px}main{max-width:850px;margin:auto;padding:24px}.demo{background:#e9edf1;padding:16px 20px;border-radius:8px;font-size:16px}.demo strong{display:block}.try{margin:16px 0;font-size:16px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:bold}#examples{display:flex;flex-wrap:wrap;gap:8px}#examples button{font-size:16px;padding:8px 12px;background:white;color:#142e49;border:1px solid #9cabb7}#steps{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}#steps span{font-size:16px;padding:6px 10px;border-bottom:3px solid #ccd3d9}#steps .current{border-color:#142e49;font-weight:bold}form{background:white;border:1px solid #d5dce1;border-radius:16px;padding:32px;box-shadow:0 8px 28px #17355108}h1{font:36px/1.15 Georgia,serif;margin:0 0 12px}h2{font:26px/1.25 Georgia,serif;margin:24px 0 12px}h3{font-size:20px;margin:12px 0}p{margin:8px 0 20px}.hint{font-size:16px;color:#485d70}.field{display:block;margin:20px 0}.field>span,legend{display:block;font-weight:bold;margin-bottom:8px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;font:18px/1.4 Arial,sans-serif;padding:12px;border:1px solid #8495a5;border-radius:6px;background:white;color:#142e49;min-height:50px}textarea{min-height:110px}input[type=checkbox],input[type=radio]{width:22px;height:22px;flex-shrink:0;accent-color:#173a5c;margin:2px 0}fieldset{border:0;padding:0;margin:24px 0;min-width:0}.choice{display:flex;gap:12px;align-items:flex-start;cursor:pointer;border:1px solid #b6c2cc;border-radius:8px;padding:14px;margin:10px 0;min-height:52px}.choice:has(input:checked){background:#edf3f7;border:2px solid #264d71;padding:13px}.choice small{display:block;font-size:16px;color:#485d70}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{border:1px solid #c1ccd5;padding:20px;border-radius:10px;margin:20px 0;background:#fcfcfa}.note{border-left:4px solid #b69b65;background:#f8f3e9;padding:14px 18px;font-size:16px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #d7dfe5}button{font:inherit;font-weight:bold;border:0;background:#173a5c;color:white;border-radius:7px;padding:13px 22px;cursor:pointer;min-height:48px}button.secondary{background:#edf1f4;color:#173a5c}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #a86c00;outline-offset:3px}button:disabled{opacity:.5;cursor:default}#errors{color:#9c241f;font-weight:bold}footer{font-size:16px;margin:24px 8px;color:#485d70}.review dl{margin:0}.review dt{font-size:16px;color:#485d70;margin-top:12px}.review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review button{font-size:16px;margin-top:16px}details .field:first-of-type{margin-top:8px}.success{background:#edf3ee;border:1px solid #a4bca8;border-radius:8px;padding:20px}.optional{font-weight:normal;font-size:16px}@media(max-width:560px){header{padding:18px 20px}.brand{font-size:30px}.badge{max-width:108px;font-size:14px;text-align:center}main{padding:16px 12px}form{padding:24px 18px}.row{grid-template-columns:1fr;gap:0}h1{font-size:30px}h2{font-size:24px}.card{padding:16px 12px}#steps{gap:4px}#steps span{font-size:14px;padding:5px 7px}button{padding:12px 16px}.demo{padding:14px}body{font-size:18px}}
/* Keep the three navigation actions inside narrow phone screens. */
.actions{flex-wrap:wrap}.actions>button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:560px){.actions>button{width:100%}}
.attention{border:2px solid #a7431a;background:#fff6ef;border-radius:12px;padding:16px;margin:0 0 20px}.attention h2{margin-top:0}.field-error{display:block;color:#8b1e1e;font-weight:700;margin-top:8px}
/* site-v15 additions */
.req{font-weight:normal;font-size:15px;color:#6a3b12}
.stages{padding-left:22px}.stages li{margin:8px 0}.stages li.done strong{color:#1f5b2c}.stages li.open strong{color:#8a4b12}.stages small{display:block;font-size:15px;color:#485d70}
.missing li{margin:10px 0}.missing .next{display:block;font-style:normal;font-size:16px;color:#485d70}
.status-panel{border:2px solid #264d71;border-radius:12px;padding:16px;margin:0 0 20px;background:#f3f7fa}.status-panel h2{margin-top:0}
.side-status button{margin-top:8px}.side-status small{display:block;margin-top:6px}
.portion-banner{background:#fff3db;border:2px solid #b69b65;border-radius:10px;padding:14px 18px;margin-bottom:16px;font-size:16px}
body.portion-mode .try{display:none}
input[type=checkbox]:disabled+span{opacity:.6}

/* site-v16: long unbroken words wrap inside phone widths */
h1,h2,h3,p,li,dd,dt,legend,label,.field>span,.choice span,.note,.card,#party-key,#errors,.field-error,.portion-banner{overflow-wrap:anywhere;word-break:break-word}
select,input,textarea{max-width:100%;min-width:0}.row>*{min-width:0}#steps span{overflow-wrap:anywhere}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.files{list-style:none;margin:.5rem 0 0;padding:0}.files li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.25rem 0;overflow-wrap:anywhere}
.docbox .field-error{display:block}
.form-title{font-size:1.6rem;margin:1rem 0 .5rem}
