:root{
  --paper:#f7f2e4; --ink:#232017; --navy:#1c2333; --line:#ddd2b6; --accent:#3a4258;
}
*{box-sizing:border-box;}
body{ font-family:'Iowan Old Style',Georgia,serif; background:var(--paper); color:var(--ink); margin:0; }
.fill-progress{ height:4px; background:var(--line); }
.fill-progress-bar{ height:100%; background:var(--accent); transition:width 0.3s; }
.fill-qlabel{ font-size:1.3em; margin-bottom:14px; }
.fill-required{ color:#a8563f; }
.fill-input{ width:100%; padding:10px; font-family:inherit; font-size:1em; border:1px solid var(--line); border-radius:4px; background:#fff; }
.fill-choice{ display:block; padding:8px 0; cursor:pointer; }
.fill-choice input{ margin-right:8px; }
.fill-error{ color:#a8563f; font-size:0.85em; margin-top:6px; font-family:'Helvetica Neue',Arial,sans-serif; }
.fill-btn-primary{ background:var(--accent); color:#fff; border:none; padding:10px 20px; border-radius:4px; cursor:pointer; font-family:'Helvetica Neue',Arial,sans-serif; font-size:0.95em; }
.fill-btn-secondary{ background:transparent; border:1px solid var(--line); padding:10px 20px; border-radius:4px; cursor:pointer; margin-right:8px; font-family:'Helvetica Neue',Arial,sans-serif; }
.fill-rating{ font-size:1.6em; }
.fill-star{ cursor:pointer; color:#ccc; margin-right:4px; }
.fill-star.active{ color:var(--accent); }
.fill-complete{ text-align:center; padding:60px 20px; font-size:1.3em; }
.fill-oaat{ max-width:600px; margin:0 auto; padding:60px 20px; }
.fill-oaat-card{ margin-top:40px; }
.fill-oaat-actions{ margin-top:24px; }
.fill-singlepage{ max-width:600px; margin:0 auto; padding:40px 20px; }
.fill-form-title{ margin-bottom:24px; }
.fill-sp-block{ margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.fill-stack{ max-width:560px; margin:0 auto; padding:50px 20px; }
.fill-stack-counter{ font-family:'Helvetica Neue',Arial,sans-serif; font-size:0.8em; color:#8a7f66; margin-bottom:10px; text-align:center; }
.fill-stack-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:28px; box-shadow:0 6px 20px rgba(0,0,0,0.08); }
.fill-stack-q{ margin-bottom:22px; }
.fill-stack-q:last-child{ margin-bottom:0; }
