/* Shared main-page non-modal utility dock. Native document scrolling stays enabled. */
html.ru-home-dock-active .ru-glass-rail__tool{display:none!important}
html.ru-home-dock-active .ru-sidebar{border-bottom:0!important}
.ru-home-tool-dock{--dock-size:40px;--dock-gap:16px;--dock-pad:16px;position:fixed;z-index:10030;left:8px;top:max(calc(var(--ru-journey-header-height,156px) + 18px),calc(50dvh - 190px));width:88px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;box-sizing:border-box;font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;isolation:isolate}
.ru-home-tool-dock[hidden]{display:none!important}
.ru-home-tool-dock__viewport{box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--dock-gap);width:88px;max-height:min(calc(var(--dock-size)*5 + var(--dock-gap)*4 + var(--dock-pad)*2),calc(100dvh - var(--ru-journey-header-height,156px) - 120px));padding:var(--dock-pad) 8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;scroll-behavior:smooth}
.ru-home-tool-dock__viewport::-webkit-scrollbar{display:none}
.ru-home-tool-dock__button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 var(--dock-size);width:var(--dock-size);height:var(--dock-size);min-height:var(--dock-size);padding:0;margin:0;border:1px solid var(--line,#E3E8F2);border-radius:0;background:#FFFFFF;color:var(--brand,#2459D8);box-shadow:0 3px 10px rgba(27,42,74,.04);cursor:pointer;transform-origin:center;transform:translate3d(var(--dock-shift,0px),0,0) scale(var(--dock-scale,1));transition:transform 180ms ease-out,background-color 150ms ease-out,color 150ms ease-out;will-change:transform;font-family:inherit;outline-offset:3px}
.ru-home-tool-dock[data-wave-state=returning] .ru-home-tool-dock__button{transition:transform 350ms cubic-bezier(.34,1.3,.64,1),background-color 150ms ease-out,color 150ms ease-out}
.ru-home-tool-dock__button::after{content:"";position:absolute;inset:-2px;border:2px solid var(--accent,#FF8A24);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity 150ms ease-out}
.ru-home-tool-dock__button.is-nearest:not(.is-active):not([aria-pressed=true])::after{opacity:1}
.ru-home-tool-dock__button.is-active::after,.ru-home-tool-dock__button[aria-pressed=true]::after{opacity:0;transition:none}
.ru-home-tool-dock__button.is-nearest{z-index:3}
.ru-home-tool-dock__button:focus-visible{outline:2px solid var(--brand,#2459D8);outline-offset:3px}
.ru-home-tool-dock__button[aria-pressed=true],.ru-home-tool-dock__button.is-active{background:var(--accent-soft,#FFF1E2);color:var(--accent,#FF8A24)}
.ru-home-tool-dock__button .icon{display:flex;align-items:center;justify-content:center;width:31px;height:31px;font:400 27px/1 Arial,sans-serif;letter-spacing:-.05em;pointer-events:none}
.ru-home-tool-dock__button .icon svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.ru-home-tool-dock__button .icon sub{font-size:17px;align-self:flex-end;margin:0 0 3px -2px}
.ru-home-tool-dock__button .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ru-home-tool-dock__scroll{display:flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:40px;height:40px;min-height:40px;margin:0 0 0 8px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--brand,#2459D8);cursor:pointer;transform:none;transition:background-color 150ms ease-out}
.ru-home-tool-dock__scroll svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ru-home-tool-dock__scroll:hover:not(:disabled){background:var(--mist,#F3F5FA)}
.ru-home-tool-dock__scroll:disabled{color:var(--ink-2,#5B6B8C);opacity:.32;cursor:default}
.ru-home-tool-dock__scroll:focus-visible{outline:2px solid var(--brand,#2459D8);outline-offset:1px}
.ru-home-tool-dock__tooltip{box-sizing:border-box;position:fixed;z-index:10060;max-width:200px;min-height:34px;display:flex;align-items:center;padding:6px 12px;border:1px solid var(--line,#E3E8F2);border-radius:0;background:#FFFFFF;color:var(--ink,#1B2A4A);box-shadow:0 5px 18px rgba(27,42,74,.09);font:500 13px/1.6 -apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;white-space:nowrap;pointer-events:none;transform:translate(0,-50%);animation:ru-dock-tooltip 150ms ease-out both}
.ru-home-tool-dock__tooltip[hidden]{display:none!important}
.ru-home-dock-panel{position:fixed;z-index:10040;left:0;top:0;bottom:auto;box-sizing:border-box;display:flex;flex-direction:column;width:440px;max-width:100vw;height:100vh;height:100dvh;min-height:0;border:1px solid var(--line,#E3E8F2);border-top:3px solid var(--brand,#2459D8);border-radius:0;background:#FFFFFF;box-shadow:12px 12px 42px rgba(27,42,74,.15);isolation:isolate;animation:ru-dock-enter 300ms cubic-bezier(0.2,0.8,0.25,1) both}
.ru-home-dock-panel[hidden]{display:none!important}
.ru-home-dock-panel__head{box-sizing:border-box;display:flex;align-items:center;gap:16px;flex:none;min-height:64px;padding:12px 18px;border-bottom:1px solid var(--line,#E3E8F2);background:#FFFFFF;color:var(--ink,#1B2A4A);font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.ru-home-dock-panel__head h2{font-family:inherit;font-weight:700;font-size:22px;line-height:1.4;letter-spacing:-.02em;margin:0;flex:1;min-width:0}
.ru-home-dock-panel__close{position:relative;display:flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line,#E3E8F2);border-radius:0;background:#FFFFFF;color:var(--ink,#1B2A4A);font-size:0;cursor:pointer;box-shadow:none}
.ru-home-dock-panel__close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.ru-home-dock-panel__close:hover{background:var(--mist,#F3F5FA);color:var(--brand,#2459D8);border-color:var(--brand,#2459D8)}
.ru-home-dock-panel__close:focus-visible{outline:2px solid var(--brand,#2459D8);outline-offset:3px}
#ruHomeDockFrame{display:block;box-sizing:border-box;width:100%;height:100%;min-height:0;flex:1;border:0;margin:0!important;padding:0!important;background:#FFFFFF}
.ru-home-dock-panel.is-loading #ruHomeDockFrame{opacity:0;visibility:hidden}
.ru-home-dock-panel.is-content-ready #ruHomeDockFrame{animation:ru-dock-content-ready 200ms ease-out both}
.ru-home-dock-panel__status{margin:0;padding:12px 20px;color:var(--ink-2,#5B6B8C);font:400 13px/1.8 -apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.ru-home-dock-panel__skeleton{position:absolute;inset:85px 20px 20px;display:flex;flex-direction:column;gap:16px;pointer-events:none}
.ru-home-dock-panel__skeleton[hidden]{display:none!important}
.ru-home-dock-panel__skeleton-bar{position:relative;display:block;flex:none;overflow:hidden;height:44px;border-radius:10px;background:var(--line,#E3E8F2)}
.ru-home-dock-panel__skeleton-bar:first-child{height:22px;width:60%;margin-bottom:4px}
.ru-home-dock-panel__skeleton-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-100%);animation:ru-dock-shimmer 1200ms linear infinite}
@keyframes ru-dock-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes ru-dock-tooltip{from{opacity:0;transform:translate(4px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@keyframes ru-dock-content-ready{from{opacity:0}to{opacity:1}}
@keyframes ru-dock-shimmer{to{transform:translateX(100%)}}
@media(max-height:700px) and (min-width:701px){.ru-home-tool-dock{top:calc(var(--ru-journey-header-height,156px) + 12px)}}
@media(max-width:700px){.ru-home-tool-dock,.ru-home-tool-dock__tooltip{display:none!important}.ru-home-dock-panel__head{gap:8px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){#ruHomeToolDock .ru-home-tool-dock__button{transform:none!important;transition:none!important}#ruHomeToolDock .ru-home-tool-dock__button::after,.ru-home-tool-dock__scroll{transition:none!important}.ru-home-tool-dock__viewport{scroll-behavior:auto}.ru-home-dock-panel,.ru-home-tool-dock__tooltip,.ru-home-dock-panel.is-content-ready #ruHomeDockFrame,.ru-home-dock-panel__skeleton-bar::after{animation:none!important}.ru-home-dock-panel__skeleton-bar::after{display:none}}

@media(prefers-reduced-motion:reduce){html[data-user-motion=on] #ruHomeToolDock .ru-home-tool-dock__button{transform:translate3d(var(--dock-shift,0px),0,0) scale(var(--dock-scale,1))!important;transition:transform 180ms ease-out!important}html[data-user-motion=on] #ruHomeToolDock[data-wave-state=returning] .ru-home-tool-dock__button{transition:transform 350ms cubic-bezier(.34,1.3,.64,1)!important}}

/* Compact, independently scrollable tool surface. No full-height side drawer. */
.ru-home-tool-dock__button::after{inset:-1px;border-width:1px}
.ru-home-dock-panel{left:88px;top:var(--tool-panel-top,180px);bottom:auto;width:min(600px,calc(100vw - 112px));height:min(620px,calc(100dvh - var(--ru-journey-header-height,156px) - 36px));max-height:calc(100dvh - var(--tool-panel-top,180px) - 16px);border:1px solid var(--line,#E3E8F2);box-shadow:0 18px 54px rgb(27 42 74 / .18);animation:ru-dock-compact-enter 240ms cubic-bezier(.2,.8,.2,1) both}
@keyframes ru-dock-compact-enter{from{opacity:0;transform:translateX(-24px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:700px){.ru-home-dock-panel{left:12px;top:var(--tool-panel-top,140px);width:calc(100vw - 24px);height:min(560px,calc(100dvh - var(--tool-panel-top,140px) - 16px))}}

.ru-home-dock-panel__head{min-height:52px;padding:7px 12px}.ru-home-dock-panel__head h2{font-size:18px}.ru-home-dock-panel__close{width:36px;height:36px;min-height:36px}

.ru-home-dock-panel:not([hidden]){animation:ru-tool-unfold 210ms cubic-bezier(.2,.8,.2,1);transform-origin:left center}
@keyframes ru-tool-unfold{from{opacity:0;clip-path:inset(0 30% 0 0);translate:-12px 0;scale:.98}to{opacity:1;clip-path:inset(0);translate:0 0;scale:1}}
@media(prefers-reduced-motion:reduce){.ru-home-dock-panel:not([hidden]){animation:none}}
