/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
:root{--primary:#2c3e50;--secondary:#34495e;--accent:#e74c3c;--muted:#95a5a6;--background:#fafafa;--surface:#fff}body{font-family:Inter,sans-serif;background-color:var(--background);color:var(--primary);line-height:1.7}.serif{font-family:'Playfair Display',serif}.toc-fixed{position:fixed;top:0;left:0;width:270px;height:100vh;background:var(--surface);border-right:1px solid #e5e7eb;z-index:1000;overflow-y:auto;padding:2rem 1.5rem;box-shadow:2px 0 10px #0000000d;transition:transform .3s ease-in-out}.main-content{margin-left:270px;min-height:100vh;transition:margin-left .3s ease-in-out}.hero-section{background-image:url(../bjpg.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;color:#fff;position:relative;overflow:hidden}.hero-section:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000066;z-index:1}.hero-content{position:relative;z-index:2}.bento-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-top:2rem}.bento-item{background:rgba(28,155,156,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid #fffa}.section-card{background:var(--surface);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000000d;border:1px solid #f1f5f9}.highlight-box{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-left:4px solid var(--accent);padding:1.5rem;margin:1.5rem 0;border-radius:0 8px 8px 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0}.stat-card{background:var(--surface);padding:1.5rem;border-radius:8px;text-align:center;border:1px solid #e2e8f0;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.citation{color:var(--accent);text-decoration:none;font-weight:500;border-bottom:1px dotted var(--accent)}.citation:hover{background:rgba(231,76,60,.1);padding:2px 4px;border-radius:4px}.mermaid-container{display:flex;justify-content:center;min-height:300px;max-height:800px;background:var(--surface);border:2px solid #e5e7eb;border-radius:12px;padding:30px;margin:30px 0;box-shadow:0 8px 25px #00000014;position:relative;overflow:hidden}.mermaid-container .mermaid{width:100%;max-width:100%;height:100%;cursor:grab;transition:transform .3s ease;transform-origin:50%;display:flex;justify-content:center;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.mermaid-container .mermaid svg{max-width:100%;height:100%;display:block;margin:0 auto}.mermaid-container .mermaid:active{cursor:grabbing}.mermaid-container.zoomed .mermaid{height:100%;width:100%;cursor:grab}.mermaid-controls{position:absolute;top:15px;right:15px;display:flex;gap:10px;z-index:20;background:rgba(255,255,255,.95);padding:8px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.mermaid-control-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s ease;color:#374151;font-size:14px;min-width:36px;height:36px;text-align:center;display:flex;align-items:center;justify-content:center}.mermaid-control-btn:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.mermaid-control-btn:active{transform:scale(.95)}.pull-quote{font-size:1.25rem;font-style:italic;color:var(--secondary);border-left:4px solid var(--accent);padding-left:1.5rem;margin:2rem 0;background:rgba(231,76,60,.05);padding:1.5rem;border-radius:0 8px 8px 0}#desktop-toc-toggle{transition:left .3s ease-in-out;left:270px}body.toc-collapsed .toc-fixed{transform:translateX(-100%)}body.toc-collapsed .main-content{margin-left:0}body.toc-collapsed #desktop-toc-toggle{left:0}.toc-link{color:#374151;transition:font-weight .2s ease,color .2s ease;text-decoration: none;}.toc-link:hover{color:#1c9b9c;}@media (max-width: 1024px){.toc-fixed{transform:translateX(-100%);transition:transform .3s ease}.toc-fixed.open{transform:translateX(0)}.main-content{margin-left:0}.bento-grid{grid-template-columns:1fr}.mermaid-control-btn:not(.reset-zoom){display:none}.mermaid-controls{top:auto;bottom:15px;right:15px}body.toc-collapsed .main-content{margin-left:0!important}}@media (max-width: 767px){.px-8{padding-left:1rem;padding-right:1rem}.hero-content .bento-grid{grid-template-columns:1fr}.hero-content .bento-item:first-child p{word-break:break-word}.hero-content .grid.grid-cols-2{grid-template-columns:1fr;gap:.5rem}.hero-content .grid.grid-cols-2 span{padding:.5rem}}#back-to-top-btn{position:fixed;bottom:2rem;right:2rem;background-color:#f97316;color:#fff;border:none;border-radius:50%;width:50px;height:50px;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 4px 12px #00000026;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease-in-out,visibility .3s ease-in-out,transform .3s ease-in-out}#back-to-top-btn:hover{background-color:#ea580c;transform:translateY(-2px)}#back-to-top-btn.show{opacity:1;visibility:visible;transform:translateY(0)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.top-4{top:1rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-1\/2{top:50%}.right-8{right:2rem}.left-1\/2{left:50%}.z-10{z-index:10}.z-\[1001\]{z-index:1001}.mx-auto{margin-inline:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-48{height:12rem}.h-64{height:16rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*calc(1-var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1-var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1-var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1-var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1-var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1-var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:3.40282e38px}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-collapse{border-collapse:collapse}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/20{background-color:#ffffff33}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-6{padding-left:1.5rem}.pt-24{padding-top:6rem}.text-center{text-align:center}.text-left{text-align:left}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:4rem;line-height:1}.font-bold{font-weight:700}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.-backdrop-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:hidden{display:none}.lg\:h-12{height:3rem}.lg\:flex{display:flex}.lg\:pt-0{padding-top:0}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-6xl{font-size:4rem;line-height:1}.lg\:left-auto{left:auto}.lg\:top-8{top:2rem}.lg\:right-8{right:2rem}.lg\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x)var(--tw-translate-y)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}

	:root {
            --primary: #2c3e50;
            --secondary: #34495e;
            --accent: #e74c3c;
            --muted: #95a5a6;
            --background: #fafafa;
            --surface: #ffffff;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--background);
            color: var(--primary);
            line-height: 1.7;
        }
        
        .serif {
            font-family: 'Playfair Display', serif;
        }
        
        .toc-fixed {
            position: fixed;
            top: 0;
            left: 0;
            width: 260px;
            height: 100vh;
            background: var(--surface);
            border-right: 1px solid #e5e7eb;
            z-index: 1000;
            overflow-y: auto;
            padding: 2rem 1.5rem 0;
            box-shadow: 2px 0 10px rgba(0,0,0,0.05);
        }
        
        .main-content {
            margin-left: 300px;
            min-height: 100vh;
        }
        
        .hero-section {
		    background-image: url('bjpg.jpg');
			background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            color: white;
            position: relative;
            overflow: hidden;
        }
        
		.hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4); /* 黑色遮罩层，可调整透明度 */
            z-index: 1; 
        }
                
        .hero-content {
            position: relative;
            z-index: 2;
        }
        
        .bento-grid {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 2rem;
            margin-top: 2rem;
		}
        
        .bento-item {
            background: rgba(28,155,156,0.7);
            backdrop-filter: blur(10px);
            border-radius: 12px;
            padding: 1.5rem;
            border: 1px solid rgba(255,255,255,0.2);
        }
        
        .section-card {
            background: var(--surface);
            border-radius: 12px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            border: 1px solid #f1f5f9;
        }
        
        .highlight-box {
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
            border-left: 4px solid var(--accent);
            padding: 1.5rem;
            margin: 1.5rem 0;
            border-radius: 0 8px 8px 0;
        }
        
        .stat-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
            margin: 2rem 0;
        }
        
        .stat-card {
            background: var(--surface);
            padding: 1.5rem;
            border-radius: 8px;
            text-align: center;
            border: 1px solid #e2e8f0;
            transition: transform 0.2s ease;
        }
        
        .stat-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        }
        
        .citation {
            color: #1C9B9C;
            text-decoration: none;
            font-weight: 500;
            border-bottom: none;
        }
        
        .citation:hover {
            background: rgba(28, 155, 156, 0.1);
            padding: 2px 4px;
            border-radius: 4px;
        }
        
        /* Mermaid diagram styling */
        .mermaid-container {
            display: flex;
            justify-content: center;
            min-height: 300px;
            max-height: 800px;
            background: var(--surface);
            border: 2px solid #e5e7eb;
            border-radius: 12px;
            padding: 30px;
            margin: 30px 0;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
            position: relative;
            overflow: hidden;
        }

        .mermaid-container .mermaid {
            width: 100%;
            max-width: 100%;
            height: 100%;
            cursor: grab;
            transition: transform 0.3s ease;
            transform-origin: center center;
            display: flex;
            justify-content: center;
            align-items: center;
            touch-action: none; 
            -webkit-user-select: none; 
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .mermaid-container .mermaid svg {
            max-width: 100%;
            height: 100%;
            display: block;
            margin: 0 auto;
        }

        .mermaid-container .mermaid:active {
            cursor: grabbing;
        }

        .mermaid-container.zoomed .mermaid {
            height: 100%;
            width: 100%;
            cursor: grab;
        }

        .mermaid-controls {
            position: absolute;
            top: 15px;
            right: 15px;
            display: flex;
            gap: 10px;
            z-index: 20;
            background: rgba(255, 255, 255, 0.95);
            padding: 8px;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        .mermaid-control-btn {
            background: #ffffff;
            border: 1px solid #d1d5db;
            border-radius: 6px;
            padding: 10px;
            cursor: pointer;
            transition: all 0.2s ease;
            color: #374151;
            font-size: 14px;
            min-width: 36px;
            height: 36px;
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .mermaid-control-btn:hover {
            background: #f8fafc;
            border-color: #3b82f6;
            color: #3b82f6;
            transform: translateY(-1px);
        }

        .mermaid-control-btn:active {
            transform: scale(0.95);
        }
        
        .pull-quote {
            font-size: 1.25rem;
            font-style: italic;
            color: var(--secondary);
            border-left: 4px solid var(--accent);
            padding-left: 1.5rem;
            margin: 2rem 0;
            background: rgba(231, 76, 60, 0.05);
            padding: 1.5rem;
            border-radius: 0 8px 8px 0;
        }
        
        @media (max-width: 1024px) {
            .toc-fixed {
                transform: translateX(-100%);
                transition: transform 0.3s ease;
            }
            
            .toc-fixed.open {
                transform: translateX(0);
            }
            
            .main-content {
                margin-left: 0;
            }
            
            .bento-grid {
                grid-template-columns: 1fr;
            }

            /* Responsive Mermaid controls */
            .mermaid-control-btn:not(.reset-zoom) {
                display: none;
            }
            .mermaid-controls {
                top: auto;
                bottom: 15px;
                right: 15px;
            }
        }

        @media (max-width: 767px) {
            .px-8 {
                padding-left: 1rem;
                padding-right: 1rem;
            }
            .hero-content .bento-grid {
                grid-template-columns: 1fr;
            }
            .hero-content .bento-item:first-child p {
                word-break: break-word;
            }
            .hero-content .grid.grid-cols-2 {
                grid-template-columns: 1fr;
                gap: 0.5rem;
            }
            .hero-content .grid.grid-cols-2 span {
                padding: 0.5rem;
            }
        }
		
		    /* --- Styles for Desktop TOC Collapse --- */
    
    /* Add smooth transitions to layout elements */
    .toc-fixed, .main-content, #desktop-toc-toggle {
        transition: all 0.3s ease-in-out;
    }

    #desktop-toc-toggle {
        left: 282px; /* Initial position aligned with TOC width */
    }
    
    /* Styles when TOC is collapsed */
    body.toc-collapsed .toc-fixed {
        transform: translateX(-100%);
    }

    body.toc-collapsed .main-content {
        margin-left: 0;
    }

    body.toc-collapsed #desktop-toc-toggle {
        left: 0; /* Move toggle to the screen edge */
    }
    
    /* Ensure desktop styles don't conflict with mobile */
    @media (max-width: 1024px) {
        body.toc-collapsed .main-content {
            margin-left: 0 !important;
        }
    }
	
	        /* --- Back to Top Button --- */
        #back-to-top-btn {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            background-color: #f97316; /* 橘黄色 */
            color: white;
            border: none;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            font-size: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 1000;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            /* Initially hidden */
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
        }

        #back-to-top-btn:hover {
            background-color: #ea580c; /* 悬停时颜色加深 */
            transform: translateY(-2px);
        }

        #back-to-top-btn.show {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        /* --- FIX FOR TOGGLE ICONS --- */
        /* This CSS-based approach is more robust than JS class toggling */

        /* Desktop Toggle Icon Control */
        #desktop-toc-toggle #icon-expand {
            display: none;
        }
        #desktop-toc-toggle #icon-collapse {
            display: block;
        }
        body.toc-collapsed #desktop-toc-toggle #icon-expand {
            display: block;
        }
        body.toc-collapsed #desktop-toc-toggle #icon-collapse {
            display: none;
        }

        /* Mobile Toggle Icon Control */
        /* By default, show open icon, hide close icon */
        #mobile-toc-toggle #mobile-icon-close {
            display: none;
        }
        #mobile-toc-toggle #mobile-icon-open {
            display: block;
        }
        /* When button has 'is-open' class, flip visibility */
        #mobile-toc-toggle.is-open #mobile-icon-close {
            display: block;
        }
        #mobile-toc-toggle.is-open #mobile-icon-open {
            display: none;
        }
		/* 增加主目录项的垂直间距 */
nav.toc-fixed > div > ul > li {
    padding-top: 20px;
    padding-bottom: 16px;
}

/* 增加子目录项的垂直间距 */
nav.toc-fixed ul ul > li {
    padding-top: 3px;
    padding-bottom: 5px;
}

nav.toc-fixed > div:last-child {
    margin-bottom: 2rem; 