:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--bg-soft:#121826;--panel:#171f2f;--panel-2:#1f2a3d;--line:#ffffff14;--text:#eef2ff;--muted:#9ca7bf;--accent:#7dd3fc;--accent-2:#a78bfa;--good:#34d399;--warn:#fbbf24;--shadow:0 24px 60px #00000059;--radius:16px;--radius-sm:10px;--content-width:1480px;font-family:Inter,Noto Sans SC,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#0a1020 0%,#0d1117 48%,#10151f 100%)}body{min-height:100vh;color:var(--text);background:0 0;margin:0;overflow-x:auto}button,input{font:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{min-width:1220px;min-height:100vh}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:#090d16d1;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand img{object-fit:cover;width:42px;height:42px;box-shadow:var(--shadow);border-radius:12px}.brand strong{font-size:.98rem;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.search-box{border:1px solid var(--line);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;min-width:min(42vw,420px);padding:10px 12px;display:flex}.search-box input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.search-box input::placeholder{color:var(--muted)}.clear-button,.ghost-button,.primary-button,.secondary-button,.nav-item,.result-item,.anchor-item,.steam-link{cursor:pointer;border:0}.clear-button{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:999px}.ghost-button,.primary-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.ghost-button{color:var(--text);border:1px solid var(--line);background:#ffffff0a}.primary-button{color:#07111f;background:linear-gradient(135deg, var(--accent), #93c5fd)}.secondary-button{color:var(--text);background:#7dd3fc1a;border:1px solid #7dd3fc38}.ghost-button:hover,.primary-button:hover,.secondary-button:hover,.nav-item:hover,.result-item:hover,.anchor-item:hover,.steam-link:hover,.icon-button:hover{transform:translateY(-1px)}.nav-item.active,.anchor-item.active{background:#7dd3fc1f;border:1px solid #7dd3fc47}.primary-button:disabled,.secondary-button:disabled{cursor:default;opacity:.5;transform:none}.page-grid{max-width:var(--content-width);grid-template-columns:minmax(240px,280px) minmax(0,1fr) minmax(220px,260px);gap:20px;margin:0 auto;padding:20px;display:grid}.sidebar{flex-direction:column;gap:16px;min-width:0;display:flex}.sidebar-section,.hero-shell,.doc-section{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);background:#0d111bc2}.sidebar-section{padding:16px}.sidebar-section.sticky{position:sticky;top:92px}.sidebar-title{color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;font-size:.9rem;display:flex}.nav-list,.result-list,.anchor-list{flex-direction:column;gap:8px;display:flex}.nav-item,.result-item,.anchor-item{width:100%;color:var(--text);background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.result-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.content,.hero-shell,.hero-art,.hero-art-stack,.hero-media,.doc-section,.stage-card,.mod-card,.system-card,.api-card,.tutorial-card,.timeline-body,.code-block{min-width:0}.hero-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;margin-bottom:20px;padding:24px;display:grid}.hero-text h1{letter-spacing:0;overflow-wrap:normal;word-break:normal;margin:10px 0 12px;font-size:clamp(2rem,3.1vw,3.35rem);line-height:1.02}.hero-text{min-width:0}.brand-title span{margin-right:.18em;display:inline-block}.hero-text p,.doc-section p,.feature-panel li,.system-card p,.tutorial-goal,.mod-card p,.api-card dd,.api-card dt,.timeline-body p,.xml-entry p,.xml-info-pill p,.xml-field-row span,.xml-pitfalls li{color:var(--muted);line-height:1.7}.eyebrow,.kicker,.mini-label{color:#bae6fd;letter-spacing:.04em;text-transform:uppercase;background:#7dd3fc1a;border-radius:999px;align-items:center;width:fit-content;padding:6px 10px;font-size:.76rem;display:inline-flex}.cta-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-art{grid-template-columns:minmax(0,1.45fr) minmax(94px,.55fr);gap:14px;min-width:0;display:grid}.hero-art-main,.hero-art-stack img,.system-card img{object-fit:cover;border-radius:16px;width:100%;height:100%}.hero-art-main{border:1px solid var(--line);min-height:360px}.hero-art-stack{gap:12px;display:grid}.hero-art-stack img{border:1px solid var(--line);min-height:110px}.content-stack{flex-direction:column;gap:20px;display:flex}.page-switcher{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#0d111bc2;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:20px;padding:16px;display:grid}.page-switcher .primary-button,.page-switcher .secondary-button{width:100%}.page-switcher span{color:var(--muted);white-space:nowrap;font-size:.86rem}.doc-section{padding:22px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin:10px 0 8px;font-size:clamp(1.6rem,2vw,2.4rem);line-height:1.15}.section-heading p{max-width:920px;margin:0}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;display:grid}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);min-height:34px;color:var(--text);background:#ffffff0a;border-radius:999px;align-items:center;padding:0 11px;font-size:.84rem;display:inline-flex}.tag-strong{background:#7dd3fc14;border-color:#7dd3fc2e}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.metric-card,.feature-panel,.stage-card,.mod-card,.system-card,.api-card,.tutorial-card{border:1px solid var(--line);background:#ffffff08;border-radius:14px}.xml-entry{border:1px solid var(--line);background:#ffffff08;border-radius:14px;flex-direction:column;gap:16px;min-width:0;padding:20px;scroll-margin-top:94px;display:flex}.xml-entry-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:14px;display:flex}.xml-entry-head h3{margin:12px 0 8px;font-size:1.45rem}.xml-entry-head p{max-width:920px;margin:0}.xml-meta-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.xml-info-pill{border:1px solid var(--line);background:#090d166b;border-radius:14px;min-width:0;padding:14px}.xml-info-pill span{color:#cbd5e1;margin-bottom:8px;font-size:.82rem;display:block}.xml-info-pill p{overflow-wrap:anywhere;margin:0}.xml-field-table{flex-direction:column;gap:8px;min-width:0;display:flex}.xml-field-row{border:1px solid var(--line);background:#090d166b;border-radius:12px;grid-template-columns:minmax(150px,.82fr) minmax(130px,.7fr) minmax(82px,.38fr) minmax(0,1.95fr);align-items:start;gap:10px;padding:12px;display:grid}.xml-field-row-head{color:#cbd5e1;background:#7dd3fc14;font-size:.82rem}.xml-field-row code{white-space:pre-wrap;overflow-wrap:anywhere;color:#bae6fd;font-size:.82rem;line-height:1.55}.xml-field-row span{overflow-wrap:anywhere;min-width:0;font-size:.86rem}.xml-field-row small{color:#cbd5e1;margin-top:6px;line-height:1.55;display:block}.xml-detail-grid{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:14px;display:grid}.xml-pitfalls{margin-top:10px}.xml-doc-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.xml-index{border:1px solid var(--line);background:#ffffff09;border-radius:14px;flex-direction:column;gap:8px;min-width:0;max-height:calc(100vh - 112px);padding:14px;display:flex;position:sticky;top:92px;overflow:auto}.xml-index button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff08;border:0;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;transition:background .18s,transform .18s;display:flex}.xml-index button:hover{background:#7dd3fc14;transform:translate(2px)}.xml-index button.active{background:#7dd3fc24;outline:1px solid #7dd3fc47}.xml-index small{color:var(--muted);overflow-wrap:anywhere}.xml-detail-stack{min-width:0}.metric-card{padding:16px}.metric-card strong{font-size:1.2rem;display:block}.metric-card span{color:var(--muted);font-size:.86rem}.feature-panel{padding:16px}.feature-panel-head,.system-card-title,.api-head,.tutorial-head,.extension-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feature-panel-head{color:var(--text);margin-bottom:12px}.bullets,.system-card ul,.ordered-list{margin:0;padding-left:18px}.bullets li,.system-card li,.ordered-list li{margin:8px 0}.hero-media{min-width:0;position:relative}.hero-media img{object-fit:cover;border:1px solid var(--line);border-radius:16px;width:100%;height:100%;min-height:420px}.media-badges{flex-wrap:wrap;gap:10px;display:flex;position:absolute;inset:auto 14px 14px}.media-badges span{background:#090d16d6;border:1px solid #ffffff14;border-radius:999px;padding:8px 10px;font-size:.82rem}.architecture-layout{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:start;gap:16px;display:grid}.architecture-main,.architecture-side{flex-direction:column;gap:14px;min-width:0;display:flex}.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stage-card,.mod-card{border:1px solid var(--line);background:#ffffff08;border-radius:14px}.stage-card{padding:14px}.stage-card p,.extension-point p{color:var(--muted);margin:7px 0 0;line-height:1.65}.extension-point-list{flex-direction:column;gap:12px;display:flex}.extension-point{border-bottom:1px solid var(--line);padding-bottom:12px}.extension-point:last-child{border-bottom:0;padding-bottom:0}.system-grid,.api-grid,.tutorial-grid,.mod-grid{gap:14px;display:grid}.system-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-card img{border-bottom-right-radius:0;border-bottom-left-radius:0;height:168px}.system-card-body,.api-card,.tutorial-card,.mod-card-body{padding:16px}.system-card-body h3,.api-card h3,.tutorial-card h3,.mod-card h3{margin:0}.api-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-page{flex-direction:column;gap:18px;display:flex}.api-page-intro{grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);align-items:stretch;gap:16px;display:grid}.api-page-copy,.api-jump-card,.api-index,.api-detail-card,.info-block,.model-card{border:1px solid var(--line);background:#ffffff09;border-radius:14px}.api-page-copy{padding:18px}.api-page-copy h3{margin:12px 0 8px;font-size:1.35rem}.api-page-copy p{color:var(--muted);margin:0;line-height:1.75}.api-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.api-jump-card{flex-direction:column;gap:7px;padding:14px;transition:transform .18s,border-color .18s,background .18s;display:flex}.api-jump-card:hover{background:#7dd3fc0f;border-color:#7dd3fc47;transform:translateY(-1px)}.api-jump-card span,.api-jump-card small,.api-index small{color:var(--muted)}.api-jump-card strong{font-size:1rem}.api-doc-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.api-index{flex-direction:column;gap:8px;padding:14px;display:flex;position:sticky;top:92px}.api-index-title{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;display:flex}.api-index a{background:#ffffff08;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;transition:background .18s,transform .18s;display:flex}.api-index a:hover{background:#7dd3fc14;transform:translate(2px)}.api-detail-stack{flex-direction:column;gap:18px;min-width:0;display:flex}.api-detail-card{padding:20px;scroll-margin-top:94px}.api-detail-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding-bottom:16px;display:flex}.api-detail-head h3{margin:12px 0 8px;font-size:1.55rem}.api-detail-head p,.api-note{max-width:940px;color:var(--muted);margin:0;line-height:1.75}.api-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 18px;display:grid}.info-block{padding:14px}.info-label{color:#cbd5e1;align-items:center;gap:8px;margin-bottom:8px;font-size:.84rem;display:flex}.info-block p{color:var(--muted);margin:0;line-height:1.65}.api-subsection{margin-top:18px}.api-subsection h4{margin:0 0 12px;font-size:1.05rem}.api-subsection.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.method-table{flex-direction:column;gap:10px;display:flex}.method-row{border:1px solid var(--line);background:#090d167a;border-radius:14px;grid-template-columns:270px minmax(0,1fr);gap:14px;padding:14px;display:grid}.method-name{flex-direction:column;gap:8px;min-width:0;display:flex}.method-name code{white-space:pre-wrap;overflow-wrap:anywhere;color:#bae6fd;font-size:.78rem;line-height:1.5;display:block}.method-body p{color:var(--text);margin:0 0 10px;line-height:1.65}.method-body dl{grid-template-columns:84px minmax(0,1fr);gap:6px 10px;margin:0;display:grid}.method-body dt{color:#cbd5e1}.method-body dd{color:var(--muted);margin:0;line-height:1.6}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.model-card{padding:14px}.model-card p{color:var(--muted);margin:8px 0 0;line-height:1.65}.api-card{flex-direction:column;gap:14px;display:flex}.api-grid-list{grid-template-columns:150px minmax(0,1fr);gap:8px 14px;margin:0;display:grid}.api-grid-list dt{color:#cbd5e1;font-size:.82rem}.api-grid-list dd{margin:0}.code-block{background:#0b1220;border:1px solid #7dd3fc24;border-radius:14px;position:relative;overflow:hidden}.code-block pre{margin:0;padding:18px 16px 16px;overflow:auto}.code-block code{gap:0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.65;display:grid}.code-line{white-space:pre}.copy-button{z-index:1;color:var(--text);background:#080d18eb;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex;position:absolute;top:10px;right:10px}.timeline{gap:14px;display:grid}.timeline-item{grid-template-columns:16px minmax(0,1fr);gap:14px;display:grid}.timeline-bullet{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:999px;width:12px;height:12px;margin-top:8px;box-shadow:0 0 0 4px #7dd3fc14}.timeline-body{border:1px solid var(--line);background:#ffffff08;border-radius:14px;padding:16px}.timeline-body h3,.tutorial-card h3{margin-top:4px;margin-bottom:8px}.tutorial-grid,.mod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-card,.mod-card{flex-direction:column;gap:14px;display:flex;overflow:hidden}.mod-card{scroll-margin-top:94px}.mod-cover{aspect-ratio:16/9;background:#090d1685;display:block;overflow:hidden}.mod-cover img{object-fit:cover;width:100%;height:100%}.mod-card-body{flex-direction:column;flex:1;gap:14px;display:flex}.mod-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mod-card-head h3{margin-top:8px;font-size:1.15rem}.mod-summary{color:#dbeafe;margin:0;font-weight:650}.mod-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.steam-link{color:#07111f;background:linear-gradient(135deg, var(--accent), #93c5fd);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:inline-flex}.tutorial-goal{margin:0}.code-caption,.meta-line{color:var(--muted);font-size:.84rem}.meta-line{justify-content:space-between;gap:10px;display:flex}.steam-link{background:#7dd3fc14;border:1px solid #7dd3fc29;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.empty-state{color:var(--muted);margin:0}.icon-button{align-items:center;gap:8px;display:inline-flex}.mobile-only{display:none}@media (width<=1220px){.app-shell{min-width:0}.page-grid{grid-template-columns:minmax(0,1fr);padding:14px}.sidebar.left{display:none}.sidebar.left.open{z-index:60;border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 88px);box-shadow:var(--shadow);background:#090d16f5;padding:14px;display:flex;position:fixed;inset:72px 14px auto;overflow:auto}.sidebar.right{display:none}.mobile-only{display:inline-flex}.hero-shell,.hero-grid,.architecture-layout,.api-page-intro,.api-doc-layout,.xml-doc-layout,.xml-meta-grid,.xml-detail-grid{grid-template-columns:minmax(0,1fr)}.api-index{position:static}.xml-index{max-height:none;position:static}.system-grid,.stage-grid,.tutorial-grid,.mod-grid,.mod-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.topbar{align-items:flex-start;padding:12px}.brand span{display:none}.topbar-actions{width:100%}.search-box{order:3;width:100%;min-width:0}.hero-shell,.doc-section{padding:16px}.hero-art{grid-template-columns:minmax(0,1fr)}.hero-art-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art-main{min-height:260px}.hero-media img{min-height:280px}.system-grid,.stage-grid,.tutorial-grid,.mod-grid,.api-contract-grid,.api-subsection.split,.model-grid,.mod-info-grid,.xml-meta-grid,.xml-detail-grid,.method-row{grid-template-columns:minmax(0,1fr)}.xml-entry{padding:16px}.xml-entry-head{flex-direction:column}.xml-field-row,.xml-field-row-head{grid-template-columns:minmax(0,1fr)}.xml-field-row-head{display:none}}
