
    /* ═══ Contest Hero ═══ */
    .contest-hero {
      padding: clamp(3rem, 8vw, 7rem) 0 clamp(2rem, 6vw, 4rem);
      border-bottom: var(--ui-border) solid var(--ui-line);
      margin-bottom: var(--gap-2xl);
      text-align: center;
      overflow: hidden;
    }
    .contest-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--font-mono);
      font-size: 0.7rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 6px 14px;
      border: var(--ui-border) solid var(--ui-line);
      margin-bottom: var(--gap-xl);
      color: var(--ui-fg-muted);
    }
    .contest-status .dot {
      width: 6px; height: 6px;
      background: #22c55e;
      border-radius: 50%;
      animation: dotPulse 2s ease-in-out infinite;
    }
    @keyframes dotPulse { 0%,100%{opacity:1} 50%{opacity:.3} }
    .contest-status.ended .dot { background: var(--ui-fg-muted); animation: none; }

    /* ═══ Character-by-Character Pop Title ═══ */
    .char-pop-title {
      font-family: var(--font-serif);
      font-size: clamp(1.75rem, 5vw, 3.5rem);
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: -0.02em;
      margin-bottom: var(--gap-md);
      word-break: break-word;
    }
    .char-pop-title .char {
      display: inline-block;
      opacity: 0;
      transform: translateY(12px) scale(0.9);
      animation: charPopIn .5s cubic-bezier(.16,1,.3,1) forwards;
    }
    @keyframes charPopIn {
      0%{opacity:0;transform:translateY(12px) scale(.9)}
      60%{opacity:1;transform:translateY(-2px) scale(1.02)}
      100%{opacity:1;transform:translateY(0) scale(1)}
    }
    .contest-subtitle {
      font-size: clamp(0.9rem, 2vw, 1.1rem);
      color: var(--ui-fg-muted);
      margin-bottom: var(--gap-lg);
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.7;
    }

    /* ═══ Breathing Section ═══ */
    .section-breath { padding: clamp(2.5rem, 7vw, 5rem) 0; }

    /* ═══ Info Grid ═══ */
    .info-grid {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 1px;
      background: var(--ui-line);
      border: var(--ui-border) solid var(--ui-line);
      margin-bottom: var(--gap-2xl);
    }
    .info-cell {
      background: var(--ui-bg);
      padding: clamp(1.25rem,3vw,2rem) clamp(1rem,2.5vw,1.5rem);
      transition: background var(--dur-fast) var(--ease-out);
    }
    .info-cell:hover { background: var(--ui-surface); }
    .info-cell .ilabel {
      font-family: var(--font-mono);
      font-size: .6rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--ui-fg-muted);
      margin-bottom: 8px;
    }
    .info-cell .ivalue { font-size: .95rem; font-weight: 600; line-height: 1.4; }

    /* ═══ Society Tags ═══ */
    .society-list { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: var(--gap-2xl); }
    .society-tag {
      font-size: .8rem;
      padding: 6px 14px;
      border: var(--ui-border) solid var(--ui-line);
      font-family: var(--font-sans);
      letter-spacing: .02em;
      background: var(--ui-surface);
      transition: all var(--dur-fast) var(--ease-out);
    }
    .society-tag:hover { border-color: var(--ui-line-hover); background: var(--ui-surface-2); }

    /* ═══ Rules ═══ */
    .rules-list { list-style: none; counter-reset: rule; }
    .rules-list li {
      counter-increment: rule;
      padding: var(--gap-lg);
      border-left: 2px solid var(--ui-line);
      margin-bottom: 1px;
      background: var(--ui-bg);
      transition: border-color var(--dur-base) var(--ease-out);
    }
    .rules-list li::before {
      content: '0' counter(rule);
      display: block;
      font-family: var(--font-mono);
      font-size: .65rem;
      color: var(--ui-fg-muted);
      margin-bottom: var(--gap-xs);
    }
    .rules-list li:hover { border-left-color: var(--ui-fg); }
    .rules-list li p { margin-bottom: 0; }

    /* ═══ Judges ═══ */
    .judges-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--gap-md); }
    .judges-category {
      border: var(--ui-border) solid var(--ui-line);
      overflow: hidden;
      transition: border-color var(--dur-base) var(--ease-out);
      background: var(--ui-bg);
    }
    .judges-category:hover { border-color: var(--ui-line-hover); }
    .judges-cat-header {
      padding: var(--gap-md) var(--gap-lg);
      border-bottom: var(--ui-border) solid var(--ui-line);
      font-family: var(--font-serif);
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .04em;
      background: var(--ui-surface);
    }
    .judges-list {
      padding: var(--gap-md) var(--gap-lg);
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .judge-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 0;
      font-size: .875rem;
      position: relative;
    }
    .judge-item .judge-index {
      font-family: var(--font-mono);
      font-size: .65rem;
      color: var(--ui-fg-muted);
      min-width: 20px;
      text-align: center;
    }
    .judge-item .judge-name { font-weight: 500; letter-spacing: .03em; }

    /* ═══ Anonymous Judge Mask ═══ */
    .judge-anon {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      position: relative;
      cursor: default;
    }
    .judge-anon .anon-name {
      filter: blur(4px);
      user-select: none;
      transition: filter .35s ease;
      letter-spacing: .06em;
    }

    .judge-anon .anon-badge {
      font-family: var(--font-mono);
      font-size: .6rem;
      letter-spacing: .1em;
      color: #a78bfa;
      border: 1px solid rgba(167,139,250,.4);
      padding: 1px 6px;
      opacity: 0;
      transform: translateX(-4px);
      transition: all .35s ease;
      white-space: nowrap;
      background: rgba(167,139,250,.08);
    }
    .judge-anon .anon-badge { opacity: 1; transform: translateX(0); }

    /* ═══ Level Dots ═══ */
    .level-dot {
      display: inline-block;
      width: 8px; height: 8px;
      margin-right: 10px;
      border-radius: 0;
    }

    /* ═══ Section Label ═══ */
    .section-label {
      font-family: var(--font-mono);
      font-size: .65rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--ui-fg-muted);
      margin-bottom: var(--gap-sm);
    }
    .section-heading {
      font-family: var(--font-serif);
      font-size: clamp(1.25rem,3vw,1.75rem);
      font-weight: 700;
      margin-bottom: var(--gap-xl);
      letter-spacing: -.02em;
    }

    /* ═══ Judge Rating System ═══ */
    .judge-rater {
      border: var(--ui-border) solid var(--ui-line);
      padding: var(--gap-xl);
      background: var(--ui-surface);
      max-width: 520px;
      margin: var(--gap-lg) auto;
    }
    .judge-rater .rater-title {
      font-family: var(--font-sans);
      font-size: .9rem;
      font-weight: 600;
      margin-bottom: var(--gap-lg);
      letter-spacing: .02em;
      text-align: center;
    }
    .rater-input-row {
      display: flex;
      flex-wrap: wrap;
      gap: var(--gap-sm);
      margin-bottom: var(--gap-md);
    }
    .rater-input-row input,
    .rater-input-row select {
      flex: 1;
      min-width: 100px;
      padding: 10px 14px;
      font-family: var(--font-sans);
      font-size: .85rem;
      background: var(--ui-bg);
      color: var(--ui-fg);
      border: var(--ui-border) solid var(--ui-line);
      transition: border-color var(--dur-fast) var(--ease-out);
    }
    .rater-input-row input:focus,
    .rater-input-row select:focus { outline: none; border-color: var(--ui-fg); }
    .rater-submit {
      width: 100%;
      padding: 12px;
      font-family: var(--font-sans);
      font-size: .85rem;
      font-weight: 500;
      background: var(--ui-fg);
      color: var(--ui-bg);
      border: none;
      cursor: pointer;
      letter-spacing: .04em;
      transition: opacity var(--dur-fast) var(--ease-out);
    }
    .rater-submit:hover { opacity: .85; }

    /* ═══ ReJudge Section ═══ */
    .rejudge-note {
      text-align: center;
      margin-top: var(--gap-md);
      padding: var(--gap-md);
      border: var(--ui-border) solid var(--ui-line);
      font-size: .75rem;
      color: var(--ui-fg-muted);
      font-family: var(--font-mono);
      letter-spacing: .04em;
      background: var(--ui-surface);
    }

    /* ═══ Rating Table ═══ */
    .rating-table { width: 100%; border-collapse: collapse; }
    .rating-table th {
      text-align: left;
      padding: var(--gap-md) var(--gap-lg);
      border-bottom: var(--ui-border) solid var(--ui-line);
      font-family: var(--font-mono);
      font-size: .65rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--ui-fg-muted);
      font-weight: 500;
      white-space: nowrap;
    }
    .rating-table td {
      padding: var(--gap-md) var(--gap-lg);
      border-bottom: var(--ui-border) solid var(--ui-line);
      font-size: .875rem;
    }
    .rating-table tbody tr { transition: background var(--dur-fast) var(--ease-out); }
    .rating-table tbody tr:hover { background: var(--ui-surface); }

    /* ═══ Rating Result Cards ═══ */
    .rating-result-card {
      border: var(--ui-border) solid var(--ui-line);
      padding: var(--gap-md) var(--gap-lg);
      margin-bottom: var(--gap-sm);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--gap-md);
      background: var(--ui-bg);
      transition: border-color var(--dur-fast) var(--ease-out);
      flex-wrap: wrap;
    }
    .rating-result-card:hover { border-color: var(--ui-line-hover); }
    .rating-result-card .rr-name { font-weight: 600; font-size: .9rem; }
    .rating-result-card .rr-meta {
      display: flex;
      align-items: center;
      gap: var(--gap-md);
      font-size: .8rem;
      flex-wrap: wrap;
    }
    .rating-result-card .rr-level {
      padding: 3px 10px;
      border: var(--ui-border) solid;
      font-family: var(--font-mono);
      font-size: .65rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .rating-result-card .rr-score {
      font-family: var(--font-mono);
      font-size: .85rem;
      font-weight: 600;
    }
    .rating-result-card .rr-judge-badge {
      font-family: var(--font-mono);
      font-size: .6rem;
      color: var(--ui-fg-muted);
      padding: 2px 8px;
      border: 1px solid var(--ui-line);
      background: var(--ui-surface);
    }
    .rating-result-card .rr-delete {
      background: none;
      border: 1px solid transparent;
      color: #f87171;
      cursor: pointer;
      font-size: .85rem;
      padding: 2px 8px;
      transition: all var(--dur-fast);
      font-family: var(--font-mono);
    }
    .rating-result-card .rr-delete:hover { border-color: #f8717180; background: #f8717111; }

    /* ═══ Anon Guide ═══ */
    .anon-guide {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: var(--gap-md);
      background: var(--ui-surface);
      border: var(--ui-border) solid var(--ui-line);
      margin-top: var(--gap-lg);
      font-size: .75rem;
      color: var(--ui-fg-muted);
    }
    .anon-guide .anon-demo {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 2px 10px;
      border: 1px solid rgba(167,139,250,.3);
      font-family: var(--font-mono);
      font-size: .65rem;
      color: #a78bfa;
    }

    /* ═══ Breathing Lights / Patches ═══ */
    .breath-glow {
      position: relative;
      overflow: visible;
    }
    .breath-glow::after {
      content: '';
      position: absolute;
      top: -1px; left: -1px;
      right: -1px; bottom: -1px;
      border: 1px solid transparent;
      pointer-events: none;
      animation: breathGlow 4s ease-in-out infinite;
      z-index: -1;
    }
    @keyframes breathGlow {
      0%,100%{border-color:transparent}
      50%{border-color:rgba(167,139,250,.15)}
    }
    .breath-dot {
      display: inline-block;
      width: 4px; height: 4px;
      background: #a78bfa;
      border-radius: 50%;
      animation: breathDot 3s ease-in-out infinite;
      vertical-align: middle;
      margin: 0 6px;
    }
    @keyframes breathDot {
      0%,100%{opacity:.2;box-shadow:0 0 0 0 rgba(167,139,250,.4)}
      50%{opacity:1;box-shadow:0 0 6px 2px rgba(167,139,250,.3)}
    }
    .breath-line {
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(167,139,250,.2),transparent);
      margin: var(--gap-md) 0;
      animation: breathLine 4s ease-in-out infinite;
    }
    @keyframes breathLine {
      0%,100%{opacity:.3}
      50%{opacity:1}
    }

    /* ═══ Judges Note ═══ */
    .judges-note {
      margin-top: var(--gap-md);
      padding: var(--gap-md);
      border: var(--ui-border) solid var(--ui-line);
      font-size: .75rem;
      color: var(--ui-fg-muted);
      font-family: var(--font-mono);
      letter-spacing: .04em;
      background: var(--ui-surface);
      text-align: center;
    }

    /* ═══ Manuscript Results ═══ */
    .result-card {
      border: var(--ui-border) solid var(--ui-line);
      padding: var(--gap-lg);
      margin-bottom: var(--gap-sm);
      background: var(--ui-bg);
      transition: border-color var(--dur-fast) var(--ease-out);
      position: relative;
    }
    .result-card:hover { border-color: var(--ui-line-hover); }
    .result-card .result-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: var(--gap-sm);
    }
    .result-card .result-title {
      font-family: var(--font-serif);
      font-size: 1.1rem;
      font-weight: 700;
      letter-spacing: .02em;
    }
    .result-card .result-score {
      font-family: var(--font-mono);
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--ui-accent);
      white-space: nowrap;
    }
    .result-card .result-meta {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      font-size: .75rem;
      color: var(--ui-fg-muted);
      margin-bottom: var(--gap-sm);
      font-family: var(--font-mono);
    }
    .result-card .result-content {
      font-size: .875rem;
      line-height: 1.75;
      margin-top: var(--gap-sm);
      padding-top: var(--gap-sm);
      border-top: var(--ui-border) solid var(--ui-line);
      color: var(--ui-fg);
    }
    .result-card .result-reviewer {
      font-size: .7rem;
      color: #a78bfa;
      font-family: var(--font-mono);
      letter-spacing: .04em;
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .result-rank-badge {
      position: absolute;
      top: -1px;
      right: -1px;
      font-family: var(--font-mono);
      font-size: .6rem;
      letter-spacing: .1em;
      padding: 4px 10px;
      background: var(--ui-surface);
      border-left: var(--ui-border) solid var(--ui-line);
      border-bottom: var(--ui-border) solid var(--ui-line);
      color: var(--ui-fg-muted);
    }

    /* ═══ Responsive ═══ */
    @media (max-width: 1024px) {
      .judges-grid { grid-template-columns: repeat(2,1fr); }
      .judges-grid .judges-category:last-child { grid-column: 1/-1; max-width: 50%; margin: 0 auto; }
      .rating-table { font-size: .8rem; }
      .rating-table th, .rating-table td { padding: 10px 12px; }
    }
    @media (max-width: 768px) {
      .contest-hero { padding: clamp(2.5rem,7vw,4rem) 0 clamp(1.5rem,4vw,2.5rem); text-align: left; }
      .char-pop-title { font-size: clamp(1.4rem,7vw,2rem); }
      .info-grid { grid-template-columns: repeat(2,1fr); }
      .judges-grid { grid-template-columns: 1fr; }
      .judges-grid .judges-category:last-child { max-width: 100%; }
      .rating-result-card { flex-direction: column; align-items: flex-start; }
      .rating-result-card .rr-meta { gap: 8px; }
      .section-breath { padding: clamp(1.5rem,5vw,2.5rem) 0; }
      .container { padding: 0 var(--gap-md); }
      .judges-list { padding: var(--gap-sm) var(--gap-md); }
      .judge-item { font-size: .8rem; }
      .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -16px; padding: 0 16px; }
    }
    @media (max-width: 480px) {
      .info-grid { grid-template-columns: 1fr; }
      .char-pop-title { font-size: 1.25rem; }
      .contest-hero { text-align: center; }
      .judge-anon .anon-badge { opacity: 1; }
      .judge-item { padding: 6px 0; }
      .society-tag { font-size: .72rem; padding: 5px 10px; }
      .contest-status { font-size: .62rem; padding: 5px 10px; }
    }
  