:root{color-scheme:light;--ink:#18201d;--muted:#66716c;--line:#dce2df;--paper:#fff;--soft:#f4f7f5;--green:#146b4a;--green-soft:#e4f2eb;--blue:#245a8d;--amber:#946400;--shadow:0 18px 50px rgba(25,38,32,.09);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px}a{color:inherit}button,input{font:inherit}.home-header{height:68px;display:flex;align-items:center;gap:32px;padding:0 max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10}.home-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:230px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800;border-radius:6px}.home-brand strong,.home-brand small{display:block}.home-brand strong{font-size:15px}.home-brand small{color:var(--muted);font-size:11px;margin-top:2px}.home-header nav{display:flex;align-items:center;gap:22px;margin-left:auto}.home-header nav a,.header-login{border:0;background:transparent;text-decoration:none;color:var(--muted);font-size:13px;cursor:pointer}.home-header nav a:hover,.header-login:hover{color:var(--ink)}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:70px;max-width:1200px;margin:0 auto;padding:100px 24px 96px;min-height:570px}.eyebrow,.section-kicker{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{font-size:clamp(42px,6vw,70px);line-height:1.08;letter-spacing:-.02em;margin:16px 0 22px}.hero-copy h1 em{font-style:normal;color:var(--green)}.hero-lead{max-width:620px;color:#4d5953;line-height:1.85;margin:0 0 34px}.problem-search{max-width:620px}.problem-search label{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.search-line{display:flex;border:1px solid #abb9b2;border-radius:7px;overflow:hidden;box-shadow:0 8px 24px rgba(20,107,74,.08)}.search-line:focus-within{border-color:var(--green);box-shadow:0 0 0 4px rgba(20,107,74,.1)}.search-line input{min-width:0;flex:1;height:52px;border:0;padding:0 16px;outline:0}.search-line button{width:58px;border:0;background:var(--green);color:#fff;font-size:26px;cursor:pointer}.quick-questions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-questions button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:11px;padding:6px 10px;cursor:pointer}.quick-questions button:hover{border-color:var(--green);color:var(--green)}.hero-trace{align-self:center;justify-self:end;text-align:center}.trace-orbit{position:relative;width:360px;height:360px;border:1px solid #c8d9cf;border-radius:50%;background:radial-gradient(circle at center,#f8fcf9 0 27%,transparent 28%),conic-gradient(from 20deg,transparent 0 28%,#dceee4 28% 29%,transparent 29% 62%,#dceee4 62% 63%,transparent 63% 100%)}.orbit-line{position:absolute;inset:48px;border:1px dashed #aac9b8;border-radius:50%}.trace-node{position:absolute;width:110px;height:110px;display:grid;place-content:center;gap:4px;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:var(--shadow)}.trace-node b{font-size:10px;color:var(--muted)}.trace-node strong{font-size:15px}.trace-node small{font-size:10px;color:var(--muted)}.source-node{left:15px;top:120px}.ontology-node{right:12px;top:42px}.skill-node{right:20px;bottom:34px;background:var(--green);color:#fff;border-color:var(--green)}.skill-node small,.skill-node b{color:#d9f3e4}.hero-trace>p{color:var(--muted);font-size:12px;margin:18px 0 0}.sample-section,.showcase-section,.how-section,.agent-section{border-top:1px solid var(--line);padding:72px max(24px,calc((100vw - 1200px)/2))}.sample-section{background:var(--soft)}.sample-layout{display:grid;grid-template-columns:330px 1fr;gap:70px;align-items:center;margin-top:18px}.sample-layout h2,.section-head h2,.how-section h2,.agent-section h2{font-size:30px;line-height:1.25;margin:8px 0 13px}.sample-layout p,.agent-section p{color:var(--muted);line-height:1.8;margin:0 0 18px}.text-link{color:var(--green);font-size:13px;font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}.sample-chain{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;gap:10px;align-items:center}.sample-chain>i{font-size:20px;color:#a3b7ab;text-align:center}.chain-card{min-height:125px;padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 8px 25px rgba(25,38,32,.05)}.chain-card.accent{border-color:#a9cbb7;background:var(--green-soft)}.chain-card span,.chain-card small{display:block;color:var(--muted);font-size:10px}.chain-card strong{display:block;font-size:16px;margin:13px 0 8px;line-height:1.35}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.asset-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.asset-card:hover{transform:translateY(-3px);border-color:#a9cbb7;box-shadow:var(--shadow)}.asset-card .card-no{color:var(--green);font-size:11px;font-weight:800}.asset-card h3{font-size:16px;line-height:1.45;margin:14px 0 9px}.asset-card p{color:var(--muted);font-size:12px;line-height:1.65;min-height:40px;margin:0 0 14px}.asset-meta{display:flex;gap:7px;flex-wrap:wrap;color:#7b8781;font-size:10px}.asset-meta span{padding:4px 7px;border-radius:4px;background:var(--soft)}.loading-state{grid-column:1/-1;padding:46px;text-align:center;color:var(--muted)}.how-section{background:#fbfcfb}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);margin-top:25px;background:var(--line)}.how-grid article{padding:24px;background:#fff}.how-grid span{color:var(--green);font-size:12px;font-weight:800}.how-grid h3{margin:18px 0 8px;font-size:17px}.how-grid p{color:var(--muted);line-height:1.7;font-size:13px;margin:0}.agent-section{display:flex;justify-content:space-between;align-items:center;gap:30px}.agent-section>div:first-child{max-width:680px}.agent-actions{display:flex;gap:9px;flex:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 15px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:750}.button.primary{background:var(--green);color:#fff}.button.secondary{border:1px solid var(--line);background:#fff}.home-footer{display:flex;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1200px)/2));border-top:1px solid var(--line);color:var(--muted);font-size:11px}.home-footer a{text-decoration:none}.home-footer a:hover{color:var(--ink)}@media(max-width:900px){.home-hero{grid-template-columns:1fr;gap:45px;padding-top:70px}.hero-trace{justify-self:start}.sample-layout{grid-template-columns:1fr;gap:30px}.showcase-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.home-header{height:58px;padding-inline:14px}.home-brand{min-width:0}.home-header nav{gap:10px}.home-header nav a:not(:first-child){display:none}.home-hero{padding:55px 14px 60px;min-height:0}.hero-copy h1{font-size:42px}.hero-trace{transform:scale(.82);transform-origin:left center;height:300px}.sample-section,.showcase-section,.how-section,.agent-section{padding:52px 14px}.sample-chain{grid-template-columns:1fr;gap:8px}.sample-chain>i{transform:rotate(90deg)}.showcase-grid,.how-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:8px}.agent-section{display:block}.agent-actions{margin-top:22px}.home-footer{padding:18px 14px;display:grid;gap:7px}}

/* ========= KMAP v1.2 publication trace ========= */
.v12-pub { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; margin-left: 6px; }
.v12-pub.v12-showcase, .v12-pub.v12-public { background: #dcfce7; color: #166534; }
.v12-pub.v12-pending { background: #fef3c7; color: #92400e; }
.v12-pub.v12-internal { background: #f1f5f9; color: #64748b; }

.v12-trace { margin: 18px 0 8px; padding: 16px 18px; border: 1px solid var(--border, #e2e8f0); border-radius: 14px; background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.v12-trace[data-stage="featured"] { border-color: #16a34a; background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%); }
.v12-trace[data-stage="unstarted"] { border-color: #fde68a; background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%); }
.v12-trace-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.v12-stage-label { font-size: 13px; font-weight: 700; color: #0f172a; }
.v12-stage-rule { font-size: 11.5px; color: #64748b; }
.v12-trace-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 14px; }
.v12-step { display: grid; grid-template-columns: 22px 1fr auto auto; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--border, #e2e8f0); border-radius: 10px; background: #ffffff; }
.v12-step.ok { border-color: #bbf7d0; background: #f0fdf4; }
.v12-step.pending { border-color: #fde68a; background: #fffbeb; }
.v12-step-no { width: 22px; height: 22px; border-radius: 999px; background: #0f172a; color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.v12-step.ok .v12-step-no { background: #16a34a; }
.v12-step.pending .v12-step-no { background: #d97706; }
.v12-step-label { font-weight: 700; font-size: 13px; color: #0f172a; }
.v12-step small { font-size: 11.5px; color: #64748b; }
.v12-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 4px; vertical-align: middle; }
.v12-dot.ok { background: #16a34a; }
.v12-dot.pending { background: #d97706; }
@media (max-width: 720px) { .v12-trace-list { grid-template-columns: 1fr; } }

/* Home showcase: v1.2 strip */
.v12-trace-strip { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #e2e8f0; align-items: center; }
.v12-strip-label { font-size: 11px; font-weight: 700; color: #475569; margin-right: 4px; }
.v12-strip-status { font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 999px; }
.v12-strip-status.ok { background: #dcfce7; color: #166534; }
.v12-strip-status.pending { background: #fef3c7; color: #92400e; }
