@font-face{font-family:'DM Serif Display';src:url('fonts/dm-serif-display.ttf') format('truetype');font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}

:root{--ink:#2f4a3f;--grey:#6e7870;--paper:#f8f6f0;--row:#eef0e9;--line:#c9d1c6;--gold:#c9922e;--deep:#183e35}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 Manrope,system-ui,sans-serif}
button,input{font:inherit;color:inherit}
h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.15;margin:0}
[hidden]{display:none!important}

.cm-intro{max-width:620px;margin:0 auto;padding:28px 16px 48px}
.cm-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:28px}
.cm-brand{font-weight:700;letter-spacing:.04em;margin:0}
.cm-meta{font-size:.75rem;color:var(--grey);text-transform:uppercase;letter-spacing:.06em;margin:0}
h1{font-size:2.6rem}
.cm-lead{color:var(--grey);margin:.4em 0 1.6em}

.cm-form{display:grid;gap:14px;background:var(--row);border-radius:14px;padding:20px}
.cm-form label{display:grid;gap:4px;font-weight:700;font-size:.9rem}
.cm-form input[type=date],.cm-form input[type=time],.cm-form input[type=search]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:400}
.cm-check{display:flex!important;align-items:center;gap:8px;font-weight:400!important}
.cm-search{display:flex;gap:8px}
.cm-search-button{padding:0 16px;border:1px solid var(--ink);border-radius:8px;background:#fff;cursor:pointer}
.cm-places{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cm-places button{width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.cm-places button:hover,.cm-places button:focus{border-color:var(--ink)}
.cm-status{margin:0;font-size:.9rem;color:var(--grey);min-height:1.2em}
.cm-error{margin:0;color:#9b3d2a;font-weight:700}

.cm-button{padding:12px 22px;border:0;border-radius:999px;background:var(--deep);color:#fff8e6;font-weight:700;cursor:pointer}
.cm-button:disabled{opacity:.55;cursor:wait}
.cm-link{border:0;background:none;text-decoration:underline;cursor:pointer;padding:12px 8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.cm-result{display:grid;justify-items:center;gap:18px;margin-top:28px}
.cm-wheel{width:min(100%,380px);aspect-ratio:1}
.cm-list{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:4px}
.cm-list li{display:grid;grid-template-columns:1.2fr 1fr 4.5em;gap:8px;padding:8px 12px;border-radius:8px}
.cm-list li:nth-child(odd){background:var(--row)}
.cm-list li span:last-child{text-align:right}
.cm-list li:first-child{background:#fdf3dc;font-weight:700}
.cm-begin{font-size:1.1rem;padding:14px 30px}
.cm-privacy{font-size:.8rem;color:var(--grey);margin-top:32px}

.cm-forest{position:fixed;inset:0;background:#0c1c1a;overflow:hidden}
.cm-scene{position:absolute;inset:0;width:100%;height:100%}
.cm-progress{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;margin:0;padding:0;list-style:none}
.cm-progress li{width:10px;height:10px;border-radius:50%;background:rgba(255,248,230,.25);transition:background .6s}
.cm-progress li.done{background:#f4c96b}
.cm-card{position:absolute;left:16px;right:16px;bottom:16px;max-width:540px;margin:0 auto;background:rgba(248,246,240,.94);border-radius:16px;padding:18px 20px;box-shadow:0 10px 40px rgba(0,0,0,.35);transition:opacity .5s,transform .5s}
.cm-card.walking{opacity:0;transform:translateY(12px);pointer-events:none}
.cm-kicker{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.cm-card h2{font-size:1.55rem;outline:none}
.cm-text{margin:.5em 0 .9em}
.cm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.glyph{font-family:'Segoe UI Symbol','Apple Symbols',serif;color:var(--gold)}

@media (prefers-reduced-motion:reduce){.cm-card,.cm-progress li{transition:none}}
