:root{--bg:#0b0f1a;--card:#111827;--card2:#0d1117;--border:#1e2640;--border-light:#2a3352;--text:#e5e7eb;--text2:#9ca3af;--dim:#6b7280;--accent:#818cf8;--accent2:#a78bfa;--blue:#3b82f6;--cyan:#22d3ee;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--pink:#ec4899;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.app{flex-direction:column;height:100vh;display:flex}.top-bar{background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1.25rem;display:flex}.brand{align-items:center;gap:.5rem;display:flex}.brand-icon{font-size:1.2rem}.brand-name{background:linear-gradient(135deg, var(--accent2), var(--pink));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:800}.brand-sep{color:var(--border-light)}.brand-tag{color:var(--dim);font-size:.75rem}.top-meta{gap:1rem;display:flex}.meta-item{color:var(--text2);font-size:.75rem}.meta-item.online{color:var(--green)}.tab-bar{background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;gap:0;padding:0 1rem;display:flex}.tab{color:var(--dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;transition:all .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.panel{flex:1;padding:1rem 1.25rem;overflow-y:auto}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.content-area{grid-template-columns:1fr 300px;align-items:start;gap:1rem;display:grid}.content-full{max-width:100%}.content-main{min-width:0}.content-side{flex-direction:column;gap:.75rem;display:flex}.info-block{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem 1.25rem}.info-block h3{color:var(--text);margin-bottom:.75rem;font-size:.95rem;font-weight:700}.info-block p{color:var(--text2);font-size:.85rem}.info-block ul{color:var(--text2);padding-left:1.25rem;font-size:.85rem}.info-block li{margin-bottom:.3rem}.hero-block{border-left:3px solid var(--accent)}.hero-block h2{margin-bottom:.25rem;font-size:1.2rem}.tagline{margin-bottom:.5rem;font-weight:500;color:var(--accent2)!important;font-size:1rem!important}.side-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.side-card h4{color:var(--text);margin-bottom:.6rem;font-size:.85rem;font-weight:600}.highlight-card{border-color:var(--accent);background:#818cf80a;border-width:1px}.kv{border-bottom:1px solid #1e264099;justify-content:space-between;padding:.25rem 0;font-size:.8rem;display:flex}.kv:last-child{border-bottom:none}.kv span:first-child{color:var(--dim)}.kv span:last-child{color:var(--text);font-weight:500}.award{color:var(--amber);margin-top:.4rem;font-size:.85rem;font-weight:700}.award-desc{color:var(--dim);margin-bottom:.25rem;font-size:.75rem}.principles{color:var(--text2);padding-left:1rem;font-size:.8rem}.principles li{margin-bottom:.2rem}.arch-detail{flex-direction:column;gap:.75rem;display:flex}.arch-step{align-items:flex-start;gap:.75rem;display:flex}.arch-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex}.arch-step strong{font-size:.9rem}.arch-step p{color:var(--text2);margin-top:.15rem;font-size:.8rem}.skills-table{flex-direction:column;gap:.4rem;display:flex}.skill-row{background:var(--card2);border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.sk-i{text-align:center;flex-shrink:0;width:24px;font-size:1rem}.skill-row strong{white-space:nowrap;min-width:70px}.skill-row span:last-child{color:var(--text2);font-size:.8rem}.data-table{border-collapse:collapse;width:100%;font-size:.8rem}.data-table th{text-align:left;background:var(--card2);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.5rem .6rem;font-size:.75rem;font-weight:600}.data-table td{color:var(--text2);border-bottom:1px solid #1e264080;padding:.45rem .6rem}.data-table tbody tr:hover{background:#818cf80a}.who-cell{white-space:nowrap;font-size:.75rem}.note-cell{color:var(--dim);font-size:.75rem}.rule-section{margin-bottom:1rem}.rule-section h4{color:var(--text2);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.note{margin-bottom:.5rem;font-weight:500;color:var(--amber)!important}.track-list{flex-direction:column;gap:.3rem;display:flex}.track-item{background:var(--card2);color:var(--text2);border-left:3px solid #0000;border-radius:6px;padding:.4rem .75rem;font-size:.85rem}.track-item.active{border-left-color:var(--accent);color:var(--accent);background:#818cf814;font-weight:600}.timeline-detail{flex-direction:column;gap:.3rem;display:flex}.tl-row{background:var(--card2);border-radius:6px;grid-template-columns:100px 1fr auto;align-items:center;gap:.75rem;padding:.45rem .6rem;font-size:.85rem;display:grid}.tl-d{color:var(--text);font-size:.8rem;font-weight:600}.tl-c{color:var(--text2)}.tl-s{text-align:right;font-size:.75rem}.tl-s.done{color:var(--green)}.tl-s.current{color:var(--blue)}.awards-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.award-card{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.award-title{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.award-name{color:var(--amber);margin:.25rem 0 .5rem;font-size:.95rem;font-weight:700}.award-card ul{color:var(--text2);padding-left:1rem;font-size:.8rem}.deliver-item{align-items:flex-start;gap:.6rem;margin-bottom:.75rem;display:flex}.deliver-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:.7rem;font-weight:700;display:flex}.deliver-item strong{margin-bottom:.15rem;font-size:.85rem;display:block}.deliver-item p{color:var(--dim);margin:0;font-size:.75rem}.phase-block{margin-bottom:1rem}.phase-title{background:var(--card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:2px solid var(--accent);padding:.5rem .75rem;font-size:.9rem;font-weight:700}.plan-table{border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.st-overdue td{color:var(--text)!important}.st-overdue td:first-child{border-left:3px solid var(--red)}.st-today td:first-child{border-left:3px solid var(--amber)}.st-done{opacity:.6}.status-cell{white-space:nowrap}.stat-big{align-items:baseline;gap:.4rem;margin-bottom:.5rem;display:flex}.stat-num{color:var(--accent);font-size:2rem;font-weight:800}.stat-big span:last-child{color:var(--dim);font-size:.85rem}.progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--blue), var(--accent2));border-radius:3px;min-width:2px;height:100%}.alert-item{border-radius:6px;margin-bottom:.3rem;padding:.4rem .6rem;font-size:.8rem;font-weight:500}.alert-item.red{color:var(--red);background:#ef44441a}.alert-item.amber{color:var(--amber);background:#f59e0b1a}.member-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.member-card{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid;padding:.85rem 1rem}.mc-header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.mc-emoji{font-size:1.5rem}.mc-role{font-size:.9rem;font-weight:700}.mc-names{color:var(--dim);font-size:.75rem}.mc-tasks{color:var(--text2);font-size:.8rem}.bottom-bar{background:var(--card);border-top:1px solid var(--border);color:var(--dim);flex-shrink:0;justify-content:space-between;align-items:center;padding:.35rem 1.25rem;font-size:.65rem;display:flex}@media (width<=900px){.content-area{grid-template-columns:1fr}.content-side{flex-flow:wrap}.side-card{flex:1;min-width:200px}}
