/* A tiny paper companion. Its fixed rail is reserved by the journey layout. */
.fox-root{--fox-bottom:22px;--fox-accent:#517d93;--fox-tilt:0deg;position:fixed;right:18px;bottom:var(--fox-bottom);width:86px;height:106px;z-index:65;pointer-events:none;color:#253e50;transition:bottom .75s cubic-bezier(.22,.68,.32,1),opacity .18s;isolation:isolate;font-family:Manrope,Arial,sans-serif}
.fox-toggle{display:block;position:relative;pointer-events:auto;width:86px;height:106px;padding:0;border:0;border-radius:22px;background:transparent;color:#253e50;cursor:pointer;touch-action:manipulation;outline-offset:3px}
.fox-toggle:focus-visible{outline:2px solid #375366;background:#eef7fb}.fox-toggle:hover{background:transparent}.fox-toggle:active .fox-paper{transform:translateY(3px) rotate(-3deg)}
.fox-art{display:block;width:86px;height:95px;overflow:visible;filter:drop-shadow(0 4px 4px rgba(42,70,86,.06));pointer-events:none}
.fox-paper{transform-origin:60px 110px;animation:fox-breathe 3.5s steps(4,end) infinite;will-change:transform}.fox-eyes{transform-origin:60px 65px;animation:fox-blink 6.4s steps(1,end) infinite}.fox-tail{transform-origin:84px 85px;animation:fox-tail 4.2s steps(3,end) infinite}.fox-shadow{animation:fox-shadow 3.5s steps(4,end) infinite;transform-origin:60px 120px}.fox-sparks{opacity:0}.fox-name{position:absolute;left:0;right:0;bottom:0;display:block;text-align:center;font-size:10px;font-weight:750;line-height:1.2;letter-spacing:.02em;color:#375366;opacity:.8}
.fox-panel{position:absolute;right:0;bottom:112px;width:min(314px,calc(100vw - 36px));padding:19px;background:#fbfeff;color:#253e50;border:1px solid #b9d5e2;border-radius:16px 16px 4px 16px;box-shadow:0 12px 44px rgba(28,50,64,.16);pointer-events:auto;font-size:13px;line-height:1.65;max-height:min(430px,calc(100dvh - var(--fox-bottom) - 132px));overflow:auto;text-align:left}
.fox-panel[hidden]{display:none}.fox-panel:after{content:'';position:absolute;right:23px;bottom:-7px;width:12px;height:12px;background:#fbfeff;border-right:1px solid #b9d5e2;border-bottom:1px solid #b9d5e2;transform:rotate(45deg)}
.fox-root[data-panel-below=true] .fox-panel{bottom:auto;top:112px;border-radius:16px 4px 16px 16px}.fox-root[data-panel-below=true] .fox-panel:after{bottom:auto;top:-7px;transform:rotate(225deg)}
.fox-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.fox-title{font-size:11px;font-weight:800;letter-spacing:.015em}.fox-close{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:-6px -6px -6px 0;padding:0;border:0;border-radius:50%;font:22px/1 Arial,sans-serif;color:#375366;background:#eef6fa;cursor:pointer}.fox-close:hover{background:#d8ecf5}
.fox-root .fox-station{margin:0 0 8px!important;color:var(--fox-accent);font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.fox-root .fox-message{margin:0!important;font-size:13px;line-height:1.65;color:#253e50;letter-spacing:0;text-wrap:pretty}
.fox-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.fox-actions button{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #d2e3eb;border-radius:6px;padding:9px 10px;background:#f2f8fb;color:#253e50;font-family:inherit;font-size:11px;font-weight:650;line-height:1.4;cursor:pointer;min-height:36px;transition:background .15s}.fox-actions button span{font-size:13px;font-weight:400}.fox-actions button:hover{background:#deeff7}.fox-actions button:focus-visible,.fox-close:focus-visible{outline:2px solid #375366;outline-offset:2px}.fox-actions button:disabled{cursor:default;color:#697e89;background:#f6fafb}
.fox-root[data-paused=true] .fox-paper,.fox-root[data-paused=true] .fox-eyes,.fox-root[data-paused=true] .fox-tail,.fox-root[data-paused=true] .fox-shadow{animation:none!important}.fox-root[data-paused=true]{transition:none}.fox-root[data-editing=true],.fox-root[data-crowded=true]{opacity:0;visibility:hidden;pointer-events:none}.fox-root[data-editing=true] .fox-toggle,.fox-root[data-crowded=true] .fox-toggle{pointer-events:none}
.fox-root[data-celebrating=true] .fox-paper{animation:fox-cheer .85s steps(5,end) 1}.fox-root[data-celebrating=true] .fox-sparks{animation:fox-spark 1s steps(3,end) 1}.fox-root[data-open=true] .fox-name{opacity:1}.fox-root[data-open=true] .fox-toggle{background:rgba(237,248,253,.55)}
@keyframes fox-breathe{0%,100%{transform:translateY(0) rotate(var(--fox-tilt))}40%{transform:translateY(-4px) rotate(-1deg)}70%{transform:translateY(-2px) rotate(1deg)}}
@keyframes fox-blink{0%,42%,47%,100%{transform:scaleY(1)}44%,46%{transform:scaleY(.13)}}
@keyframes fox-tail{0%,100%{transform:rotate(0)}50%{transform:rotate(4deg)}}
@keyframes fox-shadow{0%,100%{transform:scaleX(1);opacity:.45}40%{transform:scaleX(.84);opacity:.28}70%{transform:scaleX(.93);opacity:.36}}
@keyframes fox-cheer{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(-7deg)}55%{transform:translateY(-5px) rotate(6deg)}80%{transform:translateY(-2px) rotate(-2deg)}}
@keyframes fox-spark{0%,100%{opacity:0}25%,80%{opacity:1}}
@media(max-width:760px){.fox-root{right:12px;width:58px;height:70px}.fox-toggle{width:58px;height:70px;border-radius:15px}.fox-art{width:58px;height:64px}.fox-name{font-size:8px;bottom:-2px}.fox-panel{bottom:79px;max-height:min(380px,calc(100dvh - var(--fox-bottom) - 98px));width:min(295px,calc(100vw - 30px));padding:17px}.fox-root[data-panel-below=true] .fox-panel{bottom:79px;top:auto;border-radius:16px 16px 4px 16px}.fox-root[data-panel-below=true] .fox-panel:after{bottom:-7px;top:auto;transform:rotate(45deg)}.fox-actions button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.fox-root,.fox-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fox-root .fox-paper{transform:none}.fox-root .fox-sparks{opacity:0}}
@media print{.fox-root{display:none!important}}
.fox-root .fox-station{color:#436275}
@media(max-width:760px){.fox-close{min-width:44px;min-height:44px;margin:-7px -7px -7px 0}.fox-actions button{min-height:44px}}
