html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root,html[data-theme=light]{--bb-bg: #f5f7fb;--bb-surface: #ffffff;--bb-surface-2: #f7f9fc;--bb-border: #e9edf3;--bb-text: rgba(0, 0, 0, .88);--bb-text-2: #6b7280;--bb-primary: #1677ff;--bb-primary-soft: #e6f0ff;--bb-hero-from: #1677ff;--bb-hero-to: #0a2540;--bb-hero-text: #ffffff;--bb-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--bb-nav-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 -8px 24px rgba(0, 0, 0, .05);--bb-gutter: #eaeef5}html[data-theme=dark]{--bb-bg: #0f1216;--bb-surface: #1a1f26;--bb-surface-2: #20262e;--bb-border: #2a323c;--bb-text: rgba(255, 255, 255, .9);--bb-text-2: #97a1ad;--bb-primary: #3c9aff;--bb-primary-soft: #13233b;--bb-hero-from: #10345f;--bb-hero-to: #061a2e;--bb-hero-text: rgba(255, 255, 255, .94);--bb-shadow: 0 1px 2px rgba(0, 0, 0, .4);--bb-nav-shadow: 0 -1px 0 rgba(0, 0, 0, .3), 0 -8px 24px rgba(0, 0, 0, .35);--bb-gutter: #060809}:root{--nav-h: 62px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bb-bg);color:var(--bb-text);-webkit-tap-highlight-color:transparent;transition:background .2s ease}.mobile-shell{max-width:520px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bb-bg);padding-top:env(safe-area-inset-top)}.app-header{flex-shrink:0;background:var(--bb-surface);border-bottom:1px solid var(--bb-border);padding:8px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:56px}.app-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 96px}.sticky-tools{position:sticky;top:0;z-index:10;background:var(--bb-bg);margin:-12px -12px 8px;padding:10px 12px 8px}.bottom-nav{flex-shrink:0;background:var(--bb-surface);border-top:1px solid var(--bb-border);box-shadow:var(--bb-nav-shadow);display:flex;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:50}.bottom-nav button{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:500;color:var(--bb-text-2);padding:6px 12px;min-width:56px;min-height:48px;border-radius:12px;cursor:pointer;transition:color .15s,background .15s}.bottom-nav button .anticon{font-size:21px}.bottom-nav button.active{color:var(--bb-primary);background:var(--bb-primary-soft)}.bottom-nav button:active{transform:scale(.96)}.login-bg{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(160deg,var(--bb-hero-from) 0%,var(--bb-hero-to) 100%)}.login-hero{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:22px 16px calc(22px + env(safe-area-inset-bottom));position:relative;overflow:hidden;background:linear-gradient(180deg,#06102080,#050b18d1),url(/login-hero.jpg) center / cover no-repeat;background-color:#070f20}.login-hero:before{content:"";position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;background:radial-gradient(closest-side,rgba(60,154,255,.22),transparent 70%);animation:bb-sheen 14s ease-in-out infinite alternate;pointer-events:none}@keyframes bb-sheen{0%{transform:translate(-12%,-10%) scale(1);opacity:.6}to{transform:translate(12%,12%) scale(1.18);opacity:1}}.login-glass{width:100%;max-width:420px;border-radius:24px;padding:30px 24px 28px;position:relative;z-index:1;background:#1018288c;border:1px solid rgba(255,255,255,.14);box-shadow:0 26px 64px #00000080,inset 0 1px #ffffff14;backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);animation:bb-rise .6s cubic-bezier(.2,.7,.2,1) both;--bb-primary: #3c9aff;--bb-primary-soft: rgba(60, 154, 255, .18)}@keyframes bb-rise{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}.login-stagger{display:flex;flex-direction:column;gap:18px}.login-stagger>*{animation:bb-rise .5s ease both}.login-stagger>*:nth-child(1){animation-delay:.05s}.login-stagger>*:nth-child(2){animation-delay:.12s}.login-stagger>*:nth-child(3){animation-delay:.19s}.login-stagger>*:nth-child(4){animation-delay:.26s}.login-stagger>*:nth-child(5){animation-delay:.33s}.login-logo{width:66px;height:66px;border-radius:19px;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,#1677ff,#0a2540);box-shadow:0 12px 34px #1677ff80;animation:bb-float 4s ease-in-out infinite}@keyframes bb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.login-hero:before,.login-logo,.login-glass,.login-stagger>*{animation:none}}.bottom-nav button:focus-visible,.mobile-shell a:focus-visible,.mobile-shell [role=button]:focus-visible,.tappable:focus-visible{outline:2px solid var(--bb-primary);outline-offset:2px}.tappable{cursor:pointer;transition:background .15s}@keyframes bb-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-content .ant-list-item,.app-content .ant-card{animation:bb-fade-up .18s ease both}@media (min-width: 560px){body{background:var(--bb-gutter)}.mobile-shell{height:calc(100dvh - 32px);margin-top:16px;margin-bottom:16px;border-radius:18px;box-shadow:0 0 0 1px #0000000d,0 18px 50px #0000001f}}
