@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Orbitron:wght@700;800&display=swap";.topbar{display:flex;align-items:center;height:50px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.topbar-left{display:flex;align-items:center;gap:var(--sp-xxl);flex-shrink:0}.topbar-brand{font-family:Orbitron,sans-serif;font-weight:800;color:var(--blue);font-size:22px;letter-spacing:1px}.topbar-index{color:var(--text2);font-size:14px;font-weight:700}.topbar-spacer{flex:1}.topbar-right{display:flex;align-items:center;gap:var(--sp-xl);flex-shrink:0}.topbar-user{color:var(--text2);font-size:14px;font-weight:700}.topbar-auth-btn{background:transparent;border:1px solid var(--border);color:var(--text2);padding:5px 14px;border-radius:var(--r-md);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.topbar-auth-btn:hover{background:var(--border);color:var(--text)}.topbar-notice{display:flex;align-items:center;gap:var(--sp-sm);width:220px;padding:5px 10px;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text2);cursor:pointer;font-size:13px;font-family:inherit}.topbar-notice:hover{background:var(--border);color:var(--text)}.topbar-notice-icon{flex-shrink:0}.topbar-notice-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;display:flex;justify-content:center;align-items:center;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--dur-fast) var(--ease)}.notice-modal{animation:modalIn var(--dur-slow) var(--ease);width:480px;max-height:70vh;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.notice-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;font-weight:700;flex-shrink:0}.notice-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}.notice-list{overflow-y:auto;padding:8px 20px 16px}.notice-item{padding:14px 0;border-bottom:1px solid var(--borderSoft)}.notice-item:last-child{border-bottom:none}.notice-item-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-xl);width:100%;background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.notice-item-title{color:var(--text);font-size:14px;font-weight:700}.notice-item-title-wrap{display:flex;align-items:center;gap:var(--sp-md);min-width:0}.notice-item-pin{color:var(--gold);border:1px solid var(--gold);border-radius:var(--r-sm);padding:0 5px;font-size:11px;flex-shrink:0}.notice-item-date{color:var(--faint);font-size:12px;flex-shrink:0}.notice-item-arrow{display:inline-block;color:var(--muted);margin-right:4px;transition:transform var(--dur) var(--ease)}.notice-item.open .notice-item-arrow{transform:rotate(90deg)}.notice-item-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease)}.notice-item.open .notice-item-body{grid-template-rows:1fr}.notice-item-clip{overflow:hidden}.notice-item-content{color:var(--muted);font-size:13px;line-height:1.6;margin-top:6px;white-space:pre-wrap}.app-body{display:flex;height:calc(100vh - 50px)}.sidebar{display:flex;flex-direction:column;justify-content:space-between;width:170px;padding:16px 10px 4px;background:var(--panel2);border-right:1px solid var(--borderSoft);flex-shrink:0;transition:width var(--dur-slow) var(--ease)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--sp-xs);flex:1;min-height:0;overflow-y:auto;padding:4px;margin:-4px}.side-btn{display:flex;align-items:center;gap:var(--sp-xl);padding:12px;border:none;background:transparent;color:var(--muted);border-radius:var(--r-md);cursor:pointer;font-size:15px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.side-btn:hover{background:var(--hover);color:var(--text)}.side-btn.active{background:var(--blueSolid);color:#fff}.side-icon{display:flex;align-items:center}.side-label{overflow:hidden;max-width:120px;transition:opacity var(--dur-fast) var(--ease)}.sidebar-meta{display:flex;flex-direction:column;gap:var(--sp-xxs);padding:8px 12px 6px;font-size:11px;color:var(--faint);overflow:hidden;white-space:nowrap}.sidebar-meta-title{display:flex;align-items:center;gap:var(--sp-sm)}.live-dot{width:4px;height:4px;border-radius:50%;background:var(--down);flex-shrink:0;animation:livePulse 2.2s ease-in-out infinite}.sidebar-bottom{flex-shrink:0}.sidebar-footer{display:flex;flex-direction:column;gap:var(--sp-md);padding:3px 0;border-top:1px solid var(--borderSoft)}.main{flex:1;padding:32px;background:var(--bg);min-width:0;overflow-y:auto;overflow-x:auto;overflow-wrap:anywhere;scroll-behavior:smooth}.main::-webkit-scrollbar{display:block;width:0;height:10px}.main::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb{background:#3d444d;border-radius:5px}.main::-webkit-scrollbar-thumb:hover{background:#4d545d}.main{scrollbar-width:auto}@supports not selector(::-webkit-scrollbar){.main{scrollbar-width:thin}}.page h1{font-size:24px;margin-bottom:16px}.page p{color:var(--muted);font-size:15px}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:680px;margin:0 auto;min-height:calc(100vh - 114px)}.page-center h1{font-size:30px;margin-bottom:8px}.ai-sub{font-size:17px;color:var(--text);font-weight:600;margin-bottom:12px}.ai-features{display:flex;gap:var(--sp-xxl);width:100%;margin-top:20px}.ai-card{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 16px}.ai-card-icon{display:flex;justify-content:center;margin-bottom:12px}.ai-card h2{font-size:15px;color:var(--text);font-weight:700;margin:0 0 6px}.ai-card p{font-size:12px;margin:0}.ai-flow{margin-top:30px;font-size:14px;color:var(--text2);letter-spacing:.5px}.ai-wip{margin-top:26px;color:var(--muted);font-size:13px}@keyframes chat-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes chat-shrink{0%{transform:scale(1);opacity:1}to{transform:scale(.4);opacity:0}}@keyframes chat-bubble-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.chat-panel{transform-origin:bottom right;animation:chat-pop .18s ease}.chat-panel-close{animation:chat-shrink .18s ease forwards}.chat-bubble{transform-origin:bottom right;animation:chat-bubble-in .18s ease}*::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}button:not(:disabled):not(.chat-bubble):active{transform:translateY(1px) scale(.985)}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6);transition:opacity var(--dur) var(--ease),filter var(--dur) var(--ease)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:40px;z-index:4000;pointer-events:none;max-width:calc(100vw - 32px)}.toast-body{background:var(--text);color:var(--bg);padding:10px 20px;border-radius:var(--r-lg);line-height:1.4;text-align:center;box-shadow:var(--shadow);animation:toastIn var(--dur-slow) var(--ease-back)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.94)}}.bottomnav{display:none}@media(max-width:1023px){.app{display:flex;flex-direction:column;height:100vh}.topbar{height:auto;min-height:44px;padding:6px 12px;align-items:center;gap:var(--sp-md)}.topbar-m-brand{flex-shrink:0;font-size:22px;letter-spacing:0;white-space:nowrap}.topbar-m-side{display:flex;flex-direction:column;justify-content:center;line-height:1.35;min-width:0;flex:1 1 0}.topbar-m-left{align-items:flex-start}.topbar-m-right{align-items:center;flex-direction:row;justify-content:flex-end;gap:var(--sp-sm);padding-left:0}.topbar-m-line1{font-size:9px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topbar-m-line2{font-size:9px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:600}.topbar-m-user{display:flex;align-items:center;gap:var(--sp-sm);min-width:0}.topbar-m-user>button{flex-shrink:0}.topbar-m-username{font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px;min-width:0;flex:0 1 auto}.topbar-m-user button{font-size:11px!important;padding:4px 10px!important;min-height:26px!important;min-width:44px!important}.topbar-auth-btn{width:96px;padding:1px 6px;font-size:9px;border-radius:var(--r-sm);flex-shrink:0;text-align:center}.topbar-notice{width:auto;max-width:none;flex-shrink:0;justify-content:flex-start;padding:1px 6px;gap:var(--sp-xs);font-size:9px;color:var(--text2);border:1px solid var(--border);border-radius:var(--r-sm)}.topbar-notice:hover{background:var(--border);color:var(--text)}.notice-modal{width:calc(100vw - 24px);max-height:80vh}.app-body{height:auto;flex:1;min-height:0}.sidebar{display:none}.main{padding:12px}.ai-features{flex-direction:column}.page-center{padding:0 4px}.bottomnav{display:flex;flex-shrink:0;min-height:56px;min-height:calc(56px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bottomnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-xxs);background:transparent;border:none;color:var(--muted);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:color var(--dur) var(--ease)}.bottomnav-btn.active{color:var(--blue)}.bottomnav-icon{display:flex;align-items:center;transition:transform var(--dur-slow) var(--ease-back)}.bottomnav-btn.active .bottomnav-icon{transform:translateY(-2px) scale(1.1)}.bottomnav-label{line-height:1}.toast{bottom:calc(56px + env(safe-area-inset-bottom) + var(--sp-xl))}}@media(max-width:374px){.topbar{padding:6px var(--sp-lg);gap:var(--sp-sm)}.topbar-m-brand{font-size:15px}}.sidebar.collapsed{width:64px;padding:16px 10px 4px}.sidebar.collapsed .side-label,.sidebar.collapsed .sidebar-meta{opacity:0}@media(min-width:1024px)and (max-width:1199px){.main{padding:16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-variant-numeric:tabular-nums}#root{height:100vh;overflow:hidden}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--input) inset!important;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text);transition:background-color 9999s ease-in-out 0s}.vtip{position:relative}.vtip:after{content:attr(data-tip);position:absolute;bottom:130%;left:50%;transform:translate(-50%);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 7px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .08s;z-index:20}.vtip:hover:after{opacity:1}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:focus:not(:focus-visible){outline:none}:root{--ease: cubic-bezier(.4, 0, .2, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .22s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes chartIn{0%{opacity:0}to{opacity:1}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.card-hover{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card-hover:hover{background:var(--hover)!important;border-color:#3d444d!important;transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.btn-hover{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn-hover:hover:not(:disabled){background:var(--hover)!important}.tint-hover{transition:filter var(--dur) var(--ease)}.tint-hover:hover:not(:disabled){filter:brightness(1.18)}.overlay-in{animation:fadeIn var(--dur-fast) var(--ease)}.overlay-in>*{animation:modalIn var(--dur-slow) var(--ease)}.page-enter{animation:pageIn var(--dur-slow) var(--ease)}.chart-in{animation:chartIn .45s var(--ease)}.skeleton{background:linear-gradient(90deg,var(--panel) 25%,#2a3038 50%,var(--panel) 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:var(--r-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
