:root{font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;color:#272638;background:#fcfbff;font-synthesis:none;--purple: #714ce6;--purple-dark: #5b37ca;--muted: #747385;--border: #eceaf2}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,input,textarea,select{outline:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b9a5ff;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#aa91f2;box-shadow:0 0 0 3px #f1ecff}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{flex-shrink:0;vertical-align:middle}button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:0;background:none;color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;padding:0 max(32px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:64px;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;letter-spacing:-.8px;flex-shrink:0}.brand strong{font-size:24px;font-weight:700}.brand strong span{color:var(--purple)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;border-radius:11px;background:linear-gradient(150deg,#9765f3,#6840d7);box-shadow:0 4px 10px #714ce627}.topnav{display:flex;gap:32px;align-self:stretch}.topnav button{position:relative;padding:0;color:#696775;font-weight:500;white-space:nowrap}.topnav button.active{color:var(--purple)}.topnav button.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);height:3px;width:28px;background:var(--purple);border-radius:3px 3px 0 0}.account{margin-left:auto;display:flex;align-items:center;gap:9px;white-space:nowrap}.private-label{color:#878391;display:flex;align-items:center;gap:6px;font-size:13px;margin-right:12px}.avatar,.user-avatar{color:var(--purple);background:#efe9ff;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-weight:600}.user-avatar{height:43px;width:43px;font-size:17px;flex-shrink:0}.account-name{font-size:13px;max-width:100px;text-overflow:ellipsis;overflow:hidden}.button{border-radius:9px;padding:11px 18px;line-height:1.5;font-weight:500;transition:.18s ease;white-space:nowrap;min-height:42px}.button.primary{background:var(--purple);color:#fff;box-shadow:0 3px 6px #714ce617}.button.primary:hover:not(:disabled){background:var(--purple-dark);transform:translateY(-1px)}.button.secondary{background:#fff;border:1px solid #e3dfed;color:#514b63}.button.secondary:hover:not(:disabled){border-color:#bcaaed;background:#faf8ff}.button.small{min-height:34px;padding:7px 12px;font-size:13px}.button.full{width:100%}.icon-button{width:30px;height:30px;border-radius:7px;color:#8b8799;padding:4px}.icon-button:hover{color:var(--purple);background:#f2edff}.text-button{padding:4px 0;color:var(--purple);font-size:14px}.text-button:hover{color:var(--purple-dark)}.text-button.small{font-size:13px}.danger{color:#bc495d}.workspace{flex:1;width:100%}.workspace>main{max-width:1280px;margin:auto;padding:36px 32px 45px}.hero{background:linear-gradient(110deg,#f3eeff,#f7f4ff 55%,#eeecff);border:1px solid #ece4fd;border-radius:20px;padding:48px 52px;position:relative;overflow:hidden;min-height:352px;display:flex;align-items:center}.hero-content{position:relative;z-index:2}.hero-label{display:flex;gap:8px;align-items:center;letter-spacing:1.2px;color:#8269b3;font-size:11px;font-weight:600;margin-bottom:20px}.live-dot{height:6px;width:6px;border-radius:50%;background:#9869ef;box-shadow:0 0 0 4px #a278ea15}.hero h1{font-size:38px;line-height:1.45;font-weight:700;letter-spacing:-1px;color:#30233f;margin-bottom:16px}.hero h1 span{color:var(--purple)}.hero p{font-size:14px;line-height:1.95;color:#777085}.hero-tags{display:flex;gap:20px;margin-top:24px}.hero-tags span{display:flex;align-items:center;gap:6px;font-size:12px;color:#80738f}.hero-art{position:absolute;width:340px;height:295px;right:70px;top:33px}.orbit{position:absolute;border:1px solid #cfc0ec60;border-radius:50%;width:266px;height:266px;top:14px;left:38px}.orbit-two{width:326px;height:326px;top:-16px;left:8px;border-style:dashed;border-color:#daceed55}.art-center{position:absolute;left:112px;top:90px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;width:112px;height:112px;color:#fff;background:linear-gradient(140deg,#b791fd,#7750e8);border:5px solid #f3edff;border-radius:28px;box-shadow:0 18px 30px #8967d638,inset 0 0 0 1px #ffffff70;transform:rotate(-9deg)}.art-center span{font-size:11px;letter-spacing:2px;font-weight:700}.art-tile{position:absolute;width:88px;height:87px;border-radius:17px;border:1px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ffffffcb;box-shadow:0 10px 25px #a399bf17;font-size:11px}.tile-a{left:21px;top:29px;color:#788dd0;transform:rotate(-7deg)}.tile-b{right:-6px;top:63px;color:#af87cf;transform:rotate(10deg)}.tile-c{bottom:12px;left:41px;color:#6faaa2;transform:rotate(5deg)}.art-dot{position:absolute;border-radius:50%}.dot-one{width:9px;height:9px;background:#ae8ef1;right:41px;bottom:31px}.dot-two{width:6px;height:6px;background:#c7b8e7;top:4px;left:186px}.catalog-content{margin-top:38px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.section-title h2{font-size:21px;display:flex;align-items:center;gap:10px}.section-title p{color:var(--muted);margin-top:5px;font-size:13px}.count{font-size:12px;min-width:25px;padding:1px 7px;border-radius:6px;background:#f0ebfa;color:#8c79ae;font-weight:500}.filter-bar{display:flex;gap:15px;align-items:stretch}.search-box{display:flex;align-items:center;gap:11px;border:1px solid #e9e5ef;border-radius:10px;background:#fff;padding:10px 15px;flex:1;color:#9994a7;height:48px}.search-box:focus-within{border-color:#b7a2f3;box-shadow:0 0 0 3px #f5f1ff}.search-box input{border:0;min-width:0;flex:1;background:none;box-shadow:none;padding:0;width:100%;color:#373244}input::placeholder,textarea::placeholder{color:#9994a4}.search-box kbd{border:1px solid #e9e5f0;border-radius:4px;font:12px monospace;width:20px;height:21px;text-align:center;color:#aaa5b8;background:#fbfafd}.sort-select{border:1px solid #e9e5ef;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;color:#82798f}.sort-select select{border:0;box-shadow:none;background:#fff;color:#60596e;cursor:pointer;min-width:90px;font-size:13px}.categories{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}.categories button{color:#81798d;font-size:13px;padding:6px 15px;border-radius:8px;border:1px solid transparent}.categories button.active{background:#f0e9ff;color:var(--purple);font-weight:600}.categories button:hover{color:var(--purple);background:#f6f1ff}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.skill-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column;min-height:280px;transition:.2s ease}.skill-card:hover{transform:translateY(-3px);border-color:#d7c9f3;box-shadow:0 8px 25px #77638d0b}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.skill-icon{width:47px;height:47px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.color-0{color:#9271cf;background:#f1eafb}.color-1{color:#5d95c4;background:#eaf3fc}.color-2{color:#c5925e;background:#fcf2e6}.color-3{color:#60a291;background:#e8f5f0}.color-4{color:#c57c98;background:#fbeef3}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.6}.badge.green{color:#5b9a7d;background:#eef7f2}.badge.neutral{color:#8c8399;background:#f5f3f8}.badge.purple{color:#9476c2;background:#f1eafb}.card-title{justify-content:flex-start;padding:0;text-align:left}.card-title h3{font-size:16px;line-height:1.6;color:#383141;font-weight:600}.card-title:hover h3{color:var(--purple)}.skill-category{font-size:12px;color:#9b91a7;margin-top:3px}.card-description{color:#7e768a;font-size:13px;line-height:1.85;margin-top:13px;min-height:49px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;margin:13px 0 16px}.card-tags span{font-size:11px;color:#93899f;background:#faf8fc;border-radius:4px;padding:2px 6px}.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f3f0f7;padding-top:14px;margin-top:auto}.version{display:flex;align-items:center;gap:5px;font-size:12px;color:#a19aaa}.install-button{color:var(--purple);font-size:12px;background:#f5f0ff;padding:6px 10px;border-radius:6px}.install-button:hover{background:#eee5ff}.catalog-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#a39aac;font-size:12px;margin-top:33px}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:240px;gap:12px;color:#9a8dad;padding:40px 22px;text-align:center}.empty-state h3{color:#695b7c;font-size:17px;font-weight:500}.empty-state p{color:#9a8ca8;font-size:13px;margin-bottom:7px}.empty-icon{background:#f2ecfb;display:grid;place-items:center;width:70px;height:70px;border-radius:22px;margin-bottom:5px}.site-footer{display:flex;align-items:center;gap:25px;padding:24px max(32px,calc((100vw - 1216px)/2));border-top:1px solid var(--border);color:#aaa0b5;font-size:12px;background:#fff}.footer-brand{display:flex;align-items:center;gap:6px;font-size:14px;color:#8d7aa6;font-weight:600}.footer-right{margin-left:auto}.footer-right span{margin:0 8px}.admin-layout{display:flex;max-width:1440px;margin:auto}.sidebar{width:222px;flex-shrink:0;padding:39px 22px;border-right:1px solid var(--border)}.eyebrow{color:#aaa0b7;font-size:11px;letter-spacing:1px;margin-bottom:9px}.sidebar h3{font-size:15px;margin-bottom:27px;color:#695c7c}.sidebar>button{width:100%;justify-content:flex-start;padding:12px;gap:10px;margin:4px 0;border-radius:8px;color:#796b83}.sidebar>button.active{color:var(--purple);background:#f0e9fc}.sidebar-note{border:1px solid #ede6f5;border-radius:12px;padding:16px;margin-top:120px;color:#a190b5;font-size:12px}.sidebar-note strong{display:block;margin:9px 0 5px;font-size:12px;font-weight:500;color:#8e79a6}.workspace>main.admin-main{padding:36px 40px;margin:0;min-width:0;flex:1}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.admin-heading h1{font-size:26px;margin-bottom:6px;letter-spacing:-.5px}.muted{color:var(--muted);font-size:13px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.stat-row>div{padding:18px 22px;border:1px solid var(--border);border-radius:12px;background:#fff}.stat-row span{color:#9a8bab;font-size:13px;display:block}.stat-row strong{color:#5d486f;font-size:26px;display:block;margin-top:4px;font-weight:600}.management-search{max-width:500px;margin-bottom:22px}.managed-list{display:flex;flex-direction:column;gap:11px}.managed-row{padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:16px}.row-main{flex:1;min-width:0}.row-main h3{font-size:14px;font-weight:500;display:flex;align-items:center;gap:9px;word-break:break-word}.row-main p{color:#81708e;font-size:13px;margin-top:4px;word-break:break-all}.row-main p span{margin:0 5px}.manual-install{margin-top:14px}.manual-install summary{cursor:pointer;color:var(--muted);font-size:13px;padding:4px 0}.manual-install[open] summary{margin-bottom:4px}.seg{display:inline-flex;padding:2px;gap:2px;background:#f5f3f8;border:1px solid var(--border);border-radius:8px;flex-shrink:0}.seg button{min-height:28px;padding:3px 11px;font-size:13px;border-radius:6px;color:#8c8399;white-space:nowrap;transition:background .15s,color .15s}.seg button:hover:not(:disabled):not(.active){color:#5d5470}.seg button.active{background:#fff;color:var(--purple-dark);font-weight:500;box-shadow:0 1px 4px #7951852d}.seg button.publish.active{color:#5b9a7d}.row-date{color:#aca0b8;font-size:12px;white-space:nowrap}.panel{border:1px solid var(--border);border-radius:14px;background:#fff;padding:28px}.settings-panel{max-width:680px}.panel-title{display:flex;align-items:center;gap:13px;margin-bottom:22px}.panel-title h3{font-size:15px;font-weight:600}.panel-title p{font-size:12px;margin-top:3px;color:#9687a6}.panel-title>.badge{margin-left:auto}.audit-list{background:#fff;border:1px solid var(--border);border-radius:14px}.audit-list article{display:flex;align-items:center;gap:17px;padding:19px 24px;border-bottom:1px solid #f4eff8}.audit-list article:last-child{border:0}.audit-dot{width:8px;height:8px;border-radius:50%;background:#b49acc;box-shadow:0 0 0 5px #f7f1fb}.audit-list h3{font-size:13px;display:flex;align-items:center;gap:9px}.audit-list p{font-size:12px;color:#a08cab;margin-top:3px}.audit-list time{margin-left:auto;color:#a796b1;font-size:12px;white-space:nowrap}dialog{border:1px solid #e8e0f0;border-radius:17px;padding:0;width:min(480px,calc(100vw - 32px));max-height:88vh;color:#46374f;box-shadow:0 20px 90px #3d20573d}dialog.wide{width:min(720px,calc(100vw - 32px))}dialog::backdrop{background:#21162c66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 27px 16px;border-bottom:1px solid #f1eaf8}.modal-head h2{font-size:18px;font-weight:600}.modal-body{padding:24px 27px}.modal-intro{margin-bottom:22px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;color:#796187;margin-bottom:20px}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #e6ddec;border-radius:8px;color:#56405f;background:#fff;min-height:42px;line-height:1.6}.field textarea{resize:vertical}.field small,.help-text{font-size:13px;color:#887291;font-weight:400}.field input:disabled{background:#f9f5fb;color:#a493ac}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.help-text{margin:14px 0 0;display:block}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px;color:#9b81a8;font-size:12px}code{font-family:Consolas,monospace;font-size:12px}.detail-description{white-space:pre-wrap;line-height:1.9;color:#7a6589;font-size:14px;margin-bottom:24px;overflow-wrap:anywhere;max-height:280px;overflow-y:auto}.subheading{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;margin:25px 0 10px}.step-label{font-size:12px;color:#9a80a7;margin-top:14px;margin-bottom:7px}.command{display:flex;align-items:center;gap:14px;padding:13px;background:#f8f3fb;border:1px solid #eee4f6;border-radius:8px}.command code{color:#806595;white-space:pre-wrap;overflow-wrap:anywhere;flex:1}.notice{display:flex;gap:10px;background:#f8f4fd;color:#856698;padding:13px 15px;border-radius:8px;font-size:13px;margin:19px 0;border:1px solid #f0e7f9;align-items:flex-start}.notice.warning{color:#927747;background:#fcf8ed;border-color:#f6efd9}.notice svg{margin-top:2px}.permission-empty{padding:25px;background:#f7f2fb;text-align:center;border-radius:12px;color:#b49bc2}.permission-empty h3{font-size:15px;margin:10px 0 6px;color:#8c719f}.permission-empty p{font-size:13px}.upload-zone{border:1.5px dashed #cfb9e7;border-radius:12px;padding:31px 20px;display:flex;flex-direction:column;align-items:center;gap:9px;color:#b594cb;background:#fcf9ff;margin-bottom:24px;cursor:pointer}.upload-zone strong{font-size:14px;color:#9b76b5;overflow-wrap:anywhere}.upload-zone span{font-size:12px}.upload-zone input{font-size:12px;max-width:100%;margin-top:8px;color:#a486b8}.preview-block{background:#f9f5fc;border-radius:10px;padding:16px;margin:18px 0}.preview-block h3{font-size:14px;color:#81a394;margin-bottom:6px}.preview-block p{font-size:13px;color:#81678f;margin:7px 0}.file-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-top:12px;color:#a082b1;font-size:12px}.file-list>span{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.file-list small{margin-left:auto;color:#b39ac0;white-space:nowrap}.analysis-box{border:1px solid #eee3f7;border-radius:11px;padding:17px;margin-bottom:20px;background:#fefbff}.analysis-box .panel-title{margin-bottom:13px;color:#bb96d1}.analysis-result{font-size:13px;color:#816391;margin-top:13px}.analysis-result p{margin:9px 0}.grant-section{border-top:1px solid #f1e8f8;margin-top:28px}.grant-section>.muted{margin-bottom:17px}.grant-list{margin-top:15px}.grant-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #f4edf9}.grant-list strong{font-size:13px;font-weight:500}.grant-list p{font-size:12px;color:#ac90ba;margin-top:3px}.version-list summary{display:flex;align-items:center;gap:15px;padding:12px 0;cursor:pointer;font-size:12px}.version-list summary span{color:#b093bf}.version-list summary time{margin-left:auto;color:#b59ac3}.version-list details{border-bottom:1px solid #f5ecf9}.version-list .file-list{padding:0 10px 13px}.input-action{display:flex;gap:10px}.input-action button{white-space:nowrap;font-size:12px}.checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:#a387b3}.toast{position:fixed;inset:auto auto 28px 50%;margin:0;width:max-content;overflow:visible;transform:translate(-50%);max-width:min(620px,92vw);padding:13px 18px;display:flex;align-items:center;gap:10px;background:#fff;box-shadow:0 6px 35px #7951852d;border:1px solid #dbcde6;border-radius:11px;z-index:100;color:#659d83;font-size:13px}.toast.error{color:#bf6b87;border-color:#f0d5de}.toast-enter-active,.toast-leave-active{transition:opacity .2s,margin .2s}.toast-enter-from,.toast-leave-to{opacity:0;margin-bottom:-8px}.toast::backdrop{background:transparent}.spin{animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1400px){.skill-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.topbar{padding:0 24px;gap:35px}.private-label{display:none}.hero{padding:35px}.hero-art{right:20px;transform:scale(.8);transform-origin:right center}.hero h1{font-size:32px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:182px;padding:30px 16px}.workspace>main.admin-main{padding:30px 25px}.row-date{display:none}}@media(max-width:700px){.topbar{height:auto;min-height:73px;padding:17px 18px 0;flex-wrap:wrap;gap:0}.brand strong{font-size:21px}.brand-mark{width:33px;height:33px;border-radius:9px}.account{margin-left:auto}.account-name{display:none}.topnav{order:3;width:100%;gap:25px;margin-top:11px;height:42px}.topnav button{font-size:13px}.workspace>main{padding:20px 18px 35px}.hero{padding:31px 26px;min-height:320px;border-radius:16px}.hero-label{font-size:9px;margin-bottom:17px}.hero h1{font-size:28px}.hero p{font-size:13px}.hero-art{display:none}.hero-tags{gap:13px}.hero-tags span{font-size:11px}.catalog-content{margin-top:28px}.section-title h2{font-size:19px}.section-title .text-button{font-size:12px}.section-title p{max-width:230px;font-size:12px}.filter-bar{gap:8px}.sort-select{padding:0 8px}.sort-select svg,.search-box kbd{display:none}.sort-select select{min-width:74px;font-size:12px}.search-box{padding:10px;gap:8px;font-size:12px}.categories{gap:5px;margin:16px 0 21px}.categories button{font-size:12px;padding:6px 12px}.skill-grid{grid-template-columns:1fr;gap:15px}.skill-card{min-height:265px;padding:20px}.catalog-note{align-items:flex-start;text-align:left;font-size:11px}.site-footer{padding:21px 18px;gap:12px;flex-wrap:wrap;font-size:11px}.footer-right{width:100%;margin:0;padding-left:24px}.admin-layout{flex-direction:column}.sidebar{width:100%;border-right:0;padding:13px 18px;display:flex;gap:6px;border-bottom:1px solid var(--border)}.sidebar>button{justify-content:center;padding:9px 7px;font-size:12px;gap:5px;margin:0}.sidebar>button svg{width:15px}.sidebar h3,.sidebar .eyebrow,.sidebar-note{display:none}.workspace>main.admin-main{padding:25px 18px 35px}.admin-heading{margin-bottom:21px;gap:12px;align-items:flex-start}.admin-heading h1{font-size:23px}.admin-heading>button{font-size:12px;padding:8px 12px;margin-top:18px}.admin-heading .muted{font-size:12px;max-width:270px}.stat-row{gap:9px}.stat-row>div{padding:12px 14px}.stat-row span{font-size:11px}.stat-row strong{font-size:23px}.managed-row{padding:15px 12px;gap:10px;flex-wrap:wrap}.managed-row .skill-icon{width:39px;height:39px}.managed-row .row-main{min-width:150px}.row-main h3{flex-wrap:wrap;gap:6px}.panel{padding:22px 18px}.audit-list article{padding:16px;gap:11px;flex-wrap:wrap}.audit-list time{width:100%;margin-left:20px}.audit-list h3{flex-wrap:wrap}.modal-head{padding:19px 19px 14px}.modal-body{padding:20px 19px}.two-fields{grid-template-columns:1fr;gap:0}.version-list summary{flex-wrap:wrap;gap:7px}.version-list summary time{width:100%;margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.prompt-preview{display:block;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.55}.feishu-login{display:flex;align-items:center;justify-content:center;margin-top:10px;text-decoration:none}
