        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.7;
            color: #333;
            background-color: #f9f9f9;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }
        a { color: #58cc02; text-decoration: none; transition: color 0.3s; }
        a:hover { color: #4bb302; text-decoration: underline; }
        img { max-width: 100%; height: auto; display: block; }
        ul, ol { padding-left: 2em; margin: 1em 0; }
        li { margin-bottom: 0.5em; }
        h1, h2, h3, h4 { color: #1a1a1a; font-weight: 700; margin-top: 1.5em; margin-bottom: 0.75em; line-height: 1.3; }
        h1 { font-size: 2.8rem; border-bottom: 3px solid #58cc02; padding-bottom: 0.3em; }
        h2 { font-size: 2.2rem; color: #2a6e0d; }
        h3 { font-size: 1.8rem; color: #3d8b1a; }
        h4 { font-size: 1.5rem; color: #4fa829; }
        p { margin-bottom: 1.5em; text-align: justify; }
        .lead { font-size: 1.3rem; font-weight: 500; color: #555; }
        .highlight { background-color: #e9f7e1; padding: 0.2em 0.5em; border-radius: 4px; font-weight: 600; }
        .note { background-color: #fff9e6; border-left: 5px solid #ffcc00; padding: 1em; margin: 1.5em 0; font-style: italic; }
        .code-box { background-color: #2d2d2d; color: #f8f8f2; padding: 1.5em; border-radius: 8px; font-family: 'Courier New', monospace; margin: 1.5em 0; overflow-x: auto; }
        .last-updated { font-size: 0.9rem; color: #777; text-align: right; margin-top: 2em; padding-top: 1em; border-top: 1px dashed #ccc; }
        .site-header { padding: 1.5em 0; border-bottom: 2px solid #eee; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
        .my-logo { font-size: 2.5rem; font-weight: 900; color: #58cc02; text-shadow: 2px 2px 4px rgba(0,0,0,0.1); }
        .my-logo a { color: inherit; text-decoration: none; }
        .my-logo span { color: #1cb0f6; }
        .main-nav { display: flex; align-items: center; }
        .nav-list { display: flex; list-style: none; gap: 2em; }
        .nav-list a { font-weight: 600; padding: 0.5em 0; position: relative; }
        .nav-list a:after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: #58cc02; transition: width 0.3s; }
        .nav-list a:hover:after { width: 100%; }
        .hamburger { display: none; font-size: 1.8rem; background: none; border: none; color: #58cc02; cursor: pointer; }
        .breadcrumb { margin: 1.5em 0; font-size: 0.95rem; color: #666; }
        .breadcrumb a { color: #666; }
        .breadcrumb a:hover { color: #58cc02; }
        .breadcrumb span { margin: 0 0.5em; }
        .search-container { background: #eef8e7; padding: 2em; border-radius: 12px; margin: 2em 0; text-align: center; }
        .search-form { display: flex; max-width: 600px; margin: 0 auto; }
        .search-input { flex-grow: 1; padding: 1em; border: 2px solid #c0e6a4; border-radius: 8px 0 0 8px; font-size: 1rem; }
        .search-btn { background: #58cc02; color: white; border: none; padding: 0 1.5em; border-radius: 0 8px 8px 0; cursor: pointer; font-size: 1rem; transition: background 0.3s; }
        .search-btn:hover { background: #4bb302; }
        .content-wrapper { display: grid; grid-template-columns: 1fr 300px; gap: 3em; margin: 3em 0; }
        @media (max-width: 992px) {
            .content-wrapper { grid-template-columns: 1fr; }
        }
        .article-content { background: white; padding: 2.5em; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); }
        .sidebar { background: white; padding: 2em; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); align-self: start; }
        .sidebar-widget { margin-bottom: 2.5em; }
        .sidebar-widget h3 { font-size: 1.5rem; margin-bottom: 1em; padding-bottom: 0.5em; border-bottom: 2px solid #eee; }
        .user-interaction { background: #f0f9ff; padding: 2em; border-radius: 12px; margin: 2em 0; }
        .interaction-form { display: grid; gap: 1em; margin-top: 1em; }
        .form-group label { display: block; margin-bottom: 0.5em; font-weight: 600; }
        .form-control { width: 100%; padding: 0.8em; border: 1px solid #ccc; border-radius: 6px; font-size: 1rem; }
        .rating-stars { display: flex; gap: 0.5em; margin: 0.5em 0; }
        .star { font-size: 1.8rem; color: #ddd; cursor: pointer; transition: color 0.2s; }
        .star:hover, .star.active { color: #ffcc00; }
        .btn-submit { background: #1cb0f6; color: white; border: none; padding: 1em 2em; border-radius: 8px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: background 0.3s; }
        .btn-submit:hover { background: #0a9bd8; }
        .site-footer { background: #2d2d2d; color: #ddd; padding: 3em 0; margin-top: 3em; border-radius: 12px 12px 0 0; }
        .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2em; }
        .footer-widget h4 { color: #58cc02; margin-bottom: 1.5em; }
        .friend-links { display: flex; flex-wrap: wrap; gap: 1em; list-style: none; }
        .friend-links a { color: #a0e05c; }
        .copyright { text-align: center; margin-top: 3em; padding-top: 2em; border-top: 1px solid #444; font-size: 0.9rem; color: #aaa; }
        @media (max-width: 768px) {
            h1 { font-size: 2.2rem; }
            h2 { font-size: 1.8rem; }
            h3 { font-size: 1.5rem; }
            .site-header { flex-direction: column; align-items: flex-start; }
            .main-nav { width: 100%; margin-top: 1em; }
            .nav-list { flex-direction: column; gap: 1em; display: none; width: 100%; }
            .nav-list.active { display: flex; }
            .hamburger { display: block; align-self: flex-end; margin-top: -3em; }
            .search-form { flex-direction: column; }
            .search-input, .search-btn { border-radius: 8px; width: 100%; }
            .search-btn { margin-top: 0.5em; padding: 1em; }
            .article-content, .sidebar { padding: 1.5em; }
        }
        .emoji { font-size: 1.2em; margin-right: 0.3em; }
        .section-divider { height: 3px; background: linear-gradient(to right, #58cc02, #1cb0f6); border: none; margin: 2.5em 0; }
