:root{--ub-rail-w: 76px;--ub-bg: #ffffff;--ub-border: #e6e8ee;--ub-text: #151a24;--ub-muted: #6b7280;--ub-hover: #f3f4f7;--ub-green: #16a34a;--ub-red: #dc2626;--ub-shadow: 0 18px 48px -12px rgba(16, 24, 40, .28), 0 2px 6px rgba(16, 24, 40, .08);--ub-font: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif}body{margin:0;background:#f4f5f9}.ub-app{margin-left:var(--ub-rail-w);min-height:100vh;animation:ub-in .22s ease-out}@keyframes ub-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ub-ring{--size: 42px;position:relative;display:inline-grid;place-items:center;flex:none;width:var(--size);height:var(--size);padding:2px;border-radius:999px;background:#e5e7eb;box-sizing:border-box;transition:background .2s,transform .15s}.ub-ring.is-active{background:var(--ring)}.ub-ring>img{display:block;width:100%;height:100%;max-width:none;padding:3px;box-sizing:border-box;border:2px solid #fff;border-radius:999px;background:#fff;object-fit:contain;-webkit-user-select:none;user-select:none}.ub-ring--spin{--size: 76px;background:var(--ring);animation:ub-spin-ring 1.1s linear infinite}.ub-ring--spin>img{animation:ub-spin-ring 1.1s linear infinite reverse}@keyframes ub-spin-ring{to{transform:rotate(360deg)}}.ub-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:999px;background:#cbd2dc;border:2.5px solid #fff;box-sizing:border-box}.ub-dot.is-on{background:var(--ub-green)}.ub-rail{position:fixed;inset:0 auto 0 0;z-index:35;width:var(--ub-rail-w);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:14px 0;box-sizing:border-box;background:var(--ub-bg);border-right:1px solid var(--ub-border);font-family:var(--ub-font)}.ub-rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ub-rail__group{padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--ub-border)}.ub-sheet__label{display:block;padding:10px 12px 2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ub-muted)}.ub-sheet__child .ub-row{padding-left:22px}.ub-rail__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:var(--ub-rail-w);height:66px;padding:0;margin:0;border:0;background:none;cursor:pointer;font:inherit}.ub-rail__item:hover .ub-ring:not(.is-active){background:#c9ced8;transform:scale(1.05)}.ub-rail__item:active .ub-ring{transform:scale(.94)}.ub-rail__item:focus-visible{outline:none}.ub-rail__item:focus-visible .ub-ring{box-shadow:0 0 0 3px #42378f59}.ub-rail__label{max-width:calc(var(--ub-rail-w) - 8px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.1;font-weight:500;color:var(--ub-muted)}.ub-rail__item.is-active .ub-rail__label{color:var(--ub-text);font-weight:700}.ub-hint-pop{position:fixed;left:calc(var(--ub-rail-w) + 12px);top:18px;z-index:60;display:flex;flex-direction:column;gap:6px;width:270px;padding:14px 16px;border-radius:14px;background:#111827;color:#e5e7eb;font:13px/1.45 var(--ub-font);box-shadow:var(--ub-shadow);animation:ub-pop .2s ease-out}.ub-hint-pop:before{content:"";position:absolute;left:-6px;top:26px;width:12px;height:12px;background:#111827;transform:rotate(45deg)}.ub-hint-pop strong{color:#fff;font-size:14px}.ub-hint-pop__keys{color:#9ca3af;font-size:12px}.ub-hint-pop kbd{padding:0 4px;border-radius:4px;background:#374151;color:#fff;font:600 11px/16px var(--ub-font)}.ub-hint-pop button{align-self:flex-start;margin-top:4px;padding:6px 12px;border:0;border-radius:8px;background:#fff;color:#111827;font:600 12.5px var(--ub-font);cursor:pointer}@media(max-width:767px){.ub-hint-pop{display:none}}.ub-rail__pill{position:absolute;left:0;top:50%;width:4px;height:0;border-radius:0 4px 4px 0;background:var(--ub-text);transform:translateY(-50%);transition:height .18s ease}.ub-rail__item:hover .ub-rail__pill{height:14px}.ub-rail__item.is-active .ub-rail__pill{height:34px}.ub-tip{position:absolute;left:calc(100% - 4px);top:50%;display:flex;flex-direction:column;gap:1px;padding:7px 11px;border-radius:8px;background:#111827;color:#fff;font-size:12px;line-height:1.3;white-space:nowrap;text-align:left;pointer-events:none;opacity:0;transform:translate(-4px,-50%);transition:opacity .12s,transform .12s}.ub-tip strong{font-size:13px;font-weight:600}.ub-tip span{color:#cbd2dc}.ub-rail__item:hover .ub-tip,.ub-rail__item:focus-visible .ub-tip{opacity:1;transform:translateY(-50%)}.ub-rail__accounts,.ub-icon-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;margin:0;border:0;border-radius:12px;background:transparent;color:var(--ub-muted);cursor:pointer}.ub-rail__accounts:hover,.ub-icon-btn:hover,.ub-rail__accounts[aria-expanded=true]{background:var(--ub-hover);color:var(--ub-text)}.ub-fab{display:none}.ub-sheet-wrap{position:fixed;inset:0;z-index:1000;font-family:var(--ub-font)}.ub-sheet{position:absolute;left:calc(var(--ub-rail-w) + 10px);bottom:12px;width:340px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px 8px 12px;border-radius:16px;background:#fff;color:var(--ub-text);box-shadow:var(--ub-shadow);border:1px solid var(--ub-border);animation:ub-pop .16s ease-out}@keyframes ub-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.ub-sheet__grab{display:none}.ub-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 8px 12px}.ub-sheet__head h2{margin:0;font-size:15px;font-weight:700}.ub-sheet__list{list-style:none;margin:0;padding:0}.ub-row{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:10px 12px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ub-row:hover,.ub-row:focus-visible{background:var(--ub-hover);outline:none}.ub-row__text{display:flex;flex-direction:column;min-width:0;flex:1}.ub-row__text strong{font-size:14px;font-weight:600}.ub-row__text>span{font-size:12.5px;color:var(--ub-muted)}.ub-row__state:before{content:"·";margin:0 5px}.ub-row__state.is-on{color:var(--ub-green)}.ub-radio{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:999px;border:2px solid #cbd2dc;box-sizing:border-box;color:#fff}.ub-radio.is-on{border-color:#0095f6;background:#0095f6}.ub-sheet__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:6px;padding:10px 12px 0;border-top:1px solid var(--ub-border)}.ub-logout{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;margin:0 0 0 -8px;border:0;border-radius:8px;background:none;color:var(--ub-red);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ub-logout:hover{background:#fef2f2}.ub-hint{font-size:11.5px;color:var(--ub-muted)}.ub-hint kbd{display:inline-block;padding:0 5px;border:1px solid var(--ub-border);border-bottom-width:2px;border-radius:4px;font:600 10.5px/16px var(--ub-font);background:#f9fafb}.ub-splash,.ub-crash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;box-sizing:border-box;font-family:var(--ub-font);color:var(--ub-muted);font-size:14px;text-align:center}.ub-crash img{width:56px;height:56px;border-radius:999px}.ub-crash h2{margin:0;color:var(--ub-text);font-size:18px}.ub-crash p{margin:0;max-width:520px;word-break:break-word}.ub-crash button{padding:9px 18px;border:0;border-radius:8px;background:var(--ub-text);color:#fff;font:600 14px var(--ub-font);cursor:pointer}@media(max-width:767px){.ub-rail{display:none}.ub-app{margin-left:0}.ub-fab{position:fixed;left:14px;bottom:14px;z-index:45;display:grid;place-items:center;width:50px;height:50px;padding:0;border:0;border-radius:999px;background:#fff;box-shadow:0 6px 20px #10182838;cursor:pointer}.ub-fab:active{transform:scale(.94)}.ub-fab__badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#111827;color:#fff;border:2px solid #fff}.ub-sheet-wrap{background:#11182773;animation:ub-fade .15s ease-out}.ub-sheet{left:0;right:0;bottom:0;width:auto;max-width:none;border-radius:18px 18px 0 0;border:0;padding:6px 8px calc(16px + env(safe-area-inset-bottom));animation:ub-up .22s cubic-bezier(.2,.9,.3,1)}.ub-sheet__grab{display:block;width:38px;height:4px;margin:4px auto 2px;border-radius:999px;background:#d1d5db}.ub-sheet__head{justify-content:center;position:relative}.ub-sheet__head .ub-icon-btn{position:absolute;right:4px}.ub-hint{display:none}}@keyframes ub-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes ub-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ub-app,.ub-sheet,.ub-sheet-wrap,.ub-ring--spin,.ub-ring--spin>img{animation:none}}
