:root{--ink:#202e2b;--muted:#6c7975;--green:#126858;--green-dark:#0d5145;--line:#e4e9e5;--bg:#f4f6f3;--soft:#eef4ef;--p0:#b3463e;--p1:#a0701e;--p2:#457569;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #92bfb1;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--green)!important;box-shadow:0 0 0 3px #12685813}input,select,textarea{border:1px solid #dbe2dd;border-radius:8px;background:#fff;color:var(--ink)}input,textarea{padding:10px 12px}input::placeholder,textarea::placeholder{color:#89958e}select{padding:9px 25px 9px 10px;min-width:0}label{font-weight:500}h1,h2,h3,p{margin:0}h1{font-weight:650;letter-spacing:-1px}h2{font-size:17px;font-weight:650}h3{font-size:14px;font-weight:650}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:650;color:var(--green)}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:16px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--green);color:#fff;font-size:18px}.brand-divider{font-weight:400;color:#b4bdb7;margin:0 9px}.button,.primary,.identity,.icon-button{border:1px solid #dce4dd;border-radius:8px;background:#fff;padding:9px 15px;font-weight:550}.button:hover{background:#f2f6f2}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.small{font-size:12px;padding:7px 13px}.text-button{border:0;background:none;color:var(--green);font-size:12px;padding:0}.text-button:hover{text-decoration:underline}.error-text{color:#b23a36;font-size:13px;min-height:22px;margin-top:12px}.login-view{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#e6eee6;padding:44px 9vw 35px;display:flex;flex-direction:column;justify-content:space-between;background-image:radial-gradient(ellipse at 0 90%,#cee0d2 0,transparent 65%)}.login-story h1{font-size:clamp(30px,3vw,46px);line-height:1.45;margin:19px 0;color:#214e3f}.login-story p{font-size:15px;line-height:1.9;color:#587064}.login-story small{font-size:12px;color:#75867b}.login-levels{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.login-levels span{padding:8px 13px;border:1px solid #bacfc0;border-radius:8px;color:#4c6757;font-size:12px}.login-levels b{margin-right:7px;color:#285b44}.login-panel{display:grid;place-items:center;padding:40px}.login-card{max-width:370px;width:100%}.login-card h2{font-size:25px;margin:10px 0 8px}.login-card>.muted{margin-bottom:28px}.login-card>label{display:block;font-size:13px;margin:16px 0 7px}.login-card input{display:block;width:100%;height:46px}.login-submit{display:flex;justify-content:space-between;align-items:center;width:100%;height:47px;margin-top:7px}.login-note{font-size:12px;color:var(--muted);text-align:center;margin-top:20px}.topbar{display:flex;align-items:center;justify-content:space-between;height:73px;padding:0 36px;border-bottom:1px solid var(--line);background:#fff}.header-actions{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted)}.live-dot{width:6px;height:6px;background:#528b6f;border-radius:50%;margin-right:-9px}.identity{font-size:12px;padding:7px 12px;color:#335e48;background:#f1f5ef;border-color:#dfe8db}main{max-width:1560px;padding:30px 36px 0;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.page-heading h1{font-size:28px;margin:5px 0}.page-heading p{font-size:13px;color:var(--muted)}.catalog-stamp{display:flex;align-items:center;gap:12px;min-width:165px}.stamp-icon{background:#e8eee4;color:#537448;border-radius:11px;font-size:27px;line-height:43px;width:45px;text-align:center}.catalog-stamp b,.catalog-stamp span:not(.stamp-icon){display:block;font-size:12px}.catalog-stamp div>span{color:var(--muted);font-size:11px!important;margin-top:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.stat{text-align:left;border:1px solid var(--line);border-radius:11px;padding:17px 21px;background:#fff;position:relative;transition:border-color .15s,box-shadow .15s}.stat:hover,.stat.active{border-color:#aac5b3;box-shadow:0 2px 8px #24483107}.stat>span{display:block;font-size:12px;color:#6a7770}.stat strong{display:block;font-size:29px;line-height:1.45;font-variant-numeric:tabular-nums;letter-spacing:-.4px;font-weight:650}.stat small{font-size:11px;color:#7d897f}.stat[data-stat=P0] strong{color:var(--p0)}.legend-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:12px 17px;font-size:11px;background:#edf2eb;border-radius:8px;margin-bottom:22px;color:#657261}.legend-bar>b{color:#3b5140;font-size:12px}.legend-item{display:flex;gap:7px;align-items:center}.legend-item b{color:#3a473e}.priority-dot{width:6px;height:6px;display:inline-block;border-radius:50%;flex:none}.p0{background:var(--p0)}.p1{background:var(--p1)}.p2{background:var(--p2)}.workspace{display:grid;grid-template-columns:minmax(350px, .85fr) minmax(460px,1.15fr);gap:20px;align-items:start}.directory{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:sticky;top:16px}.directory-head{padding:19px 20px 0}.section-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-line h2{font-size:15px}.section-line h2>span{font-size:11px;font-weight:500;color:var(--muted);background:#f0f3ef;padding:2px 7px;border-radius:5px;margin-left:6px}.search-wrap{display:flex;align-items:center;border:1px solid #dce3dd;border-radius:8px;padding-left:12px;gap:7px;background:#fafbf9}.search-wrap>span{font-size:24px;line-height:1;color:#6d8374;transform:translateY(-2px)}.search-wrap input{border:0;background:transparent;min-width:0;width:100%;font-size:12px;padding:10px 8px;box-shadow:none}.search-wrap:focus-within{border-color:var(--green)}.filters{display:flex;gap:7px;margin-top:10px}.filters select{width:33.333%;font-size:11px;border-radius:6px;padding-top:7px;padding-bottom:7px}.list-subhead{display:flex;align-items:center;justify-content:space-between;padding:16px 1px 11px;color:#7a857d;font-size:10px}.list-subhead select{border:0;padding:2px 18px 2px 3px;font-size:10px;color:#596a5f;background:transparent}.service-list{max-height:675px;height:calc(100vh - 382px);min-height:290px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d9e1d8 transparent}.service-row{display:block;width:100%;text-align:left;background:#fff;border:0;border-top:1px solid #edf0eb;padding:15px 20px 14px;position:relative}.service-row:hover{background:#f8faf6}.service-row.selected{background:#eef5ef}.service-row.selected:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;background:var(--green);border-radius:0 3px 3px 0}.service-title-line{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.service-title-line strong{font-weight:600;font-size:13px;line-height:1.6}.priority-badge{font-size:10px;line-height:1.8;padding:1px 8px;border:1px solid #e1e6dd;border-radius:5px;color:#879083;white-space:nowrap;flex:none;background:#f8faf5}.priority-badge.P0{color:#a54239;background:#fbefeb;border-color:#f1d7ce}.priority-badge.P1{color:#91651a;background:#fbf5e6;border-color:#ebdfbf}.priority-badge.P2{color:#346e58;background:#edf5eb;border-color:#d8e6d2}.row-purpose{font-size:11px;color:#758176;line-height:1.7;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0 9px}.row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#85907f}.tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px;border-radius:4px;line-height:1.7;background:#f2f4ef;color:#65745f;white-space:nowrap}.tag.online{color:#3f6981;background:#edf3f8}.tag.stream{color:#7b6c44;background:#f5f1e5}.tag.backend{color:#75648e;background:#f1eef7}.tag.support{color:#607564;background:#eef3ee}.row-meta .model-indicator{margin-left:auto;color:#889181}.directory-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;padding:11px 19px;color:#8a9486}.detail{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.detail-hero{padding:24px 25px 22px;border-bottom:1px solid var(--line)}.detail-eyebrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.detail-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.detail-title h2{font-size:21px;line-height:1.5;letter-spacing:-.3px}.detail-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#859081;margin-top:6px;overflow-wrap:anywhere}.detail-purpose{font-size:12px;color:#63735f;line-height:1.9;margin-top:13px}.detail-content{padding:22px 25px}.detail-section{margin-bottom:23px}.detail-section h3{font-size:12px;margin-bottom:11px;display:flex;align-items:center;gap:6px}.detail-section h3>small{font-size:10px;color:#8b9585;font-weight:400}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.io-box{border:1px solid #e7ebe2;border-radius:8px;padding:13px 14px;background:#fafbf8;min-width:0}.io-label{display:block;font-size:10px;font-weight:650;letter-spacing:.6px;color:#6a8667;margin-bottom:6px}.io-box p{font-size:12px;line-height:1.9;color:#4d604c}.steps{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.step{font-size:10px;padding:5px 9px;border-radius:5px;background:#f2f5ee;border:1px solid #e5ebde;color:#607155}.step-arrow{font-size:11px;color:#b1bca8}.models{display:grid;gap:8px}.model-card{border:1px solid #e7eae3;border-radius:7px;padding:11px 13px;font-size:11px}.model-card strong{display:block;font-weight:600;font-size:11px;color:#3f5742}.model-card p{margin-top:3px;line-height:1.8;color:#7c8877}.model-empty{background:#f7f9f4;color:#788671;padding:11px 13px;border-radius:7px;font-size:11px;line-height:1.9}.read-more{font-size:11px;color:#74866b}.read-more>summary{cursor:pointer}.interface{display:flex;gap:8px;align-items:baseline;font-family:ui-monospace,monospace;font-size:10px;margin-top:6px;overflow-wrap:anywhere}.interface>b{color:#5a8560;white-space:nowrap}.read-more p{margin:5px 0 9px;font-family:inherit;font-size:11px}.review-panel{border-top:1px solid var(--line);background:#f9fbf6;padding:22px 25px}.review-panel .section-line{margin-bottom:8px}.review-panel .section-line>h3{font-size:14px}.review-panel .help{font-size:11px;color:#819078;margin-bottom:15px}.priority-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.priority-option{border:1px solid #dfe6d8;border-radius:8px;padding:11px 10px;text-align:left;background:#fff;color:#73816a;transition:background .12s}.priority-option b{font-size:17px;display:block;font-weight:650;line-height:1.4}.priority-option span{font-size:10px}.priority-option.selected[data-priority=P0]{border-color:#ce9185;background:#fbefeb;color:#a34d42;box-shadow:0 0 0 1px #ce9185}.priority-option.selected[data-priority=P1]{border-color:#cfb36e;background:#fbf6e9;color:#946b22;box-shadow:0 0 0 1px #cfb36e}.priority-option.selected[data-priority=P2]{border-color:#7fa28b;background:#eef5eb;color:#3f7355;box-shadow:0 0 0 1px #7fa28b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field label{display:block;font-size:11px;color:#687a5f;margin-bottom:5px}.form-field input,.form-field select,.form-field textarea{width:100%;font-size:12px;padding:9px 11px;border-radius:7px}.form-field.full{grid-column:1/-1}.form-field textarea{resize:vertical;min-height:82px;line-height:1.8}.save-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.save-line>span{font-size:10px;color:#7e8d73;line-height:1.7;max-width:65%}.save-line button{padding:9px 20px;font-size:12px;white-space:nowrap}.conflict-notice{border:1px solid #dfc483;background:#fff7df;padding:11px 12px;border-radius:7px;margin:12px 0;color:#815f24;font-size:11px}.conflict-notice button{display:block;margin-top:7px}.empty-list{padding:55px 24px;text-align:center;font-size:12px;color:#85917c}.empty-list strong{display:block;color:#526649;font-size:14px;margin-bottom:8px}.page-foot{display:flex;align-items:center;justify-content:space-between;padding:20px 0 24px;font-size:10px;color:#8b9585}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:11px 22px;background:#254b37;color:white;border-radius:9px;box-shadow:0 8px 30px #17372225;z-index:20;font-size:13px;max-width:90vw}.toast.error{background:#9b4b3e}dialog{border:1px solid #dfe6d8;border-radius:13px;padding:24px;max-width:520px;width:90vw;box-shadow:0 20px 70px #23452c25;color:var(--ink)}dialog::backdrop{background:#25362655;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.icon-button{padding:0;width:28px;height:28px;font-size:22px;line-height:1;color:#76836e}.history-item{padding:13px 0;border-top:1px solid var(--line);font-size:12px}.history-item time{display:block;font-size:10px;color:var(--muted);margin-top:3px}.history-item p{color:#607055;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions button{font-size:12px;padding:8px 12px}#leave-dialog>p{font-size:13px;margin-top:9px;color:var(--muted)}.network-banner{padding:12px 17px;background:#fff5df;border-radius:8px;color:#8b6a30;margin-bottom:15px;font-size:12px}
@media(min-width:1450px){.workspace{grid-template-columns:560px 1fr}.service-list{height:655px}}@media(max-width:1100px){main{padding:24px 22px 0}.topbar{padding:0 22px}.workspace{gap:14px;grid-template-columns:minmax(315px,.85fr) minmax(400px,1.15fr)}.directory-head{padding-left:15px;padding-right:15px}.service-row{padding:14px 15px}.detail-content,.detail-hero,.review-panel{padding-left:19px;padding-right:19px}.legend-bar{gap:9px 14px}.catalog-stamp{display:none}.filters{flex-wrap:wrap}.filters select{width:calc(50% - 4px)}.filters select:last-child{width:100%}}@media(max-width:800px){.login-view{grid-template-columns:1fr}.login-story{padding:25px 30px;gap:25px}.login-story h1{font-size:30px}.login-story p br{display:none}.login-story>small{display:none}.login-levels{margin-top:20px}.login-panel{padding:30px}.topbar{height:auto;min-height:65px;gap:10px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{font-size:14px}.brand-mark{width:30px;height:30px;font-size:15px}.header-actions{gap:9px}.header-actions>#save-state,.live-dot{display:none}main{padding:22px 15px 0}.page-heading h1{font-size:23px}.page-heading p{font-size:12px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:25px}.stat small{font-size:9px}.stat>span{font-size:10px}.legend-bar{font-size:10px}.legend-bar>b{width:100%}.workspace{grid-template-columns:1fr}.directory{position:static}.service-list{height:310px;min-height:200px}.filters{flex-wrap:nowrap}.filters select,.filters select:last-child{width:33.333%}.detail-title h2{font-size:20px}.page-foot{gap:10px;align-items:flex-start}.page-foot>span{white-space:nowrap}.login-card{max-width:440px}}@media(max-width:450px){.header-actions{width:100%;justify-content:flex-end}.stats{grid-template-columns:1fr 1fr}.stat small{font-size:10px}.io-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.legend-bar{gap:6px}.legend-item{width:100%}.filters{flex-wrap:wrap}.filters select,.filters select:last-child{width:calc(50% - 4px)}.filters select:last-child{width:100%}.page-foot{display:block}.page-foot>span{display:block;margin-top:5px}.detail-hero,.detail-content,.review-panel{padding-left:16px;padding-right:16px}.priority-options{gap:7px}.priority-option{padding:10px 8px}.priority-option span{font-size:9px}}
.save-actions{display:flex;gap:8px;flex-shrink:0}.save-line{flex-wrap:wrap}.save-line>span{max-width:100%;flex:1 1 130px}.save-line button{padding:9px 13px}.row-purpose{font-size:12px;color:#687664}.io-box p,.detail-purpose{font-size:13px}.model-card p,.model-card strong,.form-field label{font-size:12px}.detail-section h3{font-size:13px}.form-field input,.form-field textarea,.form-field select{font-size:13px}.legend-bar{color:#56694f}.model-card p{color:#687760}.model-empty{color:#65745b}.field-hint{font-size:11px;color:var(--muted);margin-top:5px}#field-product{min-height:66px;height:66px}
.model-assessment{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:10px;padding-top:9px;color:var(--muted);font-size:11px}.model-use-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px}.model-use-link{background:#eff5ef;border:1px solid #dce8dc;border-radius:6px;padding:6px 9px;color:#285d43;font-size:12px;text-align:left;max-width:100%;overflow-wrap:anywhere}.model-use-link:hover{background:#e3eee2}.model-summary-note{font-size:11px;color:var(--muted);margin-top:11px;line-height:1.8}.runtime-models{overflow-wrap:anywhere}@media(max-width:800px){.header-actions{flex-wrap:wrap}.detail-section h3{flex-wrap:wrap}}
.annotator-line{font-size:12px;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}.annotator-line strong{color:var(--ink)}
