:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#263330;background:#f7f9f8;font-size:14px;font-synthesis:none;--line:#e3e8e5;--muted:#76837d;--green:#16765c;--soft:#e8f3ec;--blue:#4c73ad;--amber:#a56e21;--sidebar:248px}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:#fff;color:inherit;border-radius:5px}button:hover{background:#f2f6f3}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #50a48a;outline-offset:2px}button:disabled:hover{background:#fff}svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.8}input,select,textarea{border:1px solid #d8e1db;border-radius:5px;background:#fff;color:inherit;padding:9px 11px;min-width:0}textarea{resize:vertical;line-height:1.85}small{font-size:12px;color:var(--muted)}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100dvh;overflow:hidden}.sidebar{background:#f0f4f1;border-right:1px solid #dfe6e0;display:flex;flex-direction:column;min-height:0;padding:24px 16px 14px;gap:8px}.brand{display:flex;align-items:center;gap:10px;margin:0 4px 22px;font-size:17px;font-weight:650;white-space:nowrap}.brand-symbol{display:grid;place-items:center;background:#1b735a;width:34px;height:36px;border-radius:7px;color:white}.brand-symbol svg{width:22px;height:22px}.brand small{display:block;font-size:10px;font-weight:400;margin-top:4px;color:#84948a}.brand>b{font-size:10px;background:#dce9df;padding:3px 5px;border-radius:3px;margin-left:auto;color:#44715d}.nav-home{display:flex;align-items:center;gap:10px;border:0;text-align:left;padding:11px 12px;background:transparent;font-weight:550}.nav-home.active{background:#dfede4;color:#15654e}.space-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #dfe6df;gap:2px;margin:15px 0 8px;padding-bottom:10px}.space-tabs button{border:0;background:transparent;font-size:12px;padding:8px 2px;display:flex;align-items:center;flex-direction:column;gap:7px;color:#748377}.space-tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 3px #2b4f3a0c;color:#176d54}.space-tabs svg{width:16px;height:16px}#navigation{overflow:auto;flex:1;min-height:0;padding-right:2px}.nav-group{margin-bottom:10px}.nav-group>summary{list-style:none;font-size:11px;font-weight:650;color:#8b978e;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 11px}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary svg{width:13px;transition:transform .15s}.nav-group[open]>summary svg{transform:rotate(90deg)}.nav-entry{display:flex;align-items:center;gap:10px;min-height:39px;width:100%;border:0;border-radius:5px;background:transparent;text-align:left;font-size:13px;padding:9px 11px;margin:2px 0}.nav-entry>span{flex:1;min-width:0;overflow-wrap:anywhere}.nav-entry.active{background:#dcece2;color:#126248;font-weight:600}.nav-entry.planned{color:#879389}.nav-entry small{font-size:10px;white-space:nowrap}.sidebar-footer{border-top:1px solid #dce4dd;padding-top:12px;margin-top:8px}.sidebar-footer>button{border:0;background:transparent;display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:12px;text-align:left}.sidebar-footer>button>svg:last-child{width:13px;margin-left:auto}.sidebar-footer>small{display:block;font-size:10px;padding:9px 10px 0;color:#98a298}.connection-dot{height:7px;width:7px;border-radius:50%;background:#b59858;display:inline-block;flex-shrink:0}.connection-dot.online{background:#478e6e}.main{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.topbar{height:66px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px}.breadcrumb>span{color:#8a968d;white-space:nowrap}.breadcrumb>svg{width:12px;color:#acb5af}.breadcrumb>strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:16px;align-items:center}.global-search{border:0;background:#f3f6f4;border-radius:5px;display:flex;gap:8px;align-items:center;color:#839087;padding:8px 12px;min-width:204px;font-size:12px}.global-search svg{width:15px}.account-mark{height:29px;width:29px;border:1px solid #dae5dd;border-radius:50%;background:#eaf2ec;display:grid;place-items:center;font-size:11px;color:#5f7d69}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:4px;width:32px;height:32px;flex-shrink:0;color:#77867d}.mobile-menu{display:none}.context-bar{height:40px;flex-shrink:0;background:#f7faf8;border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#7b8a7f;font-size:11px}.context-bar[hidden]{display:none}.context-bar>div{display:flex}.context-bar svg{width:14px}#native{padding:32px 36px 50px;overflow:auto;min-height:0;flex:1;background:#fff;outline:none}#native[hidden]{display:none}#frames{flex:1;min-height:0;position:relative;display:none}#frames.active{display:block}#frames iframe{border:0;display:block;width:100%;height:100%;background:white}#frames iframe[hidden]{display:none}h1{font-size:26px;line-height:1.4;margin:0;font-weight:650}h2{font-size:16px;line-height:1.5;margin:0;font-weight:600}h3{font-size:14px;margin:0;font-weight:550}p{line-height:1.8;margin:8px 0;color:#6d7f73}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.page-title p{font-size:12px;margin:7px 0 0}.date-stamp{display:flex;align-items:center;gap:8px;color:#7d8b80;font-size:12px}.date-stamp svg{width:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid #d9e3dd;border-radius:5px;font-size:12px;background:white;min-height:34px}.btn.primary{background:#217a5e;color:#fff;border-color:#217a5e}.btn.primary:hover{background:#176248}.btn svg{width:15px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:34px}.summary-strip>div{border-right:1px solid var(--line);padding-left:24px}.summary-strip>div:first-child{padding-left:0}.summary-strip>div:last-child{border:0}.summary-strip small{display:block;font-size:11px;color:#89958d;margin-bottom:11px}.summary-strip strong{font-weight:600;font-size:25px;line-height:1}.summary-strip strong>span{font-size:11px;color:#8e9a92;margin-left:5px;font-weight:400}.summary-strip .metric-tail{font-size:10px;margin:9px 0 0;color:#9aa59d}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 16px;gap:10px}.section-heading small{font-size:11px}.section-heading button{font-size:11px;border:0;background:transparent;color:#7e8a82;display:flex;align-items:center;gap:5px}.section-heading button svg{width:13px}.favorite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-tile{position:relative;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e1e8e3;border-radius:7px;padding:19px 17px;min-height:90px;background:white;overflow:hidden}.module-tile:hover{border-color:#aac8b6;background:#fcfefc}.tile-symbol{height:37px;width:37px;border-radius:7px;display:grid;place-items:center;background:#edf4ee;color:#357f59;flex-shrink:0}.module-tile:nth-child(3n+2) .tile-symbol{background:#edf1f8;color:#6d81a1}.module-tile:nth-child(3n) .tile-symbol{background:#f7f1e7;color:#a88a55}.tile-symbol svg{width:19px}.module-tile>div:nth-child(2){flex:1;min-width:0}.module-tile strong{font-weight:550;font-size:13px;display:block;overflow-wrap:anywhere}.module-tile small{display:block;margin-top:7px;font-size:10px;line-height:1.5}.module-tile>svg{width:14px;color:#a2ada5}.home-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:36px;margin-top:8px}.workflow{margin-top:20px}.workflow+.workflow{border-top:1px solid var(--line);padding-top:22px}.workflow>small{font-size:11px;font-weight:500;color:#8a978e}.steps{display:flex;gap:4px;align-items:center;margin-top:15px;min-width:0}.steps>button{flex:1;min-width:0;border:0;background:#f5f8f5;display:flex;flex-direction:column;gap:9px;align-items:center;padding:12px 2px;font-size:10px}.steps>button svg{width:17px;color:#69816e}.steps>svg{width:11px;color:#afbbb2}.simple-list{margin-top:8px}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf0ee;font-size:12px}.simple-row .left{display:flex;align-items:center;gap:9px;min-width:0}.simple-row strong{font-weight:500}.simple-row small{font-size:10px}.simple-row svg{width:15px;color:#829a89}.state-label{font-size:10px;background:#eaf4ed;color:#4b815e;padding:4px 7px;border-radius:3px;white-space:nowrap}.state-label.planned{background:#f1f3f2;color:#8c9790}.state-label.partial{background:#fbf3e5;color:#a17b36}.state-label.cloud{background:#edf2fa;color:#6a84ae}.state-label.failed{background:#faeeea;color:#b96c51}.isolation-note{border-top:1px solid var(--line);margin-top:27px;padding-top:18px;font-size:11px;line-height:1.8;color:#97a299;display:flex;gap:8px}.isolation-note svg{width:15px;flex-shrink:0}.filterbar{display:flex;gap:10px;align-items:center;margin:20px 0;flex-wrap:wrap}.filterbar input{flex:1;min-width:180px}.filterbar select{font-size:12px;max-width:200px}.catalog-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.catalog-table th{font-size:10px;font-weight:500;color:#93a097;background:#f5f8f5}.catalog-table th,.catalog-table td{border-bottom:1px solid #e8ede9;padding:14px 12px;vertical-align:middle}.catalog-table th:first-child,.catalog-table td:first-child{padding-left:0}.catalog-table td strong{font-size:12px;font-weight:500}.catalog-table td small{display:block;margin-top:6px;line-height:1.6;font-size:10px}.catalog-table td:last-child{width:86px;text-align:right}.catalog-table .icon-button{height:27px;width:27px}.catalog-table .icon-button svg{width:14px}.link-btn{border:0;background:transparent;color:#397b59;font-size:12px;padding:6px 0;display:flex;align-items:center;gap:5px}.link-btn svg{width:14px}.table-scroll{overflow:auto}.empty-state{padding:54px 20px;text-align:center;color:#8d9a92}.empty-state>svg{height:30px;width:30px;margin-bottom:13px}.empty-state h2{font-size:16px;color:#718678}.empty-state p{font-size:12px}.settings-section{border-top:1px solid var(--line);padding:24px 0;margin-top:20px}.settings-section>p{font-size:12px}.service-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.service-row>div{flex:1;min-width:0}.service-row small{display:block;font-size:11px;margin-top:6px;overflow-wrap:anywhere}.switch-label{display:flex;align-items:center;justify-content:space-between;gap:15px}.switch-label>span{max-width:650px;line-height:1.8}.switch-label small{display:block;margin-top:6px}.switch-label input{width:18px;height:18px;accent-color:#217a5e}.danger-copy{color:#b57c42;font-size:11px}.notice{padding:12px 15px;border-left:3px solid #b4965b;background:#fbf7ed;font-size:12px;line-height:1.8;color:#937443;margin:16px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.data-stat{padding:18px 0;border-bottom:1px solid var(--line)}.data-stat strong{display:block;font-size:24px;font-weight:550;margin-top:12px}.data-stat span{font-size:11px;color:#7d9082}.data-stat small{display:block;margin-top:10px;line-height:1.8;overflow-wrap:anywhere}.version-item{border-bottom:1px solid var(--line);padding:19px 0}.version-item summary{cursor:pointer;font-size:13px}.version-item pre{font-size:11px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f6;padding:15px;max-height:400px;overflow:auto}.memo-grid{display:grid;grid-template-columns:230px minmax(0,1fr);border-top:1px solid var(--line);min-height:480px}.memo-list{border-right:1px solid var(--line);padding:15px 16px 0 0}.memo-list button{display:block;width:100%;text-align:left;border:0;margin-bottom:5px;background:transparent;padding:13px 10px}.memo-list button.active{background:#edf5ee}.memo-list strong{display:block;font-size:12px}.memo-list small{display:block;margin-top:7px;font-size:10px}.memo-editor{padding:20px 0 0 25px;min-width:0}.memo-editor form{display:flex;flex-direction:column;gap:14px}.memo-editor input{font-size:17px;font-weight:500;border-color:transparent;padding-left:0}.memo-editor textarea{width:100%;min-height:310px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.form-label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px}.form-label textarea{min-height:180px}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.skill-entry{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px}.skill-entry>.tile-symbol{width:32px;height:32px}.skill-entry>div:nth-child(2){flex:1;min-width:0}.skill-entry h3{font-size:12px;overflow-wrap:anywhere}.skill-entry p{font-size:11px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0}.skill-entry small{font-size:10px}.skill-entry button{font-size:11px;align-self:center;border:0;background:transparent;padding:6px}.course-week{border-bottom:1px solid var(--line);padding:16px 0}.course-week summary{cursor:pointer;font-size:13px;line-height:1.8}.course-week ol{color:#7c8b81;line-height:2.3;font-size:12px}.cloud-actions{display:flex;gap:10px;margin:20px 0}dialog{border:1px solid var(--line);border-radius:8px;padding:0;width:650px;max-width:calc(100vw - 28px);max-height:85dvh;box-shadow:0 18px 70px #142e2224;background:#fff;color:inherit}dialog::backdrop{background:#17312255;backdrop-filter:blur(2px)}.dialog-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-content{padding:20px 24px}.dialog-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.85 ui-monospace,monospace;max-height:50dvh;overflow:auto}.dialog-content input{width:100%}.search-results{max-height:55dvh;overflow:auto;padding:0 16px 15px}.search-result{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 9px;width:100%;border:0;border-bottom:1px solid var(--line);text-align:left;background:white}.search-result strong{font-size:12px;font-weight:500}.search-result small{display:block;margin-top:5px;font-size:10px}.search-result svg{width:15px;color:#88a291}.dialog-footer{display:flex;gap:10px;padding-top:18px;justify-content:flex-end}.loading{padding:60px;color:#8b9a91;font-size:13px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#284c3d;color:#fff;border-radius:5px;max-width:calc(100vw - 28px);font-size:12px;z-index:100;box-shadow:0 4px 22px #182e3126;display:none}#toast.visible{display:block}.login{max-width:380px;margin:100px auto;padding:25px}.login h1{margin-bottom:20px}.login input{display:block;width:100%;margin:18px 0}.login .btn{width:100%}.backdrop{display:none}[hidden]{display:none!important}
@media(min-width:1600px){#native{padding-left:50px;padding-right:50px}.favorite-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-tile{min-height:100px}.home-columns{gap:54px}}
@media(max-width:1100px){:root{--sidebar:225px}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding:0 22px}#native{padding:26px}.home-columns{grid-template-columns:1fr}.home-secondary{display:grid;grid-template-columns:1fr 1fr;gap:30px}.favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-tile{padding:17px 13px}.global-search{min-width:170px}.isolation-note{margin-top:18px}.skill-grid{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .15s;z-index:30;padding-top:24px}.sidebar.open{transform:translateX(0)}.backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#1d342b55;z-index:25}.main{height:100dvh}.topbar{height:56px;padding:0 14px;gap:6px}.breadcrumb{gap:7px}.breadcrumb>span,.breadcrumb>svg{display:none}.top-actions{gap:7px}.mobile-menu{display:inline-flex}.global-search{min-width:32px;width:32px;padding:8px;background:transparent}.global-search span{display:none}.account-mark{width:26px;height:26px}.top-actions>.icon-button{width:28px}#native{padding:25px 18px 40px}.page-title{align-items:flex-start;margin-bottom:22px}.page-title h1{font-size:23px}.page-title p{font-size:11px;line-height:1.7}.page-title .date-stamp{font-size:10px;gap:5px}.page-title>.btn{font-size:11px;padding:7px 8px;white-space:nowrap}h1{font-size:23px}.summary-strip{padding:18px 0;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;margin-bottom:26px}.summary-strip>div{padding-left:17px}.summary-strip>div:nth-child(3){padding-left:0}.summary-strip>div:nth-child(2){border:0}.summary-strip strong{font-size:23px}.summary-strip small{font-size:10px}.summary-strip .metric-tail{font-size:9px}.favorite-grid{gap:9px}.module-tile{min-height:105px;align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.tile-symbol{width:29px;height:29px;border-radius:5px}.tile-symbol svg{width:16px}.module-tile>div:nth-child(2){width:100%}.module-tile>svg{position:absolute;right:12px;top:23px}.module-tile strong{font-size:12px}.module-tile small{font-size:9px;margin-top:5px}.home-columns{gap:10px}.home-secondary{display:block}.section-heading{margin-top:25px}.section-heading h2{font-size:15px}.steps{gap:3px}.steps>button{font-size:9px;gap:9px;padding:11px 1px}.steps>svg{width:9px}.memo-grid{grid-template-columns:1fr}.memo-list{border:0;border-bottom:1px solid var(--line);display:flex;gap:8px;overflow:auto;padding:10px 0}.memo-list button{min-width:145px;width:auto;max-width:180px;flex-shrink:0}.memo-editor{padding:18px 0}.memo-editor textarea{min-height:300px}.memo-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-editor input{font-size:16px}.filterbar{gap:8px}.filterbar input{min-width:140px;padding:9px}.filterbar select{max-width:150px}.catalog-table{min-width:520px}.detail-grid{gap:14px}.data-stat strong{font-size:21px}.service-row{gap:9px}.service-row .btn{padding:7px 8px;font-size:11px}.service-row h3{font-size:12px}.service-row small{font-size:9px}.service-row .state-label{font-size:9px}.settings-section{padding:20px 0}.dialog-header{padding:16px}.dialog-content{padding:16px}.context-bar{height:35px;padding:0 12px;font-size:10px}.context-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-entry{gap:10px}.cloud-actions{flex-wrap:wrap}.date-stamp svg{display:none}.login{padding:28px 12px}input,select,textarea{font-size:16px}}
