
:root{
  --paper:#f6f2e9; --paper2:#efe9db; --ink:#1c1a16; --ink2:#5c564a;
  --blue:#122e6b; --blue2:#1d3f8f; --red:#b5122e; --gold:#8a6c1f;
  --card:#fffdf7; --line:#d8d0bd; --ok:#2c6e3f; --bad:#a01c1c;
  --shadow:0 1px 2px rgba(28,26,22,.08),0 6px 18px rgba(28,26,22,.07);
  --serif:"Iowan Old Style","Charter","Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:"Avenir Next","Segoe UI",Verdana,sans-serif;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;
 margin:0;padding:0}
body.modal-open{overflow:hidden}
.tricolore{display:flex;height:4px}
.tricolore i{flex:1}
.tricolore i:nth-child(1){background:var(--blue)}
.tricolore i:nth-child(2){background:#fffdf7}
.tricolore i:nth-child(3){background:var(--red)}
.wrap{max-width:44rem;margin:0 auto;padding:0 18px 60px}
header{text-align:center;padding:26px 0 8px}
header h1{font-family:var(--serif);font-size:26px;letter-spacing:.06em;color:var(--blue);margin:0}
header h1 a{color:inherit;text-decoration:none}
.lam{color:var(--red)}
.back{display:inline-block;margin-top:8px;font-size:13px;color:var(--ink2);text-decoration:none}
.back:hover{color:var(--blue)}

h2.page{font-family:var(--serif);font-size:27px;color:var(--blue);margin:22px 0 10px;text-align:center}
.lead{color:var(--ink2);font-size:15px;margin:0 auto 22px;max-width:34rem;text-align:center}

fieldset{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:18px 18px 6px;
 margin:0 0 18px}
legend{font-family:var(--serif);font-size:17px;color:var(--blue);padding:0 8px}
.hint{font-size:13px;color:var(--ink2);margin:-4px 0 14px}
.two{display:flex;gap:14px;flex-wrap:wrap}
.two>*{flex:1 1 200px}
.fhint{display:block;font-size:12.5px;color:var(--ink2);margin:-2px 0 8px}
.fld input[type=month]{width:100%;font:15px/1.5 var(--sans);color:var(--ink);background:var(--paper);
 border:1px solid var(--line);border-radius:9px;padding:10px 12px}

.opts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.opt-c{position:relative}
.opt-c input{position:absolute;opacity:0;width:0;height:0}
.opt-c span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 14px;
 font-size:13.5px;cursor:pointer;background:var(--paper);color:var(--ink2)}
.opt-c input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}
.opt-c input:focus-visible+span{outline:2px solid var(--blue2);outline-offset:2px}

.stars{display:flex;gap:6px;margin:0 0 14px}
.stars button{font-size:27px;line-height:1;background:none;border:0;cursor:pointer;color:var(--line);padding:0 2px}
.stars button.on{color:var(--gold)}
.stars button:focus-visible{outline:2px solid var(--blue2);outline-offset:2px}

.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:0 0 14px;cursor:pointer}
.check input{margin:3px 0 0;flex:none;width:17px;height:17px;accent-color:var(--blue)}

.done{text-align:center;padding:40px 20px}
.done h2{font-family:var(--serif);font-size:26px;color:var(--blue);margin:0 0 12px}
.done p{color:var(--ink2);max-width:30rem;margin:0 auto 20px}
.foot{text-align:center;color:var(--ink2);font-size:12.5px;margin-top:30px;line-height:1.6}

.loaderr{max-width:36rem;margin:4rem auto;padding:1.5rem;border-radius:.75rem;
 background:#fff5f5;border:1px solid #f0c0c0;color:#7a1020;font:16px/1.5 system-ui,sans-serif;
 text-align:center}
