*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  color:#1c1917;
  min-height:100dvh;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  background:#f4efe6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.45;
}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:20;padding:8px 12px;background:#fff;color:#1c1917}
.wrap{max-width:28rem;margin:0 auto;padding:28px 20px 40px}
.hero{
  margin:0 0 10px;
  color:#1c1917;
  font-size:clamp(32px,8vw,40px);
  font-weight:650;
  letter-spacing:-.03em;
  line-height:1.1;
}
.stay{
  margin:0 0 28px;
  color:#5c564e;
  font-size:15px;
  font-weight:500;
  line-height:1.4;
}
.lead{margin:0 0 8px;font-size:17px;color:#2b2724}
.hint{margin:0 0 28px;font-size:15px;color:#6a645c}
.scan-file{
  position:absolute;
  width:1px;height:1px;
  opacity:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.btn{
  appearance:none;
  display:block;
  width:100%;
  margin:0 0 12px;
  padding:16px 18px;
  min-height:56px;
  border:none;
  border-radius:16px;
  font-family:inherit;
  font-size:18px;
  font-weight:650;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  touch-action:manipulation;
  cursor:pointer;
}
.btn:focus{outline:3px solid #1b3d32;outline-offset:2px}
.btn:disabled{opacity:.5}
.btn-primary{
  color:#fff;
  background:#1b3d32;
  box-shadow:0 8px 20px #1b3d3226;
}
.btn-giant{
  min-height:64px;
  font-size:22px;
  font-weight:700;
}
.btn-secondary{
  color:#1c1917;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d9d2c5;
}
.btn-ghost{
  background:transparent;
  color:#5c564e;
  font-weight:600;
  text-decoration:underline;
  box-shadow:none;
  min-height:44px;
}
.actions{margin:18px 0 20px}
.page-wrap{
  margin:0 0 18px;
  padding:10px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px #1c191712;
}
#page-image{display:block;width:100%;height:auto;border-radius:10px}
.date-box{
  margin:0 0 16px;
  padding:16px;
  background:#fff;
  border-radius:16px;
  box-shadow:inset 0 0 0 1px #d9d2c5;
}
.date-box label{display:block;margin:0 0 10px;font-size:15px;font-weight:600;color:#2b2724}
.date-box input[type=date]{
  display:block;
  width:100%;
  min-height:48px;
  margin:0 0 10px;
  padding:8px 12px;
  border:0;
  border-radius:12px;
  background:#f4efe6;
  font-family:inherit;
  font-size:17px;
}
.action-status{min-height:1.3em;margin:0 0 8px;font-size:15px;font-weight:600;color:#5c564e}
.foot{margin-top:36px}
.foot a,.back{color:#5c564e;font-size:16px;font-weight:650}
.terms-list{margin:0 0 24px;padding:0 0 0 20px}
.terms-list li{margin:0 0 14px}
.print-sheet{display:none}
@media print{
  body{background:#fff;padding:0}
  .skip,.wrap{display:none!important}
  .print-sheet{display:block;margin:0;padding:0}
  .print-sheet img{display:block;width:100%;height:auto;max-height:100vh;object-fit:contain}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.word-input{
  display:block;
  width:100%;
  min-height:56px;
  margin:0 0 12px;
  padding:14px 16px;
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d9d2c5;
  font-family:inherit;
  font-size:20px;
}
.gate-error{margin:0 0 12px;color:#8a2b2b;font-size:15px;font-weight:650}
.chip-label{margin:0 0 8px;font-size:15px;font-weight:650;color:#2b2724}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.chip{
  position:relative;
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border:0;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d9d2c5;
  font-family:inherit;
  font-size:16px;
  font-weight:650;
  color:#1c1917;
  touch-action:manipulation;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.chip input[type="radio"]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
}
.chip.is-on,
.chip:has(input:checked){
  background:#1b3d32;
  color:#fff;
  box-shadow:none;
}
.extras-box{margin:0 0 18px}
.extras-lead{margin:0 0 10px;font-size:15px;font-weight:600;color:#2b2724}
.extras-list{list-style:none;margin:0;padding:0}
.extra-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
  padding:8px 10px;
  background:#fff;
  border-radius:12px;
  box-shadow:inset 0 0 0 1px #d9d2c5;
}
.extra-thumb{
  width:48px;
  height:48px;
  object-fit:cover;
  border-radius:8px;
  flex:0 0 auto;
}
.extra-name{
  flex:1;
  min-width:0;
  font-size:15px;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.extra-remove{
  appearance:none;
  flex:0 0 auto;
  min-height:44px;
  padding:8px 12px;
  border:0;
  border-radius:10px;
  background:#f4efe6;
  font-family:inherit;
  font-size:14px;
  font-weight:650;
  color:#5c564e;
  cursor:pointer;
  touch-action:manipulation;
}

.names-box{margin:0 0 16px}
.names-box label{display:block;margin:0 0 8px;font-size:15px;font-weight:650;color:#2b2724}
.names-box input[type=text]{
  display:block;
  width:100%;
  min-height:56px;
  padding:14px 16px;
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d9d2c5;
  font-family:inherit;
  font-size:18px;
}
.inbox-value{margin:0 0 18px;font-size:17px;font-weight:650;color:#1c1917;line-height:1.35}
