*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f5f5;color:#262626;font:16px/1.85 "Microsoft YaHei",sans-serif}aside{position:fixed;inset:0 auto 0 0;width:245px;background:#1f1f1f;color:#fff;padding:32px 20px;overflow:auto}aside strong{font-size:22px}aside small{display:block;color:#bdbdbd;margin:12px 0 25px}aside a{display:block;color:#e0e0e0;font-size:13px;text-decoration:none;padding:9px 4px;border-bottom:1px solid #444444}main{max-width:1080px;margin:0 auto 0 270px;padding:48px 46px 90px}h1{font-size:42px;line-height:1.35;letter-spacing:-1px;margin:0 0 22px}h2{font-size:27px;line-height:1.5;margin:65px 0 24px;padding-top:20px;border-top:2px solid #bdbdbd;scroll-margin-top:18px}h3{font-size:20px;margin-top:32px}a{color:#333333}strong{color:#111111}figure{margin:30px 0;background:#fff;border:1px solid #dddddd;border-radius:18px;padding:18px;break-inside:avoid}figure img{display:block;max-width:100%;max-height:660px;object-fit:contain;margin:auto;border-radius:9px}figcaption{text-align:center;color:#666666;font-size:13px;margin-top:12px}table{width:100%;border-collapse:collapse;background:#fff;font-size:14px;margin:25px 0}th{background:#e9e9e9;text-align:left}td,th{padding:12px 14px;border:1px solid #dddddd;vertical-align:top}tr:nth-child(even){background:#fafafa}pre{padding:24px;background:#1f1f1f;color:#eeeeee;border-radius:12px;overflow:auto;font-size:14px;line-height:1.7}code{font-family:Consolas,monospace;overflow-wrap:anywhere}p>code{background:#e8e8e8;padding:2px 5px;border-radius:4px}.video{padding:22px;background:#1f1f1f;border-radius:18px;margin:50px 0;color:#eeeeee}video{width:100%;max-height:650px;background:#111111;border-radius:10px}.timepoints{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}button{cursor:pointer;color:#222222;border:0;background:#e5e5e5;border-radius:20px;padding:9px 12px;font-family:inherit}button:hover{background:#cccccc}small{font-size:12px}.badge{display:inline-block;font-size:12px;background:#e5e5e5;border-radius:20px;padding:5px 14px;margin-bottom:25px;letter-spacing:2px}.actions{display:flex;gap:12px;font-size:13px;margin-bottom:35px}@media(min-width:1450px){main{margin-left:calc(245px + (100vw - 1325px)/2)}}@media(max-width:950px){aside{position:relative;width:auto;padding:22px}aside nav{display:none}main{margin:0;padding:30px 20px}h1{font-size:32px}table{font-size:12px}td,th{padding:9px}}@media print{aside,.actions,.video{display:none}main{margin:0;max-width:none;padding:0}body{background:white;font-size:11pt}h1{font-size:26pt}h2{font-size:18pt;margin-top:25px}figure img{max-height:380px}a{color:inherit}table{font-size:9pt}h2,h3{break-after:avoid}}video{display:block;width:100%;max-height:740px;margin:26px auto;background:#111111;border-radius:14px}a[data-time]{font-weight:bold}.chapter-group{padding:6px 10px;margin:22px 0 8px;border-left:3px solid #a0a0a0;font-size:12px;color:#bdbdbd}figure{content-visibility:auto;contain-intrinsic-size:auto 600px}
.project-home{margin-bottom:16px}.project-home a{border:0;padding:0}.project-home strong{color:#fff;font-size:18px}.project-content{min-width:0;overflow-wrap:break-word}.project-content h1{font-size:32px}.project-content iframe{max-width:100%}.project-content .table-scroll{overflow-x:auto}.project-content .table-scroll table{min-width:540px}.project-toc a[aria-current="location"]{color:#fff;border-left:3px solid #bdbdbd;padding-left:10px;background:#333}aside summary{cursor:pointer}aside details>summary{display:none}main>h1{overflow-wrap:anywhere}aside a:focus-visible,button:focus-visible{outline:2px solid #aaa;outline-offset:3px}@media(max-width:950px){aside details>summary{display:block}aside nav{display:block}aside small{margin-bottom:12px}aside details:not([open]) nav{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.project-parent { color: #262626; text-decoration: none; letter-spacing: 0; font-size: 14px; padding: 7px 18px; }
.project-parent:hover { background: #d8d8d8; }
.project-parent:focus-visible { outline: 2px solid #666; outline-offset: 3px; }

/* 正文中的普通图片和 figure 图片均限制在内容区内。 */
.project-content img {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    margin: 20px auto;
    border-radius: 9px;
}
.project-content figure {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.project-content figure img { margin: 0 auto; }
