:root{
    --paper:#F7F4EC;
    --paper-2:#EFEADC;
    --ink:#1C1B17;
    --ink-soft:#5B574C;
    --rule:#D9D2BF;
    --semantic:#1F6E66;   /* geometry-invariant code: stable teal */
    --semantic-soft:#E2EFEA;
    --modulation:#C2632B; /* instance/geometric code: warm amber */
    --modulation-soft:#F5E5D6;
    --max:1080px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--semantic);text-decoration:none;}
  a:hover{text-decoration:underline;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
  .wrap.bib{transform: translateY(80px);}
  h1,h2,h3{font-family:'Source Serif 4',serif;font-weight:600;letter-spacing:-0.01em;color:var(--ink);}
  .mono{font-family:'JetBrains Mono',monospace;}

  /* ---------- Hero ---------- */
  header.hero{
    padding:84px 0 56px;
    border-bottom:1px solid var(--rule);
    position:relative;
    overflow:hidden;
  }
  .venue-badge{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;
    font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--ink-soft);
    border:1px solid var(--rule);
    background:var(--paper-2);
    padding:6px 12px;border-radius:100px;
    margin-bottom:28px;
  }
  .venue-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--modulation);}
  h1.title{
    font-size:clamp(40px,4.4vw,46px);
    line-height:1.12;
    max-width:860px;
    margin:0 0 8px;
  }
  h1.title .accent{color:var(--semantic);}
  .subtitle{
    font-size:18px;color:var(--ink-soft);max-width:840px;margin:14px 0 30px;
  }
  .authors{font-size:16.5px;margin:0 0 6px;}
  .authors a{color:var(--ink);border-bottom:1px dotted var(--ink-soft);}
  .authors a:hover{color:var(--semantic);border-color:var(--semantic);}
  .affil{font-size:14.5px;color:var(--ink-soft);margin:0 0 30px;}
  .links{display:flex;flex-wrap:wrap;gap:12px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:500;
    padding:11px 18px;border-radius:8px;
    border:1px solid var(--ink);
    color:var(--ink);background:transparent;
    transition:all .15s ease;
  }
  .btn:hover{background:var(--ink);color:var(--paper);text-decoration:none;}
  .btn.primary{background:var(--ink);color:var(--paper);}
  .btn.primary:hover{background:var(--semantic);border-color:var(--semantic);}
  .btn svg{width:15px;height:15px;flex-shrink:0;}


  .method-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 52%);
    gap: 34px;
    align-items: start;
  }
  
  .method-text {
    min-width: 0;
  }
  
  .method-figure {
    margin: 0;
  }
  
  .method-figure img {
    width: 100%;
    display: block;
  }
  
  @media (max-width: 900px) {
    .method-layout {
      grid-template-columns: 1fr;
    }
  }



  .subh {
    font-size: 1.45rem;
    margin: 42px 0 18px;
    color: var(--text);
  }
  
  .modulation-section {
    margin-top: -8px;
    transform: translateY(-40px);
  }
  
  .modulation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);
    gap: 30px;
    align-items: start;
  }
  
  .modulation-text {
    min-width: 0;
  }
  
  .modulation-figure {
    margin: 0;
    transform: translateY(-40px);
  }
  
  .modulation-figure img {
    width: 100%;
    display: block;
    border-radius: 14px;
  }
  
  .modulation-figure figcaption {
    margin-top: 10px;
    font-size: 0.92rem;
    line-height: 1.5;
  }
  
  @media (max-width: 900px) {
    .modulation-layout {
      grid-template-columns: 1fr;
    }
  }










  .refinement-section {
    margin-top: 18px;
    transform: translateY(-40px);
  }
  
  .section-intro {
    max-width: 900px;
    margin-bottom: 28px;
    color: var(--muted);
    font-size: 1.03rem;
    line-height: 1.7;
  }
  
  .refinement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
  }
  
  .refinement-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.22);
  }

  .refinement-card.modulation {
    background: linear-gradient(135deg, #C2632B, rgba(245, 243, 255, 0.72));
    border-color: rgba(139, 92, 246, 0.26);
  }
  
  .refinement-card.fusion {
    background: linear-gradient(135deg, rgba(220, 252, 231, 0.95), rgba(240, 253, 244, 0.72));
    border-color: rgba(34, 197, 94, 0.24);
  }
  
  .refinement-card h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    color: var(--text);
  }
  
  .refinement-card p {
    margin: 0;
    line-height: 1.65;
  }
  
  .refinement-figure {
    margin: auto 0 0;
  }
  
  .refinement-figure img {
    width: 100%;
    display: block;
    border-radius: 16px;
  }
  
  .refinement-figure figcaption {
    margin-top: 10px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--muted);
  }
  
  @media (max-width: 900px) {
    .refinement-grid {
      grid-template-columns: 1fr;
    }
  
    .refinement-card {
      padding: 20px;
    }
  }







  /* geometric pointer decoration */
  .pointer-deco{
    position:absolute;right:-60px;top:30px;width:340px;height:340px;
    opacity:0.5;pointer-events:none;
  }
  @media (max-width:880px){.pointer-deco{display:none;}}

  /* ---------- Sections ---------- */
  section{padding:54px 0;border-bottom:1px solid var(--rule);}
  section:last-of-type{border-bottom:none;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--modulation);margin:0 0 10px;font-weight:500;
  }
  h2.h{font-size:27px;margin:0 0 22px;}
  p{margin:0 0 16px;color:#3a382f;}
  .lede{font-size:17.5px;color:var(--ink);}

  figure{margin:30px 0 8px;}
  figure img{width:100%;display:block;border-radius:6px;border:1px solid var(--rule);background:#fff;}
  figcaption{font-size:14px;color:var(--ink-soft);margin-top:12px;line-height:1.55;}
  figcaption b{color:var(--ink);}

  /* contributions */
  .contrib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;}
  @media (max-width:780px){.contrib-grid{grid-template-columns:1fr;}}
  .card{
    background:var(--paper-2);border:1px solid var(--rule);border-radius:10px;
    padding:22px 20px;
  }
  .card .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-soft);margin-bottom:10px;}
  .card h3{font-size:16.5px;margin:0 0 8px;}
  .card p{font-size:14.5px;margin:0;color:var(--ink-soft);}
  .card.semantic{border-top:3px solid var(--semantic);}
  .card.modulation{border-top:3px solid var(--modulation);}
  .card.fusion{border-top:3px solid var(--ink);}

  /* code legend chips, used inline in text */
  .chip{
    display:inline-block;padding:2px 8px;border-radius:5px;font-size:13px;
    font-family:'JetBrains Mono',monospace;font-weight:500;
  }
  .chip.sem{background:var(--semantic-soft);color:var(--semantic);}
  .chip.mod{background:var(--modulation-soft);color:var(--modulation);}

  /* results table */
  .table-scroll{overflow-x:auto;margin-top:24px;border:1px solid var(--rule);border-radius:8px;}
  table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:760px;}
  thead th{
    background:var(--paper-2);font-family:'JetBrains Mono',monospace;font-weight:500;
    text-align:left;padding:10px 14px;border-bottom:1px solid var(--rule);
    white-space:nowrap;font-size:12px;letter-spacing:.02em;color:var(--ink-soft);
  }
  tbody td{padding:9px 14px;border-bottom:1px solid var(--rule);white-space:nowrap;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr.ours{background:var(--semantic-soft);font-weight:600;}
  tbody tr.ours td{color:var(--semantic);}
  .best{font-weight:700;}
  .sub{color:var(--ink-soft);font-size:12.5px;}
  .table-note{font-size:13px;color:var(--ink-soft);margin-top:12px;}

  .stat-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;}
  .stat{flex:1;min-width:150px;background:var(--paper-2);border:1px solid var(--rule);border-radius:10px;padding:18px 18px;}
  .stat .v{font-family:'Source Serif 4',serif;font-size:28px;color:var(--ink);font-weight:600;}
  .stat .l{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}





  .results-section {
    margin-top: 64px;
  }
  
  .results-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin: 30px 0 34px;
  }
  
  .result-highlight-card {
    padding: 24px;
    border-radius: 24px;
    /* background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.8));
    border: 1px solid rgba(148, 163, 184, 0.25); */
    border-top:3px solid var(--semantic);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  }
  
  .result-highlight-card.best {
    border-top:3px solid var(--modulation);
    /* background: linear-gradient(135deg, rgba(219, 234, 254, 0.98), rgba(239, 246, 255, 0.8)); */
    /* border-color: rgba(59, 130, 246, 0.28); */
  }
  .result-highlight-card.robust {
    border-top:3px solid var(--ink);
    /* background: linear-gradient(135deg, rgba(219, 234, 254, 0.98), rgba(239, 246, 255, 0.8)); */
    /* border-color: rgba(59, 130, 246, 0.28); */
  }
  
  .result-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(15, 23, 42, 0.08);
    /* background: solid var(--modulation); */
    color: var(--text);
  }
  
  .result-highlight-card h3 {
    margin: 0;
    font-size: 1.1rem;
  }
  
  .result-score {
    margin: 14px 0 4px;
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 800;
    color: var(--text);
  }
  
  .result-caption {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
  }
  
  .benchmark-panel {
    padding: 28px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08);
  }
  
  .benchmark-panel h3 {
    margin: 0 0 22px;
    font-size: 1.3rem;
  }
  
  .bar-row {
    margin-bottom: 18px;
  }
  
  .bar-row:last-child {
    margin-bottom: 0;
  }
  
  .bar-info {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 8px;
    font-weight: 700;
  }
  
  .method-score {
    color: var(--muted);
  }
  
  .bar-track {
    height: 13px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.22);
  }
  
  .bar-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.85), rgba(100, 116, 139, 0.85));
  }
  
  .bar-fill.dmnet {
    background: linear-gradient(90deg, rgba(59, 130, 246, 0.95), rgba(139, 92, 246, 0.9));
  }
  
  .results-figure {
    margin: 34px 0 0;
  }
  
  .results-figure img {
    width: 100%;
    display: block;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.1);
    transform: translateY340px;
  }
  
  .results-figure figcaption {
    margin-top: 12px;
    font-size: 0.95rem;
    color: var(--muted);
    line-height: 1.55;
    transform: translateY(10px);
  }
  
  @media (max-width: 900px) {
    .results-highlight-grid {
      grid-template-columns: 1fr;
    }
  
    .benchmark-panel {
      padding: 22px;
    }
  }






  


  .ablation-section {
    margin-top: 64px;
  }

  .ablation-title {
    margin-top: 1070px;
    transform: translateY(80px);
  }
  
  .ablation-bar-panel {
    margin-top: 26px;
    padding: 28px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08);
    transform: translateY(60px);
  }
  
  .ablation-bar-panel h3 {
    margin: 0 0 22px;
    font-size: 1.28rem;
  }
  
  .abl-row {
    margin-bottom: 22px;
  }
  
  .abl-row:last-child {
    margin-bottom: 0;
  }
  
  .abl-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 8px;
  }
  
  .abl-name {
    font-weight: 700;
    color: var(--text);
  }
  
  .abl-score {
    font-weight: 800;
    color: var(--text);
  }
  
  .abl-track {
    height: 14px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.18);
  }
  
  .abl-fill {
    height: 100%;
    border-radius: inherit;
  }
  
  .abl-fill.full {
    background: linear-gradient(90deg, #3b82f6, #8b5cf6);
  }
  
  .abl-fill.semantic {
    background: linear-gradient(90deg, rgba(59, 130, 246, 0.75), rgba(96, 165, 250, 0.85));
  }
  
  .abl-fill.modulation {
    background: linear-gradient(90deg, rgba(139, 92, 246, 0.78), rgba(167, 139, 250, 0.88));
  }
  
  .abl-fill.refinement {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.78), rgba(251, 191, 36, 0.88));
  }
  
  .abl-fill.fusion {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.78), rgba(74, 222, 128, 0.88));
  }
  
  .abl-row.highlight .abl-name,
  .abl-row.highlight .abl-score {
    font-size: 1.03rem;
  }
  
  @media (max-width: 700px) {
    .ablation-bar-panel {
      padding: 22px;
    }
  
    .abl-head {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
  }


  /* bibtex */
  .bibtex-box{
    background:#1C1B17;color:#E8E4D8;border-radius:10px;padding:22px 24px;
    font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.7;
    overflow-x:auto;position:relative;
  }
  .copy-btn{
    position:absolute;top:14px;right:14px;
    background:transparent;border:1px solid #4a473d;color:#cfcabb;
    font-family:'JetBrains Mono',monospace;font-size:11.5px;
    padding:6px 11px;border-radius:6px;cursor:pointer;
  }
  .copy-btn:hover{background:#2c2a23;}

  footer{padding:38px 0 60px;text-align:center;}
  footer p{color:var(--ink-soft);font-size:13.5px;}

  ::selection{background:var(--modulation-soft);}

/* BibTeX text block */
.bibtex-text{margin:0;white-space:pre-wrap;}

