.explore-help[hidden],.explore-help-toggle[hidden]{display:none}
.explore-help{position:absolute;z-index:90;left:50%;top:46%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 52px));padding:25px 27px 20px;background:#f6faffd9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid #a4b1c0;box-shadow:inset 1px 1px #fff,0 14px 45px #29415a22;color:#30475e;font:12px/1.45 Tahoma,Arial,sans-serif;box-sizing:border-box;cursor:default}
.explore-help-close{position:absolute;right:10px;top:9px;border:0;background:none;box-shadow:none;font:20px Arial;color:#62788b;padding:0 6px;cursor:pointer}.explore-help-eyebrow{font:8px 'Courier New',monospace;letter-spacing:.13em;color:#76899a}.explore-help h2{font:bold 24px/1.15 Arial,sans-serif;letter-spacing:-.7px;margin:9px 0}.explore-help-intro{margin:0 0 20px;color:#708092;font-size:11px}.explore-help-methods{display:grid;grid-template-columns:1fr 1fr;gap:28px}.explore-help-methods article+article{border-left:1px solid #adbbc966;padding-left:26px}.explore-help h3{font:bold 14px Arial,sans-serif;margin:13px 0 9px}.explore-help-methods p{font-size:11px;margin:6px 0;color:#63768a}.explore-help-methods b{color:#30475e}.gesture-trackpad{position:relative;width:83px;height:54px;border:2px solid #8296a7;border-radius:6px;background:linear-gradient(135deg,#fff9,#c6d2db55);margin:0 auto}.gesture-trackpad i{position:absolute;top:13px;left:27px;width:6px;height:19px;border-radius:5px;background:#405d79;animation:help-pan 2.6s ease-in-out infinite}.gesture-trackpad i+i{left:39px}.gesture-trackpad span{position:absolute;left:34px;bottom:-12px;color:#566f85;font:20px Arial}
.gesture-mouse{position:relative;width:33px;height:54px;border:2px solid #8296a7;border-radius:16px 16px 13px 13px;background:linear-gradient(135deg,#fff9,#c6d2db55);margin:0 auto;animation:help-pan 2.6s ease-in-out infinite}.gesture-mouse:before{content:'';position:absolute;top:0;left:50%;height:23px;border-left:1px solid #8296a7}.gesture-mouse i{position:absolute;width:4px;height:9px;left:13px;top:8px;border-radius:3px;background:#405d79}.gesture-mouse span{position:absolute;left:6px;bottom:-14px;font:20px Arial;color:#566f85}.explore-help-start{display:block;width:100%;margin:22px 0 9px;padding:9px 12px;border:1px solid #7e93aa;border-radius:0;background:linear-gradient(#f8fbfe,#d9e3ee);box-shadow:inset 1px 1px #fff;color:#304b6a;font:bold 11px Tahoma;cursor:pointer}.explore-help-footnote{display:block;text-align:center;font-size:9px;color:#8391a0}.explore-help-touch{font-size:10px;color:#718497;margin:16px 0 0;display:none}.explore-help-toggle{position:absolute;right:9px;top:8px;z-index:65;width:25px;height:25px;min-width:25px;padding:0;border:1px solid #98a9bd;background:#f6f9fccc;box-shadow:inset 1px 1px #fff;color:#47617b;font:13px/23px Tahoma;cursor:pointer}.explore-help-open .explore-hint{visibility:hidden}body.glow-loading .explore-help-toggle,body.television-open .explore-help-toggle{visibility:hidden}
@keyframes help-pan{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
@media(pointer:coarse){.explore-help-touch{display:block}.explore-help-toggle{width:32px;height:32px}}
@media(max-width:600px){.explore-help{padding:21px 18px 16px;width:calc(100% - 28px);top:45%;max-height:calc(100% - 24px);overflow:auto}.explore-help h2{font-size:21px}.explore-help-methods{gap:16px}.explore-help-methods article+article{padding-left:14px}.explore-help-methods p{font-size:10px}.explore-help-intro{margin-bottom:15px}.explore-help-start{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.gesture-trackpad i,.gesture-mouse{animation:none}}
/* A brief, non-blocking hint that recedes into the lower-left caption. */
.explore-help-lite[hidden],.explore-help-replay[hidden]{display:none}
.explore-help-lite{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:80;display:flex;gap:35px;padding:17px 23px;background:#f6faffb8;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid #acbac74d;box-shadow:0 4px 20px #31465b0b;color:#40576b;pointer-events:none;user-select:none;font:10px/1.5 Tahoma,Arial,sans-serif}
.help-lite-method{display:flex;gap:15px;align-items:center;min-width:170px}.help-lite-method>div:last-child{display:flex;flex-direction:column;gap:3px}.help-lite-method b{font-size:11px;color:#334d64}.help-lite-method span{font-size:9px;color:#718395}.help-lite-method .gesture-trackpad{width:57px;height:39px;flex-shrink:0}.help-lite-method .gesture-trackpad i{left:17px;top:9px;height:15px;width:5px}.help-lite-method .gesture-trackpad i+i{left:27px}.help-lite-method .gesture-trackpad>span{left:23px;bottom:-12px;font-size:17px}.help-lite-method .gesture-mouse{height:39px;width:25px;flex-shrink:0;margin:0 8px}.help-lite-method .gesture-mouse i{left:9px;top:7px}.help-lite-method .gesture-mouse>span{left:3px;font-size:17px}
.caption .explore-help-replay{position:static;display:inline-block;order:1;flex:none;align-self:center;min-width:18px;width:18px;height:18px;margin:0 0 0 7px;padding:0;border:1px solid #9faebb66;background:#ffffff66;box-shadow:none;color:#7d8e9e;font:10px/16px Tahoma,Arial,sans-serif;cursor:pointer;border-radius:0}.caption #project-title{order:0}.caption #project-category{order:2}.caption #index-toggle{order:3}
@media(max-width:600px){.explore-help-lite{width:calc(100% - 54px);box-sizing:border-box;gap:18px;padding:15px 13px}.help-lite-method{min-width:0;flex:1;flex-direction:column;gap:13px;align-items:flex-start}.help-lite-method .gesture-trackpad{margin-left:0}.help-lite-method>div:last-child{gap:3px}}
@media(prefers-reduced-motion:reduce){.explore-help-lite .gesture-trackpad i,.explore-help-lite .gesture-mouse{animation:none}}

.caption .explore-help-replay{width:43px;min-width:43px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.55}.caption .explore-help-replay:hover{opacity:1}.help-mini-pad{width:17px;height:11px;border:1px solid #617c92;border-radius:2px;display:block}.help-mini-mouse{width:8px;height:12px;border:1px solid #617c92;border-radius:5px;display:block;position:relative}.help-mini-mouse:before{content:'';position:absolute;left:3px;top:2px;height:3px;border-left:1px solid #617c92}.caption .explore-help-replay[hidden]{display:none}
/* Cues sit above the archive, without covering its central works. */
.explore-help-lite{top:0;left:50%;transform:translateX(-50%);gap:30px;padding:10px 20px 13px;background:linear-gradient(#fcfdfff2,#edf3f9e8);border:1px solid #9bafc2;border-top:2px solid #557998;box-shadow:inset 1px 1px #fff,0 3px 12px #284a691a;transition:opacity .8s;animation:help-arrive .4s ease-out}
.help-lite-method{min-width:190px;gap:16px}.help-lite-method b{font-size:13px;color:#294e70}.help-lite-method>div:last-child>span{font-size:11px;color:#526d85;line-height:1.5}
.explore-help-lite.is-settled{opacity:.48;animation:none}body:not(.glow-loading) .explore-hint{visibility:hidden}
@keyframes help-arrive{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.explore-help-lite{top:0;width:calc(100% - 28px);gap:16px;padding:9px 12px 12px}.help-lite-method{flex:1;min-width:0;flex-direction:row;gap:9px;align-items:center}.help-lite-method .gesture-trackpad{width:36px;height:30px}.help-lite-method .gesture-trackpad i{left:10px;top:7px;height:12px;width:4px}.help-lite-method .gesture-trackpad i+i{left:19px}.help-lite-method .gesture-trackpad>span{left:12px}.help-lite-method .gesture-mouse{width:20px;height:30px;margin:0 2px}.help-lite-method .gesture-mouse i{left:7px;top:5px;height:7px}.help-lite-method b{font-size:11px}.help-lite-method>div:last-child>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.explore-help-lite{animation:none;transition:none}}

.explore-help-lite{transition:opacity .2s ease}.explore-help-lite.is-settled{opacity:0}
.explore-help-lite{top:78px}
@media(max-width:600px){.explore-help-lite{top:76px}}
.explore-help-lite{top:12px}
@media(max-width:600px){.explore-help-lite{top:10px}}

.gesture-finger{position:relative;flex:none;width:34px;height:34px}
.gesture-finger i{position:absolute;left:12px;top:2px;width:9px;height:22px;border:1.5px solid #426781;border-radius:7px;background:#f2f6f8;animation:finger-drag 1.8s ease-in-out infinite}
.gesture-finger>span{position:absolute;bottom:-3px;left:10px;font:19px Arial;color:#426781}
.gesture-finger.pinch i{left:5px;transform:rotate(-20deg);animation:finger-pinch 1.8s ease-in-out infinite}.gesture-finger.pinch i+i{left:22px;transform:rotate(20deg);animation-direction:reverse}
@keyframes finger-drag{0%,100%{translate:-5px 0}50%{translate:5px 0}}
@keyframes finger-pinch{0%,100%{translate:0 4px}50%{translate:-4px -2px}}
@media(pointer:coarse){.explore-help-lite.touch-help{top:12px;width:calc(100% - 28px);max-width:470px;gap:15px;padding:12px}.touch-help .help-lite-method{min-width:0;gap:8px}.touch-help .help-lite-method b{font-size:11px}.touch-help .help-lite-method>div:last-child>span{font-size:9px}.caption .explore-help-replay{font:14px Tahoma;width:24px;min-width:24px}}
@media(prefers-reduced-motion:reduce){.gesture-finger i{animation:none}}

/* Centre the opening instructions and give each gesture room to breathe. */
.explore-help-lite,.explore-help-lite.touch-help{
 top:50%;left:50%;transform:translate(-50%,-50%);
 width:min(520px,calc(100% - 36px));max-width:520px;box-sizing:border-box;
 padding:32px 28px;gap:28px;max-height:calc(100% - 32px);
}
.explore-help-lite .help-lite-method{flex:1;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:22px}
.explore-help-lite .help-lite-method>div:last-child{gap:8px}
.explore-help-lite .help-lite-method b{font-size:15px}
.explore-help-lite .help-lite-method>div:last-child>span{font-size:12px;line-height:1.6}
@media(max-width:600px),(pointer:coarse){
 .explore-help-lite,.explore-help-lite.touch-help{padding:28px 22px;gap:26px;flex-direction:column;width:min(360px,calc(100% - 36px))}
 .explore-help-lite .help-lite-method{flex:none;gap:15px}
 .explore-help-lite .help-lite-method+.help-lite-method{padding-top:25px;border-top:1px solid #9bafc24d}
 .explore-help-lite .gesture-finger{width:44px;height:44px}
 .explore-help-lite .gesture-finger i{top:5px;left:17px}
 .explore-help-lite .gesture-finger>span{left:15px}
 .explore-help-lite .gesture-finger.pinch i{left:10px}
 .explore-help-lite .gesture-finger.pinch i+i{left:27px}
}
@media(max-height:450px){.explore-help-lite,.explore-help-lite.touch-help{flex-direction:row;padding:18px;gap:22px;width:min(520px,calc(100% - 36px))}.explore-help-lite .help-lite-method{flex:1}.explore-help-lite .help-lite-method+.help-lite-method{padding-top:0;border-top:0}}

/* Desktop instructions stay above the works; touch keeps the centred panel. */
@media (min-width:601px) and (pointer:fine){
 .explore-help-lite{top:12px;transform:translateX(-50%)}
}

/* Compact desktop command strip. */
@media (min-width:601px) and (pointer:fine){
 .explore-help-lite{width:auto;max-width:calc(100% - 32px);padding:13px 20px;gap:24px;background:linear-gradient(#fcfdfff2,#edf3f9e8);box-shadow:inset 1px 1px #fff,0 2px 8px #284a6912}
 .explore-help-lite .help-lite-method{flex:0 1 auto;flex-direction:row;align-items:center;text-align:left;gap:13px;min-width:178px}
 .explore-help-lite .help-lite-method+.help-lite-method{border-left:1px solid #9bafc24d;padding-left:24px}
 .explore-help-lite .help-lite-method>div:last-child{gap:3px}
 .explore-help-lite .help-lite-method b{font-size:11px}
 .explore-help-lite .help-lite-method>div:last-child>span{font-size:10px;line-height:1.45}
 .explore-help-lite .gesture-trackpad{width:40px;height:29px;margin:0 0 6px}
 .explore-help-lite .gesture-trackpad i{left:11px;top:6px;width:4px;height:12px}
 .explore-help-lite .gesture-trackpad i+i{left:21px}
 .explore-help-lite .gesture-trackpad>span{left:14px;bottom:-11px;font-size:15px}
 .explore-help-lite .gesture-mouse{width:21px;height:31px;margin:0 8px 6px}
 .explore-help-lite .gesture-mouse:before{height:14px}
 .explore-help-lite .gesture-mouse i{left:8px;top:5px;width:3px;height:6px}
 .explore-help-lite .gesture-mouse>span{left:2px;font-size:15px;bottom:-12px}
}

/* viisiOS system information, inspired by early Aqua system windows. */
.explore-help-lite.viisi-os-info{display:block;width:340px;max-width:calc(100% - 28px);padding:0;gap:0;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #858585;border-top-color:#bbb;border-radius:6px 6px 2px 2px;overflow:hidden;background:repeating-linear-gradient(0deg,#f2f2f0 0 1px,#e4e4e2 1px 2px);color:#202020;box-shadow:0 8px 24px #0002,inset 0 1px #fff;backdrop-filter:none;-webkit-backdrop-filter:none;font-family:Tahoma,Arial,sans-serif}
.os-info-titlebar{position:relative;height:24px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #aaa;background:linear-gradient(#fafafa,#d0d0d0 48%,#e4e4e4 52%,#c6c6c6);font:11px Tahoma,Arial,sans-serif;text-shadow:0 1px #fff}
.os-info-lights{position:absolute;left:8px;top:7px;display:flex;gap:6px}.os-info-lights i{width:10px;height:10px;border-radius:50%;border:1px solid #8a8a8a;background:radial-gradient(circle at 35% 25%,#fff,#d94f43 45%,#9c3029);box-shadow:0 1px #fff8}.os-info-lights i+i{background:radial-gradient(circle at 35% 25%,#fff,#c4c4bf 50%,#91918e)}
.os-info-body{padding:14px 21px 12px;text-align:center}.os-info-mark{font:italic 92px/.95 Georgia,serif;color:#4d9ac2;text-shadow:1px 1px #e8fcff,-1px -1px #28607c,2px 3px 2px #0003;margin:0 auto 3px;letter-spacing:-8px;padding-right:8px}
.os-info-body h2{margin:0;font:32px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;color:#111}.os-info-version{display:block;font-size:8px;margin:5px 0 13px;color:#555}
.os-info-methods{border-top:1px solid #b8b8b8;border-bottom:1px solid #b8b8b8;padding:13px 0;display:grid;gap:14px}
.viisi-os-info .help-lite-method,.viisi-os-info .help-lite-method+.help-lite-method{display:flex;flex-direction:row;gap:15px;padding:0;border:0;min-width:0;text-align:left;align-items:center}
.viisi-os-info .help-lite-method>div:first-child{flex-shrink:0;margin-left:8px;margin-right:5px}.viisi-os-info .help-lite-method>div:last-child{gap:2px}.viisi-os-info .help-lite-method b{font-size:11px;color:#222}.viisi-os-info .help-lite-method>div:last-child>span{font-size:10px;line-height:1.45;color:#555}
.os-info-note{margin:12px 0 0;font:10px Tahoma,Arial,sans-serif;color:#444}.os-info-footer{border-top:1px solid #aaa;padding:6px 8px;text-align:center;font:8px Tahoma,Arial,sans-serif;color:#666}
@media(min-width:601px) and (pointer:fine){.explore-help-lite.viisi-os-info{top:12px;transform:translateX(-50%)}}
@media(max-height:480px){.explore-help-lite.viisi-os-info{top:8px;transform:translateX(-50%);max-height:calc(100% - 16px)}.os-info-mark{font-size:48px}.os-info-body{padding-top:7px}.os-info-methods{gap:9px;padding:8px 0}}

/* System info uses the same classic window chrome as Index and About. */
.explore-help-lite.viisi-os-info{top:50%;left:50%;transform:translate(-50%,-50%);padding:4px;border-radius:0;border:1px solid;border-color:#fff #8a8d93 #8a8d93 #fff;background:#e4e4df;box-shadow:2px 3px 0 #9da4ae66,7px 12px 35px #33445b17}
.viisi-os-info .os-info-titlebar{height:30px;border:0;background:linear-gradient(90deg,#315b9e,#5b80be);color:#fff;text-shadow:none;font:700 11px Tahoma,Arial,sans-serif;justify-content:center}
.viisi-os-info .os-info-lights{display:none}
.viisi-os-info .os-info-body{text-align:center;padding:17px 20px 14px}
.viisi-os-info .os-info-body h2{color:#263f61}
.viisi-os-info .os-info-mark{color:#527da9;text-shadow:1px 1px #fff,-1px -1px #315b7c,2px 3px 2px #0002}
.viisi-os-info .os-info-methods{gap:20px;border-color:#b9bfc8}
.viisi-os-info .help-lite-method,.viisi-os-info .help-lite-method+.help-lite-method{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:13px;flex:none}
.viisi-os-info .help-lite-method>div:first-child{margin:0 0 5px}
.viisi-os-info .help-lite-method>div:last-child{align-items:center;text-align:center;gap:4px}
.viisi-os-info .help-lite-method b{color:#263f61}
.viisi-os-info .help-lite-method>div:last-child>span{color:#52647b}
.viisi-os-info .os-info-note{color:#52647b}
.viisi-os-info .os-info-footer{border-color:#b9bfc8;box-shadow:inset 0 1px #fff;color:#747f8e;text-align:center}
@media(max-height:560px){.viisi-os-info .os-info-mark{font-size:45px}.viisi-os-info .os-info-body{padding:9px 15px}.viisi-os-info .os-info-methods{gap:13px;padding:10px 0}.viisi-os-info .help-lite-method{gap:8px}.viisi-os-info .os-info-version{margin-bottom:8px}}

/* Two input methods side by side within the system info window. */
.viisi-os-info .os-info-methods{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.viisi-os-info .help-lite-method{width:100%;min-width:0}
@media(max-width:380px){.viisi-os-info .os-info-body{padding-left:12px;padding-right:12px}.viisi-os-info .os-info-methods{gap:12px}}

/* A lightly translucent body keeps the archive visible behind the hint. */
.explore-help-lite.viisi-os-info{background:rgba(228,228,223,.82)}
.viisi-os-info .os-info-titlebar{background:linear-gradient(90deg,#315b9ee6,#5b80bee6)}

/* The solid info window arrives from the right and rests off-centre. */
.explore-help-lite.viisi-os-info{background:#e4e4df;left:calc(50% + clamp(18px,8vw,110px));animation:viisi-info-enter .45s cubic-bezier(.2,.75,.25,1) both}
.viisi-os-info .os-info-titlebar{background:linear-gradient(90deg,#315b9e,#5b80be)}
@keyframes viisi-info-enter{from{opacity:0;translate:65px 0}to{opacity:1;translate:0 0}}
.explore-help-lite.viisi-os-info.is-settled{animation:none;translate:0 0}
@media(max-width:600px){.explore-help-lite.viisi-os-info{width:min(300px,calc(100% - 48px));left:calc(50% + 16px)}}
@media(prefers-reduced-motion:reduce){.explore-help-lite.viisi-os-info{animation:none}}

/* Dock the instructions at the right edge of Explore. */
.explore-help-lite.viisi-os-info{left:auto;right:12px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){.explore-help-lite.viisi-os-info{left:auto;right:12px;transform:translateY(-50%)}}

/* Reserve an empty side rail while system instructions are visible. */
#stage.has-system-info:after{content:'';position:absolute;inset:0 0 0 auto;width:364px;z-index:79;background-color:#fff;background-image:radial-gradient(circle,#bac1cb .7px,transparent .95px);background-size:24px 24px;pointer-events:auto;animation:info-rail-enter .3s ease-out}
@keyframes info-rail-enter{from{opacity:0}to{opacity:1}}
@media(max-width:600px){#stage.has-system-info:after{width:min(324px,calc(100% - 24px))}}
@media(prefers-reduced-motion:reduce){#stage.has-system-info:after{animation:none}}

/* A blue grid dims Explore while the system information is on screen. */
#stage.has-system-info:after{inset:0;width:auto;background-color:rgba(34,65,101,.28);background-image:linear-gradient(#b7d7f04d 1px,transparent 1px),linear-gradient(90deg,#b7d7f04d 1px,transparent 1px);background-size:20px 20px;pointer-events:none}
#stage.has-system-info .viisi-os-info{z-index:81}

/* Centre system information over the blue Explore overlay. */
#stage .explore-help-lite.viisi-os-info{left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}

/* Build the grid in rows, then reveal the information window. */
#stage.has-system-info:after{animation:viisi-grid-build .7s steps(18,end) both;transition:opacity .55s ease}
@keyframes viisi-grid-build{0%{clip-path:inset(0 0 100% 0);opacity:0}20%{opacity:1}100%{clip-path:inset(0);opacity:1}}
#stage .explore-help-lite.viisi-os-info{animation:viisi-window-reveal .5s .2s cubic-bezier(.2,.7,.2,1) both;transition:opacity .5s ease,translate .55s cubic-bezier(.2,.7,.2,1)}
@keyframes viisi-window-reveal{from{opacity:0;translate:0 10px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
#stage.system-info-leaving:after{animation:none;clip-path:inset(0);opacity:0}
#stage.system-info-leaving .explore-help-lite.viisi-os-info{animation:none;opacity:0;translate:0 -8px;scale:1}
@media(prefers-reduced-motion:reduce){#stage.has-system-info:after,#stage .explore-help-lite.viisi-os-info{animation:none;transition:opacity .15s linear}#stage.system-info-leaving .explore-help-lite.viisi-os-info{translate:0 0}}

/* Cover the entire viewport, including the footer, during onboarding. */
#stage.has-system-info:after{position:fixed;inset:0;z-index:70}
#stage .explore-help-lite.viisi-os-info{position:fixed;z-index:71}
@keyframes viisi-grid-exit{0%{clip-path:inset(0);opacity:1}65%{opacity:.65}100%{clip-path:inset(0 0 100% 0);opacity:0}}
@keyframes viisi-window-exit{from{opacity:1;translate:0 0;scale:1}to{opacity:0;translate:0 -16px;scale:.96}}
#stage.system-info-leaving:after{animation:viisi-grid-exit .6s cubic-bezier(.4,0,.2,1) both;transition:none}
#stage.system-info-leaving .explore-help-lite.viisi-os-info{animation:viisi-window-exit .45s cubic-bezier(.4,0,.2,1) both;transition:none}
@media(prefers-reduced-motion:reduce){#stage.system-info-leaving:after,#stage.system-info-leaving .explore-help-lite.viisi-os-info{animation:none;opacity:0;transition:opacity .15s linear}}

.viisi-os-info .os-info-note{margin:0 0 13px}
