:root{--bg:#fbf6ee;--card:#fff;--ink:#3a2f28;--soft:#7a6a5d;--accent:#c8623a;--line:#eadfce}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 Georgia,"Iowan Old Style",serif}
nav{background:#fff;border-bottom:1px solid var(--line);padding:12px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font:15px system-ui,sans-serif}
nav .brand{font:700 1.15rem Georgia,serif;color:var(--accent);margin-right:auto;text-decoration:none}
nav a{color:var(--ink);text-decoration:none}nav a.on{color:var(--accent);font-weight:600;border-bottom:2px solid var(--accent)}
.banner{background:#f3e3d3;color:var(--soft);text-align:center;font:13px system-ui,sans-serif;padding:6px}
main{max-width:900px;margin:0 auto;padding:24px 20px 60px}h1{font-size:2rem;margin:.4em 0}
.lead{color:var(--soft)}section,.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin:20px 0}
.step{font:600 .8rem system-ui,sans-serif;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.drop{border:2px dashed var(--line);border-radius:12px;padding:40px;text-align:center;color:var(--soft)}
.btn,.go{font:600 15px system-ui,sans-serif;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.btn2{font:15px system-ui,sans-serif;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-block}
.btn2.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.go{display:block;width:100%;padding:16px;font-size:1.1rem}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:16px system-ui,sans-serif;margin:4px 0 12px}
label{font:14px system-ui,sans-serif;color:var(--soft)}.req{color:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}.stat b{display:block;font-size:1.7rem;color:var(--accent)}
.stat span{font:13px system-ui,sans-serif;color:var(--soft)}.stat a{color:inherit}
.ex{font:12px system-ui,sans-serif;color:var(--soft);font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.work h3{margin:.2em 0}.meta{font:13px system-ui,sans-serif;color:var(--soft)}
.track{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;font:13px system-ui,sans-serif}
.track span{padding:6px 10px;border-radius:20px;border:1px solid var(--line);color:var(--soft)}
.track span.done{background:var(--accent);color:#fff;border-color:var(--accent)}.track span.cur{border:2px solid var(--accent);color:var(--accent);font-weight:600}
.qr{width:140px;height:140px;border:3px solid var(--ink);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;font:12px system-ui;background:repeating-linear-gradient(45deg,#fff 0 8px,#f1e6d8 8px 16px)}
.seal{display:inline-block;padding:4px 10px;border-radius:20px;background:#f3e3d3;color:var(--accent);font:600 12px system-ui}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px;font:14px system-ui;display:none}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}ul{padding-left:22px}a{color:var(--accent)}
footer{text-align:center;font:13px system-ui;color:var(--soft);padding:20px}

.seal.retro{border-radius:3px;background:#e6eef5;color:#2f5d80;border:1px dashed #2f5d80}
.qr.retro{border:3px dashed #2f5d80;border-radius:0;background:repeating-linear-gradient(0deg,#fff 0 8px,#e6eef5 8px 16px);color:#2f5d80}
.check{display:block;margin:10px 0;font:14px system-ui,sans-serif;color:var(--ink)}.check input{width:auto;margin-right:8px}
.note{background:#fdf1e4;border-left:4px solid var(--accent);padding:10px 14px;border-radius:6px;font:14px system-ui,sans-serif}
footer p{margin:4px 0}
.emblem{width:150px;height:150px;display:block}
.emblem.sm{width:72px;height:72px}
.examplecard{border:2px dashed #b9875a;position:relative}
.extag{display:inline-block;background:#b9875a;color:#fff;font:700 11px system-ui;letter-spacing:.08em;padding:3px 8px;border-radius:4px;margin-bottom:6px}
.placeholder{background:#fff6d6;border:1px solid #e0c46a;padding:8px 12px;border-radius:6px;font:13px system-ui}
