 
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        body {   font-family: "Outfit", sans-serif;
             background: #f3eefe; color: #1a0050; }

        /* TOP STRIP */
        .top-strip { background: #1a0050; color: #fff; font-size: 12px; padding: 7px 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; }
        .top-strip .tleft { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
        .top-strip .tleft span { display: flex; align-items: center; gap: 5px; opacity: 0.85; }
        .top-strip svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

        /* HEADER */
        .site-header { background: #560ce3; padding: 1.5rem 1.5rem 0; text-align: center; }
        .brand-row { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 4px; }
        .brand-icon { width: 42px; height: 42px; background: rgba(255,255,255,0.18); border-radius: 11px; display: flex; align-items: center; justify-content: center; }
        .brand-icon svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; }
        .pub-logo { height: 52px; max-width: 160px; object-fit: contain; border-radius: 10px; }
        .brand-title { font-size: 28px; font-weight: 800; color: #fff; letter-spacing: 1px; }
        .brand-sub { font-size: 12px; color: rgba(255,255,255,0.7); margin-bottom: 1.25rem; letter-spacing: 2px; text-transform: uppercase; }

        /* NAV */
        .site-nav { display: flex; justify-content: center; gap: 4px; background: rgba(0,0,0,0.12); flex-wrap: wrap; }
        .site-nav a {
            color: rgba(255,255,255,0.85); text-decoration: none;
            font-size: 13px; font-weight: 600; padding: 13px 26px;
            display: flex; align-items: center; gap: 7px;
            border-bottom: 3px solid transparent; transition: all 0.15s;
        }
        .site-nav a svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
        .site-nav a:hover { background: rgba(255,255,255,0.08); color: #fff; }
        .site-nav a.active { color: #fff; border-bottom-color: #fff; background: rgba(255,255,255,0.08); }

        /* LAYOUT */
        .body-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 160px 1fr 160px; gap: 20px; padding: 1.5rem; }
        .side-banner-wrap {
            position: sticky; top: 1.5rem;
            display: flex; flex-direction: column; gap: 12px;
            align-self: start;
        }
        .side-banner {
            background: #000; border-radius: 12px;
            overflow: hidden; min-height: 240px;
            display: flex; align-items: center; justify-content: center;
        }
        .side-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .side-banner-empty { color: #c4a8f5; font-size: 12px; padding: 2rem; text-align: center; min-height: 480px; display:flex; align-items:center; justify-content:center; }

        @media (max-width: 900px) {
            .body-wrap { grid-template-columns: 1fr; }
            .side-banner { min-height: 120px; }
        }

        /* FOOTER */
        .site-footer { background: #1a0050; color: rgba(255,255,255,0.6); text-align: center; padding: 1.5rem; font-size: 12px; margin-top: 2rem; }
        .site-footer a { color: #c4a8f5; text-decoration: none; }
        .site-footer a:hover { text-decoration: underline; }
 
          .page-hd { font-size: 20px; font-weight: 800; color: #1a0050; margin-bottom: 4px; }
    .page-sub { font-size: 13px; color: #8b5cf6; margin-bottom: 1.25rem; }

    .year-card { background: #fff; border: 1.5px solid #e0d0fc; border-radius: 14px; padding: 1.1rem 1.25rem; margin-bottom: 1.25rem; }
    .year-card-title { display:flex; align-items:center; gap:8px; font-size: 13px; font-weight: 700; color: #1a0050; margin-bottom: 0.9rem; }
    .year-card-title svg { width: 16px; height: 16px; stroke: #560ce3; fill: none; stroke-width: 2; }
    .year-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
    @media (max-width: 700px) { .year-grid { grid-template-columns: repeat(3, 1fr); } }
    .year-pill {
        display: flex; align-items: center; justify-content: center; gap: 4px;
        padding: 9px 0; border-radius: 9px;
        font-size: 13px; font-weight: 700;
        text-decoration: none; border: 1.5px solid #e0d0fc;
        background: #faf7ff; color: #560ce3;
        transition: all 0.15s;
    }
    .year-pill:hover { background: #f3eefe; border-color: #c4a8f5; }
    .year-pill.active { background: #560ce3; color: #fff; border-color: #560ce3; }
    .year-pill .count { font-size: 10px; opacity: 0.7; }

    .tbl-card { background: #fff; border: 1.5px solid #e0d0fc; border-radius: 14px; overflow: hidden; }
    .tbl-card-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 1rem 1.25rem; background: #faf7ff; border-bottom: 1.5px solid #e0d0fc; }
    .tbl-card-title { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; color: #1a0050; }
    .tbl-card-title svg { width: 17px; height: 17px; stroke: #560ce3; fill: none; stroke-width: 2; }
    .tbl-card-count { background: #f3eefe; color: #560ce3; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px; }

    .tbl-wrap { overflow-x: auto; }
    table { width: 100%; border-collapse: collapse; font-size: 13px; }
    thead tr { background: #560ce3; }
    th { text-align: left; padding: 11px 16px; font-size: 12px; font-weight: 700; color: #fff; letter-spacing: 0.04em; white-space: nowrap; }
    td { padding: 10px 16px; border-bottom: 1px solid #f0e8ff; color: #1a0050; }
    tr:last-child td { border-bottom: none; }
    tr:nth-child(even) td { background: #fdf9ff; }
    .td-date { font-weight: 600; white-space: nowrap; }
    .td-prize { font-family: monospace; font-weight: 800; color: #560ce3; font-size: 15px; letter-spacing: 1px; }
    .badge-num { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; padding: 4px 10px; border-radius: 7px; font-family: monospace; font-size: 13px; font-weight: 700; letter-spacing: 1px; }
    .b-3up { background: #f3eefe; color: #560ce3; }
    .b-2up { background: #ecfdf5; color: #059669; }
    .b-2down { background: #fff0f0; color: #dc2626; }
    .latest-tag { background: #fffbeb; color: #d97706; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 20px; margin-left: 6px; }
    .empty-row td { text-align: center; padding: 2.5rem; color: #b89fe8; }