.webSessionComp{width:100%;min-height:60vh;color:var(--color-cale-text);justify-content:center;align-items:flex-start;padding:.35rem;font-weight:500;display:flex}.webSessionComp .session-card{background:var(--device-card-surface);border:1px solid var(--device-card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;width:100%;max-width:560px;padding:24px}.webSessionComp .session-head{margin-bottom:16px}.webSessionComp .session-head .session-title{color:var(--color-text);margin:0 0 8px;font-size:.3rem;font-weight:600}.webSessionComp .session-head .session-hint{color:var(--color-cale-text);opacity:.85;margin:0;font-size:.22rem;line-height:1.6}.webSessionComp .session-head .session-hint strong{color:var(--color-text);font-weight:600}.webSessionComp .session-empty,.webSessionComp .session-loading,.webSessionComp .session-only-current{color:var(--color-cale-text);padding:12px 0;font-size:.24rem}.webSessionComp .session-empty,.webSessionComp .session-loading{text-align:center;padding:16px}.webSessionComp .session-only-current{opacity:.85}.webSessionComp .session-retry{border:1px dashed var(--device-card-border);width:100%;color:var(--color-cale-text);background:0 0;border-radius:12px;padding:14px;font-size:.24rem;transition:border-color .2s,color .2s}.webSessionComp .session-retry:hover{color:var(--font-background-webkit);border-color:#7cd7ee4d}.webSessionComp .session-retry:focus-visible{outline:2px solid var(--cropper-accent);outline-offset:2px}.webSessionComp .session-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:0 4px 12px;display:flex}.webSessionComp .session-toolbar .session-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.webSessionComp .session-toolbar .session-check-all{color:var(--color-cale-text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.22rem;display:inline-flex}.webSessionComp .session-toolbar .session-check-all:hover .session-chk{border-color:var(--cropper-accent)}.webSessionComp .session-toolbar .session-count{color:var(--color-cale-text);opacity:.7;white-space:nowrap;margin-left:4px;font-size:.2rem}.webSessionComp .session-toolbar .session-logout-btn{white-space:nowrap;color:#ff6384e6;background:0 0;border:1px solid #ff638466;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:.2rem;transition:background .2s,color .2s,border-color .2s,opacity .2s}.webSessionComp .session-toolbar .session-logout-btn:hover:not(:disabled){color:#ff6384;background:#ff63841a;border-color:#ff638499}.webSessionComp .session-toolbar .session-logout-btn:focus-visible{outline-offset:2px;outline:2px solid #ff638499}.webSessionComp .session-toolbar .session-logout-btn:disabled{opacity:.45;cursor:not-allowed}.webSessionComp .session-checkbox{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute}.webSessionComp .session-chk,.webSessionComp .session-pick{border:1.5px solid var(--session-check-border);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative}.webSessionComp .session-chk svg,.webSessionComp .session-pick svg{width:60%;height:60%;color:var(--session-check-mark);opacity:0;transition:opacity .16s,transform .18s cubic-bezier(.2,.9,.3,1.3);transform:scale(.5)}.webSessionComp .session-chk{width:20px;height:20px}.webSessionComp .session-pick{width:22px;height:22px}.webSessionComp .session-checkbox:checked+.session-chk,.webSessionComp .session-item.is-selected .session-pick{background:var(--cropper-accent);border-color:var(--cropper-accent)}.webSessionComp .session-checkbox:checked+.session-chk svg,.webSessionComp .session-item.is-selected .session-pick svg{opacity:1;transform:scale(1)}.webSessionComp .session-checkbox:focus-visible+.session-chk{box-shadow:0 0 0 2px var(--device-card-surface-strong),0 0 0 4px var(--cropper-accent)}.webSessionComp .session-checkbox:disabled+.session-chk{opacity:.45}.webSessionComp .session-item:has(.session-checkbox:disabled) .session-pick{opacity:.45}.webSessionComp .session-scroll{position:relative}.webSessionComp .session-scroll:before{content:"";background:linear-gradient(to bottom,var(--session-scroll-shadow),#0000);opacity:0;pointer-events:none;z-index:2;border-radius:12px 12px 0 0;height:14px;transition:opacity .2s;position:absolute;top:0;left:0;right:8px}.webSessionComp .session-scroll.can-scroll-top:before{opacity:1}.webSessionComp .session-scroll .session-more{background:var(--device-card-surface-strong);border:1px solid var(--device-card-border);color:var(--color-cale-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;border-radius:999px;padding:4px 10px;font-size:.2rem;transition:opacity .2s,transform .2s;position:absolute;bottom:8px;left:50%;transform:translate(-50%,6px)}.webSessionComp .session-scroll.can-scroll-bottom .session-more{opacity:1;transform:translate(-50%)}.webSessionComp .session-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--device-card-border) #0000;flex-direction:column;gap:12px;max-height:460px;margin:0;padding:2px 8px 2px 2px;list-style:none;display:flex;overflow-y:auto}.webSessionComp .session-list::-webkit-scrollbar{width:6px}.webSessionComp .session-list::-webkit-scrollbar-thumb{background:var(--device-card-border);border-radius:6px}.webSessionComp .session-list::-webkit-scrollbar-track{background:0 0}.webSessionComp .session-list .session-item{background:var(--device-card-surface);border:1px solid var(--device-card-border);border-radius:12px;transition:border-color .2s,transform .2s,background .2s}.webSessionComp .session-list .session-item:hover{border-color:#7cd7ee4d;transform:translateY(-1px)}.webSessionComp .session-list .session-item:not(.is-current):hover{background:var(--device-card-surface-strong)}.webSessionComp .session-list .session-item:not(.is-current):hover .session-pick{border-color:var(--cropper-accent)}.webSessionComp .session-list .session-item.is-selected,.webSessionComp .session-list .session-item.is-selected:hover{border-color:var(--cropper-accent);background:var(--cropper-accent-bg)}.webSessionComp .session-list .session-item:has(.session-checkbox:focus-visible){box-shadow:0 0 0 2px var(--cropper-accent)}.webSessionComp .session-list .session-item.is-unknown .session-name{opacity:.8}.webSessionComp .session-list .session-item .session-hit{align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.webSessionComp .session-list .session-item .session-icon{width:.5rem;height:.5rem;color:var(--color-cale-text);opacity:.85;flex:none;justify-content:center;align-items:center;display:flex}.webSessionComp .session-list .session-item .session-icon svg{width:100%;height:100%}.webSessionComp .session-list .session-item .session-info{flex-direction:column;flex:1 1 0;justify-content:center;gap:5px;width:0;min-width:0;display:flex}.webSessionComp .session-list .session-item .session-info .session-meta,.webSessionComp .session-list .session-item .session-info .session-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.webSessionComp .session-list .session-item .session-info .session-name{color:var(--color-text);font-size:.28rem;font-weight:600}.webSessionComp .session-list .session-item .session-info .session-meta{color:var(--color-cale-text);opacity:.85;font-size:.2rem}.webSessionComp .session-list .session-item .session-status{flex:none;justify-content:flex-end;align-items:center;display:flex}.webSessionComp .session-list .session-item .session-status .status-badge{white-space:nowrap;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:.2rem;display:flex}.webSessionComp .session-list .session-item .session-status .status-badge .status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.webSessionComp .session-list .session-item .session-status .status-badge.active{color:#3ad29ff2;border-color:#3ad29f73}.webSessionComp .session-list .session-item .session-status .status-badge.active .status-dot{background:#3ad29f;box-shadow:0 0 6px #3ad29fcc}@media (prefers-reduced-motion:reduce){.webSessionComp .session-chk,.webSessionComp .session-chk svg,.webSessionComp .session-list .session-item,.webSessionComp .session-pick,.webSessionComp .session-pick svg,.webSessionComp .session-retry,.webSessionComp .session-scroll .session-more,.webSessionComp .session-scroll:before,.webSessionComp .session-toolbar .session-logout-btn{transition:none}.webSessionComp .session-list .session-item:hover{transform:none}}@media (width<=850px){.webSessionComp{padding:.2rem .12rem}.webSessionComp .session-card{padding:16px}.webSessionComp .session-toolbar{flex-wrap:wrap}.webSessionComp .session-list{max-height:55vh}.webSessionComp .session-list .session-item .session-hit{flex-wrap:wrap;gap:10px}}
