:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#203449;background:#f5f7fa;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #27a49d}button{cursor:pointer;border:1px solid #dbe2ea;border-radius:7px;background:#fff;color:#28445e;padding:9px 14px}button:hover{border-color:#7292aa;background:#f5fafc}button:disabled{opacity:.55;cursor:wait}a{color:#246c9b;text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}aside{width:235px;flex-shrink:0;background:#fff;border-right:1px solid #e2e8ef;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#183850;font-size:22px;font-weight:700;letter-spacing:-.5px}.brand small{display:block;color:#83909d;font-size:11px;font-weight:400;margin-top:6px;letter-spacing:1px}.brand-icon{width:35px;height:39px;background:#173e5a;color:#fff;display:grid;place-items:center;border-radius:10px}.nav-label{font-size:11px;color:#97a3af;letter-spacing:1px;margin:38px 12px 14px}.nav{border:0;display:flex;justify-content:space-between;text-align:left;width:100%;margin-bottom:7px;color:#6c7e8f;padding:12px}.nav.active{background:#eaf1f7;color:#254b6a;font-weight:600}.sidebar-bottom{margin-top:auto;padding:18px 10px;border-top:1px solid #e8ecf1;font-size:12px}.sidebar-bottom small{display:block;color:#8b98a5;line-height:1.8;margin-top:10px}.dot{display:inline-block;width:6px;height:6px;background:#319c90;border-radius:100%;margin-right:7px}main{min-width:0;flex:1}header{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e7ee;padding:0 44px;background:#ffffffb0;color:#8793a0;font-size:12px}.private{border:1px solid #dde5ec;padding:6px 10px;border-radius:20px;color:#657b8b}.content{max-width:1280px;margin:auto;padding:42px 44px 20px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7d94a7;margin-bottom:13px}h1{font-size:29px;font-weight:600;letter-spacing:-1px;margin:0 0 12px}h2{font-size:16px;font-weight:600;margin:0 0 18px}h3{font-size:19px;margin:18px 0 12px}p{line-height:1.85}.muted,small{color:#7c8c9b}.primary{background:#1d4967;color:#fff;border-color:#1d4967;padding:11px 18px}.primary:hover{background:#2c607f;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e1e7ed;border-radius:10px;margin-bottom:34px;padding:23px 0}.stats>div{padding:0 26px;border-right:1px solid #e8edf1}.stats>div:last-child{border:0}.stats span{display:block;font-size:12px;color:#7f8d99}.stats strong{display:block;font-size:29px;font-weight:500;margin-top:10px;color:#24445d}.stats .unknown{font-size:17px;margin-top:20px;color:#8a98a5}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 18px}.section-heading h2{margin:0}.search{font-size:12px;color:#7f8d99;display:flex;gap:10px;align-items:center}.search input{width:170px;margin:0;background:#fff}section{border:1px solid #e0e7ee;background:#fff;border-radius:10px;padding:26px;margin-bottom:22px}.empty{text-align:center;padding:50px 25px}.empty-icon{font-size:30px;color:#7093ae;margin-bottom:20px}.empty p{color:#8191a0}.empty .primary{margin-top:10px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{text-align:left;padding:25px;border-radius:10px;min-width:0;box-shadow:0 2px 2px #15395103}.card-top{display:flex;justify-content:space-between;align-items:center}.project-icon{background:#e9f0f6;color:#325875;border-radius:9px;padding:10px 14px;font-size:19px}.badge{display:inline-block;font-size:11px;background:#f5f0e5;color:#9b7738;padding:6px 9px;border-radius:5px}.badge.good{background:#e5f4ef;color:#34816b}.project-card p{color:#738596;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px}.card-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf0f4;padding:18px 0;font-size:11px;color:#6b8599}.project-card small{font-size:10px}.connection-panel{margin-top:30px;display:grid;grid-template-columns:1fr 1.4fr;background:#f0f4f8}.connection-panel p{font-size:12px}dl{display:grid;grid-template-columns:100px 1fr;gap:14px;margin:0;font-size:12px;line-height:1.6}dt{color:#7b8d9d}dd{margin:0}footer{display:flex;justify-content:space-between;color:#9aa7b3;border-top:1px solid #e0e7ee;margin-top:40px;padding:22px 0;font-size:10px}.tabs{display:flex;gap:8px;border-bottom:1px solid #dce4ec;margin-bottom:25px}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:14px}.tabs [aria-current]{border-color:#246382;color:#246382;font-weight:600}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.detail-grid h2:not(:first-child){margin-top:28px}.detail-grid ul{padding-left:18px;line-height:2;color:#856d43}.document{display:flex;gap:15px;align-items:center;border-bottom:1px solid #edf0f4;padding:12px 0}.document span:first-child{flex:1}.document span:nth-child(2){font-size:12px;color:#8393a0}.document button{font-size:12px}label{display:block;color:#62798c;font-size:12px;margin-bottom:17px}input,textarea{display:block;width:100%;border:1px solid #d4dee7;border-radius:6px;padding:10px;background:#fafcfd;color:#203449;margin-top:8px}textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}article{padding:20px 0;border-bottom:1px solid #e4eaf0}.alert{background:#fff0ee;color:#974a42;padding:16px;margin-bottom:22px;border-radius:8px}.notice{background:#e8f5ef;color:#32745c;padding:12px;margin-bottom:18px;border-radius:6px}a,input,p,dd{overflow-wrap:anywhere}@media(min-width:1450px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){aside{width:190px;padding:25px 14px}.content{padding:30px 24px}header{padding:0 24px}.stats>div{padding:0 16px}.cards,.detail-grid{grid-template-columns:1fr}.connection-panel{grid-template-columns:1fr;gap:20px}h1{font-size:24px}}@media(max-width:600px){.shell{display:block}aside{height:auto;width:100%;position:static;padding:16px;border-right:0;border-bottom:1px solid #e0e7ee}.brand{font-size:20px}.brand small,.nav-label,.sidebar-bottom{display:none}.nav{margin-top:12px;margin-bottom:0;padding:8px}.brand-icon{height:30px;width:30px}.content{padding:25px 16px}header{height:48px;padding:0 16px}.stats{grid-template-columns:1fr 1fr;gap:22px}.stats>div:nth-child(2){border:0}.title-row{align-items:flex-start;flex-wrap:wrap}.title-row h1{font-size:23px}.stats strong{font-size:24px}.stats .unknown{margin-top:14px}section{padding:20px}.section-heading{flex-wrap:wrap;gap:12px}.search{width:100%}.search input{flex:1}.tabs{gap:0;overflow:auto}.tabs button{white-space:nowrap;padding:13px 9px}.document{flex-wrap:wrap}.form-grid{grid-template-columns:1fr;gap:0}footer{display:block;line-height:2}footer span{display:block}}.subheading{margin-top:30px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(at 20% 10%,#dfeaf1,transparent 60%)}.login-shell section{max-width:480px;width:100%;padding:38px;box-shadow:0 20px 80px #183c5510}.header-actions{display:flex;align-items:center;gap:12px}.header-actions button{font-size:11px}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.9;border-top:1px solid #e4eaf0;padding-top:20px}.accounts-panel{margin-top:24px;padding:24px;border:1px solid #dfe6ee;border-radius:14px;background:#fff}.accounts-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.accounts-heading h2{margin:0 0 8px;font-size:20px}.accounts-heading p,.accounts-note{color:#59697c;font-size:13px;line-height:1.7}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin-top:16px}.account-card{border:1px solid #dfe6ee;border-radius:10px;padding:18px;min-width:0}.account-card h3{margin:0 0 12px}.account-card p{font-size:13px;line-height:1.7}.account-card small{color:#59697c;line-height:1.7}.account-warning{color:#90520c;background:#fff5e5;padding:8px;border-radius:6px}.quota-window{display:grid;gap:7px;padding:14px 0;border-top:1px solid #e9edf2;font-size:13px}.quota-window progress{width:100%;height:10px;accent-color:#256b72}.factory-library section{margin:24px 0;padding:24px;background:#fff;border:1px solid #e0e7ef;border-radius:14px}.factory-library h1{font-size:28px;margin:0 0 18px}.factory-library h2{font-size:19px;margin:0 0 18px}.factory-library li,.factory-library p{line-height:1.85}.factory-flows{display:grid;gap:12px}.factory-flows details{border:1px solid #dce5ed;border-radius:8px;padding:16px}.factory-library summary{cursor:pointer;font-weight:600;line-height:1.7}.factory-flows summary small{display:block;font-weight:400;color:#566b7a;margin-top:5px}.factory-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.factory-tabs button[aria-pressed=true]{background:#e5f2f0;border-color:#376c73;color:#28565c}.factory-select{display:grid;gap:8px;max-width:100%;font-size:13px}.factory-select select{max-width:100%;padding:10px}.factory-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f5f8fa;padding:18px;border-radius:8px;font-size:13px;line-height:1.8;max-height:650px;overflow:auto}.factory-path,.factory-library code{overflow-wrap:anywhere;font-size:12px;color:#566b7a}.factory-status{color:#8a550d}.task-record{min-width:0;max-width:100%;overflow-wrap:anywhere}.task-record p{white-space:pre-wrap}.task-record summary{cursor:pointer}.task-record summary:focus-visible{outline:3px solid #27a49d;outline-offset:4px}.task-record button{max-width:100%;white-space:normal}.project-summary,.project-summary section,.overview-activity{min-width:0;overflow-wrap:anywhere}.architecture-diagram{margin:0}.architecture-diagram figcaption{color:#526678;margin-bottom:18px}.architecture-flow{display:flex;flex-wrap:wrap;gap:24px;list-style:none;padding:0;margin:0 0 20px}.architecture-flow li{position:relative;flex:1 1 170px;min-width:0;padding:16px;border:1px solid #dbe2ea;border-radius:8px;background:#f5fafc}.architecture-flow li:not(:last-child):after{content:"→";position:absolute;right:-20px;top:20px;color:#526678}.architecture-flow strong,.architecture-flow span{display:block}.architecture-flow span{color:#526678;margin-top:8px}.technology-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}.technology-stack dt{font-weight:600}.technology-stack dd{margin:6px 0 0;color:#526678}.overview-activity>summary{cursor:pointer;padding:12px 0}.overview-activity>summary:focus-visible{outline:3px solid #27a49d;outline-offset:4px}.summary-sources>summary{cursor:pointer;padding:12px 0}.summary-sources>summary:focus-visible{outline:3px solid #27a49d;outline-offset:4px}.summary-sources small{display:block;margin:8px 0}.stats.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-controls{flex-wrap:wrap;gap:12px}.project-card{background:#fff;border:1px solid #e0e7ee;margin:0;overflow-wrap:anywhere}.summary-compact section{padding:0;margin:16px 0;border:0;background:transparent}.summary-compact h4{margin:0 0 8px}.project-card .summary-compact p{display:block;min-height:0;overflow:visible;-webkit-line-clamp:unset}.summary-compact .architecture-flow{flex-direction:column;gap:16px;margin:0}.summary-compact .architecture-flow li{flex-basis:auto;padding:6px 10px;font-size:12px}.summary-compact .architecture-flow li:not(:last-child):after{content:"↓";inset:auto auto -17px 50%}.summary-compact .technology-stack{grid-template-columns:minmax(0,1fr);gap:8px}.project-card .card-footer{flex-wrap:wrap;align-items:center}.project-card .card-footer button{max-width:100%;white-space:normal}@media(max-width:600px){.stats.overview-stats>div{padding:0 10px}.architecture-flow{flex-direction:column}.architecture-flow li{flex-basis:auto}.architecture-flow li:not(:last-child):after{content:"↓";inset:auto auto -23px 50%}}
