/* Shared interaction layer; leave responsive layouts, records and stamp artwork intact. */
:root{--ds-ink:#244f47;--ds-paper:#fffcf5;--ds-gold:#bd8752}
.destination-card,.park-card,.travel-values article{box-shadow:0 2px 0 #fff inset,0 5px 0 #293f3410,0 14px 30px #293f3409;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.travel-values article{padding:22px;border:1px solid #e4dfcf;border-radius:18px;background:linear-gradient(145deg,#fffefb,#f5f1e5)}
.destination-emblem{box-shadow:inset 0 2px 10px #fff9,0 6px 0 #d4d7c6;transition:transform .25s ease}
.primary-link{box-shadow:0 4px 0 #163f35,0 10px 24px #234e4620;transition:transform .18s ease,box-shadow .18s ease}
.journey-art{box-shadow:inset 0 2px 0 #fff,0 12px 0 #dcded040,0 24px 42px #3f4d3810}
.travel-header nav a{position:relative;transition:color .18s ease}
.travel-header nav a:hover{color:#8e5930}
:where(.shell,.auth-card,html[data-park] main) :where(button,summary,a):focus-visible{outline:3px solid #b67737;outline-offset:4px}
:where(.journey-toolbar,.filters,.zoom,.header-actions) button{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
:where(.journey-toolbar,.filters,.zoom,.header-actions) button:active:not(:disabled),.primary-link:active{transform:translateY(2px)}
@media(hover:hover) and (pointer:fine){.destination-card:hover,.park-card:hover{transform:translateY(-5px);box-shadow:0 2px 0 #fff inset,0 8px 0 #293f340d,0 22px 38px #293f3418}.destination-card:hover .destination-emblem{transform:rotate(-3deg)}.primary-link:hover{transform:translateY(-2px);box-shadow:0 6px 0 #163f35,0 15px 24px #234e4626}.travel-values article:hover{transform:translateY(-3px)}}
body{padding-bottom:76px}
.ds-guide-launcher{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:1000;display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:10px 17px;border:1px solid #d3c4a9;border-radius:999px;background:#fffcf5;color:#244f47;font:650 14px/1.4 system-ui,sans-serif;box-shadow:0 3px 0 #e5ddcd,0 8px 26px #1e3c3826;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.ds-guide-launcher span{color:#b47d3e;font-size:20px}.ds-guide-launcher:hover{transform:translateY(-2px);box-shadow:0 5px 0 #e5ddcd,0 12px 26px #1e3c3830}.ds-guide-launcher:active{transform:translateY(1px)}
html.ds-guide-open{scroll-behavior:auto!important}
#dsGuide.ds-guide{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:#244f47;font:16px/1.6 system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif}
#dsGuide.ds-guide{background:#102f2ccc}
#dsGuide.ds-guide.has-target{background:transparent}
#dsGuide::backdrop{background:transparent;backdrop-filter:none}
#dsGuide .ds-guide-card{z-index:2}
#dsGuide [hidden]{display:none!important}
#dsGuide .ds-guide-card{position:absolute;right:24px;bottom:24px;width:min(460px,calc(100% - 32px));box-sizing:border-box;padding:26px;border:1px solid #f6e7cb;border-radius:24px;background:linear-gradient(145deg,#fffefb,#f5edda);box-shadow:0 7px 0 #d6c8ac,0 28px 90px #001b2755;max-height:calc(100% - 48px);overflow:auto;overscroll-behavior:contain;animation:ds-guide-enter .22s ease-out}
#dsGuide .ds-guide-card.is-welcome{right:50%;bottom:50%;transform:translate(50%,50%)}
#dsGuide .ds-guide-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
#dsGuide .ds-guide-kicker{font-size:12px;letter-spacing:2px;color:#746548}
#dsGuide button{font:inherit;cursor:pointer;min-height:44px;border-radius:12px;transition:transform .15s ease,background .15s ease}
#dsGuide button:active{transform:translateY(2px)}
#dsGuide .ds-guide-close{flex:none;background:transparent;border:1px solid #ded6c3;color:#506c60;width:44px;padding:0;font-size:25px}
#dsGuide .ds-guide-counter{font:650 12px/1.4 system-ui;letter-spacing:3px;color:#a27645}
#dsGuide h2{font-size:clamp(21px,3vw,27px);line-height:1.5;letter-spacing:0;margin:9px 0 12px;color:#244f47}
#dsGuide #dsGuideText{font-size:14px;line-height:1.9;color:#5d6c62;margin:0}
#dsGuide .ds-guide-progress{display:flex;gap:5px;margin:22px 0 18px}
#dsGuide .ds-guide-progress span{height:4px;border-radius:4px;flex:1;background:#dfdbc9}
#dsGuide .ds-guide-progress .is-complete{background:#427464}
#dsGuide .ds-guide-actions,#dsGuide .ds-guide-actions>div{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
#dsGuide .ds-guide-next{background:#28584b;color:#fff;border:1px solid #28584b;padding:9px 16px;box-shadow:0 3px 0 #173d32}
#dsGuide .ds-guide-back{background:#fffaf0;border:1px solid #d5cbb5;color:#4e695c;padding:9px 12px}
#dsGuide .ds-guide-skip{background:transparent;border:0;color:#6e7566;padding:6px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
#dsGuide :focus-visible,.ds-guide-launcher:focus-visible{outline:3px solid #bf853a;outline-offset:4px}
#dsGuide .ds-guide-demo{text-align:center;padding:20px 0 0}
#dsGuide .ds-demo-stamp{display:inline-grid;justify-items:center;gap:5px;width:180px;height:142px;padding:15px;background:#e9eddf;border:2px dashed #759485;border-radius:22px;color:#627565;box-shadow:0 4px 0 #d8ddcd;transform:rotate(-4deg);transition:transform .25s ease,background .25s ease}
#dsGuide .ds-demo-stamp span{font-size:34px;line-height:1.1;color:#a98b50}
#dsGuide .ds-demo-stamp strong{font-size:15px}#dsGuide .ds-demo-stamp small{font-size:8px;letter-spacing:1.5px}
#dsGuide .ds-demo-stamp[aria-pressed=true]{background:#28584b;color:#fff4d4;border-color:#b6c5a0;transform:rotate(3deg) scale(1.03);box-shadow:0 5px 0 #193e32,0 10px 24px #28584b28}
#dsGuide .ds-demo-stamp[aria-pressed=true] span{color:#edcb7a}
#dsGuide .ds-guide-demo p{font-size:11px;color:#7e7b69;margin:12px 0 0}
#dsGuide .ds-guide-spotlight{position:fixed;z-index:1;border:2px solid #f9d48d;border-radius:14px;box-shadow:0 0 0 200vmax #102f2ccc;pointer-events:none;box-sizing:border-box}
#dsGuide .ds-guide-help{display:block;color:#647663;font-size:12px;margin-top:18px;text-underline-offset:4px}
@keyframes ds-guide-enter{from{opacity:0}to{opacity:1}}
@media(max-width:600px){#dsGuide .ds-guide-card{right:16px;bottom:max(20px,env(safe-area-inset-bottom));padding:20px;max-height:65%;border-radius:20px}#dsGuide .ds-guide-card.is-welcome{max-height:calc(100% - 48px)}#dsGuide h2{font-size:22px}#dsGuide .ds-guide-actions{gap:12px}#dsGuide .ds-guide-top{margin-bottom:10px}.ds-guide-launcher{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.destination-card,.park-card,.travel-values article,.destination-emblem,.primary-link,.ds-guide-launcher,#dsGuide *{animation:none!important;transition:none!important}.destination-card:hover,.park-card:hover,.travel-values article:hover,.destination-card:hover .destination-emblem,.primary-link:hover,.ds-guide-launcher:hover{transform:none}}
