:root{--ink:#1f1a16;--ink-soft:#3d342c;--muted:#6a5f55;--paper:#d9d2c8;--paper-lift:#e7e1d7;--paper-deep:#c4bbb0;--line:#b0a597;--accent:#3f5343;--accent-hover:#314234;--accent-soft:#d5ddd4;--warn:#7a5c28;--focus:#2c5a8a;--radius:2px;--font-display:"Fraunces", "Palatino Linotype", Palatino, serif;--font-body:"Figtree", "Trebuchet MS", sans-serif;--shadow-soft:0 12px 40px #1f1a1614;color:var(--ink);background-color:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--paper);min-width:320px;color:var(--ink);background-image:radial-gradient(at 12% 0,#3f534312,#0000 42%),radial-gradient(at 88% 18%,#7a5c280f,#0000 40%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");margin:0}#root{min-height:100dvh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:600;line-height:1.15}p{margin:0}button,textarea,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.skip-link{z-index:20;background:var(--ink);color:var(--paper-lift);border-radius:var(--radius);min-height:44px;padding:.6rem 1rem;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.app-main{width:min(100%,34rem);padding:1rem 1.15rem calc(2.5rem + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;margin:0 auto;display:flex}.selector,.intro,.step,.completion,.leave-confirm{width:100%;animation:.42s cubic-bezier(.22,1,.36,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.demo-banner{padding:.4rem .75rem;padding-top:max(.4rem, env(safe-area-inset-top,0px));background:var(--ink);color:var(--paper-lift);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.offline-notice{background:color-mix(in srgb, var(--warn) 18%, var(--paper));color:var(--ink);text-align:center;border-bottom:1px solid color-mix(in srgb, var(--warn) 35%, var(--line));padding:.55rem 1rem;font-size:.9rem;font-weight:600}.demo-banner--compact{gap:.75rem;padding-block:.3rem}.demo-banner__mark{color:#c4b48a;font-size:.55rem}.demo-banner__text{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.demo-banner__text--short{letter-spacing:.14em}.demo-banner__action{appearance:none;color:var(--paper-lift);font:inherit;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #e7e1d759;min-height:32px;padding:.25rem .55rem;font-size:.7rem;font-weight:600}.demo-banner__action:hover{background:#e7e1d714}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;font-size:.72rem;font-weight:600}.brand-title{margin-bottom:.55rem;font-size:clamp(2.15rem,8vw,3.2rem)}.lede{color:var(--ink-soft);max-width:22ch;margin-bottom:.35rem;font-size:1.1rem}.meta,.hint{color:var(--muted);font-size:.9rem}.hint{margin-top:.35rem}.xp-note{color:var(--muted);margin:.75rem 0;font-size:.85rem;font-style:italic}.empty-state{color:var(--muted);padding:1.5rem 0}.trail-list{flex-direction:column;gap:.35rem;margin:1.15rem 0 0;padding:0;list-style:none;display:flex}.trail-card{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;padding:.85rem 0 .55rem;transition:border-color .18s;display:flex}.trail-card:hover{border-top-color:var(--accent)}.trail-card__title{margin:.2rem 0 .25rem;font-size:1.35rem}.trail-card__desc{color:var(--ink-soft);font-size:.98rem}.trail-card__estimate{color:var(--muted);margin-top:.3rem;font-size:.84rem}.status-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#b0a5971f;padding:.2rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.status-pill--active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.status-pill--done{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 55%, var(--line));background:color-mix(in srgb, var(--warn) 12%, transparent)}.local-keeps{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.local-keeps__title{margin-bottom:.4rem;font-size:1.05rem}.local-keeps__fav{margin-bottom:.3rem;font-weight:600}.local-keeps__list{color:var(--ink-soft);margin:0;padding-left:1.1rem}.phone-preview{border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1.1rem}.phone-preview__title{margin-bottom:.4rem;font-size:1.15rem}.phone-preview__body{color:var(--ink-soft);margin-bottom:.75rem}.phone-preview__row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.phone-preview__qr{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-lift);flex-shrink:0;width:168px;height:168px;display:block}.phone-preview__qr--placeholder{min-height:168px}.phone-preview__copy-block{flex:12rem;min-width:0}.phone-preview__url{word-break:break-all;margin-bottom:.85rem;font-size:.9rem}.phone-preview__url a{color:var(--accent)}.phone-preview__actions{flex-wrap:wrap;gap:.55rem;display:flex}.phone-preview__install{color:var(--ink-soft);margin:0 0 .85rem;font-size:.92rem}.host-checklist{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 70%, transparent);border-radius:.35rem;margin-top:1.25rem;padding:.85rem 1rem}.host-checklist summary{cursor:pointer;font-family:var(--font-display);font-size:1.05rem;font-weight:600}.host-checklist__list{color:var(--ink-muted,var(--muted));gap:.4rem;margin:.65rem 0 0;padding-left:1.2rem;font-size:.95rem;display:grid}.host-handout-controls{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1.25rem;display:flex}.print-only{display:none}@media print{.no-print,.demo-banner,.offline-notice,.skip-link,.phone-preview,.demo-tools,.local-keeps,.host-handout-controls,.selector__header,.trail-list,.empty-state,.xp-note{display:none!important}.print-only,.host-handout{display:block!important}.app-shell,.app-main,.selector{width:100%!important;min-height:0!important;margin:0!important;padding:0!important;animation:none!important}body{color:#000!important;background:#fff!important}.host-handout__title{margin:.35rem 0 .5rem;font-size:1.8rem}.host-handout__lede,.host-handout__url{margin-bottom:.35rem}.host-handout__trails{margin:1rem 0 0;padding:0;list-style:none}.host-handout__trail{break-inside:avoid;border-top:1px solid #bbb;padding:.75rem 0}.host-handout__trail h2{margin:0 0 .25rem;font-size:1.2rem}.host-handout__steps{margin:.45rem 0 0;padding-left:1.1rem}.host-handout__checklist{break-inside:avoid;border-top:1px solid #bbb;margin-top:.75rem;padding-top:.75rem}.host-handout__checklist h2{margin:0 0 .35rem;font-size:1.1rem}.host-handout__checklist ol{margin:0;padding-left:1.15rem}.host-handout__footer{color:#444;margin-top:1rem;font-size:.8rem}}.demo-tools{border-top:1px solid var(--line);color:var(--muted);margin-top:1.5rem;padding-top:.75rem}.demo-tools summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;align-items:center;min-height:44px;font-size:.85rem;font-weight:600;display:flex}.demo-tools[open] summary{margin-bottom:.35rem}.btn{border-radius:var(--radius);border:1.5px solid #0000;justify-content:center;align-items:center;gap:.4rem;min-width:44px;min-height:44px;padding:.7rem 1.15rem;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:var(--paper-lift)}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{border-color:var(--ink-soft);color:var(--ink);background:0 0}.btn--secondary:hover{background:var(--paper-lift)}.btn--ghost{color:var(--muted);text-underline-offset:.2em;background:0 0;border-color:#0000;text-decoration:underline}.btn--ghost:hover{color:var(--ink)}.btn--large{width:100%;min-height:52px;font-size:1.05rem}.btn--leave{width:100%;min-height:48px}.btn--small{min-height:40px;padding:.45rem .75rem;font-size:.9rem}.btn:disabled{opacity:.45;cursor:not-allowed}.selector__header{margin-bottom:.25rem}.intro__title,.completion__title,.step__title,.leave-confirm__title{margin-bottom:.65rem;font-size:clamp(1.85rem,6.5vw,2.55rem)}.intro__desc,.completion__message,.leave-confirm__copy,.step__instruction{color:var(--ink-soft);margin-bottom:.7rem;font-size:1.05rem}.intro__copy{color:var(--ink);margin:1rem 0 .35rem}.intro .btn--primary,.leave-confirm .btn--primary,.completion__actions{margin-top:1.5rem}.progress-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}.step{flex-direction:column;flex:1;min-height:calc(100dvh - 3.5rem);display:flex}.step__body{flex:auto;padding-bottom:1rem}.step__trail-name{color:var(--muted);margin:.2rem 0 .85rem;font-size:.9rem}.step__context{color:var(--muted);margin-bottom:.6rem;font-style:italic}.target-chip{border-bottom:1px solid var(--line);align-items:baseline;gap:.65rem;margin:.75rem 0 .25rem;padding:.45rem 0;display:inline-flex}.target-chip__type{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.target-chip__label{font-family:var(--font-display);font-size:1.1rem}.step__media{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-lift);margin:1rem 0 0;animation:.52s cubic-bezier(.22,1,.36,1) both media-in;overflow:hidden}.step__media img{vertical-align:middle;width:100%;height:auto;display:block}@keyframes media-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.reflection{flex-direction:column;gap:.45rem;margin-top:1.1rem;display:flex}.reflection__label{color:var(--ink-soft);font-weight:600}.reflection__input{resize:vertical;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper-lift);width:100%;min-height:3.5rem;color:var(--ink);padding:.7rem .85rem}.reflection__input:focus-visible{border-color:var(--focus)}.save-local{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.step__actions{z-index:5;padding:.85rem 0 calc(.35rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--paper) 72%, #d9d2c800);flex-direction:column;gap:.55rem;margin-top:auto;display:flex;position:sticky;bottom:0}.completion__actions,.leave-confirm__actions{flex-direction:column;gap:.7rem;display:flex}@media (width>=720px){.app-main{width:min(100%,40rem);padding:2rem 1.5rem 4rem}.trail-card{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:1.5rem}.trail-card__actions{flex-shrink:0}.brand-title{max-width:10ch}.step{min-height:auto}.step__actions{background:0 0;margin-top:1.75rem;padding-bottom:0;position:static}}
