*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%;overflow:hidden}body{margin:0;padding:0;height:100%;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Arial,Helvetica,sans-serif;background:#f1f5f9;color:#0f172a}app-root{display:block;height:100%}button{font:inherit;-webkit-appearance:none;appearance:none}button:focus-visible{outline:2px solid #6366f1;outline-offset:2px}:root{--shadow-card: 0 2px 4px -2px rgba(15, 23, 42, .05), 0 8px 20px -6px rgba(15, 23, 42, .06), 0 20px 48px -14px rgba(15, 23, 42, .08);--shadow-float: 0 6px 14px -4px rgba(15, 23, 42, .07), 0 16px 36px -10px rgba(15, 23, 42, .09);--shadow-menu: 0 4px 12px -4px rgba(15, 23, 42, .08), 0 12px 28px -8px rgba(15, 23, 42, .1);--card-edge: rgba(15, 23, 42, .06)}.page-panel,.trail-page{width:92%;max-width:38rem;margin:0 auto;padding:clamp(8px,2.5vw,20px);padding-bottom:max(12px,env(safe-area-inset-bottom,0px));box-sizing:border-box;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:transparent}.page-card,.trail-card{width:100%;min-height:0;max-height:100%;overflow-y:auto;flex-shrink:1;border:1px solid var(--card-edge);border-radius:clamp(12px,2vw,18px);padding:clamp(14px,3.5vw,26px);text-align:center;background:#fff;box-shadow:var(--shadow-card);box-sizing:border-box}.page-card.page-card--allow-overflow{overflow:visible}.trail-progress{font-size:clamp(.7rem,2.2vw,.8125rem);color:#64748b;margin-bottom:.5rem;letter-spacing:.04em;text-transform:uppercase}.post-code{margin:0 0 .75rem;font-size:clamp(1.05rem,3.4vw,1.25rem);font-weight:700;color:#0f172a}.trail-heading{font-size:clamp(1rem,3.5vw,1.25rem);font-weight:700;color:#0f172a;margin:0 0 .625rem;line-height:1.35;text-wrap:balance}.trail-hint{font-size:clamp(.8rem,2.5vw,.9rem);color:#64748b;margin:0 0 1rem;line-height:1.5}.trail-actions{display:flex;flex-direction:column;gap:.5rem}.trail-btn{width:100%;padding:clamp(10px,2.5vw,13px);border-radius:12px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-weight:600;font-size:clamp(.875rem,2.8vw,.95rem);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .15s ease;box-sizing:border-box}.trail-btn:hover:not(:disabled):not(.trail-btn-primary){border-color:#6366f1;background:#eef2ff;color:#0f172a;box-shadow:0 4px 14px #6366f126}.trail-btn.trail-btn-primary{border:none;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff}.trail-btn.trail-btn-primary:hover:not(:disabled){border:none;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 8px 24px #3b82f659;transform:translateY(-1px)}.trail-btn.trail-btn-primary:active:not(:disabled){transform:scale(.98);background:linear-gradient(135deg,#1d4ed8,#4338ca);color:#fff}.trail-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:767px){.trail-btn{min-height:44px}}.trail-toast{margin-top:.75rem;padding:.5rem .65rem;border-radius:10px;font-size:.8125rem;line-height:1.35}.trail-toast.success{background:#dcfce7;color:#166534}.trail-toast.error{background:#fee2e2;color:#991b1b}.trail-page--narrow{max-width:28rem}.trail-page--scan{max-width:40rem;justify-content:center}.trail-page.email-page{max-width:44rem}.trail-page--scan .trail-card.scan-card{max-height:min(92vh,720px)}@media(min-width:768px){.trail-page:not(.trail-page--narrow){max-width:40rem}.trail-page.email-page{max-width:48rem}}@media(max-height:500px)and (orientation:landscape){.page-panel,.trail-page{justify-content:flex-start;padding-top:8px}}.page-panel--welcome{max-width:48rem}.page-panel--routes{max-width:46rem}.page-panel--home{max-width:40rem}.page-panel--completion{max-width:38rem}
