:root{font-family:Microsoft YaHei UI,Segoe UI,Arial,sans-serif;line-height:1.5;color:#15314d;background:linear-gradient(180deg,#f6fbff 0%,#eef4fa 100%);--space-1: 8px;--space-2: 16px;--space-3: 24px;--radius: 12px;--primary: #2f78b7;--shadow-soft: 0 8px 24px rgba(19, 45, 73, .08)}*{box-sizing:border-box}body{margin:0}#app{min-height:100vh}.page{max-width:1120px;margin:0 auto;padding:32px 16px 40px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.hero h1{margin:0 0 8px;font-size:32px;color:#0f2d4a}.hero p{margin:0 0 4px;color:#4e6780}.hint{font-size:13px}code{background:#ecf2f8;border-radius:6px;padding:2px 6px;font-size:12px;color:#18395a}.refresh-btn{border:none;border-radius:var(--radius);background:var(--primary);color:#fff;padding:10px 14px;font-size:14px;cursor:pointer;box-shadow:var(--shadow-soft)}.refresh-btn:disabled{opacity:.65;cursor:not-allowed}.banner{background:#e7f3ff;color:#11508c;border:1px solid #bedcf9;border-radius:var(--radius);padding:10px 12px;margin:10px 0 16px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{background:rgba(255,255,255,.95);border:1px solid #d7e4f3;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #132d491f}.card h2{margin:0;color:#1a3553}.subtitle{margin:2px 0 10px;color:#3e5f80;font-size:14px}.intro{margin:0 0 12px;color:#466683}.loading{color:#2f78b7}.error{background:#fff1f1;border:1px solid #f3c7c7;border-radius:8px;padding:10px;color:#8e2f2f}.unpublished{background:#fff9ee;border:1px solid #f0dfbf;border-radius:8px;padding:10px;color:#7a5a16}.tiny{margin-top:6px;font-size:13px}.status-ok{color:#1f7b4d}.status-bad{color:#a43a3a}.status-warn{color:#9a6a0a}.details p{margin:6px 0}.actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.btn{border-radius:var(--radius);padding:8px 12px;font-size:14px;cursor:pointer;border:1px solid #a7bfd8;text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.ghost{background:#fff;color:#275b8b}.source-row{margin-top:8px}.source-row a{color:#1f5c96;text-decoration:none}.guide,.manuals,.timeline,.security{margin-top:18px;background:#fff;border:1px solid #d7e4f3;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft)}.guide h3,.manuals h3,.timeline h3,.security h3{margin:0 0 10px;color:#1a3553}.install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.step-card{border:1px solid #dce8f6;border-radius:var(--radius);background:#f9fcff;padding:12px;position:relative}.step-badge{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#eaf3fd;color:#1f5f97;font-weight:700;margin-bottom:6px;animation:pulse 2.2s ease-in-out infinite}.step-card h4{margin:0 0 6px;color:#183a5c}.step-card p{margin:0;color:#425f7d}.manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manual-card{border:1px solid #e1ebf7;border-radius:var(--radius);padding:12px;background:#fbfdff}.manual-card h4{margin:0 0 8px;color:#183a5c}.block-title{margin:8px 0 6px;color:#245988;font-weight:700}.manual-card ul{margin:0;padding-left:18px;color:#425f7d}.timeline-empty{color:#486783}.timeline-list{list-style:none;margin:0;padding:0}.timeline-item{display:flex;gap:10px;padding:10px 0;border-top:1px dashed #d8e6f4}.timeline-item:first-child{border-top:none;padding-top:0}.dot{width:10px;height:10px;margin-top:6px;border-radius:999px;background:#2f78b7;box-shadow:0 0 0 4px #2f78b729}.line-content{flex:1}.line-title{margin:0;color:#1a3553;font-weight:700}.line-meta{margin:4px 0 2px;color:#4b6a86;font-size:13px}.line-notes{margin:0;color:#3f607f}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-card{border:1px solid #dce8f6;border-radius:var(--radius);padding:12px;background:#f9fcff}.security-card h4{margin:0 0 6px;color:#183a5c}.verify-code{margin:12px 0 0;padding:10px 12px;background:#f2f7fd;border:1px solid #d7e6f6;border-radius:var(--radius);color:#2b4f70;font-size:12px;overflow-x:auto}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (max-width: 900px){.cards,.manual-grid,.install-steps,.security-grid{grid-template-columns:1fr}.hero{flex-direction:column}}
