:root{--paper: #fff7e5;--ink: #3f2c1d;--muted: #8a6440;--rust: #9c4e2c;--wood: #6e4b30;--sage: #56753f;--blue: #3d7bd9}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--sage)}body{font-family:Nunito Sans,system-ui,sans-serif;color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased}.app{position:fixed;top:0;right:0;bottom:0;left:0}.map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab;display:block}.map:active{cursor:grabbing}.top{position:absolute;top:0;left:0;right:0;padding:max(12px,env(safe-area-inset-top)) 16px 0;display:flex;flex-direction:column;gap:10px;pointer-events:none}.top>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;align-self:flex-start;background:#fff7e5f0;border-radius:999px;padding:6px 16px 6px 6px;box-shadow:0 6px 20px #28190a40}.brand img{width:40px;height:40px;border-radius:50%;border:2px solid #c6643f}.brand h1{margin:0;font:700 22px/1 Fraunces,serif}.brand p{margin:2px 0 0;font:700 12px/1.2 Nunito Sans,sans-serif;color:var(--muted)}.search{position:relative;display:flex;gap:8px;max-width:520px;width:100%}.search input{flex:1;min-width:0;font:700 16px Nunito Sans,sans-serif;padding:12px 16px;border-radius:14px;border:2px solid rgba(140,105,70,.5);background:var(--paper);color:var(--ink);outline:none;box-shadow:0 6px 20px #28190a38}.search input:focus{border-color:#c6643f}.search button{font:800 16px Nunito Sans,sans-serif;padding:0 18px;border-radius:14px;border:0;background:#c6643f;color:#fff7e6;box-shadow:0 6px 20px #28190a38;cursor:pointer}.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--paper);border-radius:14px;box-shadow:0 12px 30px #28190a4d;z-index:5}.suggest li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer}.suggest li:hover{background:#c6643f1f}.suggest b{font:600 17px Fraunces,serif;overflow:hidden;text-overflow:ellipsis}.suggest span{color:var(--muted);font-weight:800;font-size:13px;text-transform:uppercase;white-space:nowrap}.miss{max-width:520px;background:var(--paper);border-radius:14px;padding:12px 14px;font-weight:700;font-size:15px;box-shadow:0 6px 20px #28190a38}.miss a{color:var(--rust)}.days{position:absolute;left:16px;right:16px;bottom:max(44px,calc(env(safe-area-inset-bottom) + 36px));display:flex;align-items:center;gap:12px;max-width:520px;background:#281e129e;color:#fff1d0;border-radius:999px;padding:8px 10px 8px 18px}.days .pop{font-weight:800;font-size:13px;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.days input{flex:1;min-width:60px;accent-color:#e2a93b}.fit{font:800 13px Nunito Sans,sans-serif;border:0;border-radius:999px;padding:8px 12px;background:#fff1d0;color:var(--ink);cursor:pointer;white-space:nowrap}.card{position:absolute;left:16px;right:16px;bottom:max(104px,calc(env(safe-area-inset-bottom) + 96px));max-width:520px;background:var(--paper);border-radius:22px;padding:18px 20px 16px;box-shadow:0 16px 40px #28190a59;border:2px solid rgba(140,105,70,.35)}.card .x{position:absolute;top:8px;right:12px;border:0;background:none;font-size:26px;color:var(--muted);cursor:pointer}.badge{display:inline-block;font:800 12px Nunito Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#fff7e6;background:#6a8f4e;padding:4px 10px;border-radius:999px}.card h2{margin:8px 0 2px;font:700 26px/1.15 Fraunces,serif;word-break:break-all}.card .job{margin:0;font:800 15px Nunito Sans,sans-serif;color:var(--rust);text-transform:uppercase;letter-spacing:.04em}.card .dream,.card .meta{margin:8px 0 0;font-weight:700;font-size:15px;color:#5a4532}.row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.btn{font:800 15px Nunito Sans,sans-serif;text-decoration:none;padding:10px 16px;border-radius:12px;background:var(--blue);color:#fff;border:0;cursor:pointer}.btn.ghost{background:transparent;color:var(--ink);border:2px solid rgba(140,105,70,.5)}.foot{position:absolute;left:0;right:0;bottom:max(8px,env(safe-area-inset-bottom));text-align:center;font-size:11px;font-weight:700;color:#fff1d0d9;text-shadow:0 1px 3px rgba(0,0,0,.5);padding:0 16px}@media (min-width: 900px){.card{left:auto;right:24px;bottom:24px;width:380px}.days{bottom:40px}}
