        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
            line-height: 1.7;
            color: #222;
            background-color: #f8f9fa;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }
        img { max-width: 100%; height: auto; display: block; }
        h1, h2, h3, h4 { color: #202122; font-weight: 600; margin-top: 1.5em; margin-bottom: 0.5em; }
        h1 { font-size: 2.2rem; border-bottom: 1px solid #a2a9b1; padding-bottom: 0.3em; }
        h2 { font-size: 1.8rem; border-bottom: 1px solid #a2a9b1; padding-bottom: 0.2em; }
        h3 { font-size: 1.4rem; }
        p, li { margin-bottom: 1em; font-size: 1rem; }
        a { color: #3366cc; text-decoration: none; }
        a:hover { text-decoration: underline; }
        strong { font-weight: 700; }
        .lead { font-size: 1.1rem; color: #54595d; }
        .container { display: grid; grid-template-columns: 1fr; gap: 30px; }
        @media (min-width: 768px) {
            .container { grid-template-columns: 1fr 300px; }
        }
        header {
            background: white;
            border-bottom: 1px solid #a2a9b1;
            padding: 15px 0;
            margin-bottom: 25px;
            position: sticky;
            top: 0;
            z-index: 100;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }
        .header-inner {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
        }
        .my-logo {
            font-size: 1.8rem;
            font-weight: 700;
            color: #ff4757;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .my-logo i { font-size: 2rem; }
        .my-logo a { color: inherit; }
        nav ul {
            display: flex;
            list-style: none;
            flex-wrap: wrap;
            gap: 20px;
        }
        nav a {
            padding: 10px 15px;
            border-radius: 4px;
            font-weight: 500;
            transition: background 0.3s;
            min-height: 44px; min-width: 44px;
            display: flex; align-items: center; justify-content: center;
        }
        nav a:hover { background: #e6f2ff; text-decoration: none; }
        .hamburger { display: none; font-size: 1.5rem; cursor: pointer; padding: 10px; }
        @media (max-width: 767px) {
            .hamburger { display: block; }
            nav ul {
                display: none;
                flex-direction: column;
                width: 100%;
                background: white;
                position: absolute;
                top: 100%;
                left: 0;
                padding: 15px;
                border-top: 1px solid #a2a9b1;
                box-shadow: 0 5px 10px rgba(0,0,0,0.1);
            }
            nav ul.active { display: flex; }
        }
        main { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
        article section { margin-bottom: 40px; }
        aside {
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            align-self: start;
        }
        .info-box {
            border: 1px solid #a2a9b1;
            border-radius: 5px;
            padding: 15px;
            background: #f8f9fa;
            margin-bottom: 20px;
        }
        .info-box h3 { margin-top: 0; text-align: center; }
        .info-box img { margin: 15px auto; border-radius: 5px; }
        .form-group { margin-bottom: 20px; }
        input, textarea, select {
            width: 100%;
            padding: 12px;
            border: 1px solid #a2a9b1;
            border-radius: 4px;
            font-size: 1rem;
        }
        button, .btn {
            background: #3366cc;
            color: white;
            border: none;
            padding: 12px 25px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1rem;
            font-weight: 500;
            transition: background 0.3s;
            min-height: 44px; min-width: 44px;
            display: inline-flex; align-items: center; justify-content: center;
        }
        button:hover, .btn:hover { background: #2a55a5; text-decoration: none; }
        .rating { color: #ffc107; font-size: 1.5rem; margin: 10px 0; }
        .share-buttons { display: flex; gap: 10px; margin: 20px 0; }
        .share-buttons a {
            background: #f1f1f1;
            padding: 12px;
            border-radius: 50%;
            width: 44px; height: 44px;
            display: flex; align-items: center; justify-content: center;
        }
        .share-buttons a:hover { background: #e0e0e0; }
        table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
        }
        th, td {
            border: 1px solid #a2a9b1;
            padding: 12px;
            text-align: left;
        }
        th { background: #f8f9fa; }
        ul, ol { padding-left: 2em; margin-bottom: 1em; }
        footer {
            margin-top: 50px;
            padding: 30px 0;
            border-top: 1px solid #a2a9b1;
            text-align: center;
            color: #54595d;
            font-size: 0.9rem;
        }
        friend-link { display: block; margin: 10px 0; }
        .back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: #ff4757;
            color: white;
            width: 50px; height: 50px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.5rem;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            z-index: 99;
            display: none;
        }
        .back-to-top:hover { background: #e84151; }
        .text-center { text-align: center; }
        .mb-3 { margin-bottom: 1rem; }
        .mt-3 { margin-top: 1rem; }
        .p-3 { padding: 1rem; }
        .bg-light { background: #f8f9fa; }
        .border { border: 1px solid #dee2e6; }
        .rounded { border-radius: 5px; }
        .d-flex { display: flex; }
        .flex-wrap { flex-wrap: wrap; }
        .gap-2 { gap: 10px; }
        .emoji { font-size: 1.2em; }
        @media (max-width: 767px) {
            h1 { font-size: 1.8rem; }
            h2 { font-size: 1.5rem; }
            main, aside { padding: 20px; }
            .header-inner { flex-direction: column; align-items: flex-start; }
            nav { width: 100%; }
        }
