/* The transparent modal owns the whole viewport, so its examples cannot operate the app. */
#tour-dialog{position:fixed;inset:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;color:var(--ink);box-shadow:none}
#tour-dialog::backdrop,.tour-active #tour-dialog::backdrop{background:transparent;backdrop-filter:none}
#tour-shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#tour-shade-path{fill:rgba(53,56,60,.36);fill-rule:evenodd}
#tour-connector{fill:none;stroke:#fffdf4;stroke-width:2;stroke-dasharray:3 4;stroke-linecap:round}
#tour-composer-preview{position:absolute;display:flex;flex-direction:column;gap:9px;pointer-events:none;user-select:none;color:var(--ink);line-height:1.6}
#tour-composer-preview .demo-loading{background:#fffdf7;border-radius:17px;padding:15px 19px 12px;box-shadow:0 8px 30px #16342418}
#tour-composer-preview .demo-loading-title b{font-size:13px}
#tour-composer-preview .demo-progress-steps{font-size:10px}
#tour-composer-preview .demo-cancel{font-size:10px}
.tour-composer-question{display:flex;flex-direction:column;justify-content:space-between;padding:12px 15px 9px;border:1px solid #fff9;border-radius:21px;background:#fffef8;box-shadow:0 8px 35px #16342420}
.tour-composer-question .demo-caption{font-size:10px}
.tour-composer-input{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:8px 0;font-size:15px;line-height:1.65}
.tour-composer-send{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent);color:white;font-size:23px;opacity:.45}
.tour-composer-question>small{display:block;text-align:center;font-size:9px;color:#899681;line-height:1.5}
.tour-composer-callout{padding:11px 13px;margin:0;background:#eef4e9;border:1px solid #dbe6d2;border-radius:9px;font-size:11px;color:#52765b}
#tour-dialog[data-step="3"] .tour-example-label,#tour-dialog[data-step="3"] .tour-simulation-note{display:none}
#tour-focus{position:absolute;border:2px solid #e4f3de;border-radius:13px;box-shadow:0 0 0 1px #54745999,0 0 24px #ffffff25;pointer-events:none}
#tour-focus-number{position:absolute;top:-11px;left:-10px;width:24px;height:24px;display:grid;place-items:center;border:2px solid #fffdf5;border-radius:50%;background:#315e49;color:white;font-size:11px;font-weight:750;box-shadow:0 2px 8px #20362f30}
#tour-card{position:absolute;display:flex;flex-direction:column;overflow:hidden;border:1px solid #ffffffcf;border-radius:20px;background:#fffdf7;box-shadow:0 16px 60px #1e302c32;min-height:145px}
.tour-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 21px 0;flex-shrink:0}
#tour-counter{font-size:10px;font-weight:700;color:#527962;letter-spacing:.7px}
#tour-close{border:0;width:28px;height:28px;padding:0;font-size:23px;line-height:1;color:#7b877c;border-radius:50%}
#tour-card-content{overflow:auto;min-height:0;padding:4px 22px 8px;scrollbar-width:thin}
#tour-card-content:focus-visible{outline:2px solid #88a587;outline-offset:-3px}
#tour-dialog #tour-title{font-size:21px;line-height:1.45;letter-spacing:-.65px;margin:9px 0 8px}
#tour-dialog #tour-text{font-size:12px;line-height:1.85;color:#68766c;margin:0 0 13px;min-height:0;word-break:keep-all;overflow-wrap:break-word}
#tour-location{display:inline-block;font-size:10px;line-height:1.5;color:#50705d;padding:5px 8px;background:#eef2e8;border-radius:6px;margin-bottom:12px}
.tour-example-label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1px;color:#8b9788;margin-bottom:7px}.tour-example-label:after{content:'';height:1px;background:#e3e8dc;flex:1}
#tour-preview{pointer-events:none;user-select:none;font-size:12px;line-height:1.6}
.tour-simulation-note{font-size:10px;color:#8b9589;margin:10px 0 2px;line-height:1.6}
.tour-card-footer{position:relative;padding:8px 22px 16px;background:#fffdf7;border-top:1px solid #edf0e8;flex-shrink:0}
#tour-scroll-hint{position:absolute;bottom:100%;left:0;right:0;padding:18px 10px 5px;background:linear-gradient(transparent,#fffdf7 45%);color:#54765b;font-size:9px;text-align:center;pointer-events:none}
#tour-progress{display:flex;list-style:none;gap:5px;margin:3px 0 12px;padding:0}
#tour-progress li{flex:1;height:3px;border-radius:2px;background:#e1e7da}#tour-progress li.done{background:#a2bb9d}#tour-progress li[aria-current]{background:#33654e}
.tour-navigation{display:flex;align-items:center;gap:7px}.tour-navigation button{font-size:11px;padding:8px 13px;min-height:35px}.tour-navigation #tour-skip{padding:7px 0;border:0;color:#839080;margin-right:auto}.tour-navigation #tour-next{min-width:72px}.tour-keyboard-hint{font-size:9px;color:#99a18f;margin-top:9px;text-align:right}
.demo-question{background:#f8f9f3;border:1px solid #dce3d5;border-radius:13px;padding:12px 14px}.demo-caption{display:flex;gap:9px;align-items:center;font-size:9px;color:#7a8a79}.demo-caption b{font-weight:550;color:#385740}.demo-question-line{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-top:12px;line-height:1.8;font-size:13px}.demo-send{flex-shrink:0;width:30px;height:30px;background:#32644e;color:white;border-radius:50%;display:grid;place-items:center;font-size:23px}
.demo-footnote{font-size:10px;line-height:1.7;color:#8c9786;margin:8px 0 0}.demo-levels{display:grid;gap:5px}.demo-levels>div{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e3e8dc;background:#f8f9f3;border-radius:9px}.demo-levels b{font-size:11px;min-width:24px}.demo-levels span{font-size:10px;color:#778572}.demo-levels .demo-level-selected{background:#edf3e9;border-color:#9bb598}.demo-level-selected i{font-style:normal;color:#3c744e;margin-left:auto}
.demo-loading{border:1px solid #e0e6d9;border-radius:12px;background:#f8faf4;padding:13px}.demo-loading-title{display:flex;gap:10px;align-items:center}.demo-loading-title b{font-size:11px;font-weight:550}.demo-orbit{font-size:25px;line-height:1;color:#759974;animation:tour-orbit 7s linear infinite}.demo-progress-track{height:4px;background:#e0e7d9;border-radius:3px;margin:14px 0 9px;overflow:hidden}.demo-progress-track>span{display:block;width:61%;height:100%;background:#608962}.demo-progress-steps{display:flex;justify-content:space-between;gap:4px;font-size:9px;color:#98a18e}.demo-progress-steps b{font-weight:650;color:#427352}.demo-cancel{text-align:right;font-size:9px;color:#8b9783;margin-top:12px}
.demo-map{position:relative;height:132px;overflow:hidden;border:1px solid #d9e4d6;border-radius:11px;background:#dcebf0}.demo-map-art{position:absolute;inset:0;width:100%;height:100%;fill:#e7ecdc;pointer-events:none}.demo-map-art .demo-river{fill:none;stroke:#c2dce8;stroke-width:5}.demo-map:after,.demo-event-map:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:26px 26px;pointer-events:none}.demo-pan-arrows{position:absolute;z-index:1;left:42%;top:29%;color:#568067;font-size:24px;line-height:.8;text-align:center}.demo-zoom{position:absolute;right:10px;top:10px;z-index:1;background:#fffdf6;box-shadow:0 2px 8px #34593218;border-radius:7px;display:grid;overflow:hidden}.demo-zoom span{display:grid;place-items:center;width:27px;height:27px;font-size:16px;border-bottom:1px solid #e7ebdf}.demo-zoom span:last-child{border:0;font-size:13px}.demo-map-caption{position:absolute;z-index:1;bottom:9px;left:10px;font-size:9px;color:#5f7e66;background:#fffdf3d9;padding:3px 7px;border-radius:5px}
.demo-event{position:relative}.demo-event-map{height:62px;position:relative;overflow:hidden;background:#dcebf0;border:1px solid #dce5d8;border-radius:11px 11px 0 0}.demo-event-dot{position:absolute;z-index:1;left:calc(50% - 14px);top:16px;width:28px;height:28px;border:2px solid #fffdf4;border-radius:50%;background:#a06d3c;color:#fff;display:grid;place-items:center;font-size:11px;box-shadow:0 2px 8px #343c2720}.demo-bubble{position:relative;margin:-3px 0 0;background:#fff;border:1px solid #dce3d6;border-radius:11px;padding:11px 13px}.demo-bubble>small{display:block;font-size:9px;color:#8c9983}.demo-bubble>b{display:block;font-size:13px;margin-top:4px}.demo-bubble>p{font-size:11px;line-height:1.7;color:#667761;margin:5px 0}.demo-source{font-size:9px;color:#447550;text-decoration:underline}.demo-event-actions{display:flex;gap:5px;margin-top:8px}.demo-event-actions span{padding:4px 8px;font-size:9px;background:#f7f9f2;border:1px solid #e1e7d8;border-radius:6px}.demo-timeline{display:flex;align-items:center;justify-content:space-between;background:#f0f4e9;border-radius:7px;margin-top:7px;padding:5px 8px;font-size:9px;color:#7e8b74}.demo-timeline b{color:white;background:#477957;border-radius:5px;padding:3px 10px}
.demo-date{background:#f7f9f1;border:1px solid #dce5d4;border-radius:12px;padding:12px}.demo-date .demo-caption{justify-content:space-between}.demo-date-fields{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr;gap:6px;margin-top:10px}.demo-date-fields small{display:block;font-size:9px;color:#83947a;margin-bottom:3px}.demo-date-fields b{display:block;background:#fff;border:1px solid #dee5d8;padding:5px 7px;font-size:11px;font-weight:500;border-radius:6px}.demo-date-slider{position:relative;height:4px;background:#cbd9c0;border-radius:3px;margin:15px 3px 7px}.demo-date-slider i{position:absolute;width:12px;height:12px;background:#5e855c;border-radius:50%;top:-4px;left:64%}
.demo-comparison{display:grid;grid-template-columns:1fr 1fr;gap:6px}.demo-comparison>div>b{display:block;text-align:center;background:#f1f5e9;padding:5px;font-size:10px;font-weight:600;border:1px solid #dce5d3;border-bottom:0;border-radius:8px 8px 0 0}.demo-comparison .demo-map{border-radius:0 0 8px 8px;height:115px}.demo-place-label{position:absolute;z-index:1;left:44%;top:46%;white-space:nowrap;font-size:10px;color:#355e41;background:#fffff6;padding:2px 7px;border:1px solid #c8d8bd;border-radius:5px}.demo-sync{display:flex;justify-content:space-between;gap:6px;font-size:9px;margin-top:9px;color:#50714c}.demo-sync>span{color:#98a08e}
.demo-records{display:grid;gap:8px}.demo-note{padding:11px 13px;background:#fcf8eb;border:1px solid #eae2ca;border-radius:11px}.demo-note small{display:block;font-size:9px;color:#a58c58;margin-bottom:4px}.demo-note b{font-size:12px}.demo-note p{font-size:11px;color:#8b805f;line-height:1.8;margin:5px 0 0}.demo-favorite{display:flex;gap:9px;align-items:center;padding:11px 13px;border:1px solid #dfe7d5;border-radius:10px;background:#f4f8ee}.demo-favorite>span{color:#9e8544}.demo-favorite>div{flex:1}.demo-favorite b{display:block;font-size:11px}.demo-favorite small{display:block;font-size:9px;color:#89977d;margin-top:2px}
.demo-account,.demo-connection{display:flex;align-items:center;gap:11px;padding:12px;border-radius:11px;background:#f3f6ed;border:1px solid #e0e7d7}.demo-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#dce8d2;color:#5e8359;font-size:13px}.demo-account b,.demo-connection b{display:block;font-size:12px}.demo-account small,.demo-connection small{display:block;font-size:9px;color:#8a987e;margin-top:3px}.demo-check{margin-left:auto;color:#6d925f}.demo-connection{margin-top:8px;background:#fff}.demo-connection>span{font-size:29px;color:#648860;width:35px;text-align:center}
@keyframes tour-orbit{to{transform:rotate(360deg)}}
@media(max-width:600px){#tour-card{border-radius:16px}.tour-card-header{padding:11px 15px 0}#tour-card-content{padding:2px 16px 6px}#tour-dialog #tour-title{font-size:18px;margin-top:7px}#tour-dialog #tour-text{font-size:11px;line-height:1.8;margin-bottom:10px}.tour-card-footer{padding:8px 16px 13px}.tour-keyboard-hint{display:none}#tour-location{font-size:9px;margin-bottom:9px}.demo-question-line{font-size:12px}.tour-navigation button{padding:8px 11px}.tour-simulation-note{font-size:9px}#tour-progress{margin-bottom:10px}.demo-progress-steps{font-size:8px}}
@media(max-height:600px){.tour-keyboard-hint{display:none}.tour-card-header{padding-top:8px}.tour-card-footer{padding-bottom:10px}#tour-card-content{padding-top:0}.demo-map{height:100px}}
@media(prefers-reduced-motion:reduce){.demo-orbit{animation:none}}
@media(max-width:600px){.tour-composer-input{font-size:13px;margin:6px 0}.tour-composer-question{padding:10px 13px 9px;border-radius:17px}#tour-composer-preview .demo-loading{padding:12px 14px}#tour-composer-preview .demo-loading-title b{font-size:12px}#tour-composer-preview .demo-progress-steps{font-size:9px}}
