.tour-launch{width:34px;height:34px;flex-shrink:0;border:1px solid var(--ln);border-radius:50%;background:transparent;color:var(--tx);font:600 16px system-ui;cursor:pointer}
#walkthrough[hidden],.walk-focus[hidden]{display:none!important}
.walk-veil{position:fixed;z-index:10000;background:rgba(12,19,16,.18);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto;touch-action:pan-y}
.walk-focus{position:fixed;z-index:10002;pointer-events:none;box-sizing:border-box;border:3px solid #9c2446;border-radius:10px;animation:walk-pulse 1.8s ease-in-out infinite}
@keyframes walk-pulse{0%,100%{border-color:#8a1f3d;box-shadow:0 0 0 0 #9c244600}50%{border-color:#c65373;box-shadow:0 0 0 4px #9c24462e}}
.walk-bar{--wb:#fffdf9;--wt:#241f20;--wm:#696164;--wl:#e5dfe0;position:fixed;z-index:10003;width:min(342px,calc(100vw - 24px));box-sizing:border-box;padding:18px 20px 15px;border:1px solid var(--wl);border-radius:14px;background:var(--wb);color:var(--wt);font-family:inherit;box-shadow:0 12px 36px #0b101224;transition:opacity .14s ease;max-height:calc(100dvh - 24px);overflow:auto}
.dark .walk-bar{--wb:#19221e;--wt:#f1f4ef;--wm:#b9c2bb;--wl:#35443b}
.walk-changing .walk-bar{opacity:0;pointer-events:none}.walk-changing .walk-focus{display:none}
.walk-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--wm);font-size:11px;font-weight:500;letter-spacing:.02em}
.walk-close{font:400 23px/1 system-ui;color:var(--wm);background:none;border:0;min-width:32px;min-height:32px;padding:0;cursor:pointer;margin:-7px -9px -7px 0}
.walk-instruction h2{font-size:19px;line-height:1.25;letter-spacing:-.02em;margin:0 0 8px;font-weight:650}.walk-instruction p{font-size:13px;line-height:1.55;margin:0;color:var(--wm)}
.walk-status{display:block;font-size:12px;line-height:1.4;margin-top:10px;color:var(--wt)}.walk-status:empty{display:none}
.walk-controls{display:flex;align-items:center;gap:12px;margin-top:18px}.walk-controls button{font-family:inherit;font-size:12px;line-height:1.3;min-height:40px;border-radius:8px;padding:9px 12px;cursor:pointer}
.walk-back{color:var(--wm);background:none;border:1px solid var(--wl)}.walk-back:disabled{opacity:.35;cursor:default}.walk-count{font-size:11px;color:var(--wm);white-space:nowrap;font-variant-numeric:tabular-nums;margin-right:auto}
.walk-pass{color:var(--wm);background:none;border:0;text-decoration:underline;text-underline-offset:3px}.walk-next{color:#fff;background:#8a203f;border:1px solid #8a203f;font-weight:600;max-width:190px}
.walk-progress{height:2px;background:var(--wl);margin-top:14px;border-radius:2px;overflow:hidden}.walk-progress i{display:block;height:100%;background:#a94360;transition:width .2s ease}
.walk-bar button:focus-visible,.tour-launch:focus-visible{outline:2px solid #a94360;outline-offset:3px}
.walk-active #main{padding-bottom:calc(var(--walk-height,210px) + 90px)}.walk-active .scrim{align-items:flex-start;padding-top:72px}.walk-active .modal{max-height:calc(100dvh - 100px);overflow:auto;scroll-padding:16px}
.walk-active.walk-mobile .modal{max-height:calc(100dvh - var(--walk-height,210px) - 110px)}.walk-active .modal,.walk-active .mmove{animation:none!important;transform:none!important;opacity:1!important}.walk-active #modal .leg .k{color:var(--tx)}.walk-active [inert]{cursor:default}
@media(max-width:699px){.walk-bar{padding:14px 16px;width:calc(100vw - 24px)}.walk-instruction h2{font-size:17px;margin-bottom:6px}.walk-instruction p{font-size:12px;line-height:1.5}.walk-controls{margin-top:12px;gap:8px}.walk-controls button{min-height:44px}.walk-progress{margin-top:10px}.walk-active input{font-size:16px}.walk-active .scrim{padding:72px 12px 0}}
@media(prefers-reduced-motion:reduce){.walk-focus{animation:none;border-color:#ad3d5d}.walk-bar,.walk-progress i{transition:none}}
/* The day strip during the tour (edit_daystrip.py): the days hold still (the tour steps through them with the buttons); no i on phones. */
.walk-active #daystrip .dsrail{overflow-x:hidden}
@media(max-width:420px){.walk-active #daystrip .dsq{display:none}}


.walk-active{overflow-anchor:none}
.walk-search-page #main{min-height:calc(100dvh + 320px)}
.walk-phone.walk-typing .walk-instruction p,.walk-phone.walk-typing .walk-label>span,.walk-phone.walk-typing .walk-progress{display:none}
.walk-phone.walk-typing .walk-bar{padding:10px 14px}
.walk-phone.walk-typing .walk-label{float:right;margin:0}
.walk-phone.walk-typing .walk-instruction h2{font-size:14px;margin:0 24px 0 0}
.walk-phone.walk-typing .walk-controls{margin-top:4px}

/* During phone typing, keep the actual search and its results together.
   Filters are unavailable in this step and return when the search step ends. */
@media(max-width:699px){.walk-search-page.walk-input-active #main .bar select{display:none}.walk-search-page.walk-input-active #main .bar{grid-template-columns:1fr}}

/* Compact editorial hierarchy; placement widths are specified per step. */
.walk-bar{padding:14px 16px 12px;border-radius:12px;box-shadow:0 6px 22px #0b101220}
.walk-label{font-size:10px;margin-bottom:8px}
.walk-instruction h2{font-size:16px;line-height:1.3;margin-bottom:6px}
.walk-instruction p{font-size:12px;line-height:1.5}
.walk-controls{margin-top:10px;gap:8px}
.walk-controls button{min-height:36px;padding:7px 10px}
.walk-progress{margin-top:8px}
@media(max-width:699px){.walk-controls button{min-height:44px}}

/* The guide must remain distinct from both light and dark app surfaces. */
.walk-bar,.dark .walk-bar{--wb:#fffaf3;--wt:#241b1e;--wm:#51464b;--wl:#d8c6cc;background:var(--wb);border:1px solid #b58c99;border-top:3px solid #84233f;box-shadow:0 8px 32px #0005}
.walk-instruction h2{font-size:17px;font-weight:700;line-height:1.3}
.walk-instruction p{font-size:13px;line-height:1.5;color:#51464b}
.walk-label{color:#84233f;font-size:11px;font-weight:600}
.walk-back,.walk-pass{color:#51464b}

/* Connected coachmark, following the supplied Monday reference. */
.walk-bar,.dark .walk-bar{--wb:#84233f;--wt:#fff;--wm:#fff;--wl:#ffffff55;background:#84233f;color:#fff;border:0;border-radius:14px;padding:20px 20px 16px;box-shadow:0 5px 18px #0003}
.walk-label{position:absolute;right:18px;top:18px;margin:0}
.walk-label>span,.walk-progress,.walk-instruction h2{display:none}
.walk-close{color:#fff;opacity:.85;margin:0;min-width:24px;min-height:24px;font-size:22px}
.walk-instruction{padding-right:22px}
.walk-instruction p{font-size:15px;line-height:1.45;color:#fff}
.walk-status{color:#fff;font-size:12px}
.walk-controls{margin-top:18px;gap:10px}
.walk-count{color:#ffffffcf;font-size:12px;order:0}
.walk-back{order:1;background:none;border:0;color:#fff;padding:6px;font-size:12px}
.walk-back:disabled{display:none}
.walk-next,.walk-pass{order:2;background:#fff;border:0;color:#84233f;border-radius:12px;font-size:14px;font-weight:650;padding:10px 16px;text-decoration:none}
.walk-notch{position:fixed;z-index:10004;width:14px;height:14px;background:#84233f;transform:rotate(45deg);pointer-events:none}
.walk-notch[hidden],.walk-changing .walk-notch{display:none}
.walk-veil{background:rgba(10,12,15,.60);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
@media(max-width:699px){.walk-bar{padding:18px 18px 14px}.walk-instruction p{font-size:15px}.walk-phone.walk-typing .walk-instruction p{display:block;font-size:13px}.walk-phone.walk-typing .walk-controls{margin-top:8px}}

.walk-controls{flex-wrap:wrap}.walk-extra{order:1;border:1px solid #ffffff99;background:transparent;color:#fff;border-radius:10px;white-space:normal}.walk-controls .walk-extra{font-size:12px;padding:8px}.walk-controls:has(.walk-extra) .walk-count{flex:1}.walk-controls:has(.walk-extra) .walk-back{order:0}.walk-controls:has(.walk-extra) .walk-extra{flex-basis:48%}.walk-controls:has(.walk-extra) .walk-next{flex:1}

/* Contain narrow forms without shrinking the entire page to overflowing content. */
html.walk-active{overflow-x:clip}
.walk-active .modal{box-sizing:border-box;max-width:calc(100vw - 24px)}
.walk-active .modal .field{min-width:0;gap:8px}
.walk-active .modal .field.big .cur{min-width:0;max-width:100%}
.walk-active .modal .quick{flex-wrap:wrap}
.walk-bar button{overflow-wrap:break-word}
@media(max-width:360px){.walk-active .modal{padding-left:16px;padding-right:16px}.walk-active .modal .field.big{flex-wrap:wrap}.walk-active .modal .field.big input{max-width:150px}.walk-controls{column-gap:6px}}

/* The action outline belongs to the control, so Safari keyboard panning cannot detach it. */
.walk-action-target{outline:2px solid #8a2343!important;outline-offset:-2px;animation:walk-control-pulse 1.8s ease-in-out infinite!important}
input.walk-action-target:not(#mq),input.walk-action-target:not(#mq):focus{border-color:transparent!important;box-shadow:none!important}
@keyframes walk-control-pulse{0%,100%{outline-color:#8a2343}50%{outline-color:#d36b8b}}
@media(prefers-reduced-motion:reduce){.walk-action-target{animation:none!important}}
.walk-corner{position:fixed;z-index:10001;width:12px;height:12px;pointer-events:none}
.walk-corner[hidden]{display:none}
.c-tl{background:radial-gradient(circle at 100% 100%,transparent 12px,rgba(10,12,15,.60) 12.5px)}
.c-tr{background:radial-gradient(circle at 0 100%,transparent 12px,rgba(10,12,15,.60) 12.5px)}
.c-bl{background:radial-gradient(circle at 100% 0,transparent 12px,rgba(10,12,15,.60) 12.5px)}
.c-br{background:radial-gradient(circle at 0 0,transparent 12px,rgba(10,12,15,.60) 12.5px)}
@media(max-width:699px){
 .walk-search.walk-typing .walk-instruction{display:none}
 .walk-search.walk-typing .walk-bar{padding:6px 12px}
 .walk-search.walk-typing .walk-controls{margin:0;padding-right:30px;min-height:44px;flex-wrap:nowrap}
 .walk-search.walk-typing .walk-label{top:16px;right:12px}
 .walk-search.walk-typing .walk-notch{display:none}
}
.walk-player-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.walk-player-choices button{flex:0 1 auto;min-height:36px;padding:7px 11px;border:1px solid #292929;border-radius:7px;background:#111;color:#fff;font:inherit;font-size:13px;line-height:20px;font-weight:600;cursor:pointer}
.walk-player-choices button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.walk-daily-target{outline:2px solid #8a2343!important;outline-offset:-2px;border-radius:8px!important;animation:walk-control-pulse 1.8s ease-in-out infinite!important}
.walk-added-note{position:fixed;z-index:10003;box-sizing:border-box;background:#84233f;color:#fff;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.45;box-shadow:0 8px 24px #0003;pointer-events:none}
.walk-added-note::after{content:"";position:absolute;left:24px;bottom:-6px;width:12px;height:12px;background:#84233f;transform:rotate(45deg)}
.walk-added-note[hidden]{display:none}.walk-changing .walk-added-note{visibility:hidden}
/* Keep the two portfolio actions on one balanced row, with navigation above. */
.walk-controls button{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal}
.walk-controls:has(.walk-extra){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"count back" "extra next";gap:10px;align-items:stretch}
.walk-controls:has(.walk-extra) .walk-count{grid-area:count;align-self:center;margin:0}
.walk-controls:has(.walk-extra) .walk-back{grid-area:back;justify-self:end}
.walk-controls:has(.walk-extra) .walk-extra{grid-area:extra;width:100%;margin:0}
.walk-controls:has(.walk-extra) .walk-next{grid-area:next;width:100%;max-width:none;margin:0}
.walk-day-notes[hidden]{display:none}.walk-changing .walk-day-notes{visibility:hidden}
.walk-day-note{position:fixed;z-index:10003;box-sizing:border-box;padding:12px;border-radius:10px;background:#84233f;color:#fff;font:13px/1.4 system-ui;pointer-events:none;box-shadow:0 6px 18px #0002}
.walk-day-note strong,.walk-day-note span{display:block}.walk-day-note strong{margin-bottom:5px;font-size:13px}
.walk-day-lines{position:fixed;left:0;top:0;z-index:10002;pointer-events:none;overflow:visible;fill:none;stroke:#c45c7a;stroke-width:2}
@media(max-width:699px){.walk-day-note{padding:10px 8px;font-size:12px}.walk-day-note strong{font-size:12px}}
.walk-day-note span{white-space:pre-line}
.walk-daily-target,.walk-daily-target:hover{transform:none!important}
.walk-active #rndGo{display:none!important}
.walk-amount-target{outline:2px solid #8a2343!important;outline-offset:-2px;animation:walk-control-pulse 1.8s ease-in-out infinite!important;border-radius:8px}
@media(prefers-reduced-motion:reduce){.walk-amount-target{animation:none!important}}
input.walk-amount-target,input.walk-amount-target:focus{border-color:transparent!important;box-shadow:none!important}
/* Fade the page while its next screen and scroll position are prepared. */
.walk-active #main{transition:opacity 180ms ease}
.walk-page-changing #main{opacity:0;pointer-events:none}
.walk-bar,.walk-added-note,.walk-day-notes{transition:opacity 180ms ease}
.walk-changing .walk-added-note,.walk-changing .walk-day-notes{visibility:visible;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.walk-active #main,.walk-bar,.walk-added-note,.walk-day-notes{transition:none}}
.ticket-amount-group.walk-amount-target{padding:8px 12px;margin:8px 0;border-radius:10px}
.walk-day-compact .walk-instruction{display:none}
.walk-day-compact .walk-controls{margin-top:0;padding-right:28px}
.walk-control-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;font-style:normal;font-size:20px;line-height:1;vertical-align:middle;margin-right:5px}
.walk-control-icon svg{width:15px;height:15px}
.walk-day-note .walk-control-explanation{display:flex;align-items:flex-start;gap:3px;margin-top:6px;white-space:normal}
.walk-control-explanation .walk-control-icon{margin-right:0}

/* Skip stays a text action in both languages and at every screen size. */
.walk-controls .walk-pass{color:#fff;background:transparent;border:0;box-shadow:none;text-decoration:underline;text-underline-offset:3px;font-weight:500}

.walk-nav-hand{position:fixed;z-index:10004;font-size:30px;line-height:34px;pointer-events:none}.walk-nav-hand[hidden]{display:none}.walk-changing .walk-nav-hand{visibility:hidden}

/* An optional, non-blocking invitation for existing accounts. */
#tour-invitation{position:fixed;z-index:10005;box-sizing:border-box;display:flex;align-items:flex-start;gap:12px;width:290px;max-width:calc(100vw - 24px);padding:12px 14px;border:1px solid #84233f55;border-radius:12px;background:#202024;color:#f5f5f5;box-shadow:0 4px 18px #0003;font:13px/1.5 system-ui}
#tour-invitation button{flex:none;color:#ddd;background:none;border:0;padding:0 4px;font:22px/1 system-ui;cursor:pointer;min-width:28px;min-height:28px}

/* Leave the live portfolio unobstructed while the demo clock is running.
   Preserve guide measurements so hiding the boxes does not move the page. */
.walk-replaying #walkthrough{visibility:hidden;pointer-events:none}
.walk-replaying .walk-daily-target,.walk-replaying .walk-action-target{outline:none!important;box-shadow:none!important;animation:none!important}

/* Compact invitation anchored to the help button, with space reserved for dismissal. */
#tour-invitation{display:block;width:300px;padding:18px 48px 18px 18px;background:#84233f;border:1px solid #b95773;border-radius:16px;color:#fff;box-shadow:0 12px 32px #0004;font:14px/1.45 system-ui}
#tour-invitation::before{content:"";position:absolute;top:-6px;left:calc(var(--tip-left,50%) - 6px);width:10px;height:10px;background:#84233f;border-top:1px solid #b95773;border-left:1px solid #b95773;transform:rotate(45deg)}
#tour-invitation strong{display:block;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:6px;color:#fff}
#tour-invitation p{margin:0;color:#fff;opacity:.92;font-size:13px;line-height:1.5}
#tour-invitation button{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:9px;color:#fff;background:transparent;font:24px/1 system-ui}
#tour-invitation button:hover{background:#ffffff18}#tour-invitation button:focus-visible{outline:2px solid #fff;outline-offset:1px}

/* Polish within the existing steps: quick exits, soft entrances, no extra pauses. */
.walk-active #main{transition:opacity 100ms ease-out}
.walk-bar{transition:opacity 150ms ease-out,translate 150ms cubic-bezier(.2,.8,.2,1);translate:0 0}
.walk-changing .walk-bar{transition-duration:100ms;translate:0 4px}
.walk-added-note,.walk-day-notes{transition:opacity 150ms ease-out}
.walk-bar button:active:not(:disabled){scale:.97}
.walk-bar button{transition:scale 100ms ease-out}
/* Keep the pulse inside the control so it cannot overlap the shaded edge. */
@keyframes walk-control-pulse{0%,100%{outline-color:#8a2343;box-shadow:inset 0 0 0 0 #c45c7a00}50%{outline-color:#d36b8b;box-shadow:inset 0 0 0 3px #c45c7a35}}
@media(prefers-reduced-motion:reduce){.walk-active #main,.walk-bar,.walk-added-note,.walk-day-notes,.walk-bar button{transition:none!important}.walk-changing .walk-bar{translate:none}.walk-bar button:active{scale:1}}

/* Burgundy guide palette: warm surfaces and restrained rose accents. */
.walk-bar,.dark .walk-bar{--wb:#641D35;--wt:#FFF8F2;--wm:#EEDDE3;--wl:#98425E;background:#641D35;color:#FFF8F2;border:1px solid #98425E;border-radius:14px;box-shadow:0 8px 24px #00000033}
.walk-instruction p{color:#EEDDE3}.walk-instruction h2{color:#FFF8F2}
.walk-controls .walk-next{background:#FFF8F2;color:#641D35}.walk-controls .walk-back,.walk-controls .walk-count{color:#EEDDE3}.walk-controls .walk-pass{color:#fff}
.walk-notch{background:#641D35}
.walk-added-note,.walk-day-note{background:#641D35;color:#FFF8F2;border:1px solid #98425E;box-shadow:0 6px 18px #0003;border-radius:14px}
.walk-day-note span{color:#EEDDE3}.walk-day-lines{stroke:#D87898}
#tour-invitation{background:#641D35;border-color:#98425E;color:#FFF8F2}#tour-invitation::before{background:#641D35;border-color:#98425E}#tour-invitation p{color:#EEDDE3;opacity:1}#tour-invitation strong{color:#FFF8F2}
.walk-bar button:focus-visible,.tour-launch:focus-visible{outline-color:#D87898}
@keyframes walk-control-pulse{0%,100%{outline-color:#98425E;box-shadow:inset 0 0 0 0 #D8789800}50%{outline-color:#D87898;box-shadow:inset 0 0 0 3px #D8789835}}

/* Warm ivory reduces glare on the dark app; burgundy anchors the light app. */
.walk-added-note::after{background:#641D35}
.dark .walk-bar{--wb:#F1E7D8;--wt:#241B1E;--wm:#51454A;--wl:#CDBDA9;background:#F1E7D8;color:#241B1E;border-color:#CDBDA9}
.dark .walk-instruction p,.dark .walk-controls .walk-back,.dark .walk-controls .walk-count{color:#51454A}
.dark .walk-instruction h2,.dark .walk-close{color:#241B1E}
.dark .walk-controls .walk-next{background:#84233F;color:#FFF8F2}
.dark .walk-controls .walk-pass{background:transparent;color:#641D35;text-decoration:underline}
.dark .walk-controls .walk-extra{background:transparent;color:#641D35;border-color:#98425E}
.dark .walk-notch,.dark .walk-added-note::after{background:#F1E7D8}
.dark .walk-added-note,.dark .walk-day-note{background:#F1E7D8;color:#241B1E;border-color:#CDBDA9}
.dark .walk-day-note span{color:#51454A}
.dark #tour-invitation{background:#F1E7D8;color:#241B1E;border-color:#CDBDA9}
.dark #tour-invitation::before{background:#F1E7D8;border-color:#CDBDA9}
.dark #tour-invitation strong,.dark #tour-invitation button{color:#241B1E}
.dark #tour-invitation p{color:#51454A}
.dark #tour-invitation button:hover{background:#641D3510}
.dark #tour-invitation button:focus-visible,.dark .walk-player-choices button:focus-visible{outline-color:#84233F}

/* A quiet dotted frame identifies the forward action without changing its size. */
.walk-controls .walk-next{position:relative;isolation:isolate}
.walk-controls .walk-next::after{content:"";position:absolute;inset:-5px;border:1px dotted #979397;border-radius:16px;pointer-events:none}
.walk-controls .walk-next:focus-visible{outline:2px solid #D87898;outline-offset:6px}
.dark .walk-controls .walk-next:focus-visible{outline-color:#84233F}

/* The cue sits on the frame; the action keeps its original wording. */
.walk-controls .walk-next[data-guide-cue]:not([data-guide-cue=""]){margin-top:7px}
.walk-controls .walk-next[data-guide-cue]:not([data-guide-cue=""])::before{content:attr(data-guide-cue);position:absolute;z-index:1;right:8px;top:-12px;padding:0 4px;background:var(--wb);color:#EEDDE3;font:500 10px/14px system-ui;white-space:nowrap;pointer-events:none}
.dark .walk-controls .walk-next[data-guide-cue]::before{color:#62595D}
.walk-controls .walk-next[data-guide-cue=""]::after{display:none}

/* Reserve room for the external cue instead of laying it over the frame. */
.walk-controls .walk-next[data-guide-cue]:not([data-guide-cue=""]){margin-top:24px}
.walk-controls .walk-next[data-guide-cue]:not([data-guide-cue=""])::before{top:-22px;right:0;left:0;height:14px;padding:0;background:transparent;text-align:center;font:500 10px/14px system-ui;letter-spacing:.02em}
.walk-controls:has(.walk-next[data-guide-cue]:not([data-guide-cue=""])) .walk-extra{align-self:end}

/* One uninterrupted veil while navigation replaces the spotlight target. */
#walkthrough.walk-changing::before{content:"";position:fixed;inset:0;z-index:10001;background:rgba(10,12,15,.60);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:none}
.walk-changing .walk-veil,.walk-changing .walk-corner{visibility:hidden}
.walk-page-changing .walk-action-target,.walk-page-changing .walk-daily-target,.walk-page-changing .walk-amount-target{outline:none!important;box-shadow:none!important}

.walk-instruction p strong{font-weight:750;color:inherit}

/* A clearer pulse, contained inside the highlighted control. */
.walk-action-target,.walk-daily-target,.walk-amount-target{animation-duration:1.4s!important}
@keyframes walk-control-pulse{
 0%,100%{outline-color:#84233F;outline-width:2px;box-shadow:inset 0 0 0 0 #D8789800}
 50%{outline-color:#E493AD;outline-width:3px;box-shadow:inset 0 0 0 4px #D8789855}
}
.walk-action-target,.walk-daily-target,.walk-amount-target{outline-offset:-3px!important}
@media(prefers-reduced-motion:reduce){.walk-action-target,.walk-daily-target,.walk-amount-target{animation:none!important}}

/* Two deliberate beats, then a rest, make the intended action easy to spot. */
.walk-action-target,.walk-daily-target,.walk-amount-target{animation-duration:1.8s!important;animation-timing-function:ease-in-out!important}
@keyframes walk-control-pulse{
 0%,48%,100%{outline-color:#84233F;outline-width:2px;box-shadow:inset 0 0 0 0 #84233F00}
 16%,36%{outline-color:#C64D77;outline-width:3px;box-shadow:inset 0 0 0 5px #A52C565C,inset 0 0 14px #A52C5638}
 26%{outline-color:#98425E;outline-width:2px;box-shadow:inset 0 0 0 1px #A52C5620}
}

/* Keep the outline flush with the button edge throughout both pulse beats. */
@keyframes walk-control-pulse{
 0%,48%,100%{outline-color:#84233F;outline-width:3px;box-shadow:inset 0 0 0 0 #84233F00}
 16%,36%{outline-color:#C64D77;outline-width:3px;box-shadow:inset 0 0 0 5px #A52C565C,inset 0 0 14px #A52C5638}
 26%{outline-color:#98425E;outline-width:3px;box-shadow:inset 0 0 0 1px #A52C5620}
}
.walk-action-target,.walk-daily-target,.walk-amount-target{outline-width:3px!important}

/* Search uses its own rounded border, avoiding an outline clipped by the input. */
#mq.walk-action-target,#mq.walk-action-target:focus{box-sizing:border-box;border-width:3px!important;border-style:solid!important;border-color:#84233F;outline:none!important;animation:walk-search-pulse 1.8s ease-in-out infinite!important}
@keyframes walk-search-pulse{0%,48%,100%{border-color:#84233F}16%,36%{border-color:#C64D77}26%{border-color:#98425E}}
@media(prefers-reduced-motion:reduce){#mq.walk-action-target{animation:none!important;border-color:#84233F!important}}

.walk-search .walk-focus{z-index:10002;border:3px solid #84233F;box-shadow:none;animation:walk-search-pulse 1.8s ease-in-out infinite}
.walk-changing .walk-focus{visibility:hidden}
@media(prefers-reduced-motion:reduce){.walk-search .walk-focus{animation:none}}

/* Fit the player's identity, chart and trade controls together on phones. */
@media(max-width:699px){
 .walk-player-context #main .chartwrap svg{height:clamp(60px,10vh,100px)}
 .walk-player-context #main .chartwrap{margin-top:8px;margin-bottom:8px}
 .walk-player-context #main .hero{margin-bottom:8px}
}

.walk-auto-explain .walk-controls{display:none}
.walk-chart-direction{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:5px;color:var(--mu);font:500 11px/1.4 system-ui;pointer-events:none}
.walk-chart-direction span:nth-child(2){color:#98425E;letter-spacing:6px;font-size:16px}

/* Let explanatory copy occupy real height instead of overflowing the change row. */
.walk-player-context #main .hero .chg{height:auto;min-height:0;line-height:1.45}
.walk-player-context #main .movement-note{margin-top:5px}
.walk-player-context #main .chart-guide-note{margin-top:12px;line-height:1.5}

/* Keep the primary trading action clear on compact walkthrough screens. */
@media(max-width:699px){
 .walk-player-context #main .chartwrap svg{height:var(--walk-player-chart-height,clamp(60px,10vh,100px))}
 .walk-player-context #main #bWatch{display:none}
}
@media(max-width:360px){
 .walk-active #tmodal .field.big{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px 0}
 .walk-active #tmodal .field.big .cur{font-size:25px}
 .walk-active #tmodal .field.big input{width:105px;max-width:105px;font-size:25px}
 .walk-active #tmodal .field{padding-top:9px;padding-bottom:9px}
 .walk-active #tmodal .quick{gap:5px}
 .walk-active #tmodal .quick button{padding-left:6px;padding-right:6px}
}

@media(max-width:360px){
 .walk-player-context #main .ranges{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:6px;padding-bottom:4px}
 .walk-player-context #main .act{margin-top:6px}
 .walk-player-context #main .ranges button{min-width:0;padding-left:2px;padding-right:2px;font-size:11.5px}
}

@media(max-width:699px){
 .walk-player-action #main .movement-note,.walk-player-action #main .chart-guide-note{display:none}
 .walk-player-action #main .ranges{margin-top:6px;padding-bottom:4px}
 .walk-player-action #main .act{margin-top:6px}
}
