:root{color-scheme:light;--ink:#183e37;--muted:#64786e;--paper:#f5f3ea;--line:#d9dfd2;--gold:#d0a759;--danger:#933a28;--green:#cde6b6}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:48px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.recorder{max-width:680px;margin:auto;padding:0 18px max(24px,env(safe-area-inset-bottom))}.topbar{height:66px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.05em}.topbar a{font-weight:850;letter-spacing:.16em;color:var(--ink);text-decoration:none}.topbar span{color:var(--muted)}.intro{padding:28px 0 23px}.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin:0 0 9px;color:var(--muted)}h1{font:normal clamp(2.9rem,10vw,4rem)/1.05 Georgia,serif;letter-spacing:-.05em;margin:0 0 12px}h1 span{color:var(--gold)}.intro>p:last-child{font-size:.9rem;margin:0;line-height:1.6;color:var(--muted)}h2{font-size:1.07rem;margin:0;font-weight:750}.card,.map-card,.offline-card{border:1px solid var(--line);border-radius:18px;margin-bottom:15px;background:#fffef8;overflow:hidden}.card,.offline-card{padding:20px}.map-card{background:#e9eddf}.map-top{padding:16px 16px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.59rem;letter-spacing:.06em;color:var(--muted)}.state{background:#fffef8;border-radius:30px;padding:8px 12px;letter-spacing:0;color:var(--ink);font-size:.75rem}.state.live{background:var(--ink);color:white}.state.live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#cde6b6;margin-right:7px}canvas{display:block;width:100%;height:250px}.map-hint{font-size:.73rem;text-align:center;margin:0;padding:0 18px 16px;line-height:1.5;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#f9faef;border-top:1px solid var(--line);padding:17px 4px}.stats div{text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font-size:1.3rem;font-variant-numeric:tabular-nums}.stats span{font-size:.68rem;color:var(--muted);display:block;margin-top:5px}label{font-size:.76rem;font-weight:650;display:block;margin-bottom:8px}input,select{width:100%;padding:12px 13px;min-height:48px;border-radius:10px;border:1px solid var(--line);color:var(--ink);background:white;font-size:16px}input::placeholder{color:#929d94}input:disabled,select:disabled{opacity:.6}.button-row{display:flex;gap:10px;margin:14px 0 6px}.button-row>button:first-child{flex:1.8}.button-row>button:last-child{flex:1}.primary,.secondary{border-radius:11px;padding:12px 16px;font-weight:650;font-size:.9rem}.primary{background:var(--ink);color:white;border:1px solid var(--ink)}.secondary{color:var(--ink);background:transparent;border:1px solid #aebcab}.primary:active{background:#286356}.full{width:100%;margin-top:12px}.text-button{border:0;padding:8px 0;background:none;color:var(--ink);font-size:.8rem;font-weight:650;text-align:left}.gps-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.78rem}.gps-row>span{max-width:65%}.coordinates{font:normal .8rem ui-monospace,SFMono-Regular,monospace;word-break:break-word;margin:0 0 12px;color:var(--muted)}.small{font-size:.74rem;line-height:1.6;color:var(--muted);margin:10px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.section-heading button{min-height:36px}.marker-icon{color:var(--gold);font-size:1.5rem}.checkpoints{list-style:none;padding:0;margin:18px 0 0}.checkpoints li{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.checkpoints .number{width:27px;height:27px;flex-shrink:0;border-radius:50%;background:var(--green);text-align:center;font-size:.7rem;padding-top:5px}.checkpoints strong{font-size:.88rem;display:block;overflow-wrap:anywhere}.checkpoints small{display:block;font-size:.7rem;color:var(--muted);margin-top:5px;line-height:1.5}.checkpoints .empty{color:var(--muted);font-size:.8rem}.export-row{display:flex;align-items:flex-end;gap:10px;margin-top:18px}.export-row label{flex:1;min-width:0;margin:0}.export-row select{font-size:.8rem;margin-top:7px}.export-row button{flex:0 0 42%;font-size:.8rem}.delete-button{color:var(--danger);font-size:.73rem;min-height:44px;border:none;background:transparent;padding:12px 0 0}.offline-card{background:#e8edde}.offline-card>p:first-of-type{font-size:.83rem;line-height:1.5}.offline-card summary{margin-top:16px;cursor:pointer;font-size:.8rem;font-weight:650;min-height:36px}.offline-card ol{padding-left:19px;font-size:.76rem;line-height:1.65}.offline-card li{margin:9px 0}.alert{background:#fff0d8;border:1px solid #e4c798;color:#704720;padding:14px 16px;border-radius:12px;line-height:1.5;margin-bottom:16px;font-size:.83rem}.error{color:var(--danger)!important}footer{font-size:.65rem;color:var(--muted);text-align:center;padding:10px 0 24px;line-height:1.6}
.import-row{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.import-row input{font-size:.8rem;padding:10px}.import-row input::file-selector-button{border:0;border-radius:6px;background:#e8edde;color:var(--ink);padding:8px;margin-right:8px}
@media(min-width:600px){.recorder{padding-left:28px;padding-right:28px}.intro{padding-top:36px}canvas{height:320px}.card,.offline-card{padding:24px}}@media(max-width:350px){.recorder{padding-left:12px;padding-right:12px}.card{padding:16px}.stats strong{font-size:1.15rem}.export-row{flex-direction:column;align-items:stretch}.map-top{font-size:.53rem}.state{padding:8px}}
