:root{font-family:Trebuchet MS,Arial,sans-serif;color:#253331;background:#e9e7dc;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#e9e7dc}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}#detour-demo{--dt-paper: #faf8f1;--dt-ink: #253331;--dt-muted: #697570;--dt-line: #dddeda;--dt-tile: #eeeee6;--dt-wall: #8f9e96;--dt-wall-mark: #40524a;--dt-green: #246747;--dt-green-soft: #dbead8;--dt-gold: #edb743;--dt-gold-ink: #795719;--dt-route: #428e67;--dt-radius: 14px;width:min(100%,496px);min-height:100vh;margin:0 auto;padding:1rem;color:var(--dt-ink);font-size:14px;line-height:1.45;isolation:isolate}#detour-demo .dt-phone{overflow:hidden;border:1px solid var(--dt-line);border-radius:26px;background:var(--dt-paper);padding:22px 23px 17px;box-shadow:0 18px 55px #2f392f1f}#detour-demo .dt-screen{display:flow-root}#detour-demo .dt-haul{display:inline-block;transform-origin:center}#detour-demo .dt-pickup{position:absolute;inset:0;z-index:5;display:grid;place-items:center;pointer-events:none}#detour-demo .dt-pickup-ring{position:absolute;width:27px;height:27px;border:2px solid var(--dt-gold);border-radius:50%}#detour-demo .dt-pickup-point{position:absolute;color:var(--dt-gold);font-size:14px;font-weight:900;text-shadow:0 1px 3px var(--dt-paper)}#detour-demo .dt-celebration{position:absolute;top:126px;left:50%;z-index:2;pointer-events:none}#detour-demo .dt-celebration i{position:absolute;width:6px;height:9px;border-radius:2px;background:var(--dt-gold)}#detour-demo .dt-celebration i:nth-child(3n){background:var(--dt-green)}#detour-demo .dt-primary,#detour-demo .dt-secondary,#detour-demo .dt-back{transition:background-color .14s ease,border-color .14s ease,transform .1s ease}#detour-demo .dt-primary:active:not(:disabled),#detour-demo .dt-secondary:active:not(:disabled),#detour-demo .dt-back:active:not(:disabled){transform:scale(.97)}#detour-demo button{color:inherit}#detour-demo button:focus-visible,#detour-demo input:focus-visible,#detour-demo select:focus-visible,#detour-demo textarea:focus-visible{outline:3px solid rgb(36 103 71 / 30%);outline-offset:2px}#detour-demo .dt-header{display:flex;height:45px;min-height:45px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--dt-line);padding-bottom:15px}#detour-demo .dt-header.home{justify-content:flex-end;border-bottom:0}#detour-demo .dt-header.archive{justify-content:flex-start}#detour-demo .dt-wordmark{border:0;background:transparent;padding:0;font-weight:900;font-size:29px;letter-spacing:-1.8px;line-height:1}#detour-demo .dt-wordmark:hover{color:var(--dt-green)}#detour-demo .dt-wordmark span{display:inline-block;color:var(--dt-green);transform:rotate(-12deg)}#detour-demo .dt-locale{min-width:40px;min-height:32px;border:1px solid var(--dt-line);border-radius:9px;background:transparent;color:var(--dt-muted);padding:5px 8px;font-size:10px;font-weight:900;letter-spacing:.7px}#detour-demo .dt-locale:hover{border-color:var(--dt-green);color:var(--dt-green)}#detour-demo .dt-kicker{color:var(--dt-muted);font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}#detour-demo h2{margin:7px 0 9px;font-size:27px;font-weight:800;letter-spacing:-1.1px;line-height:1.12}#detour-demo .dt-start{padding:26px 0 20px}#detour-demo .dt-start-archive{padding-top:26px}#detour-demo .dt-home-panel{width:100%}#detour-demo .dt-start h1{margin:8px 0 26px;font-size:32px;letter-spacing:-1.5px;line-height:1.08}#detour-demo .dt-home-daily{display:flex;min-height:520px;flex-direction:column;align-items:center;justify-content:flex-start;padding:26px 0 58px;text-align:center}#detour-demo .dt-start .dt-home-logo{margin:0 0 34px;font-size:52px;font-weight:900;letter-spacing:-3px;line-height:1}#detour-demo .dt-home-logo span{display:inline-block;color:var(--dt-green);transform:rotate(-10deg)}#detour-demo .dt-home-explanation{max-width:315px;margin:0 0 28px;color:var(--dt-muted);font-size:15px;line-height:1.6}#detour-demo .dt-home-play{width:min(100%,300px);margin:0 0 8px}#detour-demo .dt-home-date{color:var(--dt-muted);font-size:11px;font-variant-numeric:tabular-nums}#detour-demo .dt-home-daily .dt-archive-toggle{margin-top:22px}#detour-demo .dt-archive-panel{padding-top:0}#detour-demo .dt-archive-panel h1{margin-bottom:22px}#detour-demo p{margin:0}#detour-demo .dt-sub{color:var(--dt-muted);font-size:13px}#detour-demo .dt-date-row{display:grid;align-items:center;gap:12px;margin-top:14px}#detour-demo .dt-date-row{grid-template-columns:minmax(0,1fr) auto}#detour-demo .dt-date-row label{color:var(--dt-muted);font-size:11px;font-weight:700}#detour-demo select,#detour-demo input[type=date]{min-height:44px;max-width:100%;border:1px solid var(--dt-line);border-radius:10px;background:var(--dt-tile);color:var(--dt-ink);padding:9px 12px;font-size:13px}#detour-demo .dt-date-control{display:flex;align-items:center;justify-content:flex-end;gap:12px}#detour-demo input[type=date]{width:145px}#detour-demo .dt-date-row span{color:var(--dt-muted);font-size:11px;font-weight:700}#detour-demo .dt-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}#detour-demo .dt-metric{display:flex;align-items:center;gap:8px}#detour-demo .dt-value{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.7px}#detour-demo .dt-small{color:var(--dt-muted);font-size:11px}#detour-demo .dt-dotcoin{position:relative;display:inline-block;flex:none;width:22px;height:22px;border:2px solid #d59d2b;border-radius:50%;background:var(--dt-gold);box-shadow:inset 0 0 0 3px #f6cc6a;vertical-align:middle}#detour-demo .dt-dotcoin:not(.taken):before{position:absolute;top:3px;right:3px;width:3px;height:3px;border-radius:50%;background:#fff8d7;box-shadow:4px 5px 0 -1px #fff8d7b3;content:"";opacity:0;transform:scale(.35);animation:dt-coin-spark 5.4s ease-in-out infinite;animation-delay:var(--dt-spark-delay, 0s)}#detour-demo .dt-dotcoin:after{position:absolute;top:5px;left:8px;width:2px;height:8px;border-radius:2px;background:var(--dt-gold-ink);content:""}@keyframes dt-coin-spark{0%,72%,to{opacity:0;transform:scale(.35)}76%{opacity:.95;transform:scale(1)}82%{opacity:.1;transform:scale(.55)}}#detour-demo .dt-steps{text-align:right;line-height:1.25}#detour-demo .dt-board{position:relative;aspect-ratio:1;touch-action:manipulation;-webkit-user-select:none;user-select:none}#detour-demo .dt-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--dt-size, 7),minmax(0,1fr));grid-template-rows:repeat(var(--dt-size, 7),minmax(0,1fr));gap:4px}#detour-demo .dt-cell{position:relative;display:grid;min-width:0;place-items:center;border:0;border-radius:var(--dt-radius);background:var(--dt-tile);padding:0;touch-action:manipulation}#detour-demo .dt-cell:hover:not(:disabled){background:#e6e6dc}#detour-demo .dt-cell.wall{border:2px solid color-mix(in srgb,var(--dt-wall-mark) 68%,var(--dt-wall));background:linear-gradient(135deg,transparent 42%,color-mix(in srgb,var(--dt-wall-mark) 48%,transparent) 42% 58%,transparent 58%),linear-gradient(45deg,transparent 42%,color-mix(in srgb,var(--dt-wall-mark) 48%,transparent) 42% 58%,transparent 58%),var(--dt-wall);box-shadow:inset 0 -4px color-mix(in srgb,var(--dt-wall-mark) 44%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--dt-wall-mark) 35%,transparent)}#detour-demo .dt-cell.reachable{box-shadow:inset 0 0 0 2px #428e6761}#detour-demo .dt-cell.exit{background:var(--dt-green-soft);color:var(--dt-green)}#detour-demo .dt-cell.exit.locked{background:#ece8dc;color:var(--dt-muted)}#detour-demo .dt-cell.visited{background:#e0eade}#detour-demo .dt-cell .dt-content{position:relative;z-index:3;display:grid;place-items:center;pointer-events:none}#detour-demo .dt-cell .dt-dotcoin{width:25px;height:25px}#detour-demo .dt-cell .dt-dotcoin:after{top:6px;left:10px;height:9px}#detour-demo .dt-cell .dt-dotcoin.taken{width:11px;height:11px;border:3px solid var(--dt-route);background:var(--dt-paper);box-shadow:none}#detour-demo .dt-cell .dt-dotcoin.taken:after{display:none}#detour-demo .dt-exit{font-size:10px;font-weight:900;letter-spacing:.8px;line-height:1.4;text-align:center}#detour-demo .dt-exit span{display:block;font-size:23px;line-height:1}#detour-demo .dt-player{position:relative;width:27px;height:28px;border-radius:10px 10px 8px 8px;background:var(--dt-ink);box-shadow:0 3px #25333126}#detour-demo .dt-player:before,#detour-demo .dt-player:after{position:absolute;top:9px;width:4px;height:5px;border-radius:2px;background:var(--dt-paper);content:""}#detour-demo .dt-player:before{left:7px}#detour-demo .dt-player:after{right:7px}#detour-demo .dt-dotcoin.taken:before{display:none}#detour-demo .dt-path{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}#detour-demo .dt-path polyline{fill:none;stroke:var(--dt-route);stroke-linecap:round;stroke-linejoin:round;stroke-width:8}#detour-demo .dt-actions{display:flex;gap:8px}#detour-demo .dt-actions{margin-top:12px}#detour-demo .dt-secondary{min-height:44px;flex:1;border:1px solid var(--dt-line);margin-bottom:10px;border-radius:12px;background:transparent;padding:10px 15px;font-size:12px;font-weight:700}#detour-demo .dt-secondary:hover:not(:disabled){border-color:var(--dt-green);background:var(--dt-green-soft)}#detour-demo .dt-primary{width:100%;min-height:47px;margin-top:10px;margin-bottom:10px;border:0;border-radius:13px;background:var(--dt-ink);color:var(--dt-paper);padding:13px 17px;font-size:14px;font-weight:800}#detour-demo .dt-primary:hover:not(:disabled){background:var(--dt-green)}#detour-demo .dt-primary:disabled{opacity:1;background:var(--dt-line);color:var(--dt-muted)}#detour-demo .dt-archive-toggle{display:block;margin:1px auto 0;border:0;background:transparent;color:var(--dt-green);padding:7px 10px;font-size:12px;font-weight:800}#detour-demo .dt-archive-toggle:hover{text-decoration:underline}#detour-demo .dt-calendar{margin-top:16px;border:1px solid var(--dt-line);border-radius:16px;background:var(--dt-tile);padding:14px}#detour-demo .dt-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}#detour-demo .dt-calendar-month{font-size:16px;font-weight:800;text-transform:capitalize}#detour-demo .dt-calendar-nav{display:flex;gap:5px}#detour-demo .dt-calendar-nav-button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--dt-line);border-radius:9px;background:transparent;color:var(--dt-ink);font-size:22px;line-height:1}#detour-demo .dt-calendar-nav-button:hover:not(:disabled){border-color:var(--dt-green);color:var(--dt-green)}#detour-demo .dt-calendar-weekdays,#detour-demo .dt-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}#detour-demo .dt-calendar-weekdays{margin-bottom:5px}#detour-demo .dt-calendar-weekdays span{color:var(--dt-muted);font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}#detour-demo .dt-calendar-day,#detour-demo .dt-calendar-blank{min-height:34px}#detour-demo .dt-calendar-day{position:relative;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--dt-ink);font-size:12px;font-weight:700;line-height:1}#detour-demo .dt-calendar-day:hover:not(:disabled):not(.selected):not(.today),#detour-demo .dt-calendar-day.adjacent:not(:disabled):hover{border-color:var(--dt-line);background:var(--dt-paper)}#detour-demo .dt-calendar-day:disabled{color:var(--dt-muted);opacity:.28}#detour-demo .dt-calendar-day.adjacent{color:var(--dt-muted);opacity:.34}#detour-demo .dt-calendar-day.adjacent:not(:disabled):hover{opacity:.78}#detour-demo .dt-calendar-day.today:not(.selected){border-color:var(--dt-green);background:var(--dt-green-soft)}#detour-demo .dt-calendar-day.completed:after{content:"";position:absolute;bottom:4px;left:50%;width:5px;height:5px;transform:translate(-50%);border-radius:50%;background:var(--dt-green)}#detour-demo .dt-calendar-day.selected{background:var(--dt-ink);color:var(--dt-paper)}#detour-demo .dt-calendar-day.selected.today{border-color:var(--dt-green);box-shadow:0 0 0 2px var(--dt-green)}#detour-demo .dt-calendar-day:focus-visible{outline:2px solid var(--dt-gold);outline-offset:2px;z-index:1}#detour-demo .dt-result{position:relative;padding-top:24px;text-align:center}#detour-demo .dt-result-screen{width:100%}#detour-demo .dt-result-summary{padding:6px 0 16px}#detour-demo .dt-result-meta{display:flex;justify-content:center;gap:7px;color:var(--dt-muted);font-size:11px;font-weight:700}#detour-demo .dt-result h1{margin:17px 0 24px;font-size:30px;letter-spacing:-1.1px;line-height:1.12}#detour-demo .dt-achievement-art{position:relative;display:grid;place-items:center;width:200px;height:150px;margin:22px auto 0;background:radial-gradient(ellipse,rgb(237 183 67 / 13%),transparent 68%)}#detour-demo .dt-achievement-medal{width:110px;height:121px;filter:drop-shadow(0 5px 6px rgb(121 87 25 / 12%))}#detour-demo .dt-medal-sparks{position:absolute;inset:0;width:100%;height:100%;color:var(--dt-gold)}#detour-demo .dt-result .dt-achievement-title{margin:14px 0 20px;font-size:32px;letter-spacing:-1px}#detour-demo .dt-result-score{display:flex;align-items:center;justify-content:center;gap:14px}#detour-demo .dt-score-caption{color:var(--dt-muted);font-size:12px}#detour-demo .dt-score-number{font-size:38px;font-weight:800;letter-spacing:-1.6px;line-height:1.15;font-variant-numeric:tabular-nums}#detour-demo .dt-score-number small{margin-left:3px;font-size:15px;font-weight:500;letter-spacing:0;color:var(--dt-muted)}#detour-demo .dt-result-review{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:44px;margin:6px 0 24px;border:0;padding:8px;background:transparent;color:var(--dt-muted);font-size:12px}#detour-demo .dt-result-review:hover{color:var(--dt-green)}#detour-demo .dt-result-review span{font-size:15px}#detour-demo .dt-result-actions{display:grid;gap:10px;max-width:304px;margin:0 auto}#detour-demo .dt-result-actions button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0}#detour-demo .dt-result-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#detour-demo .dt-result-actions .dt-result-share{background:var(--dt-green);color:var(--dt-paper);box-shadow:0 3px color-mix(in srgb,var(--dt-green) 72%,#000)}#detour-demo .dt-result-actions .dt-result-share:hover{background:color-mix(in srgb,var(--dt-green) 90%,var(--dt-ink))}#detour-demo .dt-another-day{font-weight:600}#detour-demo .dt-review-heading{display:flex;min-height:44px;align-items:center;justify-content:space-between;margin-bottom:20px;text-align:right}#detour-demo .dt-review-heading .dt-back{position:static;flex:0 0 auto;text-align:left}#detour-demo .dt-review-heading h1{margin:0 0 0 auto;font-size:clamp(20px,5vw,28px)}#detour-demo .dt-route-stats{--dt-optimal: #7a4eb2;display:grid;grid-template-columns:1fr 1fr;width:min(100%,360px);gap:8px;margin:0 auto 14px}#detour-demo .dt-route-stat-group{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:5px}#detour-demo .dt-route-stat{display:flex;width:100%;min-height:74px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--dt-line);border-top:3px solid var(--dt-route);border-radius:12px;background:var(--dt-tile);padding:9px 11px;text-align:center}#detour-demo .dt-route-stat.optimal{border-top-style:dashed;border-top-color:var(--dt-optimal)}#detour-demo .dt-route-stat-label{overflow:hidden;color:var(--dt-muted);font-size:10px;font-weight:800;letter-spacing:.4px;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}#detour-demo .dt-route-stat-measure{display:flex;align-items:baseline;gap:5px}#detour-demo .dt-route-stat-value{font-size:25px;font-variant-numeric:tabular-nums;line-height:1}#detour-demo .dt-route-stat-unit{color:var(--dt-muted);font-size:11px}#detour-demo .dt-route-toggle{font:inherit;cursor:pointer}#detour-demo .dt-route-toggle:hover{border-color:var(--dt-green);background:var(--dt-green-soft)}#detour-demo .dt-route-toggle[aria-pressed=false]{opacity:.45}#detour-demo .dt-route-toggle:focus-visible{outline:2px solid var(--dt-gold);outline-offset:2px}#detour-demo .dt-route-review{--dt-optimal: #7a4eb2;padding:0 0 8px;text-align:left}#detour-demo .dt-review-board{margin-top:0;touch-action:auto}#detour-demo .dt-review-board .dt-cell{border-radius:9px}#detour-demo .dt-review-board .dt-cell:hover{background:var(--dt-tile)}#detour-demo .dt-review-board .wall:hover{background:var(--dt-wall)}#detour-demo .dt-review-coin{width:10px;height:10px;border-radius:50%;background:var(--dt-gold);border:1px solid var(--dt-gold-ink)}#detour-demo .dt-review-endpoint{border-radius:4px;padding:0 3px;background:var(--dt-paper);font-size:11px;font-weight:900}#detour-demo .dt-route-review .dt-player-path{stroke:var(--dt-route);stroke-width:6}#detour-demo .dt-route-review .dt-path{pointer-events:auto}#detour-demo .dt-route-review .dt-player-path{cursor:pointer;pointer-events:stroke;transition:opacity .14s ease}#detour-demo .dt-route-review .dt-player-path.is-hidden{opacity:0;pointer-events:none}#detour-demo .dt-route-review .dt-optimal-path{stroke:var(--dt-optimal);stroke-width:3;stroke-dasharray:8 7;opacity:.6}#detour-demo .dt-share{padding-top:22px}#detour-demo .dt-share-hint{color:var(--dt-muted);font-size:11px;line-height:1.6}#detour-demo .dt-share textarea{display:block;width:100%;min-height:190px;margin:20px 0 16px;resize:vertical;border:1px solid var(--dt-line);border-radius:14px;background:var(--dt-tile);padding:16px;color:var(--dt-ink);font-size:14px;line-height:1.8}#detour-demo .dt-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#detour-demo .dt-share-actions .dt-primary{margin-top:0}#detour-demo .dt-back{display:inline-flex;align-items:center;min-height:30px;border:0;background:transparent;padding:0;color:var(--dt-ink);font-size:15px;font-weight:800}#detour-demo .dt-back:hover{color:var(--dt-green)}#detour-demo .dt-archive-panel .dt-archive-back{min-height:44px;margin-bottom:12px;color:var(--dt-ink);font-size:15px;font-weight:800}#detour-demo .dt-copy-note{min-height:25px;padding-top:9px;color:var(--dt-muted);font-size:11px;text-align:center}@media(max-width:360px){#detour-demo{padding:.5rem}#detour-demo .dt-phone{border-radius:20px;padding:15px 12px}#detour-demo h2{font-size:24px}#detour-demo .dt-start{padding-top:26px}#detour-demo .dt-start h1{margin-bottom:24px;font-size:28px}#detour-demo .dt-home-daily{min-height:470px;padding-bottom:42px}#detour-demo .dt-start .dt-home-logo{margin-bottom:28px;font-size:43px}#detour-demo .dt-home-explanation{max-width:280px;margin-bottom:24px;font-size:14px}#detour-demo .dt-grid{gap:3px}#detour-demo .dt-date-row,#detour-demo .dt-date-control{gap:6px}#detour-demo .dt-date-row input[type=date]{width:130px;padding-left:8px;padding-right:8px}#detour-demo .dt-cell .dt-dotcoin{width:20px;height:20px;box-shadow:inset 0 0 0 2px #f6cc6a}#detour-demo .dt-cell .dt-dotcoin:after{top:4px;left:7px;height:8px}#detour-demo .dt-cell .dt-dotcoin.taken{width:8px;height:8px;border-width:2px}#detour-demo .dt-player{width:22px;height:23px;border-radius:7px}#detour-demo .dt-player:before,#detour-demo .dt-player:after{top:7px;width:3px;height:4px}#detour-demo .dt-player:before{left:5px}#detour-demo .dt-player:after{right:5px}#detour-demo .dt-exit{font-size:7px;letter-spacing:0}#detour-demo .dt-exit span{font-size:16px}#detour-demo .dt-path polyline{stroke-width:5}}@media(prefers-color-scheme:dark){:root{color:#edf2eb;background:#101817}body{background:#101817}#detour-demo{--dt-paper: #171e20;--dt-ink: #edf2eb;--dt-muted: #a5b1aa;--dt-line: #374541;--dt-tile: #26312e;--dt-wall: #6f8579;--dt-wall-mark: #d7e2db;--dt-green: #8bd6ab;--dt-green-soft: #273f33;--dt-route: #82c99d}#detour-demo .dt-cell:hover:not(:disabled){background:#303d38}#detour-demo .dt-route-review,#detour-demo .dt-route-stats{--dt-optimal: #ceadef}}@media(prefers-reduced-motion:reduce){#detour-demo *,#detour-demo *:before,#detour-demo *:after{transition:none!important;animation:none!important}#detour-demo .dt-primary:active:not(:disabled),#detour-demo .dt-secondary:active:not(:disabled),#detour-demo .dt-back:active:not(:disabled){transform:none}}
