/* bolisound UI kit — shared overlay for every scene (version 4, 2026-11-03) */
@font-face{font-family:'BL HMS';font-weight:300;font-display:swap;src:url(hms-light.woff2) format('woff2')}
#bl-ui{--w:#e9edf3;--dim:rgba(233,237,243,.55);--faint:rgba(233,237,243,.22);
 --mono:'JetBrains Mono','BL HMS',ui-monospace,monospace;--serif:'Cormorant Garamond',serif;--zht:'Noto Serif SC',serif;--wk:'LXGW WenKai','Noto Serif SC',serif;
 --fs:11px;--fs2:10px;--edge:38px;
 position:fixed;inset:0;z-index:50;pointer-events:none;color:var(--w);font-family:var(--mono);-webkit-font-smoothing:antialiased}
#bl-ui *{box-sizing:border-box;margin:0;padding:0}
#bl-ui .bl-m{font-family:var(--mono);font-weight:300;text-transform:uppercase;letter-spacing:.15em;font-size:var(--fs)}
#bl-ui.zh .bl-m{letter-spacing:.2em}
#bl-ui button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-transform:inherit;letter-spacing:inherit;pointer-events:auto}
#bl-ui .bl-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none}
/* frame: graded frosted glass — very blurred at the outer edge, clear inside, rounded */
#bl-ui .bl-glass{position:absolute;inset:0}
#bl-ui .bl-glass i{position:absolute;inset:0;
 -webkit-mask:linear-gradient(90deg,#000,transparent var(--g),transparent calc(100% - var(--g)),#000),linear-gradient(#000,transparent var(--g),transparent calc(100% - var(--g)),#000);
 mask:linear-gradient(90deg,#000,transparent var(--g),transparent calc(100% - var(--g)),#000),linear-gradient(#000,transparent var(--g),transparent calc(100% - var(--g)),#000)}
#bl-ui .bl-glass i:nth-child(1){--g:14px;backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8);background:rgba(6,8,12,.16)}
#bl-ui .bl-glass i:nth-child(2){--g:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#bl-ui .bl-frame{position:absolute;inset:24px;border:1px solid rgba(233,237,243,.09);border-radius:26px}
#bl-ui.noglass .bl-glass{display:none}
/* top bar */
#bl-ui .bl-tl,#bl-ui .bl-tr{position:absolute;top:30px;display:flex;align-items:center;gap:24px;padding:9px 14px}
#bl-ui .bl-tl{left:var(--edge)}#bl-ui .bl-tr{right:var(--edge)}
#bl-ui .bl-cv{order:9;color:inherit;text-decoration:none;pointer-events:auto;cursor:pointer;white-space:nowrap}#bl-ui .bl-cv:hover{filter:brightness(1.9) drop-shadow(0 0 5px rgba(255,255,255,.75))}
#bl-ui .bl-cvt{position:absolute;top:76px;left:calc(var(--edge) + 14px);opacity:0;transition:opacity .4s;pointer-events:none;color:var(--dim)}#bl-ui .bl-cvt.on{opacity:1}#bl-ui.ph .bl-cvt{top:56px;left:12px}#bl-ui.ph .bl-tl{gap:12px}
#bl-ui .bl-logo{width:34px;height:auto;opacity:.92;display:block}
#bl-ui .bl-brk{position:relative}
#bl-ui .bl-brk:before,#bl-ui .bl-brk:after{content:"";position:absolute;width:7px;height:7px;border:1px solid var(--faint)}
#bl-ui .bl-brk:before{left:-7px;top:-6px;border-right:0;border-bottom:0;border-top-left-radius:3px}
#bl-ui .bl-brk:after{right:-7px;bottom:-6px;border-left:0;border-top:0;border-bottom-right-radius:3px}
#bl-ui .bl-res,#bl-ui .bl-spec,#bl-ui .bl-ask{display:flex;align-items:center;gap:9px}
#bl-ui .bl-bars{display:flex;gap:2px;align-items:flex-end;height:12px;width:14px}
#bl-ui .bl-bars i{display:block;width:2px;background:var(--w);height:30%}
#bl-ui .bl-res.off .bl-lbl{color:var(--dim)}
#bl-ui .bl-spec .bl-plus{font-size:14px;transform:translateY(-1px)}
#bl-ui .bl-ask span{text-transform:none}
#bl-ui .bl-lang{font-size:var(--fs);letter-spacing:.06em;display:flex;align-items:center;gap:3px;padding:3px 0}
#bl-ui .bl-lang span{color:var(--w);opacity:.85}#bl-ui .bl-lang:hover span{opacity:1}
#bl-ui .bl-lang em{font-style:normal;width:1px;height:.9em;background:var(--faint);transform:rotate(20deg)}
/* bottom ruler */
#bl-ui .bl-ruler{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:30px;align-items:flex-end;padding-top:12px;opacity:.3;transition:opacity 1s;pointer-events:auto}
#bl-ui .bl-ruler:before{content:"";position:absolute;left:-20px;right:-20px;top:0;height:5px;background:repeating-linear-gradient(90deg,rgba(233,237,243,.35) 0 1px,transparent 1px 7px);-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
#bl-ui.fresh .bl-ruler,#bl-ui.near .bl-ruler{opacity:1}
#bl-ui .bl-r{position:relative;display:flex;flex-direction:column;align-items:center;color:var(--faint);font-size:var(--fs2);cursor:pointer;transition:color .35s;white-space:nowrap}
#bl-ui .bl-tick{position:absolute;top:-12px;left:50%;width:1px;height:9px;background:currentColor;transition:height .4s}
#bl-ui .bl-r.on{color:var(--w)}#bl-ui .bl-r.on .bl-tick{height:14px;top:-14px;box-shadow:0 0 6px rgba(255,255,255,.7)}
#bl-ui .bl-t{max-width:0;overflow:hidden;opacity:0;transition:max-width .6s,opacity .5s}
#bl-ui .bl-r.on .bl-t,#bl-ui.near .bl-t{max-width:200px;opacity:1}
#bl-ui .bl-dot{width:3px;height:3px;border-radius:50%;background:currentColor;margin-top:2px}
#bl-ui .bl-r.on .bl-dot,#bl-ui.near .bl-dot{display:none}
#bl-ui .bl-r:hover{color:#fff}
/* center title */
#bl-ui .bl-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px;transition:opacity 1.2s}
#bl-ui .bl-act{color:var(--dim);margin-bottom:18px}
#bl-ui .bl-title{font-weight:300;line-height:1;white-space:nowrap}
#bl-ui .bl-title.cold{font-family:'Antonio',sans-serif;font-weight:200;font-size:clamp(46px,7.4vw,110px);letter-spacing:.32em;margin-right:-.32em;color:#f2f6fa;text-shadow:0 0 18px rgba(143,219,232,.55),0 0 2px #fff}
#bl-ui .bl-title.gold{font-family:'Cinzel',serif;font-size:clamp(36px,5vw,78px);letter-spacing:.42em;margin-right:-.42em;color:#f7e6c4;text-shadow:0 0 24px rgba(220,187,126,.6),0 0 60px rgba(220,187,126,.25)}
#bl-ui .bl-title.thin{font-family:'Antonio',sans-serif;font-weight:200;font-size:clamp(34px,4.4vw,64px);letter-spacing:.5em;margin-right:-.5em;color:#eef1f6}
#bl-ui .bl-title.zt{font-family:var(--zht);font-weight:300;font-size:clamp(34px,4.6vw,66px);letter-spacing:.32em;margin-right:-.32em}
#bl-ui .bl-role{margin-top:20px;color:var(--dim)}
#bl-ui .bl-mf{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,88vw);text-align:center;opacity:0;transition:opacity 1.2s}
#bl-ui .bl-mf .en{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,2.3vw,30px);line-height:1.45;color:#f4f1ea}
#bl-ui .bl-mf .zh{font-family:var(--wk);font-weight:300;font-size:clamp(19px,2vw,26px);line-height:2.1;letter-spacing:.22em;color:#f4f1ea}
#bl-ui .bl-mf .en,#bl-ui .bl-mf .zh{text-shadow:0 0 18px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.6)}
#bl-ui .bl-mf .src{margin-top:22px;color:var(--dim)}
#bl-ui.mf .bl-mf{opacity:1}
#bl-ui.mf .bl-center,#bl-ui.mf .bl-prompt{opacity:0}
/* prompt: bright, instrument-style corner brackets + a dark halo behind the letters so it reads over white areas; bright on arrival, then settles */
#bl-ui .bl-prompt{position:absolute;left:50%;bottom:108px;transform:translateX(-50%);text-align:center;white-space:nowrap;padding:12px 22px 10px;color:#fff;font-weight:400;
 text-shadow:0 0 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.75),0 0 22px rgba(0,0,0,.5);transition:opacity 2.2s}
#bl-ui .bl-prompt:before,#bl-ui .bl-prompt:after{content:"";position:absolute;width:9px;height:9px;border:1px solid rgba(255,255,255,.7);filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}
#bl-ui .bl-prompt:before{left:0;top:0;border-right:0;border-bottom:0;border-top-left-radius:3px}
#bl-ui .bl-prompt:after{right:0;bottom:0;border-left:0;border-top:0;border-bottom-right-radius:3px}
#bl-ui .bl-prompt svg{filter:drop-shadow(0 0 3px rgba(0,0,0,.9))}
#bl-ui .bl-prompt{transition:opacity 1.6s ease}#bl-ui .bl-prompt.pre{opacity:0;pointer-events:none}#bl-ui .bl-prompt{pointer-events:auto;cursor:pointer}#bl-ui .bl-prompt.rest{opacity:.72}
#bl-ui .bl-prompt.pin{opacity:1}
#bl-ui .bl-prompt svg{display:block;margin:10px auto 0;width:60px;height:14px}
/* bottom corners */
#bl-ui .bl-inputs,#bl-ui .bl-probe{position:absolute;bottom:34px;color:var(--dim);font-size:var(--fs2);transition:opacity .6s}
#bl-ui .bl-inputs{left:var(--edge);display:flex;flex-direction:column;gap:7px}
#bl-ui .bl-probe{right:var(--edge);white-space:nowrap}
#bl-ui .bl-inputs b,#bl-ui .bl-probe b{font-weight:400;color:var(--w);transition:color .2s,text-shadow .2s}
#bl-ui .bl-inputs b.hit{text-shadow:0 0 8px #fff}
#bl-ui .bl-probe b{display:inline-block;min-width:5ch;text-align:right}
#bl-ui.near .bl-inputs,#bl-ui.near .bl-probe{opacity:.12}
/* menu */
#bl-ui .bl-menu{position:absolute;inset:0;display:flex;opacity:0;transition:opacity .5s}
#bl-ui.menu .bl-menu{pointer-events:auto;opacity:1}
#bl-ui .bl-veil{position:absolute;inset:0;background:rgba(2,4,8,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#bl-ui .bl-in{position:relative;margin:auto;width:min(720px,88vw)}
#bl-ui .bl-close{position:absolute;top:-70px;right:0;color:var(--dim);text-transform:none}
#bl-ui .bl-close:hover{color:var(--w)}
#bl-ui .bl-bus{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:18px;padding:18px 0;border-top:1px solid rgba(233,237,243,.12);opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s;cursor:pointer}
#bl-ui.menu .bl-bus{opacity:1;transform:none}
#bl-ui .bl-bus .n{color:var(--dim);font-size:var(--fs2)}
#bl-ui .bl-bus .name{font-size:clamp(20px,2.6vw,30px);letter-spacing:.22em}
#bl-ui.zh .bl-bus .name{letter-spacing:.42em}
#bl-ui .bl-bus canvas{width:120px;height:8px}#bl-ui .bl-bus .name small{display:block;margin-top:8px;font-size:var(--fs2);letter-spacing:.2em;color:var(--dim)}
#bl-ui .bl-bus:hover .name{color:#fff}
#bl-ui .bl-foot{margin-top:40px;color:var(--faint);font-size:9.5px;line-height:1.9;letter-spacing:.1em;text-transform:none}
/* phone */
#bl-ui.ph{--fs:9px;--fs2:8.5px;--edge:16px}
#bl-ui.ph .bl-glass,#bl-ui.ph .bl-frame{display:none}
#bl-ui.ph .bl-tl,#bl-ui.ph .bl-tr{top:14px;gap:16px;padding:8px 6px}
#bl-ui.ph .bl-brk:before,#bl-ui.ph .bl-brk:after{display:none}
#bl-ui.ph .bl-logo{width:22px}
#bl-ui.ph .bl-lbl{display:none}#bl-ui.ph .bl-spec .bl-lbl{display:inline}#bl-ui.ph .bl-spec{gap:6px}

#bl-ui.ph .bl-spec .bl-plus{font-size:13px}
#bl-ui.ph .bl-ruler{bottom:20px;gap:22px}
#bl-ui.ph .bl-r.far{display:none}
#bl-ui.ph .bl-r.nb .bl-t{max-width:200px;opacity:1}#bl-ui.ph .bl-r.nb .bl-dot{display:none}
#bl-ui.ph .bl-inputs{bottom:58px;max-width:calc(100vw - 32px)}
#bl-ui.ph .bl-inputs div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 32px)}
#bl-ui.ph .bl-inputs{height:14px}#bl-ui.ph .bl-inputs div{position:absolute;left:0;bottom:0;opacity:0;transition:opacity 1s}#bl-ui.ph .bl-inputs div.cur{opacity:1}
#bl-ui.ph .bl-probe{display:none}
#bl-ui.ph .bl-prompt{bottom:92px;padding:10px 16px 8px}
#bl-ui.ph .bl-title{white-space:normal}
#bl-ui.ph .bl-title.cold{font-size:40px;letter-spacing:.2em;margin-right:-.2em;line-height:1.15}
#bl-ui.ph .bl-title.gold{font-size:26px;letter-spacing:.2em;margin-right:-.2em;line-height:1.3}
#bl-ui.ph .bl-title.thin{font-size:28px;letter-spacing:.3em;margin-right:-.3em;line-height:1.3}
#bl-ui.ph .bl-title.zt{font-size:26px;letter-spacing:.24em;margin-right:-.24em;line-height:1.5}
#bl-ui.ph .bl-role{max-width:300px;line-height:1.7}
#bl-ui.ph .bl-mf .en{font-size:19px}
#bl-ui.ph .bl-bus{grid-template-columns:60px 1fr 64px;gap:12px;padding:15px 0}#bl-ui.ph .bl-bus canvas{width:64px;height:6px}
#bl-ui.ph .bl-bus .name{font-size:15px;letter-spacing:.12em;white-space:nowrap}#bl-ui.ph.zh .bl-bus .name{font-size:18px;letter-spacing:.3em}
#bl-ui.ph .bl-close{top:-56px}


/* Version 16: page-level helpers for every scene (outside #bl-ui) */
:root{--bl-safe-x:clamp(64px,6vw,96px)}
.bl-safe{padding-left:var(--bl-safe-x);padding-right:var(--bl-safe-x);box-sizing:border-box}
.bl-count{font-family:'JetBrains Mono',monospace;font-weight:300;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(233,237,243,.55)}
.bl-count b{font-weight:400;color:#e9edf3}
html.bl-ph .bl-count{font-size:9px}
:lang(zh) .bl-count,html.bl-zh .bl-count{font-family:'BL HMS','JetBrains Mono',sans-serif}

/* Version 17: bottom safe zone, uniform awards, shared work viewer */
:root{--bl-safe-b:170px}html.bl-ph{--bl-safe-b:150px}
.bl-awards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bl-awards li{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:16px}
.bl-awards .lg{width:56px;height:40px;display:flex;align-items:center;justify-content:center}
.bl-awards .lg img{max-width:56px;max-height:40px;object-fit:contain;opacity:.9}
.bl-awards .tx{font-family:'JetBrains Mono',monospace;font-weight:300;font-size:11px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;color:rgba(233,237,243,.82)}
html.bl-zh .bl-awards .tx{font-family:'BL HMS',sans-serif;letter-spacing:.08em}
html.bl-ph .bl-awards li{grid-template-columns:40px 1fr;gap:12px}html.bl-ph .bl-awards .lg{width:40px;height:30px}html.bl-ph .bl-awards .lg img{max-width:40px;max-height:30px}html.bl-ph .bl-awards .tx{font-size:9.5px}
#bl-ui .bl-view{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
#bl-ui.view .bl-view{opacity:1;visibility:visible;transition:opacity .45s;pointer-events:auto}
#bl-ui.view .bl-prompt,#bl-ui.view .bl-ruler,#bl-ui.view .bl-inputs,#bl-ui.view .bl-probe,#bl-ui.view .bl-center{opacity:0!important;pointer-events:none}
#bl-ui .bl-vveil{position:absolute;inset:0;background:rgba(4,5,8,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#bl-ui .bl-vin{position:absolute;left:0;right:0;padding:0 var(--bl-safe-x);top:96px;bottom:48px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:28px;scrollbar-width:none}
#bl-ui .bl-vin::-webkit-scrollbar{display:none}
#bl-ui .bl-vhd{width:min(960px,100%);display:flex;justify-content:space-between;align-items:center;flex:none}
#bl-ui .bl-vx{font-size:var(--fs);letter-spacing:.15em;color:var(--dim);padding:6px 0}#bl-ui .bl-vx:hover{color:var(--w)}
#bl-ui .bl-vmedia{width:min(960px,100%);aspect-ratio:16/9;flex:none;background:#000;border:1px solid rgba(233,237,243,.12);border-radius:14px;overflow:hidden;position:relative}
#bl-ui .bl-vmedia iframe,#bl-ui .bl-vmedia video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
#bl-ui .bl-vplay{position:absolute;inset:0;width:100%;height:100%;padding:0;background:#000;cursor:pointer}
#bl-ui .bl-vplay img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .4s}
#bl-ui .bl-vplay:hover img{opacity:.95}
#bl-ui .bl-vplay i{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff}
#bl-ui .bl-vplay svg{width:26px;height:26px;margin-left:4px}
#bl-ui .bl-vtext{width:min(720px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;flex:none;padding-bottom:24px}
#bl-ui .bl-vrole{color:var(--dim);font-size:var(--fs2)}
#bl-ui .bl-vtitle{margin:0;font-family:Cinzel,'Noto Serif SC',serif;font-weight:400;font-size:clamp(26px,3vw,40px);letter-spacing:.18em;color:#fff}
#bl-ui .bl-vdesc{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:rgba(233,237,243,.85)}
#bl-ui.zh .bl-vdesc{font-family:'LXGW WenKai','BL HMS',serif;font-style:normal;font-size:17px}
#bl-ui .bl-vaw{width:100%;text-align:left}#bl-ui .bl-vaw .bl-awards{width:fit-content;margin:0 auto}
#bl-ui .bl-vlink{font-size:var(--fs2);letter-spacing:.18em;color:var(--w);text-decoration:none;padding:10px 16px;border:1px solid rgba(233,237,243,.25);border-radius:999px}
#bl-ui .bl-vlink:hover{border-color:rgba(233,237,243,.6)}
#bl-ui.ph .bl-vin{top:64px;bottom:24px;gap:20px}#bl-ui.ph .bl-vdesc{font-size:16px}#bl-ui.ph.zh .bl-vdesc{font-size:15px}#bl-ui.ph .bl-vmedia{border-radius:10px}#bl-ui.ph .bl-vplay i{width:56px;height:56px;margin:-28px 0 0 -28px}
#bl-ui.ph .bl-prompt{white-space:normal;width:min(330px,86vw);line-height:1.7}

/* Version 19: act kicker for scene titles; menu open hides scene text */
.bl-kicker{font-family:'JetBrains Mono',monospace;font-weight:300;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(233,237,243,.55)}
html.bl-zh .bl-kicker{font-family:'BL HMS',sans-serif;letter-spacing:.2em}html.bl-ph .bl-kicker{font-size:9px}
html.bl-menu-open .bl-scene-text{opacity:0!important;pointer-events:none!important;transition:opacity .35s}
#bl-ui.menu .bl-center,#bl-ui.menu .bl-prompt,#bl-ui.menu .bl-inputs,#bl-ui.menu .bl-probe,#bl-ui.menu .bl-ruler{opacity:0!important;pointer-events:none}
/* Version 20: manifesto readability (from MOLD): borderless dark halo is a child of .bl-mf, so it fades in and out with the text */
#bl-ui .bl-mf::before{content:"";position:absolute;z-index:-1;left:-16%;right:-16%;top:-55%;bottom:-55%;background:radial-gradient(closest-side,rgba(2,3,6,.78),rgba(2,3,6,.55) 50%,rgba(2,3,6,.2) 80%,rgba(2,3,6,0));pointer-events:none}
#bl-ui .bl-mf .en,#bl-ui .bl-mf .zh{font-weight:400;color:#fbf8f1;text-shadow:0 0 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.9),0 0 26px rgba(0,0,0,.8)}
#bl-ui .bl-mf .src{color:rgba(233,237,243,.78);text-shadow:0 0 2px #000,0 0 10px rgba(0,0,0,.9)}


/* Version 22: hotpot (contact) page inside the menu */
#bl-ui.pg .bl-buses{display:none}
#bl-ui .bl-page{display:none}#bl-ui.pg .bl-page{display:block}
#bl-ui .bl-back{font-size:var(--fs2);letter-spacing:.15em;color:var(--dim);margin-bottom:28px;display:block}#bl-ui .bl-back:hover{color:var(--w)}
#bl-ui .bl-hp{border-top:1px solid rgba(233,237,243,.12);padding-top:26px}
#bl-ui .bl-hp .n{color:var(--dim);font-size:var(--fs2);margin-bottom:14px}
#bl-ui .bl-hp h3{font-weight:300;font-size:clamp(22px,2.6vw,30px);letter-spacing:.22em;color:#fff;margin-bottom:22px}
#bl-ui.zh .bl-hp h3{letter-spacing:.42em}
#bl-ui .bl-hp .intro{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:rgba(244,241,234,.9);margin-bottom:30px;max-width:620px}
#bl-ui.zh .bl-hp .intro{font-family:'BL HMS',sans-serif;font-style:normal;font-weight:300;font-size:15px;line-height:2;letter-spacing:.06em}
#bl-ui .bl-hp dl{display:grid;grid-template-columns:96px 1fr;row-gap:14px;font-size:var(--fs);margin-bottom:30px;pointer-events:auto}
#bl-ui .bl-hp dt{color:var(--dim)}#bl-ui .bl-hp dd{color:var(--w);text-transform:none;letter-spacing:.06em}
#bl-ui .bl-hp a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(233,237,243,.3)}
#bl-ui .bl-hp .noise{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--dim);padding-top:18px;border-top:1px solid rgba(233,237,243,.08)}
#bl-ui.zh .bl-hp .noise{font-family:'BL HMS',sans-serif;font-style:normal;font-size:12px;letter-spacing:.08em}
#bl-ui.ph .bl-hp dl{grid-template-columns:72px 1fr}#bl-ui.ph .bl-hp .intro{font-size:16px}#bl-ui.ph.zh .bl-hp .intro{font-size:13.5px}

/* site: the ruler is a centred loop; the current act stays in the middle, the rest fade to both sides */
#bl-ui .bl-ruler.loop{display:block;width:min(480px,56vw);height:30px;gap:0;opacity:.9!important;-webkit-mask:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent);mask:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent)}
#bl-ui .bl-ruler.loop:before{left:0;right:0;background-position:var(--ro,0) 0;-webkit-mask:none;mask:none}
#bl-ui .bl-ruler.loop .bl-r{position:absolute;left:50%;top:12px}
#bl-ui.ph .bl-ruler.loop{width:calc(100vw - 40px)}
/* site: sliding cursor on the fractional ruler */
/* site: opening a work hides the prompt, ruler and readouts at once (nothing overlaps the work) */
#bl-ui.view .bl-prompt,#bl-ui.view .bl-ruler,#bl-ui.view .bl-inputs,#bl-ui.view .bl-probe,body.bl-open #bl-ui .bl-prompt,body.bl-open #bl-ui .bl-ruler,body.bl-open #bl-ui .bl-inputs,body.bl-open #bl-ui .bl-probe{transition:none!important;visibility:hidden!important;opacity:0!important}
/* site: + SPECTRUM pages BUS.01-04 */
#bl-ui.pg .bl-page{max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(233,237,243,.2) transparent;padding-right:8px}
#bl-ui.pg .bl-foot{display:none}
#bl-ui .bl-pg .q{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.7vw,22px);color:#fff;margin:0 0 14px}
#bl-ui.zh .bl-pg .q{font-family:var(--wk);font-style:normal;letter-spacing:.2em}
#bl-ui .bl-pg .intro a{color:inherit;border-bottom:1px solid rgba(233,237,243,.35);text-decoration:none;pointer-events:auto}
#bl-ui .bl-pg section{border-top:1px solid rgba(233,237,243,.1);padding:22px 0 8px}
#bl-ui .bl-pg h4{font-weight:300;font-size:var(--fs2);letter-spacing:.2em;color:var(--dim);margin:0 0 18px;text-transform:uppercase}
#bl-ui .bl-pg .w{margin:0 0 20px}
#bl-ui .bl-pg .wt{font-family:'Antonio',sans-serif;font-weight:300;font-size:clamp(17px,1.5vw,20px);letter-spacing:.08em;color:#fff;line-height:1.35}
#bl-ui .bl-pg .wr{font-size:10.5px;letter-spacing:.14em;color:rgba(233,237,243,.62);margin:5px 0 4px;text-transform:uppercase}
#bl-ui .bl-pg .wr:empty{display:none}
#bl-ui .bl-pg .wd,#bl-ui .bl-pg li,#bl-ui .bl-pg dd,#bl-ui .bl-pg .pl{font-size:13.5px;line-height:1.75;color:rgba(244,241,234,.82);letter-spacing:.02em}
#bl-ui.zh .bl-pg .wd,#bl-ui.zh .bl-pg li,#bl-ui.zh .bl-pg dd,#bl-ui.zh .bl-pg .pl{font-family:'BL HMS',sans-serif;font-weight:300;letter-spacing:.06em;line-height:1.95}
#bl-ui .bl-pg ul{list-style:none;margin:0 0 10px;padding:0}
#bl-ui .bl-pg li{position:relative;padding-left:18px;margin-bottom:10px}
#bl-ui .bl-pg li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:rgba(233,237,243,.45)}
#bl-ui .bl-pg dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;column-gap:20px;row-gap:12px;margin:0 0 14px}
#bl-ui .bl-pg dt{font-size:10.5px;letter-spacing:.14em;color:rgba(233,237,243,.6);padding-top:.35em;text-transform:uppercase}
#bl-ui .bl-pg dd{margin:0}
#bl-ui .bl-pg .ghost{color:rgba(233,237,243,.1)}
#bl-ui.ph .bl-pg dl{grid-template-columns:1fr;row-gap:4px}#bl-ui.ph .bl-pg dd{margin-bottom:10px}
#bl-ui.ph.pg .bl-page{max-height:calc(100dvh - 150px)}
#bl-ui .bl-ruler .bl-rcur{position:absolute;top:-16px;width:1px;height:16px;margin-left:-.5px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.85),0 0 14px rgba(190,225,255,.45);pointer-events:none;transition:opacity .3s}

#bl-ui:not(.menu) .bl-menu,#bl-ui:not(.menu) .bl-menu *{pointer-events:none!important}
#bl-ui .bl-close{display:inline-flex;align-items:center}
#bl-ui .bl-close .bl-x{position:relative;display:inline-block;width:8px;height:8px;margin-left:9px;font-style:normal}
#bl-ui .bl-close .bl-x:before,#bl-ui .bl-close .bl-x:after{content:'';position:absolute;left:50%;top:50%;width:10px;height:1px;margin:-.5px 0 0 -5px;background:currentColor;transform:rotate(45deg)}
#bl-ui .bl-close .bl-x:after{transform:rotate(-45deg)}

#bl-ui.ph .bl-prompt.bx:not(.up) .ar{visibility:hidden!important}

@media (hover:hover) and (pointer:fine){
#bl-ui .bl-logo,#bl-ui .bl-res,#bl-ui .bl-spec,#bl-ui .bl-ask,#bl-ui .bl-lang,#bl-ui .bl-r{transition:filter .4s ease}
#bl-ui .bl-prompt{transition:filter .4s ease,opacity 1.6s ease,background .3s}
#bl-ui .bl-logo:hover,#bl-ui .bl-res:hover,#bl-ui .bl-spec:hover,#bl-ui .bl-ask:hover,#bl-ui .bl-lang:hover,#bl-ui .bl-prompt:hover,#bl-ui .bl-r:hover{filter:brightness(1.9) drop-shadow(0 0 5px rgba(255,255,255,.75));animation:blHum 3.4s ease-in-out infinite}
#bl-ui .bl-calm:hover{filter:none;animation:none}
#bl-ui .bl-flash,#bl-ui .bl-flash:hover{filter:brightness(3) drop-shadow(0 0 12px #fff)!important;animation:none!important;transition:none!important}
@keyframes blHum{0%,100%{translate:0 0;scale:1}17%{translate:.35px -.45px;scale:1.008}33%{translate:-.3px .35px;scale:.996}50%{translate:.4px .3px;scale:1.01}67%{translate:-.35px -.35px;scale:.997}83%{translate:.25px .4px;scale:1.006}}
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
#bl-ui .bl-logo:hover,#bl-ui .bl-res:hover,#bl-ui .bl-spec:hover,#bl-ui .bl-ask:hover,#bl-ui .bl-lang:hover,#bl-ui .bl-bus:hover,#bl-ui .bl-r:hover,#bl-ui .bl-prompt:hover,#bl-ui .bl-vlink:hover,#bl-ui .bl-close:hover,#bl-ui .bl-back:hover,#bl-ui .bl-vx:hover,#bl-ui .bl-vplay:hover,#mc .vw:hover,#sc .dv:hover{animation:blBuzz .42s linear 1}
@keyframes blBuzz{0%{translate:0 0}12%{translate:.8px -.4px}24%{translate:-.7px .4px}36%{translate:.55px .3px}48%{translate:-.4px -.25px}60%{translate:.3px .2px}75%{translate:-.15px -.1px}100%{translate:0 0}}
}


/*blFadeRead2*/@media (min-width:601px){#bl-ui .bl-inputs{-webkit-mask-image:linear-gradient(to right,#000 max(120px,calc(var(--hw,50vw) - 480px)),rgba(0,0,0,.07) max(240px,calc(var(--hw,50vw) - 300px)));mask-image:linear-gradient(to right,#000 max(120px,calc(var(--hw,50vw) - 480px)),rgba(0,0,0,.07) max(240px,calc(var(--hw,50vw) - 300px)))}#bl-ui .bl-probe{-webkit-mask-image:linear-gradient(to left,#000 max(120px,calc(var(--hw,50vw) - 480px)),rgba(0,0,0,.07) max(240px,calc(var(--hw,50vw) - 300px)));mask-image:linear-gradient(to left,#000 max(120px,calc(var(--hw,50vw) - 480px)),rgba(0,0,0,.07) max(240px,calc(var(--hw,50vw) - 300px)))}}
/*blCondi2*/#bl-ui .bl-cr{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;max-width:520px;margin:0 0 24px;padding-top:18px;border-top:1px solid rgba(233,237,243,.08);pointer-events:auto}
#bl-ui .bl-cr .ic{width:64px;height:64px;display:block;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}#bl-ui .bl-cr.on .ic{animation:blCrV .1s steps(2) infinite alternate}@keyframes blCrV{to{transform:translate(.5px,-.4px)}}@media (prefers-reduced-motion:reduce){#bl-ui .bl-cr.on .ic{animation:none}}
#bl-ui .bl-cr .b{min-width:0}
#bl-ui .bl-cr .hd{display:flex;justify-content:space-between;align-items:center;gap:12px}
#bl-ui .bl-cr .t{font-size:var(--fs);color:var(--w);letter-spacing:.14em}
#bl-ui .bl-cr .sw{appearance:none;background:none;border:1px solid rgba(233,237,243,.4);border-radius:3px;color:var(--w);font-size:var(--fs2);line-height:1;letter-spacing:.12em;width:44px;height:24px;padding:0;cursor:pointer;flex:none}
#bl-ui .bl-cr .sw[aria-checked=true]{background:#e8edf6;border-color:#e8edf6;color:#0a0c11}
#bl-ui .bl-cr .h{font-size:12px;line-height:1.5;color:var(--dim);margin:6px 0 8px;text-transform:none;letter-spacing:.03em}
#bl-ui .bl-cr .sl{display:grid;grid-template-columns:minmax(0,1fr) 58px;column-gap:10px;align-items:center}
#bl-ui .bl-cr input{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;cursor:pointer;touch-action:none}
#bl-ui .bl-cr input::-webkit-slider-runnable-track{height:1px;background:rgba(233,237,243,.38)}
#bl-ui .bl-cr input::-moz-range-track{height:1px;background:rgba(233,237,243,.38)}
#bl-ui .bl-cr input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:18px;margin-top:-9px;border:0;background:linear-gradient(#fff,#fff) center/2px 100% no-repeat}
#bl-ui .bl-cr input::-moz-range-thumb{width:10px;height:18px;border:0;border-radius:0;background:linear-gradient(#fff,#fff) center/2px 100% no-repeat}
#bl-ui .bl-cr input:focus-visible{outline:1px solid #fff;outline-offset:2px}
#bl-ui .bl-cr output{font-size:var(--fs2);text-align:right;color:var(--w);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;text-transform:none}
#bl-ui .bl-cr .tk{position:relative;grid-column:1;height:26px}
#bl-ui .bl-cr .m{position:absolute;top:0;transform:translateX(-50%);appearance:none;background:none;border:0;padding:0 2px 2px;color:var(--dim);font-size:9px;line-height:1.2;letter-spacing:.06em;white-space:nowrap;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
#bl-ui .bl-cr .m i{display:block;width:1px;height:5px;background:rgba(233,237,243,.55)}
#bl-ui .bl-cr .m:hover,#bl-ui .bl-cr .m:focus-visible{color:var(--w);outline:none}
#bl-ui .bl-cr .e{position:absolute;top:7px;font-size:9px;line-height:1.2;color:rgba(214,224,240,.42)}#bl-ui .bl-cr .e.l{left:0}#bl-ui .bl-cr .e.r{right:0}
@media (max-width:600px){#bl-ui .bl-cr .sl{grid-template-columns:minmax(0,1fr)}#bl-ui .bl-cr output{grid-row:1;margin-bottom:-2px}#bl-ui .bl-cr input{grid-row:2}#bl-ui .bl-cr .tk{grid-row:3}}
/*blCt*/#bl-ui .bl-hp dl.bl-ct>div{display:contents}
/*blGc4*/#bl-ui .bl-gc{margin:0 0 22px}#bl-ui .bl-gc img{display:block;width:112px;height:157px;object-fit:cover}
