/* found.nitsbits.com — warm, clean, mobile-first. System fonts only. */
:root{
  --ink:#1d2b24;
  --ink-soft:#4a5a51;
  --paper:#fffaf1;
  --card:#ffffff;
  --accent:#0e7c5f;
  --accent-dark:#0a5f49;
  --amber:#f4b942;
  --line:#e6dcc8;
  --danger:#b3402e;
  --radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
}
.wrap{max-width:680px;margin:0 auto;padding:20px 18px 64px}
header.brand{padding:26px 0 6px;text-align:center}
.logo{font-weight:800;font-size:1.65rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logo .dot{color:var(--accent)}
.tagline{color:var(--ink-soft);margin:.25rem 0 0}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  margin:18px 0;
  box-shadow:0 2px 10px rgba(60,45,10,.05);
}
h1{font-size:1.9rem;line-height:1.2;margin:.2em 0 .4em}
h2{font-size:1.25rem;margin:.1em 0 .5em}
p{margin:.55em 0}
.small{font-size:.9rem;color:var(--ink-soft)}
.steps{display:grid;gap:12px;margin:14px 0}
.step{display:flex;gap:14px;align-items:flex-start}
.step-num{
  flex:0 0 38px;height:38px;border-radius:50%;
  background:var(--accent);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
}
.step p{margin:.3em 0}
label{display:block;font-weight:650;margin:14px 0 5px}
label .opt{font-weight:400;color:var(--ink-soft);font-size:.88rem}
input[type=text],input[type=email],textarea{
  width:100%;padding:12px 13px;font-size:1rem;font-family:inherit;
  border:1.5px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);
}
textarea{min-height:84px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--amber);border-color:var(--amber)}
.btn{
  display:inline-block;width:100%;text-align:center;
  background:var(--accent);color:#fff;font-weight:750;font-size:1.08rem;
  border:none;border-radius:12px;padding:15px 18px;cursor:pointer;margin-top:18px;
  text-decoration:none;font-family:inherit;
}
.btn:hover{background:var(--accent-dark)}
.btn:disabled{opacity:.55;cursor:wait}
.btn.secondary{background:#fff;color:var(--accent);border:2px solid var(--accent)}
.btn.amber{background:var(--amber);color:#3a2a05}
.error{background:#fdeeec;border:1px solid #efc4bc;color:var(--danger);
  border-radius:10px;padding:12px 14px;margin:14px 0;display:none}
.notice{background:#fdf3d8;border:1px solid var(--amber);border-radius:10px;
  padding:13px 15px;margin:14px 0}
.ok{background:#e8f5ef;border:1px solid #bfe3d4;border-radius:10px;padding:14px 16px;margin:14px 0}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;
  word-break:break-all}
a{color:var(--accent-dark)}
footer{text-align:center;color:var(--ink-soft);font-size:.85rem;padding:10px 0 0}

/* --- the printable label --- */
.label-card{
  background:#fff;border:2.5px dashed #9db4a8;border-radius:14px;
  padding:22px 18px;text-align:center;max-width:400px;margin:18px auto;
}
.label-card .lost{font-weight:900;font-size:1.5rem;letter-spacing:.01em;margin:0 0 2px}
.label-card .scan{font-weight:800;font-size:1.12rem;color:var(--accent-dark);margin:0 0 10px}
.label-card img{width:250px;height:250px;max-width:78vw;max-height:78vw}
.label-card .item-name{font-size:1.2rem;font-weight:750;margin:8px 0 2px}
.label-card .url{font-size:.8rem;color:var(--ink-soft)}
.label-card .how{font-size:.83rem;color:var(--ink-soft);margin-top:8px}

/* --- label sizes (screen + print) --- */
.label-card.sz-small{max-width:300px}
.label-card.sz-small img{width:190px;height:190px}
.label-card.sz-large{max-width:480px}
.label-card.sz-large img{width:300px;height:300px}
.size-picker{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:4px 0 2px}
.size-picker button{
  font-family:inherit;font-weight:650;font-size:.92rem;padding:9px 16px;
  border-radius:999px;border:2px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);
}
.size-picker button.active{border-color:var(--accent);background:#e8f5ef;color:var(--accent-dark)}

/* --- dashboard --- */
.sighting{border-top:1px solid var(--line);padding:12px 0}
.sighting:first-of-type{border-top:none}
.sighting .when{font-weight:700}
.badge{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;
  font-size:.75rem;font-weight:700;padding:2px 9px;margin-left:6px;vertical-align:2px}

/* --- print: only the label, at sticker size --- */
@media print{
  body{background:#fff}
  .no-print{display:none !important}
  .wrap{padding:0;max-width:none}
  .label-card{border:2.5px dashed #888;margin:0 auto;width:3.6in;padding:.28in .2in;box-shadow:none}
  .label-card img{width:2.3in;height:2.3in}
  .label-card.sz-small{width:2.5in;padding:.18in .14in}
  .label-card.sz-small img{width:1.55in;height:1.55in}
  .label-card.sz-small .lost{font-size:1.02rem}
  .label-card.sz-small .scan{font-size:.82rem}
  .label-card.sz-small .item-name{font-size:.95rem}
  .label-card.sz-small .how{display:none}
  .label-card.sz-large{width:4.7in;padding:.34in .26in}
  .label-card.sz-large img{width:3in;height:3in}
  .label-card.sz-large .lost{font-size:1.85rem}
  .label-card.sz-large .scan{font-size:1.3rem}
  .card{box-shadow:none;border:none}
}
