:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#182239;background:#f5f6fa;font-synthesis:none;--blue:#315efb;--muted:#7e879a;--border:#e8ebf2;--navy:#111e34;--green:#168666}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #9eb7ff;outline-offset:3px}input:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #315efb12}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}code,pre,.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:11px;font-size:27px;letter-spacing:-1px;font-weight:750}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--blue);color:#fff;font-size:26px;font-weight:800;line-height:1;box-shadow:0 5px 13px #315efb22}.brand .brand-dot{color:#7b95fa}.boot{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted);font-size:14px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;letter-spacing:2px;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:12px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:9px;padding:11px 16px;min-height:42px;font-size:13px;font-weight:600;line-height:1.4;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);color:white;box-shadow:0 4px 8px #315efb18}.btn.primary:hover{background:#244ee2}.btn.secondary{background:white;border:1px solid #dfe4ee;color:#4c5870}.btn.ghost{color:#73809a;padding:7px 10px;min-height:32px}.btn.danger{background:#fff0f0;color:#c84e53}.btn.full{width:100%}.btn svg{width:17px;height:17px}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.text-button{color:var(--blue);font-size:12px;padding:7px}.text-button.danger-text{color:#c95b60}.pill{display:inline-flex;align-items:center;gap:6px;background:#edf7f3;color:var(--green);border:1px solid #dceee6;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:550;white-space:nowrap}.pill.blue{background:#eef2ff;color:#4b69cb;border-color:#e1e7ff}.pill.grey{background:#f2f3f6;border-color:#e9eaf0;color:#838b9c}.pill.red{background:#fff0f0;border-color:#f7dede;color:#bd5358}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block}.auth-layout{min-height:100vh;display:grid;grid-template-columns:48% 52%;background:#fff}.auth-story{background:#111e34;position:relative;overflow:hidden;color:#fff;padding:54px 10.4% 38px;display:flex;flex-direction:column;min-height:100vh}.auth-story:before{content:"";position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,#26447945,transparent 65%);top:17%;left:1%;pointer-events:none}.auth-story .brand{position:relative}.story-content{position:relative;margin:auto 0;padding:65px 0 36px}.story-content .eyebrow{color:#9aaee1;letter-spacing:2.8px;margin-bottom:24px}.story-content h1{font-size:clamp(29px,3vw,44px);font-weight:580;line-height:1.6;letter-spacing:1px}.story-content h1 span{color:#9cb8ff}.story-desc{font-size:14px;color:#9aa8c1;line-height:1.9;margin-top:19px;max-width:340px}.connection-art{height:225px;position:relative;margin:34px 0 6px;max-width:390px}.art-line{position:absolute;left:20%;right:20%;height:1px;background:linear-gradient(90deg,#3f557e,#728cc950,#3f557e);top:50%}.art-line.top{transform:rotate(-24deg);transform-origin:left}.art-line.bottom{transform:rotate(24deg);transform-origin:left}.art-core{position:absolute;left:0;top:calc(50% - 34px);width:68px;height:68px;border-radius:19px;border:1px solid #5e79b064;background:#1c3052;display:grid;place-items:center;box-shadow:0 0 0 11px #293d5e35,0 0 0 25px #293d5e14}.art-core svg{width:30px;height:30px;color:#b6caff}.art-node{position:absolute;right:0;display:flex;align-items:center;gap:12px;border:1px solid #3a4e7080;border-radius:11px;background:#1a2b46;min-width:155px;padding:12px 15px;font-size:12px;color:#c1ccdd}.art-node:first-of-type{top:0}.art-node.n1{top:5px}.art-node.n2{top:84px}.art-node.n3{top:163px}.art-node svg{width:18px;height:18px;color:#8faeff}.art-node .status-dot{margin-left:auto;color:#5bc9a6}.story-features{display:flex;gap:20px;font-size:11px;color:#9aaac1;flex-wrap:wrap}.story-features span{display:flex;align-items:center;gap:6px}.story-features svg{width:14px;height:14px;color:#7f9de0}.story-footer{position:relative;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#71839e;letter-spacing:.5px;gap:10px}.auth-main{display:flex;flex-direction:column;padding:35px 12% 24px;min-width:0}.auth-top{display:flex;justify-content:flex-end;align-items:center;gap:7px;font-size:11px;color:#8f97a7}.auth-top .status-dot{color:#35a881}.auth-form-wrap{width:100%;max-width:372px;margin:auto; padding:55px 0}.auth-form-wrap h2{font-size:28px;font-weight:650;letter-spacing:-.8px;margin-bottom:10px}.auth-subtitle{font-size:13px;line-height:1.7;color:#8a93a4;margin-bottom:29px}.auth-tabs{display:flex;background:#f5f6fa;border:1px solid #eff0f5;padding:4px;border-radius:10px;margin-bottom:26px}.auth-tab{flex:1;border-radius:7px;padding:10px;font-size:13px;color:#8991a1}.auth-tab.active{color:#243252;background:#fff;font-weight:600;box-shadow:0 1px 5px #152b5010}.field{display:block;margin-bottom:19px}.field-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;color:#4b566d;margin-bottom:9px}.field input,.field textarea{width:100%;border:1px solid #e1e5ed;border-radius:9px;background:#fff;padding:13px 14px;min-height:45px;font-size:13px;color:#28364e;transition:border .15s,box-shadow .15s}.field textarea{resize:vertical;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#adb4c1}.field-hint{display:block;color:#969eac;font-size:11px;line-height:1.7;margin-top:7px}.input-wrap{position:relative}.input-wrap input{padding-right:43px}.input-icon{position:absolute;right:9px;top:10px;padding:4px;color:#9aa4b7}.input-icon svg{width:17px;height:17px}.auth-form .btn.primary{margin-top:5px;min-height:46px}.form-error{color:#bf4f54;background:#fff3f3;border-radius:7px;font-size:12px;line-height:1.6;padding:10px 12px;margin-bottom:15px}.auth-note{margin-top:23px;padding-top:21px;border-top:1px solid #eceef4;display:flex;gap:9px;color:#929bad;font-size:11px;line-height:1.8}.auth-note svg{color:#8a9ec6;width:16px;height:16px;margin-top:2px}.auth-bottom{text-align:center;color:#a0a7b3;font-size:10px;letter-spacing:.8px}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:31px 19px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:224px;z-index:20}.sidebar .brand{padding:0 10px;font-size:26px}.sidebar .brand-mark{width:33px;height:33px;font-size:23px;border-radius:10px}.workspace-tag{margin:31px 5px 25px;border:1px solid var(--border);border-radius:9px;padding:12px 10px;display:flex;align-items:center;gap:9px}.workspace-tag .avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eff2fc;color:#667eb7;font-size:12px;font-weight:650}.workspace-tag strong{font-size:11px;display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis}.workspace-tag small{font-size:10px;color:#a0a6b2;display:block;margin-top:3px}.nav-label{font-size:9px;color:#a0a8b8;letter-spacing:1.7px;padding:0 13px;margin-bottom:11px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:11px;padding:12px 13px;color:#7c869b;font-size:12px;text-align:left;border-radius:8px;position:relative}.nav button:hover{background:#f8f9fd}.nav button.active{background:#edf2ff;color:#315efb;font-weight:600}.nav button.active:after{content:"";position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:var(--blue)}.nav svg{width:18px;height:18px}.sidebar-help{margin-top:auto;padding:22px 10px 20px}.help-box{border-radius:9px;background:#f7f8fc;padding:14px 12px;color:#929bad;font-size:10px;line-height:1.8}.help-box strong{display:block;color:#66728a;font-size:11px;margin-bottom:4px}.sidebar-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding:18px 8px 0}.user-circle{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eeeafa;color:#8b79b0;font-size:12px;font-weight:600}.sidebar-footer .user-name{font-size:11px;font-weight:550;max-width:110px;overflow:hidden;text-overflow:ellipsis}.sidebar-footer small{display:block;color:#a2a9b8;font-size:9px;margin-top:4px}.sidebar-footer button{margin-left:auto;color:#9ba3b3;padding:5px}.sidebar-footer svg{width:16px;height:16px}.main-area{grid-column:2;min-width:0}.topbar{height:76px;background:#ffffffc9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 39px;gap:15px}.breadcrumbs{color:#9ba3b1;font-size:11px;display:flex;align-items:center;gap:12px}.breadcrumbs strong{color:#67728a;font-weight:500}.topbar-right{display:flex;align-items:center;gap:16px}.domain-label{font-size:10px;color:#929bad;letter-spacing:.3px}.topbar .pill{font-size:10px;padding:5px 8px}.mobile-brand{display:none}.content{max-width:1330px;padding:36px 39px 28px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.page-heading h1{font-size:25px;letter-spacing:-.6px;font-weight:650;margin-bottom:8px}.page-heading p{font-size:12px;color:#949cad;line-height:1.8}.page-heading .btn{font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:21px 21px 19px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#8791a4;font-size:11px}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f2f5ff;color:#829ae4}.stat-icon svg{width:16px;height:16px}.stat-card:nth-child(2) .stat-icon{background:#f0f7f4;color:#79ad97}.stat-card:nth-child(3) .stat-icon{background:#f5f1fd;color:#a38ac9}.stat-card:nth-child(4) .stat-icon{background:#fff6ed;color:#c8a075}.stat-value{font-size:29px;font-weight:600;letter-spacing:-1px;margin-top:16px}.stat-note{font-size:10px;color:#a0a8b6;margin-top:8px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:23px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 24px;border-bottom:1px solid #f0f1f6}.panel-heading h2{font-size:13px;font-weight:600;display:flex;align-items:center;gap:9px}.panel-heading h2 svg{width:17px;height:17px;color:#7488bb}.panel-heading p{color:#9ba3b1;font-size:10px;margin-top:7px;line-height:1.7}.panel-heading .text-button{font-size:10px}.panel-body{padding:24px}.quickstart-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}.step-label{font-size:11px;display:flex;align-items:center;gap:9px;font-weight:550;color:#6f7b93;margin-bottom:12px}.step-label span{background:#edf2ff;color:#7890cf;width:19px;height:19px;border-radius:50%;font-size:10px;display:grid;place-items:center}.copy-box{display:flex;align-items:center;justify-content:space-between;background:#f8f9fc;border:1px solid #e9edf4;border-radius:8px;gap:10px;padding:11px 12px;min-height:44px}.copy-box code{font-size:11px;overflow-wrap:anywhere;color:#506183;line-height:1.8}.copy-box button{color:#8b9abd;display:flex;padding:4px;flex-shrink:0}.copy-box svg{width:15px;height:15px}.step-note{font-size:10px;color:#a0a8b6;line-height:1.8;margin-top:9px}.quickstart-bottom{display:flex;align-items:center;gap:8px;font-size:10px;color:#8b9ab1;background:#fafbfe;border-top:1px solid #edf0f5;padding:14px 24px;line-height:1.7}.quickstart-bottom svg{width:14px;height:14px;color:#8098c9}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px}.dashboard-columns .panel{height:100%}.empty-state{min-height:230px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{height:48px;width:48px;border-radius:14px;background:#f5f7fd;color:#9badd4;display:grid;place-items:center;margin-bottom:16px}.empty-icon svg{height:23px;width:23px}.empty-state h3{font-size:12px;font-weight:550;color:#6f7b94;margin-bottom:8px}.empty-state p{font-size:10px;color:#a2a9b8;line-height:1.9;max-width:330px;margin-bottom:17px}.empty-state .btn{font-size:11px;padding:8px 12px;min-height:34px}.ready-list{padding:8px 23px 21px}.ready-item{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid #f0f2f6}.ready-item:last-child{border-bottom:0}.ready-item>svg{width:17px;height:17px;color:#8397c5;margin-top:2px}.ready-item strong{font-size:11px;font-weight:550;display:block;color:#69778f}.ready-item p{font-size:10px;color:#a0a8b6;margin-top:6px;line-height:1.8}.page-footer{display:flex;justify-content:space-between;align-items:center;color:#a6adba;font-size:9px;margin-top:28px;gap:10px}.page-footer span{display:flex;align-items:center;gap:5px}.page-footer svg{width:11px;height:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{color:#9ca5b6;font-size:10px;font-weight:500;background:#fafbfe;padding:13px 23px;border-bottom:1px solid #edf0f5}td{padding:17px 23px;font-size:11px;color:#71809a;border-bottom:1px solid #f0f2f7}tr:last-child td{border-bottom:0}td strong{font-weight:550;color:#4f5d76}td .mono{font-size:10px}td .pill{font-size:9px;padding:4px 7px}.table-actions{display:flex;align-items:center;gap:2px}.table-actions .text-button{font-size:10px}.info-banner{display:flex;gap:12px;background:#eef3ff;border:1px solid #e0e8fd;color:#7183ab;border-radius:9px;padding:16px 18px;margin-bottom:23px;font-size:11px;line-height:1.9}.info-banner svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.info-banner strong{font-weight:600;color:#5570ac}.code-block{position:relative;border:1px solid #e7ebf3;border-radius:9px;background:#f8f9fc;margin-top:13px;overflow:hidden}.code-label{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e7ebf3;color:#9aa4b7;font-size:10px}.code-label button{display:flex;color:#8b9abd;padding:2px}.code-label svg{width:14px;height:14px}.code-block pre{margin:0;padding:18px;font-size:11px;line-height:1.9;overflow-x:auto;color:#546480}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.prose{font-size:12px;line-height:2;color:#8490a5}.prose h3{font-size:13px;color:#586a88;margin:20px 0 8px}.prose h3:first-child{margin-top:0}.prose ol{padding-left:20px}.prose code{font-size:11px;color:#6481bc}.settings-form{max-width:400px}.settings-form .field{margin-bottom:23px}.loading-state{padding:60px;text-align:center;font-size:12px;color:#9ba5b6}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #315efb30;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}.btn .spinner{border-color:#ffffff55;border-top-color:white}@keyframes spin{to{transform:rotate(360deg)}}dialog{padding:0;border:1px solid #e5e9f1;border-radius:16px;max-width:540px;width:calc(100% - 32px);box-shadow:0 24px 80px #14274830;color:#263552}dialog::backdrop{background:#13223c66;backdrop-filter:blur(3px)}.modal-header{padding:24px 26px 19px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eef0f5}.modal-header h2{font-size:17px;font-weight:600}.modal-header p{font-size:11px;color:#96a0b2;margin-top:8px;line-height:1.8}.modal-close{color:#9ba5b6;padding:2px}.modal-close svg{width:18px;height:18px}.modal-content{padding:24px 26px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:23px}.modal-content .info-banner{font-size:11px;margin-bottom:21px}.modal-content .copy-box{margin:14px 0}.reveal-key{padding:15px!important;border-color:#d5defc;background:#f3f6ff}.reveal-key code{font-size:12px;color:#4565b0}.oauth-steps{display:flex;flex-direction:column;gap:19px}.oauth-step{display:flex;gap:11px}.oauth-num{display:grid;place-items:center;width:23px;height:23px;background:#eef3ff;border-radius:50%;font-size:10px;color:#6b86cb;flex-shrink:0}.oauth-step h3{font-size:12px;font-weight:550;color:#5b6a83;margin:2px 0 7px}.oauth-step p{font-size:11px;color:#9aa4b5;line-height:1.8}.oauth-step .btn{margin-top:11px;font-size:11px}.oauth-step .field{margin-top:11px;margin-bottom:0}.oauth-status{font-size:11px;color:#8b99b0;display:flex;align-items:center;gap:8px;margin-top:18px}.file-drop{border:1px dashed #ccd6eb;border-radius:9px;padding:23px;text-align:center;background:#fafbff;margin-bottom:18px}.file-drop input{max-width:100%;font-size:12px;color:#8998b4}.file-drop p{font-size:11px;color:#9aa5b8;margin-bottom:12px}#toasts{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:9px;z-index:100;max-width:calc(100% - 32px);width:max-content}.toast{padding:12px 19px;border:1px solid #dfe8e3;background:#fff;border-radius:9px;box-shadow:0 6px 30px #17284418;color:#4d6b61;font-size:12px;line-height:1.8}.toast.error{color:#a6575e;border-color:#f0dce0}.mobile-menu{display:none}
@media(min-width:1500px){.auth-main{padding-left:16%;padding-right:16%}.auth-story{padding-left:13%;padding-right:13%}}
@media(max-width:1100px){.content{padding:30px 25px}.topbar{padding:0 25px}.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding-left:13px;padding-right:13px}.stats-grid{gap:10px}.stat-card{padding:16px 14px}.dashboard-columns{grid-template-columns:1.2fr 1fr;gap:16px}.domain-label{display:none}.auth-story{padding-left:10%;padding-right:9%}.auth-main{padding-left:11%;padding-right:11%}.story-features{gap:12px}.connection-art{height:210px}.art-node{min-width:137px;padding:11px 12px}.story-content h1{font-size:31px}}
@media(max-width:800px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:auto;padding:27px 28px}.auth-story .brand{font-size:24px}.story-content{padding:28px 0 9px}.story-content .eyebrow{font-size:9px;margin-bottom:13px}.story-content h1{font-size:26px;line-height:1.5}.story-content h1 br{display:none}.story-desc{font-size:12px;max-width:none;margin-top:13px}.connection-art,.story-features,.story-footer{display:none}.auth-main{padding:23px 28px 25px}.auth-top{display:none}.auth-form-wrap{padding:28px 0 40px;max-width:410px}.auth-form-wrap h2{font-size:25px}.auth-subtitle{margin-bottom:23px}.auth-bottom{font-size:9px}.shell{grid-template-columns:1fr}.main-area{grid-column:1}.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #14274815;width:224px}.sidebar.open{transform:translateX(0)}.mobile-menu{display:flex;color:#7a8aa7;padding:4px}.mobile-menu svg{width:21px;height:21px}.topbar{height:64px;padding:0 21px}.breadcrumbs{gap:9px}.mobile-brand{display:inline;font-size:19px;color:#24334e;font-weight:700;letter-spacing:-.8px}.breadcrumbs>span,.breadcrumbs>strong{display:none}.topbar-right{gap:10px}.content{padding:26px 20px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.page-heading .btn{font-size:10px;min-height:36px;padding:9px 12px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:18px}.stat-value{font-size:27px;margin-top:13px}.dashboard-columns,.doc-grid{grid-template-columns:1fr}.quickstart-grid{grid-template-columns:1fr;gap:24px}.panel-heading{padding:19px 20px}.panel-body{padding:21px 20px}.quickstart-bottom{padding:13px 20px}.empty-state{min-height:225px}.page-footer{font-size:8px;line-height:1.8}.page-footer span:last-child{display:none}.modal-header{padding:21px}.modal-content{padding:21px}th,td{padding-left:18px;padding-right:18px}.table-scroll{max-width:100%}.sidebar-help{padding-top:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
