/* Orb v0.10 features. Black background always; all changes are opacity fades of at least 400ms; no flashes. */
.o10-fade{opacity:0;transition:opacity 600ms ease;pointer-events:none}
.o10-fade.on{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion: reduce){html body .o10-fade{transition:opacity 400ms linear!important}} /* plain crossfade, beats the global reduced-motion reset so nothing pops in */
.o10-glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:#fff}
.o10-btn.o10-glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:#141418;box-shadow:none;will-change:transform;contain:strict}
.o10-btn svg{width:20px;height:20px;margin-top:11px;stroke:#ddd;fill:none;stroke-width:1.6}
.o10-btn{position:fixed;bottom:70px;width:44px;height:44px;border-radius:50%;z-index:7;font-size:18px;line-height:42px;text-align:center;color:#ddd;cursor:pointer;padding:0}
.o10-l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}
.o10-chip{display:inline-block;font-size:12px;padding:5px 10px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);margin:6px 6px 0 0;color:#ddd;text-decoration:none}
#o10cam{position:fixed;left:12px;right:12px;top:40px;height:min(52vh,420px);border-radius:22px;overflow:hidden;z-index:40;background:#000;border:1px solid rgba(255,255,255,.12)}
#o10cam video{width:100%;height:100%;object-fit:cover;background:#000}
#o10camInd{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:60;font-size:12px;padding:4px 10px;border-radius:12px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.18);color:#ddd}
#o10camInd i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6fcf8f;margin-right:6px;vertical-align:1px}
#o10card{position:fixed;left:12px;right:12px;top:44px;z-index:41;padding:14px 16px;max-height:34vh;overflow:auto}
html.o10cam #o10card{top:auto;bottom:120px}
#o10pop{position:fixed;inset:0;z-index:70;background:transparent}
#o10pop .im{position:absolute;left:50%;top:12%;transform:translateX(-50%);width:min(340px,84vw);border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 60px rgba(120,160,255,.12)}
#o10pop img{display:block;width:100%;height:auto}
#o10pop .cap{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;font-size:13px;background:linear-gradient(transparent,rgba(0,0,0,.7))}
#o10pop .pin{position:absolute;left:50%;transform:translateX(-50%);top:calc(12% - 34px)}
#o10pop .hint{position:absolute;left:0;right:0;bottom:22%;text-align:center;font-size:13px;color:#aaa}
#o10sheet{position:fixed;left:12px;right:12px;bottom:24px;z-index:45;padding:14px 16px;max-height:70vh;overflow:auto}
.o10-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;color:#fff;background:none;border-left:0;border-right:0;border-top:0;width:100%;font:inherit;text-align:left}
.o10-act{display:inline-block;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.1);font-size:14px;margin:6px 6px 0 0;border:0;color:#fff;cursor:pointer}
#o10depth{position:fixed;left:50%;transform:translateX(-50%);bottom:170px;z-index:31}
.o10-seg{display:flex;background:rgba(255,255,255,.06);border-radius:12px;padding:3px;margin-top:8px}.o10-seg button{flex:1;text-align:center;padding:9px;font-size:13px;border-radius:9px;color:#aaa;background:none;border:0;cursor:pointer}.o10-seg button.a{background:rgba(255,255,255,.16);color:#fff}
#o10depthSet label{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:12px}
#o10depthSet label>span{flex:1 1 auto;min-width:0}
#o10depthSet input[type=checkbox]{width:auto!important;height:auto;flex:0 0 auto;margin:0;display:inline-block}
